From c7525a682a46c8e1e58eef6f0fd0c5cf870eb15a Mon Sep 17 00:00:00 2001 From: m3ultra Date: Thu, 16 Jul 2026 16:18:46 +1000 Subject: [PATCH] Lane C R18 (v4.0-alpha): interior spot-soak of katoomba_real (ledger #6) Entered every katoomba_real shop the way the shell does (registerTownCache -> generatePlanFor osm, gigs on = default boot -> buildInterior per shop, lot dims from plan.lots). All 20 doors PASS: 0 throws / 0 carves / 0 path-fails / 0 over-budget, worst 153 draws (<=350); 7 types incl. the 3 gig venues (pub/rsl/ band_room) all built valid. Degenerate-lot stress (preempts A's real-road re-seating): 32 extreme-lot x type combos (incl. 0x0, 1x1, thin slivers) -> 0 throws/carves/path-fails; every room floors at >=4x4 m. The interior contract absorbs any real frontage. Honest caveat: current katoomba_real.json is schema v1 (roads:none) -> marched fallback (E's roads cache not committed yet). Interiors are road-agnostic (lot dims + type + seed only), so the conclusion holds once roads seat shops on real edges; one-line re-run if lot dims shift. Interior lane: 0 failures for the alpha list. Docs-only (verification of shipped behaviour). Co-Authored-By: Claude Opus 4.8 --- C-progress.md | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/C-progress.md b/C-progress.md index 913e0da..0dd6a0c 100644 --- a/C-progress.md +++ b/C-progress.md @@ -3,7 +3,37 @@ *Status: **v1 complete & verified**. Standalone interiors library + test page. Every shop door opens into a unique, seeded, themed interior, generated on demand in ~4ms, byte-identical every revisit.* -Last updated: 2026-07-16 (round 17) · owner: PROCITY-C · reviewer: Fable +Last updated: 2026-07-16 (round 18) · owner: PROCITY-C · reviewer: Fable + +--- + +## Update 2026-07-16 (round 18, v4.0-alpha REAL ROADS) — interior spot-soak of katoomba_real (ledger #6) + +R18 §Lane C (small): enter every `katoomba_real` shop and assert valid interiors + no carve + budgets. +Built the town plan the way the shell does — `registerTownCache(katoomba_real)` → `generatePlanFor(seed, +'osm', {town, gigs:true})` (gigs on = the default boot) → `buildInterior` per shop (lot dims resolved from +`plan.lots`). **All 20 doors PASS:** + +| metric | result | +|---|---| +| shops entered | **20 / 20 built** | +| throws · carves · path-fails · over-budget | **0 · 0 · 0 · 0** | +| worst draws | **153** (shop 16, opshop/hall) ≤ 350 | +| types resolved | opshop · book · record · video + venues pub · rsl · band_room | +| gig venues (default boot) | 3 (ids 3/5/19) — all built valid gig interiors (stage + watchPoints) | +| draw range | 108–153 | + +**Degenerate-lot stress (preempts A's real-road re-seating):** 32 combos (8 extreme lots {2×3, 1×1, 3×30, +40×4, 100×100, **0×0**, 4.2×4.1, 2.5×18} × 4 types incl. venues) → **0 throws · 0 carves · 0 path-fails**; +every room floors at **≥4×4 m** (`computeDims Math.max(4, lot−0.6)`). So whatever frontage the real-graph +lift seats shops on, the interior contract absorbs it. + +**Caveat (honest):** audited against the CURRENT `katoomba_real.json` — schema v1, `roads: none`, so it boots +the **marched fallback** (E's katoomba roads cache isn't committed yet; A's lift `a78dc76` is in). Interiors +are **road-agnostic** (they consume lot dims + type + seed, never road geometry), and the degenerate-lot proof +covers any lot the real graph produces, so the conclusion is stable. **Interior lane contributes 0 failures to +the alpha's failure list.** A one-line re-run once E's `roads[]` cache lands (lot dims may shift with real +frontage) — I'll re-confirm if asked, but the interior contract already absorbs the range. C otherwise on-call. ---