All five lanes in (A's venue cluster bias, B's selector-from-index, C's density door-soak, D's relocation
verify PASSES, E's 22-town pack non-gating); F gated and tagged.
- town_matrix.py: a `tram` dimension — B's R20 shop-adjacency ruling verified EXACTLY (newtown runs 16 stops
after B's phantom-stop fix, castlemaine 10; katoomba/fremantle/bendigo FENCED at 3/2/1 shops fronted, all
below the 5-shop floor). 10 towns x 7 gates: boot/determ/district/roads/tram/noassets green on all ten.
- index.html: expose window.PROCITY.tram — B built `routeInfo` FOR F's smoke but nothing published it; F owns
the shell, so F wired the seam.
- RECORDED (ledger #6b — the instruction was "record the new number"): the venue_night re-measure. A's cap
WORKED (posters 438->111) but E's density widening ate it — katoomba 200,965 (+965, R19) -> 221,935
(+21,935, +11%); bendigo 201k (+0.5%); fremantle/newtown/castlemaine in budget. Draws fine everywhere
(151/300 — half budget); tris-only, at the worst night stress view. Filed as R22's first item, where the
tri-diet backlog (instrument LOD, tram tri diet) already lives. katoomba is the outlier: 966 edges, 72 shops.
- Ruling (ledger #6d): the town selector stays ALWAYS-IN-HUD, not ?dbg-gated — THE REAL MAP's product IS the
towns. Corollary (F's own gap): money shots hide the HUD; the R19 alpha shot had the selector in-frame
because F's harness screenshotted the full viewport.
- Beta money shot: Fremantle's real street at golden hour — a corridor of shopfronts, footpaths, a crossing,
gum trees, and a genuinely busy crowd (the density widening, visible). 126d/167k tris, HUD hidden.
- docs: LANE_F_NOTES §20 (the honest why-R20-had-no-tag record) + §21, README beta paragraph, F-progress.
qa.sh --strict GREEN; selfcheck 154141/154141 (A's re-pinned goldens hold).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
A resolved the R18 findings (fragmentation cull/join, poster clamp, goldens pinned) + D verified; F gated.
- town_matrix.py: a `roads` dimension — a schema-v2 cache (roads[]) must build the REAL street graph
(norm.mode==='roads', read via the plan_osm opts.report sink); synthetic/fixtures stay marched/synthetic.
10 towns x 6 gates: real roads green everywhere; classic/default proven untouched (roads ride the cache
schema, not a flag — 0x3fa36874 frozen).
- docs/shots/v4_alpha/katoomba_mainstreet.png: the first real-street money shot — Katoomba's actual main
street (asphalt + lane markings, footpaths, a pedestrian crossing, a walking crowd, gig posters, B's town
selector in-frame), PROCITY's look on real bones, 121k tris midday.
- docs: LANE_F_NOTES §18 (why F correctly HELD in R18 — the gate would have failed by design) + §19 (the
close), README real-roads note, F-progress.
qa.sh --strict --soak GREEN 7/7. One filed NON-blocking finding: katoomba_real venue_night 200,965 tris
(+965 / 0.5% over the soft ceiling, poster-count-scales-with-real-edges driven; midday play is 121k) — a
v4.0-beta hardening item (A caps posters per real town), on the opt-in --matrix warn-gate, not a play view.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
F wired the last mile of the real-map scout and gated the whole matrix.
- index.js barrel re-exports registerTownCache/validateTownCache; the shell fetches + registers
assets/towns/<key>.json before generatePlanFor when the town isn't a checked-in fixture — so
?plansrc=osm&town=bendigo_real boots a REAL AU town in the engine (the gap: E's caches were on disk +
in the node selfcheck, but the shell never loaded them → silent Melbourne fallback). Fail-soft
(404 / invalid / ?noassets -> fixture fallback); opt-in, never on the default or ?classic path.
- tools/qa/town_matrix.py (opt-in qa.sh --matrix): boot / determinism / budget / district / ?noassets
across 10 towns (2 synthetic hero seeds + 3 osm fixtures + E's 5 real AU caches). ALL 5x10 GREEN —
Castlemaine at the 6-shop floor still lands a 3-venue district. The existing CityPlan contract eats real
Australian geography: the evidence John charters v4 = THE REAL MAP on.
- docs: LANE_F_NOTES §17 (the town x gate table), README real-town row, F-progress R17.
qa.sh --strict --soak GREEN 7/7. Verified: ?plansrc=osm&town=bendigo_real -> Bendigo, 9 shops, 3 venues, 0 errors.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>