Drain Texas pending city profilesactive
Owner harness53 · Target 2026-05-15
Close the 22 pending + 5 corrupted TX city profiles. TX is the #2 state by combined pending records.
- 2026-04-30 — Rewrite 5 template-bleed cities (allen-tx, austin-tx, arlington-tx, fort-worth-tx, georgetown-tx)
- 2026-05-05 — Drain top 10 pending V2 soft-fails through publication-validator
- 2026-05-12 — Upgrade remaining V1 legacy TX profiles to V2 schema
- 2026-05-15 — All TX city profiles at status=shipped
Drain Ohio pending city profilesactive
Owner harness53 · Target 2026-05-22
11 OH cities are pending in the repair queue — the largest non-TX/CA single-state stack. One focused fleet drain closes them.
- 2026-05-01 — Triage OH pending entries — sort template-bleed corrupted from V2 soft-fails from V1 legacy
- 2026-05-08 — Rewrite any template-bleed cities
- 2026-05-15 — Drain OH V2 soft-fails through publication-validator
- 2026-05-20 — Upgrade remaining V1 legacy OH profiles to V2 schema
- 2026-05-22 — All OH city profiles at status=shipped
Drain Arkansas pending city profilesactive
Owner harness53 · Target 2026-05-29
9 AR cities are pending in the repair queue — close them following the TX/CA single-state pattern.
- 2026-05-08 — Triage AR pending entries — sort template-bleed corrupted from V2 soft-fails from V1 legacy
- 2026-05-15 — Rewrite any template-bleed cities
- 2026-05-22 — Drain AR V2 soft-fails through publication-validator
- 2026-05-27 — Upgrade remaining V1 legacy AR profiles to V2 schema
- 2026-05-29 — All AR city profiles at status=shipped
Drain North Carolina pending city profilesactive
Owner harness53 · Target 2026-06-05
9 NC cities are pending in the repair queue — close them following the TX/CA single-state pattern.
- 2026-05-15 — Triage NC pending entries — sort template-bleed corrupted from V2 soft-fails from V1 legacy
- 2026-05-22 — Rewrite any template-bleed cities
- 2026-05-29 — Drain NC V2 soft-fails through publication-validator
- 2026-06-03 — Upgrade remaining V1 legacy NC profiles to V2 schema
- 2026-06-05 — All NC city profiles at status=shipped
Drain Tennessee pending city profilesactive
Owner harness53 · Target 2026-06-12
8 TN cities are pending in the repair queue — close them following the TX/CA single-state pattern.
- 2026-05-22 — Triage TN pending entries — sort template-bleed corrupted from V2 soft-fails from V1 legacy
- 2026-05-29 — Rewrite any template-bleed cities
- 2026-06-05 — Drain TN V2 soft-fails through publication-validator
- 2026-06-10 — Upgrade remaining V1 legacy TN profiles to V2 schema
- 2026-06-12 — All TN city profiles at status=shipped
Wire the next wave of public-data APIsactive
Owner harness53 · Target 2026-06-15
Take the 18 pending APIs from PUBLIC-APIS.md and land the top-ranked 5-8 into scripts/fetch_city_overlay.py so every city gets richer context.
- 2026-05-08 — USGS Earthquake + NOAA Storms (rank 2) — disaster event history
- 2026-05-15 — HUD FMR (rank 3) — rent-by-bedroom ladder
- 2026-05-22 — Census PEP (rank 10) — annual pop estimates
- 2026-06-05 — EPA Envirofacts (rank 7) + EPA AirNow (rank 13)
- 2026-06-15 — Batch-fetch the corpus — run fetch_city_overlay.py across all 325 cities
Blocked: HUD APIs require free-tier token approval — register early.; EPA AirNow + NOAA CDO both need free API keys stored in .env.
Drain California pending city profilesactive
Owner harness53 · Target 2026-06-15
29 CA cities are pending/corrupted — the largest single-state gap left once the TX effort closes.
- 2026-05-01 — Close HCD data retrieval gaps (SB 423 tier, Housing Element compliance)
- 2026-05-15 — Drain top-10 CA V2 soft-fails through publication-validator
- 2026-06-01 — Upgrade remaining V1 legacy CA profiles to V2 schema
- 2026-06-15 — All CA city profiles at status=shipped
Blocked: Municode retrieval block on several CA cities (pomona, salinas). Needs DOM-based or authenticated drain path before shipped is reachable for those.
Drain Missouri pending city profilesactive
Owner harness53 · Target 2026-06-19
7 MO cities are pending in the repair queue — close them following the TX/CA single-state pattern.
- 2026-05-29 — Triage MO pending entries — sort template-bleed corrupted from V2 soft-fails from V1 legacy
- 2026-06-05 — Rewrite any template-bleed cities
- 2026-06-12 — Drain MO V2 soft-fails through publication-validator
- 2026-06-17 — Upgrade remaining V1 legacy MO profiles to V2 schema
- 2026-06-19 — All MO city profiles at status=shipped
Write missing state-overlay JSONsactive
Owner harness53 · Target 2026-06-30
34 states have a preemption markdown but no structured overlay JSON. Writing each one flips a state from pending to shipped.
- 2026-05-10 — Wave 1: 8 high-population states (PA, NC, VA, GA, MI, IN, TN, MA)
- 2026-05-31 — Wave 2: 12 mid-population states (MO, WI, MD, MN, CO, AL, SC, LA, KY, OR, OK, CT)
- 2026-06-30 — Wave 3: 14 remaining states + DC
Blocked: Some preemption markdowns are thin (<500 words) — may need fresh research before the JSON can be written.
Upgrade pending counties to deep/solidactive
Owner harness53 · Target 2026-07-31
87 of 162 counties carry at least one city at partial/stub. Push the research to deep/solid so the county ships.
- 2026-05-24 — TX counties: 15 pending → shipped
- 2026-06-07 — FL counties: 11 pending → shipped
- 2026-06-21 — CA counties: 9 pending → shipped
- 2026-07-31 — OH + GA + remainder: 52 counties → shipped
National layer — codes matrix + rollup pagedone
Owner harness53 · Target 2026-06-30
Federal overlays are all shipped, but the 50-state code adoption matrix is thin and there is no national-rollup view. Close those two gaps so the corpus reads as a coherent national dataset.
- 2026-05-08 — Audit zoning/_generator/building-codes/ for missing state×code-type cells; inventory in a gap manifest
- 2026-05-22 — Backfill IBC + IRC adoption notes (M2): all 51 states/DC verified at primary .gov tier; honest 'No statewide' for home-rule states
- 2026-06-05 — Backfill IECC + IFC + NEC adoption notes (M3): all 51 states/DC verified for all 5 codes via combined M2+M3 batches
- 2026-06-20 — Ship a national-rollup landing page (totals by domain, freshness, top pending) wired into build.mjs (lands at /zoning/national/)
- 2026-06-30 — Add national-rollup KPIs to the data-status dashboard header (5 KPIs at top of dashboard, +2.7 KB)
Simplify embedded data + normalize cross-page linksdone
Owner harness53 · Target 2026-06-30
v1-v2-completeness.html is 546KB of inlined JSON and the generators hand-roll cross-page links. Extract sidecar JSON, build a single link helper, and add a size budget.
- 2026-05-08 — Audit zoning/_generator/*.py for embedded JSON blocks; rank by byte size
- 2026-05-22 — Extract cities-table sidecar (largest dashboard block) — proof of concept
- 2026-06-05 — Extract codes-table + counties-table sidecars using the same pattern
- 2026-06-19 — Extract per-city explorer sidecars (313 cities × 2 sidecars = 626 files; 465 KB HTML reduction at build time — actual payload was 5-8 KB per city, not 14+ KB as M1 audit estimated)
- 2026-06-05 — Build a shared link_for(kind, slug) helper and replace hand-rolled links across generators (11 of 74 sites converted; MD5-verified byte-identical output)
- 2026-06-15 — Pull the dashboard's repeated section/card markup into a shared layout helper (all 7 render_* converted; MD5-verified byte-identical output)
- 2026-06-30 — Add a size-budget check to build.mjs that fails CI if v1-v2-completeness.html exceeds 150KB (currently 121 KB)
Enrich API records with platform/vendor/tech metadatadone
Owner harness53 · Target 2026-07-15
The 30 records in zoning/apis/ know the endpoint and auth but not the underlying tech (Socrata vs ArcGIS REST vs CKAN vs custom). Add platform/vendor/query_lang fields and backfill every record.
- 2026-05-08 — Extend zoning/apis/SCHEMA.md with platform, vendor, query_lang, rate_limits, client_libs, docs_url fields
- 2026-05-22 — Backfill all 12 already-shipped APIs with the new fields (WebFetch-verified)
- 2026-06-12 — Backfill the 18 pending APIs with platform/vendor (15 done; 3 bulk-drop records correctly omit platform per schema rule)
- 2026-06-30 — Cross-emit platform fields into per-city overlay records under zoning/overlays/ where source is identifiable
- 2026-07-15 — Add a dashboard counter for 'API records with platform set' so progress is visible
State layer — deepen preemptions + structured rulesdone
Owner harness53 · Target 2026-07-15
Beyond shipping overlay JSONs, raise every state's preemption markdown to ≥800 words and emit a structured preemption-rules JSON so the data is machine-queryable, not just prose.
- 2026-05-10 — Run a word-count audit across zoning/us/<state>/preemptions.md; emit a thin-preemptions manifest
- 2026-05-20 — Define preemption-rules JSON schema (statute, scope, effective_date, carveouts, last_reviewed) + texas pilot
- 2026-06-05 — Deepen the 5 thinnest preemption MDs to ≥800 words with primary-source citations (CT 878, MN 913, MT 1120, OR 1200, NJ 1270; 42 primary-source URLs added; caught 3 fabrications in prior MDs)
- 2026-06-25 — Emit structured preemption-rules JSON for the top 15 states — 16/15 DONE: TX, CA, FL, WA, UT, AZ, CO, MA, NY, GA, IL, VA, NC, OH, MI, PA (89 rules; schema enum expanded from 26 to 46 scope values)
- 2026-07-15 — Cross-link state pages to code-adoption pages from national-coverage-push (bidirectional via generate_state_wiki + generate_code_state_pages)
Atlas — new layers, mobile, deep links, dashboard paritydone
Owner harness53 · Target 2026-07-31
_pages/atlas.html has no owner. Add freshness + code-adoption + preemption-depth layers, fix mobile, add deep-link routing, and couple legend counts to the same manifests the dashboard reads.
- 2026-05-15 — Add a freshness-tier layer (volatile/standard/stable, color-coded) sourced from manifests/freshness-queue.json
- 2026-05-31 — Add a code-adoption layer fed by national-coverage-push's matrix (51/51 states tiered: complete=29, partial=15, sparse=2, none=5)
- 2026-06-15 — Add a state-preemption-depth layer fed by state-deep-dive's word-count audit
- 2026-06-30 — Responsive breakpoints below 720px — sidebar collapses to a bottom sheet
- 2026-07-15 — Deep-link routing — /atlas/?state=tx&county=dallas-county-tx opens the detail panel
- 2026-07-31 — Couple atlas legend counts to the same manifests the dashboard reads, with a parity check in build.mjs (caught a real bug: charleston-sc/wv + rochester-mn/ny were collapsing on short-slug key)