← gpu-pilot · json · source: CONTINUE_7_7_2026.md
▶ CONTINUE 7/7 (Regional coverage fixes: DC/StL multi-state OSM · SoCal + Mid-Atlantic mega-regions · multi-select transit-system dropdown · OSRM water-cell filter — newest handoff)
TL;DR
- MULTI-STATE OSM MERGE (DC + St. Louis): scripts/regional_network_build.py _geofabrik_url_for returns a LIST of Geofabrik extracts; _ensure_regional_pbf clips each to bbox then `osmium merge`. dc→[DC,MD,VA], st_louis→[MO,IL], midatlantic→[PA,NJ,DE,MD,DC,VA]. DC walk graph 312K→3.47M nodes, covered_cells 1,775→20,399 (4.7%→54.2%); Arlington/Fairfax went from NO isochrone to ~20K-cell reach into DC. VALIDATED live.
- CORRIDOR MEGA-REGIONS + WIDENINGS: added socal (LA+Inland Empire+Orange+San Diego, 297K cells, 60 feeds) and midatlantic (Philly+Baltimore+DC, 427K cells, 50 feeds, 12.9M walk nodes) each with priority=1 in the manifest; engine _resolve_region tiebreak = higher-priority-then-smallest-area so a mega wins over the metros it fully contains (midatlantic ceiling 40.22 < NYC floor 40.40 → no overlap with pinned NYC). Widened 7 metro bboxes to their rail termini (sfbay→San Jose/Antioch, seattle→Tacoma/Everett, toronto→GO, orlando→SunRail, miami→S.Florida, minneapolis→Northstar, chicago→Metra/South Shore). Added quebec_city (was uncovered). Overnight batch built 10 regions clean (~3.5h). Registry 51→54. VALIDATED: LA→San Diego, SF→San Jose, Seattle→Tacoma, Toronto→Hamilton, Orlando SunRail, Miami→WPB, Philly→Baltimore→DC all reach. Commit 0edfe7a.
- MULTI-SELECT TRANSIT-SYSTEM DROPDOWN: geo2 front-end (pm2 tlccommute) — transitManifest.js allSystems()/selectFeedsBySystems()/feedModesForFamilies(); Map.js systemFilter state + onToggleSystem/onClearSystems (fit-to-selection, zoom-gate bypassed for explicit picks); TransitLines.js SystemPicker (search box + checkbox list, removable chips, unicode glyphs, no new deps). next build compiled clean, LIVE on multimodal.certihomes.com. gpu-pilot mirror in multimodal/fe-patches/, commit b4f6c8a.
- OSRM WATER-CELL FILTER: the res-9 grid is a raw bbox polyfill incl bay/ocean cells; OSRM /table snaps a mid-water cell to the nearest shoreline road (km away) and returns a bogus drive time → drive/P&R painted hexes on the water. FIX = modes._osrm_table_chunk reads OSRM per-waypoint snap distance (destinations[k].distance) and drops cells snapping >OSRM_SNAP_MAX_M (1000 m). SF P&R water cells 115→0; Philly/Chicago/Miami drive n_cells UNCHANGED (no rural land dropped). LESSON: walk-node distance is the WRONG signal (drops car-only rural land — 45% over-drop in philly; tried the grid mask + REVERTED). Commit b927240.
- TOP PENDING: (1) res-10 _refine_to_res10 (user-deferred to last; NYC-core only, pinned byte-identity → validate on :8099). (2) Losing Ground/SEO — SEO already covers 50 metros; only genuinely-new city = Québec City (add to content/build_metros_seo.py + regen via /usr/bin/python3 + deploy commutingcost-web geo3); the coverage story is a Losing Ground NARRATIVE refresh. (3) Edison→Philly — pinned-NYC NJ strip, needs a decision (extend tri-state grid south vs NJ-NEC corridor region). (4) Chicago→Gary needs NICTD South Shore feed; uber ~14 SF water cells (uber path); disk cache cleared → re-run precompute_national.py to re-warm GPU-free serving.
- GOTCHAS: OSRM snap distance = correct drive-water signal (walk-node distance WRONG). --force skips existing stages → rm -rf output/networks/
+ rm osm/ _clip.osm.pbf. Engine NO --reload → explicit `sudo systemctl restart hexmap-api` (~/secert.txt), then bust cache/iso_*. Mega priority in manifest → _resolve_region sorts (-priority, area). geo2 rebooted 2026-07-07 mid-day + self-recovered (pm2 resurrect + OSRM docker restart=unless-stopped). gpu-pilot main=b927240.
CONTINUE — 2026-07-07 — Regional coverage fixes: DC/StL multi-state OSM, seam mega-regions, transit-system dropdown, OSRM water filter
Read first: memory regional-seam-coverage-fixes, national-multimodal-engine, res10-dense-core-refine. Prior handoff: CONTINUE_7_6_2026.md. Plan doc: raptor-design/SEAM_FIX_BUILD_PLAN.md, raptor-design/RESOLUTION_CONTRACT.md.
Repos: gpu-pilot main = b927240 (pushed via geo bundle). Front-end (multimodal map) = geo2 /DataDrive/krish/krish/front-end (pm2 tlccommute, SEPARATE repo — deployed, mirror in multimodal/fe-patches/).
Engine: geocoder :8098 (systemd hexmap-api, uvicorn NO --reload → explicit restart), registry 54.
DONE this session (large)
- Diagnosed + fixed the two screenshot defects. DC/Arlington/Fairfax had no hexes (OSM extract clipped at the state line); Edison→Philly cut off (region-bbox seam). Ran a workflow audit (all 50 regions) + a live city-pair harness.
- Multi-state OSM merge (
_geofabrik_url_forreturns a list;_ensure_regional_pbf→osmium merge). Fixed DC (District-only → DC+MD+VA: walk nodes 312K→3.47M, covered 1,775→20,399; Arlington/Fairfax now reach DC) and St. Louis (MO→MO+IL; East St. Louis). VALIDATED live. - Seam megas + 7 bbox widenings (user chose "widen + mega-regions"). Overnight batch built 10 regions clean.
socal(LA+IE+OC+SD, 297K, priority=1) +midatlantic(Philly+Balt+DC, 427K, priority=1) +quebec_city(new) + widened sfbay/seattle/toronto/orlando/miami/minneapolis/chicago. Engine_resolve_regiontiebreak now = higher priority, then smallest area (mega wins over the metros it contains). VALIDATED: LA→San Diego, SF→San Jose/Antioch, Seattle→Tacoma/Everett, Toronto→Hamilton, Orlando SunRail, Miami→WPB, Philly→Baltimore→DC, Québec City all reach. - Multi-select "Systems" dropdown on the /map transit overlay (searchable, multi-select, removable chips, fit-to-selection).
transitManifest.js(allSystems/selectFeedsBySystems/feedModesForFamilies),Map.js(systemFilter state + handlers),TransitLines.js(SystemPicker). Built clean, LIVE on multimodal.certihomes.com. gpu-pilot mirror committed. - OSRM water-cell filter — drive/uber/P&R/K&R no longer paint hexes on open water.
modes._osrm_table_chunkdrops cells whose OSRM snap distance >OSRM_SNAP_MAX_M(1000 m). SF P&R water 115→0; rural drive reach unchanged. - RESOLUTION_CONTRACT.md — encoded the user's res-9/10/8 ingress-egress scheme (design; not yet implemented).
- Commits:
0edfe7a(megas/widenings/merge),b4f6c8a(FE dropdown mirror),b927240(water filter). All pushed.
PENDING (precise)
- res-10 ingress/egress refine (#65, user-deferred to last). Implement
_refine_to_res10in engine.py per RESOLUTION_CONTRACT.md — mirror the egress assembly at res-10 for cells inside a Manhattan core polygon, usingoutput/walk_matrix_res10_core_v2.parquet(4,037 NYC-core cells). NYC-first; deep change touching the pinned byte-identical NYC path → validate on scratch:8099, cache-key the refine flag, then:8098. National res-10 needs per-metro core matrices (follow-up). - Losing Ground / SEO new cities (#69). SEO set already has 50 metros incl the newly-reachable ones (san-diego, virginia-beach, san-jose, riverside, sacramento). Only genuinely-new city = Québec City → add to
content/build_metros_seo.pyMETROS (CA pattern like montreal) + regen via/usr/bin/python3(psycopg2 not in venv) + deploy commutingcost-web on geo3. The seam/coverage "new data" is a Losing Ground NARRATIVE refresh (reports/LOSING-GROUND-2026.md+losing-ground-2026-data.json+ PDF; losingground-cities app on geo :3037). - Edison→Philly residual (#70). NJ origins lat 40.40–40.55 sit inside the pinned byte-identical NYC region; full Boston→DC single region = 2.48M cells (infeasible). midatlantic fixes Trenton-and-south→Philly; only the NYC-region NJ strip remains → needs a decision: extend the tri-state grid south (breaks NYC byte-identity) OR a dedicated NJ-NEC corridor region + picker rule.
- Other residuals (#70): Chicago→Gary (NICTD South Shore feed missing from golden/chicago), Chicago→Kenosha (UP-N far terminus), Portland→Vancouver-WA (cross-river C-TRAN feed linkage).
- uber water residual + cache re-warm: uber still paints ~14 SF water cells (uber path bypasses the table snap filter — check
_mode_uber). The whole diskcache/iso_*(88K) was cleared to re-validate the water fix → clicks recompute on GPU until re-warmed; re-runhexmap-api/precompute_national.pyto restore GPU-free serving (now clean of water).
DECISIONS (user chose + why)
- Widen + build 2 mega-regions (SoCal + Mid-Atlantic), seam-fixes-first (over frontend/SEO) — comprehensive long-distance reach.
- Dropdown + Losing Ground/SEO before res-10 — res-10 is the deepest/riskiest (pinned-NYC) + NYC-only; visible items first.
- Map surfaces are TEST not a live demo → sudo restarts OK (
~/secert.txt).
GOTCHAS (don't relearn)
- OSRM snap distance is the correct water/drive-reachability signal — walk-node-distance is WRONG (drops car-only rural land far from the pedestrian graph; a 45% over-drop in philly — tried the grid mask + REVERTED). See
regional-seam-coverage-fixesmemory. --forcedoes NOT rebuild a stage whose output exists —rm -rf output/networks/<slug>+rm osm/<slug>_clip.osm.pbf(bbox grew → re-extract).- Engine has NO --reload — editing
hexmap-api/*.pyneeds explicitsudo systemctl restart hexmap-api; then bustcache/iso_*for tested cells (stale HIT returns old data). - Mega-regions win via
priorityin the manifest →_resolve_regionsorts (-priority, area). midatlantic ceiling 40.22 < NYC floor 40.40 → no overlap with pinned NYC. - The overnight seam batch ran ~3.5 h (not 8-12); geo2 rebooted mid-day 2026-07-07 and self-recovered (pm2 resurrect + OSRM docker restart=unless-stopped).