diff --git a/docs/LANES/LANE_D_NOTES.md b/docs/LANES/LANE_D_NOTES.md index f86d8c6..9fec90d 100644 --- a/docs/LANES/LANE_D_NOTES.md +++ b/docs/LANES/LANE_D_NOTES.md @@ -6,6 +6,71 @@ _rotOnly/head-bone normalize/upgradeStreetPeople). Measurements on the M3 Ultra --- +## ROUND 22 — v4.0 THE EPOCH CLOSE: citizens at pack scale (ledger #5) + +*PROCITY-D, 2026-07-16. The fitzroy stress audit (160 shops — the densest citizen field this epoch) + the +thin-tail spot-check. Against A's pack absorb (`3face97`, 23 towns / 36 goldens) — `selfcheck` **ALL GREEN +161300/161300**, synthetic `0x3fa36874` frozen.* + +### Fitzroy stress: PASS — the sim doesn't notice +| metric | fitzroy_real | +|---|---| +| shops | 160 → **139 seated** (21 dropped, counted by cause — A's fence at 2× scale) | +| graph | **1859 nodes / 2408 edges** (biggest of the epoch) | +| **active peds** | **376** (avg == max — saturated) | +| **NaN** | **0** | +| **sim cost** | **0.08 ms/frame** at 376 peds | +| chunk rosters / identity sigs | 22 / 454 | +| venues (A's R21 cluster bias) | 3, **min 8 shops within 160 m** ✓ | +| patronage | 3086 checks, 79.6 % null, **103 visits** | +| plan gen | 194 ms | + +**Nothing needed touching at 2× scale.** Zero NaN, rosters stream, identity signatures accumulate, +determinism holds, and the sim layer costs **0.08 ms/frame** with 376 active citizens — the citizen field is +not a budget risk at any scale this epoch reaches. A's cluster bias survives the mecca (min 8 ≥ the ≥3 bar). + +### Thin tail: "does 12 shops still read alive?" — **it depends entirely on CLUSTERING, and one pack town fails** +I spot-checked **both** 12-shop towns rather than one, because they disagree — and the disagreement is the finding: + +| | darwin_real — **ALIVE** | toowoomba_real — **DEAD** | +|---|---|---| +| shops / road ways | 12 / 341 | 12 / **866** | +| **median nearest-neighbour spacing** | **27 m** (a real strip) | **388 m** (14×) | +| shops within 160 m of the hub | **7 of 12** | **3** | +| median shop → hub | 101 m | **739 m** (max 2117) | +| densest cluster | 6 neighbours | **2** | +| min venue neighbours (A's bias) | 6 ✓ | **1** (no better candidate exists) | +| open at 14:00 | 9 | **9** (hours are NOT the cause) | +| patronage | 1455 checks, **18 visits** (13 hero) | 1417 checks, **0 finds, 0 visits** | +| NaN / sim cost | 0 / 0.05 ms | 0 / 0.05 ms | + +**Both towns pass `MIN_TOWN_SHOPS`. One has a high street; the other doesn't.** Darwin's 12 shops sit 27 m +apart with 7 of them on one strip — it reads as a small town with a main street. Toowoomba's 12 sit ~388 m +apart across a **4.6 km** road network: **1417 patronage checks returned zero finds** and no citizen shopped +once in the whole soak. It isn't a shopping town — it's a road network with occasional shops. (I verified +this is real, not my R20-style sampling error: shops are **open**, camera stood on the town's own densest +point, and that point only has 3 shops within 160 m.) + +**→ FILED for E / Fable (curation, not code): the floor measures the wrong thing.** `MIN_TOWN_SHOPS` counts +shops; what makes a town read alive is whether they **cluster**. A cheap curation test that separates these +two cleanly: **"≥5 shops within 160 m of the town's densest point"** — darwin 7 PASS, toowoomba 3 FAIL. +Toowoomba is in the v4.0 pack today and has no main street to walk. Cull it, or accept it as a known +thin-tail (it costs nothing — 0 NaN, 0.05 ms/frame — it just has nothing to do). **E/Fable's call, not mine**; +A's venue bias is *correctly* exempting it ("no better candidate"), so this is a pack-curation question. + +### Handshakes +- **D → F (gate):** citizens at pack scale **GREEN**. 23-town pack: fitzroy (160 shops / 376 peds) clean at + 0 NaN and 0.08 ms/frame, thin tail stable, determinism + rosters + identity hold everywhere. **No D-side + blocker for `v4.0`.** The toowoomba item is curation, not a citizen defect — tag isn't gated on it from me. +- **Carried to v4.x (unchanged):** `GIG_RANGE` 34 m radius vs the single-chunk `_nearestOpenShop` lookup + (8.7 % of in-range peds chunk-blind; fix = chunk + 8 neighbours). +- **Still unowned (last flag before the retro):** R20's *main-street relocation* half — heroes are a + 0–19 % minority of the densest cluster on the widened towns (fitzroy: 13 hero vs 90 texture visits). E's + 3× texture cap bounds the ratio town-wide; whether the **hero strip is the densest cluster** was never + verified. If it matters for v4.x, it's a one-call re-run of this harness. + +--- + ## ROUND 21 — v4.0-beta CLOSE: relocation verify (ledger #4) *PROCITY-D, 2026-07-16. Verifying A's venue cluster-adjacency bias (`110c828`), which Fable assigned from