2026-08-27: beam SOW notes JSON now supports a ‘count’ key (entirely-api 1ef36a3) — SOW quantity stays total linear feet (beams=LF rule), ‘count’ renders as the Quantity row in the beam spec table when multiple members make up the total. First use: VAB-9026, two 21 LF triple 2x8 supplemental beams (qty 1 → 42 LF corrected on PSoW + ABSoW).
2026-10-01 — anchor specs reach the ANC cert module (entirely-api 554355c) and as-built floats count everywhere (8a65c7b). Supabase returns as_built_qty as a float (2.0); the old str(q).isdigit() gate hid the per-anchor cards, and _parse_specs_from_notes dropped the keys permit_parser writes (rod_length, plate_height_aff, depth_bg, wall_type, torque_spec), so MAN-9238 v1–v3 printed template defaults (Rod Length 8–12 ft, 16×16 / 12×12 plates) with no WA cards. Now: _int_qty for every count (ANC/BRC/SUP cards, findings sums, ADD-* trigger counts, WTR-BGUT wall-seal LF), _normalize_qty collapses whole-valued floats at ScopeLine construction so scope tables print “Wall Anchor (2)”, the parser’s notes keys pass through (_NOTES_PASSTHROUGH_KEYS) and _ANCHOR_SPEC_ALIASES is the one place parser names meet PRODUCT_SPEC_REGISTRY names (rod_length ↔ rod_length_ft …); the ANC branch builds the full wall_specs / chan_specs row list (plans’ values, template defaults only where the project has none, unit column suppressed when the value carries its own unit); validate_cert_readiness resolves the same aliases plus the SOW line’s own sow_field values; BRC-CFRP strap_width / tensile_strength / manufacturer reach brc.html. Tests: test_cert_anchor_specs.py, test_cert_float_quantities.py. MAN-9238 re-drafted v5 on the deployed code.
2026-10-21 (entirely-api 3ef2190, deployed): resolve_state lets the jurisdiction text decide the state. A certifiable state named in the jurisdiction overrides a contradicting projects.state field (warning logged); West Virginia never overrides; address is a fallback only. Cause: blkhse.571470 (5013 23rd Street South, Arlington VA) carried the MD dropdown id, so JURISDICTION_CONFIG matched nothing and the regenerated package lacked the Arlington County SSI form. State corrected to VA, package v2 regenerated with the 4 SSI pages. Only other mismatch fleet-wide: blkhse.222610 (College Park MD address under a Prince William VA jurisdiction, Approved, untouched).
Connections
renders the notes-JSON specs written by: permit_parser