← gpu-pilot · json · source: CONTINUE_7_6_2026.md
▶ CONTINUE 7/6 (National transit system: 50 metros live · national precompute + Postgres store · national transit-line overlay · keyed-feed set closed — newest handoff)
TL;DR
- NATIONAL PRECOMPUTE → GPU-FREE SERVE: hexmap-api/precompute_national.py pre-warmed the disk cache for 151,781 national POI dest cells (from content/poi/*.parquet h3_res9) → 87,997 hexmaps; mirror_cache_to_pg.py gzips them into commute.iso_precompute on gtfs3 (~88K rows, durable, ~6× smaller; column is `win` NOT `window`=reserved). Cache hit = disk read, zero engine change. Resumable via precompute_progress.txt; free-disk guard MIN_FREE_GB=50. Commit e8a84d2.
- COVERAGE 31→50 METROS: added 19 metros to scripts/regional_network_build.py (METROS + Geofabrik us_state map) — built + `sudo systemctl restart hexmap-api` → registry 51. 3 came out degenerate (indy/jax/memphis grabbed national feeds by bbox → 1 anchor) → gap-filled local feeds (IndyGo mdb-1237/JTA mdb-346/MATA mdb-2352) + CLEAN rebuild. All 50 serve (Baltimore 4,979 cells / San Diego 6,709).
- NATIONAL TRANSIT-LINE OVERLAY (Google-Maps style): multimodal/transit-lines/build_lines_national.py → per-feed line/stop GeoJSON for ALL 935 golden feeds + out/manifest.json (feed→bbox/agency/routes/colors). Front-end (geo2 pm2 tlccommute, SEPARATE repo) rewired to load by VIEWPORT-bbox + dynamic legend + State dropdown + Train/Bus toggles + DC cross-border filter (DC→15 agencies across DC+MD+NoVA). 740 MB → geo2 front-end/public/transit/, served /transit/*. LIVE + verified (manifest 887 feeds, WMATA + AC Transit lines serve). Commit f3a2347.
- KEYED-FEED SET CLOSED: gtfs_golden_etl.py KEYED_FEEDS registry (header OR query-param auth) now pulls the only 9 API-key-gated US/CA feeds — WMATA rail 1847/bus 1846 (~/.wmata_api_key), AC Transit 2455 (~/.actransit_api_key), 6 SF Bay 511.org ops SamTrans/ACE/SMART/Petaluma/Santa Rosa/Tri Delta (~/.511_api_key). Keys live in 600-perm files OUTSIDE the repo — ONLY paths committed. Golden = 935 = every US+CA catalog feed. Commit f3a2347.
- TOP PENDING: (1) DC region GRID/bbox defect — rebuilt WITH WMATA (22 feeds, 194,064 walk-matrix rows) but a live 90-min iso from central DC still returns n_cells=851 AND transit==walk (851==851, transit adds ZERO reach) vs Chicago 20,179 → the served GRID is ~851 cells, NOT a walk-matrix cap; diagnose the dc H3 grid/bbox build. (2) Drive-resolution decision (user asked res-9/10 for drive; currently res-8-collapse) — recommend hybrid res-9-near/res-8-far, bundle into the engine pass. (3) res-10 _refine_to_res10 + serve-from-store lookup — both parked engine changes (matrix ready: output/walk_matrix_res10_core_v2.parquet).
- GOTCHAS: regional_network_build.py --force SKIPS if artifacts exist (must rm -rf output/networks/
+ rm _feed_bbox_index.parquet); bust hexmap-api/cache/iso_{dest_h3}_* to see a rebuilt region (stale cache HIT returns old iso); engine auto-discovers regions from output/networks/ at startup (plain restart picks up new metros); `pgrep -f build_lines_national` matches a deploy script CONTAINING that string → an until-waiter deadlocks on itself; regional walk matrix uses ENGINE golden platforms (raw ids 510:601) not gtfs-arrow stops.parquet ints. gpu-pilot main=f3a2347.
CONTINUE — 2026-07-06 — National transit system: 50 metros live, national precompute + Postgres store, national transit-line overlay, keyed-feed set closed
Read first: memory national-isochrone-precompute, res10-dense-core-refine, fleet-llm-inference-hosts. Prior handoff: CONTINUE_6_28_2026.md.
Repos: gpu-pilot main = f3a2347 (pushed via geo bundle). Front-end (multimodal map) = geo2 /DataDrive/krish/krish/front-end (pm2 tlccommute, SEPARATE repo — deployed, not pushed).
DONE this session (large)
- National isochrone precompute → serve GPU-free.
hexmap-api/precompute_national.pypre-warmed the disk cache for 151,781 national POI dest cells → 87,997 hexmaps (63,783 skip:http422 = metros w/o an engine region, since fixed).hexmap-api/mirror_cache_to_pg.pymirrors gzipped intocommute.iso_precomputeon gtfs3 (~88K rows, durable, ~6× smaller). Mirror loop runs every 30 min. - Coverage 31 → 50 metros LIVE. Added 19 metros to
scripts/regional_network_build.py(METROS + Geofabrikus_statemap) — built + engine restarted → registry 51. 3 came out degenerate (indy/jax/memphis had national-feed pollution); fixed by gap-filling their local feeds (IndyGo mdb-1237 / JTA mdb-346 / MATA mdb-2352) + clean rebuild. All 50 serve (Baltimore 4,979 cells, San Diego 6,709, etc.). - National transit-LINE overlay (Google-Maps style).
multimodal/transit-lines/build_lines_national.py→ per-feed line/stop GeoJSON for ALL 935 golden feeds +out/manifest.json(feed→bbox/agency/routes/colors). Front-end rewired (Map.js/TransitLines.js/transitManifest.js/stateBboxes.js) to load by VIEWPORT + dynamic legend + State dropdown + Train/Bus toggles + DC-metro cross-border filter (DC→15 agencies across DC+MD+NoVA). 740 MB staged to geo2front-end/public/transit/, served at/transit/*. LIVE + verified. - Keyed-feed set CLOSED.
gtfs_golden_etl.pyKEYED_FEEDS(header ORparamauth) now pulls the only 9 API-key-gated US/CA feeds: WMATA rail 1847/bus 1846 (~/.wmata_api_key), AC Transit 2455 (~/.actransit_api_key), 6 SF Bay 511.org ops (~/.511_api_key). Every US+CA catalog feed is now in golden (935). - LOS AI restored — re-pulled
qwen2.5-coder:14bon gtfs3 (had been swapped to a 30b that doesn't fit 16GB).los.tlcengine.com/health= 14b, verified. - res-10 dense-core prototype — matrix built + namespace-verified (
output/walk_matrix_res10_core_v2.parquet), NOT wired into the engine yet. - Committed
e8a84d2(precompute/mirror/res-10/19-metros) +f3a2347(ETL keyed-feeds + line generator) → GitHub.
PENDING (precise)
- DC region GRID/bbox DEFECT (pre-existing, real — NOT the walk matrix). DC was rebuilt WITH WMATA this session (22 feeds, 22,555 platforms, 194,064 walk-matrix rows) and restarted, but a live 90-min isochrone from central DC (
892aa845a8bffff) still returnsn_cells=851, and transitn_cells== walkn_cells(851 == 851) — i.e. transit legs add ZERO reach — vs Chicago 20,179. So the big walk matrix isn't the cap; the served grid itself is ~851 cells → the DC region's H3 grid/bbox is too small (or clipped at build). Diagnoseregional_network_build.pygrid construction fordc(bbox in METROS + the res-9 grid fill), NOT the OSM/walk extract.output/networks/dc/. Compare a healthy region's grid cell count. - Drive-resolution decision (unanswered). Drive is res-8-collapsed (
_collapse_to_res8, engine.py ~2279). res-9 drive = ~107K cells/~52 MB (7× transit, cars reach farther) + times are res-8-granular anyway. Recommend hybrid res-9-near / res-8-far; bundle into the engine pass. - res-10 engine
_refine_to_res10+ serve-from-store — both parked engine changes (validate on scratch:8099, one restart). res-10 matrix ready; serve-from-store = a Postgres lookup inapp.py /v1/isochrone(try/except → fall through). Seeres10-dense-core-refine. - 511.org TRAFFIC API (same
~/.511_api_key) — potential input for drive traffic factors (user asked "get both transit and traffic"). - Perf follow-up: the 740 MB
/transit/*serves through the Next node process; recommend an nginx alias to offload (a live-service edit).
DECISIONS (user chose + why)
- All-926 feeds, not 50-metro selection for the transit overlay (comprehensive national coverage, viewport-loaded).
- WMATA + AC Transit + 511 keys provided → keyed-feed ETL support built (keys in 600-perm files OUTSIDE the repo; only paths committed).
- Frontend agent BUILDS but does not flip — I do the
pm2 restart tlccommuteafter review. - Map surfaces are test, not a live demo → sudo restarts OK (sudo pw
~/secert.txt).
GOTCHAS (don't relearn)
regional_network_build.py --forceSKIPS if artifacts exist (0.5s DONE) — mustrm -rf output/networks/<slug>+rm output/networks/_feed_bbox_index.parquetfor a real rebuild.- Bust the disk cache to see a rebuilt region:
rm hexmap-api/cache/iso_{dest_h3}_*— a stale cache HIT (0.002s) returns the OLD isochrone. - Engine loads regions by scanning
output/networks/at startup → a plainsudo systemctl restart hexmap-api(no code change) picks up new regions (registry 32→51). pgrep -f build_lines_nationalmatches a deploy script whose command line CONTAINS that string → anuntil ! pgrep …waiter deadlocks on itself. Use a more specific pattern or a done-marker file.- The regional walk matrix uses the ENGINE's golden platforms (raw ids
510:601,members_raw), NOTgtfs-arrow/stops.parquetinteger ids — matters for res-10 wiring. - Cross-host: geo3 via geo ProxyJump; geo2 direct; gtfs3 = commute DB + LOS Ollama (DKMS driver persists reboots; commute DB + iso_precompute survive).