Lane F R37 (v8 wave 0, CLOSE): the round gate — QA GREEN 7/0/0/0, flags harness 0 fails / 0 warns, MATRIX GREEN 10 towns x 7 gates
qa.sh --strict --matrix on the true final tree (Lane A e4d7762 + Lane B 47db478/79177bc + Fable
7bd96e5/4a7c0f1 + F 2396885/6afd1ed/f522021), port-isolated on :8975.
SUMMARY 7 passed · 0 failed · 0 warn · 0 skipped — QA GREEN
selfcheck ALL GREEN 157,407/157,407 (was 156,352 — Lane A's +1,055 poster-clearance
assertions, three arms, all green on the ruled street)
manifest 0 errors / 0 warnings; atlas-QA 15 atlases, 15 licence lines shown; depot live
flags 0 fails / 0 WARNS
classic fp 0x5f76e76 · dig INERT at the bin · gig layer wholly absent ·
162 draws / 16,642 tris · fetch surface CLEAN against v2.1 (125 requests:
68 code, 52 same-origin v2.1 assets, 4 depot, 1 NAMED EXCEPTION printed) ·
allow-list control fired (2 injected -> 2 named violations)
default four flags on · 14 gigs / 14 posters / venue geo / tram · gig golden
0xec7a2d39 · 131 draws / 23,382 tris @ venue block · dig REACHABLE naked
kerb all six arms green, control at EXACTLY 14 under ?verge=0
tram all arms + BOTH controls green
R11-R36 audio, gigs, continuity, glance, the R30-35 game gates, djdance, real
crate, tier-2 kill-the-server: all re-green on the ruled street
fig-scale 29 figs across 6 shops in [1.4,2.0] m incl. the R36 DJ-body leg
matrix GREEN, 10 towns x 7 gates; every town byte-equal on re-boot; 0 fetches under
?noassets across all ten; tram verdicts unchanged (fenced on bendigo, fremantle,
katoomba_real — the same three the rebuilt smoke_tram uses for its absence arm)
One caveat kept in the notes rather than buried, so this round's central finding is not undone by
its own suite: the matrix's budget column (69-161 draws) is DBG.shot('venue_night') CLEAN-LOAD
BOOKMARK numbers, and 37.1 is the proof that a bookmark under-reports a walked-and-turned frame by
~120 draws. That column is a regression signal, not the budget of record. Making the matrix
walk-and-turn every town is a real improvement and a real cost — FILED TO THE v8 DEBT LEDGER, not
smuggled into a floor round.
NO TAG. Wave 0 levels the floor; it does not ship a version.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
f522021765
commit
b6df11dfd6
@ -45,17 +45,52 @@ fenced katoomba_real (0 stops, **0 group children**, 0 m moved) · OFF under `?t
|
||||
**Both controls demonstrated every run** — the run-predicate pointed at the fenced town and the
|
||||
absence-predicate pointed at the running tram must each go red.
|
||||
|
||||
**0.5 — `classic_regression` GETS A NETWORK ALLOW-LIST**, derived from the **v2.0 tag at gate time**
|
||||
**0.1 (F half) — THE KERB GATE: the ruling is in the paint, and the control fires at EXACTLY 14.**
|
||||
New STRICT `smoke_kerb`. A's corrected selfcheck asks the plan-side question; F's asks the runtime
|
||||
one, of the paint — **raycast straight down at every rendered poster and classify the topmost ground
|
||||
hit by MATERIAL IDENTITY** (`skins.groundMat()` is cached, so the road mesh's material *is* the
|
||||
object the factory returns — no mesh names, no strings, nothing that drifts when B edits). Topmost,
|
||||
not first, because B put the carriageway on top at junctions. Six arms, all green: **14 posters
|
||||
rendered == 14 in `plan.posters`, every one within 0 m** (nobody had ever asserted the poster you see
|
||||
is the poster A placed) · **detector control A** — a main centreline classifies ROAD at y 0.04 ·
|
||||
**detector control B** — 13 m off it classifies FOOTPATH at y 0.02 · **THE RULING: 0 of 14 posters on
|
||||
road paint**, tally `{footpath: 14}` · **THE CONTROL: the same leg fails under `?verge=0` at EXACTLY
|
||||
14**, tally `{road: 14}` · **CLASSIC KEEPS ITS PAINT** — 13 m off the centreline is still ROAD under
|
||||
`?classic=1`, 0 posters. **Two lanes, two wholly independent methods, the same number 14**: A counted
|
||||
plan-side by offset in node; F counted paint-side by raycast in the browser off B's geometry.
|
||||
|
||||
**0.5 — `classic_regression` GETS A NETWORK ALLOW-LIST**, derived from the **v2 tag at gate time**
|
||||
(`git ls-tree` + v2.0's own manifest), never a deny-list. **The brief's shape would have missed the
|
||||
breach it was written for**: the R36 widening was `models/peds/woman_dj_01.glb` — *same-origin* — so
|
||||
"four depot GLBs + same-origin" is green straight through it. `/models/peds` is enumerated by the
|
||||
v2.0 tree (exactly the covenanted 21 files; today's dir holds 32). The nine depot fetches are
|
||||
**baseline, not a breach** — proven by booting the actual v2.0 tree and capturing its wire.
|
||||
**Control every run**: injecting the R36 breach itself plus a never-existed asset turns the clean
|
||||
verdict into exactly 2 named violations. 🟠 **Carried for Fable:** classic's fetch surface is
|
||||
**+6 files** vs the real v2.0 tree — 5 audio (R11 `f7dd44f`) + `assets/towns/index.json` (R20/R21).
|
||||
Allowed on the list, printed every run, **UNRATIFIED**; F did not improvise a verdict on a
|
||||
six-epoch-old fact. Full record: LANE_F_NOTES §37.
|
||||
verdict into exactly 2 named violations. F measured classic's surface as **+6 files** vs the real
|
||||
v2.0 tree and **held rather than ruling**; **Fable ruled** (`4a7c0f1`): the 5 audio files are
|
||||
**RATIFIED BASELINE** (v2.1 was v2's final tagged state, so audio shipped inside v2 as the furniture
|
||||
GLBs did) and `assets/towns/index.json` is **NOT baseline** but a **named, printed exception**. Landed
|
||||
in the mechanism by moving the authority tag **v2.0 → v2.1** — surgical, not generous:
|
||||
`git diff v2.0 v2.1 -- web/` is the audio pack + `audio.js` + four wiring edits, **zero other assets,
|
||||
zero deletions**, so the tag change admits precisely the ratified audio. Gate output confirms:
|
||||
same-origin baseline **47 → 52**, exceptions **2 → 1**, control still discriminating. "Should
|
||||
`?classic=1` show the town selector at all?" → v8 debt ledger, R38+.
|
||||
|
||||
**THE CLOSE — `qa.sh --strict --matrix` on the true final tree (A + B + Fable + F all landed,
|
||||
port-isolated :8975): 7 passed · 0 failed · 0 warn · 0 skipped — QA GREEN.** Selfcheck
|
||||
**157,407/157,407** (A's +1,055 poster assertions, green on the ruled street) · manifest 0 err/0 warn ·
|
||||
**flags harness 0 fails / 0 warns** (classic fp `0x5f76e76`, 162 draws/16,642 tris, fetch surface
|
||||
clean vs **v2.1** with 1 named exception and the injection control firing · default boot gig golden
|
||||
`0xec7a2d39`, 131 draws/23,382 tris, dig reachable naked · the new kerb gate and the rebuilt tram
|
||||
gate both green with every control) · figure-scale 29 figs/6 shops · **MATRIX GREEN 10 towns × 7
|
||||
gates**, tram verdicts unchanged (fenced on bendigo/fremantle/katoomba_real — the same three the
|
||||
rebuilt smoke uses for its absence arm). **No tag: wave 0 levels the floor, it does not ship a
|
||||
version.** *Caveat kept honest in the notes: the matrix's own budget column is clean-load bookmark
|
||||
numbers (69–161 draws) — a regression signal, not the budget of record, which this very round proved
|
||||
under-reports a walked-and-turned frame by ~120 draws. Making the matrix walk-and-turn is filed to
|
||||
the debt ledger, not smuggled into a floor round.*
|
||||
|
||||
Full record: LANE_F_NOTES §37.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -2318,6 +2318,68 @@ needed: either they are part of what the covenant preserves (say so, and the lis
|
||||
right), or classic should not be fetching them (and they get gated like the DJ bodies were).
|
||||
**F did not improvise a verdict on a six-epoch-old fact.**
|
||||
|
||||
### §37.4a Fable's ruling on the +6 delta, landed in the mechanism (`4a7c0f1`)
|
||||
|
||||
**The audio is RATIFIED BASELINE and git makes that exact rather than generous.** Fable ruled the
|
||||
covenant preserves "the exact v2 town" and **`v2.1` was v2's final tagged state**, so the audio pack
|
||||
shipped *inside* v2 exactly as the furniture GLBs did. So the allow-list's authority moved
|
||||
**`v2.0` → `v2.1`** — and that is a surgical widening, not a shrug: `git diff v2.0 v2.1 -- web/` is
|
||||
the audio pack, `js/world/audio.js` and four wiring edits. **Zero other assets. Zero deletions.** The
|
||||
tag change therefore admits precisely the five ratified audio files and nothing else, and the depot
|
||||
GLB names survive unchanged in v2.1's manifest. Verified in the gate output: same-origin baseline
|
||||
assets **47 → 52**, carried exceptions **2 → 1**, control still discriminating.
|
||||
|
||||
**`assets/towns/index.json` is NOT baseline** and is now labelled so it can never read as if it were.
|
||||
It prints every run as `EXCEPTION (NOT v2.1 baseline)` with its provenance (v4 selector machinery,
|
||||
`078245f` R20 / `4b01449` R21) and Fable's reasoning (no geometry, no identity, no seeded draw — not
|
||||
the R36 species, not gettable in a floor round). The open question — *should `?classic=1` show the
|
||||
town selector at all?* — is on the v8 debt ledger for R38+.
|
||||
|
||||
*Also recorded by Fable: the allow-list mechanism (derive from `git ls-tree <tag>` at gate time) is
|
||||
the correct one and the brief's "four depot GLBs + same-origin" shape was wrong; and the "viewport is
|
||||
the variable" hypothesis was Fable's, disproven by F's measurement, and is noted as Fable's.*
|
||||
|
||||
### §37.6 THE KERB GATE (item 0.1, F half) — **the ruling is in the paint, and the control fires at exactly 14**
|
||||
|
||||
`smoke_kerb`, STRICT, wired into the harness after `smoke_tram`. Lane A's corrected selfcheck asks
|
||||
the **plan-side** question (is the poster's offset inside `vergeBand(e)[0]`?). That is right for A's
|
||||
file — but it still never reads a number that came from B, which is the precise failure that made the
|
||||
old gate vacuous ("the gate and its subject were the same function agreeing with itself"). So F's
|
||||
gate asks the **runtime** question, of the paint:
|
||||
|
||||
> **raycast straight down at every rendered poster and classify the topmost ground hit.**
|
||||
|
||||
Classification is by **material identity** — `skins.groundMat()` is a cached factory, so the road
|
||||
mesh's material *is* the object `groundMat('djsim-road')` returns. No mesh names, no string matching,
|
||||
nothing that drifts when B edits the file. **Topmost, not first**, deliberately: B put the carriageway
|
||||
*on top* at junctions (`ROAD_Y` 0 → 0.04) so roads run through intersections, and what the player sees
|
||||
under a poster is the top surface.
|
||||
|
||||
**All six arms green on the final tree:**
|
||||
|
||||
| arm | result |
|
||||
|---|---|
|
||||
| **subject** | **14 posters rendered == 14 in `plan.posters`**, every one within **0 m** of its planned position — read off the real `venue-posters` `InstancedMesh` matrices. *Nobody had ever asserted that the poster you see is the poster A placed.* Zero posters ⇒ FAIL, never a skip. |
|
||||
| **detector control A** | the centreline of the longest main (`main@28 m`, 137.5 m) classifies **ROAD at y = 0.04** — the detector can see bitumen |
|
||||
| **detector control B** | **13 m** off that centreline (1 m inboard of the corridor edge) classifies **FOOTPATH at y = 0.02** — the ruling is in the geometry |
|
||||
| **THE RULING** | **0 of 14** posters stand on road paint on the default boot. Surface tally: `{djsim-footpath: 14}` |
|
||||
| **THE CONTROL** | the same leg under **`?verge=0` fails at EXACTLY 14** — tally `{djsim-road: 14}`. Keyed to B's flag, not to a line number, matching A's discipline |
|
||||
| **classic keeps its paint** | 13 m off the centreline is **still ROAD** under `?classic=1`, and classic renders **0 posters** — Fable's mid-round ruling holds; the covenanted render did not move on a render-side ruling |
|
||||
|
||||
**The two detector controls are the load-bearing part.** "0 posters on road" is a sentence about
|
||||
nothing unless the classifier can be shown to say *road* and to say *footpath* on the same boot. Both
|
||||
are asserted every run, so the green cannot come from a detector that is silent.
|
||||
|
||||
**A cross-lane agreement worth recording: two lanes, two entirely independent methods, the same
|
||||
number.** Lane A counted 14 plan-side, by offset against `vergeBand(e)[0]`, in node, over the plan.
|
||||
F counted 14 paint-side, by raycast against merged mesh materials, in the browser, over Lane B's
|
||||
geometry. The default boot flips both to 0/clear. That is the kerb ruling proven from both ends.
|
||||
|
||||
*Honest note on the semantics:* a poster clear of *its own* edge's carriageway could still stand on a
|
||||
**crossing** street's carriageway at a junction, where B's `ROAD_Y` fix puts road on top. F's gate
|
||||
would call that on-road and A's would not. **Measured: it does not happen on the default boot** (0 of
|
||||
14). If it ever does, the two gates disagreeing is the finding, not a bug in either.
|
||||
|
||||
### §37.5 Housekeeping
|
||||
|
||||
- **`flags_check.py --only <name[,name…]>`** for single-gate development runs. It prints a
|
||||
@ -2325,8 +2387,54 @@ right), or classic should not be fetching them (and they get gated like the DJ b
|
||||
be mistaken for a suite pass in a log. `qa.sh` invokes `flags_check.py` with no arguments; unaffected.
|
||||
- **README flags table** gains `?verge=0` (Lane B's R37 falsifiability control — B flagged that the
|
||||
table is F's file) and a row for `?r=N` / `?shadows=0|1` naming the `?r=3` breach measured above.
|
||||
- Regression check on the post-Lane-B tree (`7bd96e5`), the three gates this session touched or that
|
||||
B's ground change could move: `classic_regression` · `default_boot_gate` · `smoke_tram` —
|
||||
**0 fails / 0 warns.** Classic fp `0x5f76e76` holds at **162 draws / 16,642 tris**; the default
|
||||
boot pins to gig golden `0xec7a2d39` at 131 draws / 23,382 tris; dig REACHABLE naked. The full
|
||||
`qa.sh --strict --matrix` belongs to the later F session with the kerb gate, per the round order.
|
||||
The `?verge=0` row states A's corrected band figures, not the charter's headline: **9 m is the
|
||||
synthetic town's 28 m main only**; a real main is 24 m ⇒ 7 m, and `side`@12 — **72% of the whole
|
||||
corpus** — is 3 m.
|
||||
- **Lane B's three tram discontinuities** (the 6.4 m end-of-line lane swap, the 2.5 m `EPS` stop
|
||||
snap, the ≤0.68 m bend kink) arrived as measurements and are now *asserted* by the rebuilt
|
||||
`smoke_tram`: every discontinuity must be **bounded by 2·LANE**, with **≥1** at exactly 2·LANE
|
||||
(proving it reached the end and turned). No action beyond keeping them here; a new one goes red.
|
||||
- Interim regression on `7bd96e5`: `classic_regression` · `default_boot_gate` · `smoke_tram` —
|
||||
0 fails / 0 warns. Superseded by the full suite below.
|
||||
|
||||
### §37.7 THE ROUND CLOSE — `qa.sh --strict --matrix` on the true final tree
|
||||
|
||||
Tree: Lane A `e4d7762` + Lane B `47db478`/`79177bc` + Fable `7bd96e5`/`4a7c0f1` + F `2396885`,
|
||||
`6afd1ed`, `f522021`. Port-isolated on `:8975`.
|
||||
|
||||
> **SUMMARY: 7 passed · 0 failed · 0 warn · 0 skipped — QA GREEN.**
|
||||
|
||||
- **scaffold + consistency + citygen selfcheck: ALL GREEN, `157,407/157,407`** (was 156,352 — Lane A's
|
||||
+1,055 new poster-clearance assertions, three arms, all landing green on the ruled street).
|
||||
- **manifest validator**: OK — 0 errors, 0 warnings (48 facades · 85 skin groups · 33 GLBs · 28 audio;
|
||||
atlas-QA 15 per-shop atlases valid, 15 licence lines SHOWN; depot live).
|
||||
- **flags harness: 0 fails / 0 WARNS.**
|
||||
- **classic covenant**: fp `0x5f76e76` · dig INERT at the bin · gig layer wholly absent ·
|
||||
**162 draws / 16,642 tris** · 0 errors · **fetch surface CLEAN against `v2.1`** — 125 requests,
|
||||
68 code modules / 52 same-origin v2.1 assets / 4 depot assets in v2.1's manifest / **1 named
|
||||
exception** (`towns/index.json`, printed) · **the allow-list control fired** (2 injected → 2 named
|
||||
violations).
|
||||
- **default boot**: all four flags ON · 14 gigs / 14 posters / venue geo / tram · gig golden
|
||||
`0xec7a2d39` · 131 draws / 23,382 tris @ venue block · dig REACHABLE naked.
|
||||
- **`smoke_kerb` (new)**: all six arms green — §37.6. Control at exactly 14 under `?verge=0`.
|
||||
- **`smoke_tram` (rebuilt)**: all arms + **both** controls green — §37.3.
|
||||
- R11 audio · R12/13 gigs · R15 continuity · R29 glance · R30–R35 game gates · R36 djdance ·
|
||||
R24 real crate · R27 tier-2 kill-the-server: all re-green on the ruled street. `?classic=1` still
|
||||
fetches zero `look.glb` and zero dance clips.
|
||||
- **figure-scale gate**: 29 interior figs across 6 shops all in [1.4, 2.0] m, incl. the R36 DJ-body leg
|
||||
(0.984–0.989 u → 1.64–1.89 m).
|
||||
- **MATRIX GREEN — 10 towns × 7 gates** (boot · determ · budget · district · roads · tram · noassets):
|
||||
2 synthetic + 3 fixtures + 5 real caches, every town byte-equal on re-boot, 0 fetches under
|
||||
`?noassets` across all ten, tram verdicts unchanged (runs on synthetic/fixtures/castlemaine/newtown;
|
||||
**fenced on bendigo, fremantle, katoomba_real** — the same three the rebuilt `smoke_tram` uses for
|
||||
its absence arm).
|
||||
|
||||
**One honest caveat on the matrix's own budget column**, so this round's central finding is not
|
||||
undone by its own suite: the matrix budgets (**69–161 draws**) are `DBG.shot('venue_night')` **clean-load
|
||||
bookmark** numbers. §37.1 is the proof that a bookmark under-reports a walked-and-turned frame by
|
||||
~120 draws. The matrix column is a *regression* signal (has this town's cost moved?), **not** the
|
||||
budget of record. The budget of record is §37.1's 292 / 124,793, and nothing else in the repo
|
||||
measures it. Making the matrix walk-and-turn every town is a real improvement and a real cost —
|
||||
**filed to the v8 debt ledger, not smuggled into a floor round.**
|
||||
|
||||
**No tag.** Wave 0 levels the floor; it does not ship a version.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user