PROCITY/docs/shots/laneF_r39/README.md
m3ultra 076b972f71 Lane F R39 (v9 WAVE 1, CLOSE): QA GREEN 10/0/0/0 — and the interior margin is 162, not 21 and never 6
FIVE GATES, FIVE CONTROLS, each demonstrated in the same run. New F-owned tools wired into qa.sh as
Gate 8: r39_address.mjs · r39_transmission.py · r39_runtime.py · r39_shots.py (--no-r39 skips the
browser half). Lane A's selfcheck reproduces exactly: 157,647/157,647 ALL GREEN, fingerprint
0x5f76e76 — ZERO GOLDENS MOVED, in a round that added an address layer, a fog ledger, a spawn move
and a new interior fitting.

THE ROUND'S BIGGEST NUMBER IS NOT THE ONE THE LEDGER ASKED FOR. Two port-isolated no-store roots,
the same inode for every byte except one file — the shipped bookshelf GLB vs a copy with
transmissionFactor:1 re-inserted (BIN sha1 IDENTICAL, only the JSON chunk moved) — both through
interior_test.html's own drawSweep:

  GLB-on worst   329 (opshop/hall)  ->  188 (dept/auto)     -141
  GLB-off worst  162 (opshop/hall)  ->  162 (opshop/hall)   0 — the control's own control
  margin vs <=350            21     ->  162                 +141

opshop 329->174 (-47%) · book 247->125 (-49%) · every other type 0, exactly the shape Lane C
predicted from an isolated room, at sweep scale, by a harness C did not write. The worst interior
room in the game is now dept/auto — a room with no bookshelf in it. The default boot fetches these
GLBs from the public depot, so all four R39 GLBs were fetched off digalot.fyi and scanned: sha1
identical to the local tree, 0 transmissive materials, 4/4. Binding fact #3's third and final value.

39.1 ADDRESS — GREEN. 1,192/1,219 shops (97.8%), 23/23 'ways', 857/857 membership agree / 0 wrong
(and the control is asserted to have CHECKED 857 edges). No cache -> supplier 'district', 0 names,
still labels 72/72 from district+block. RED ARM: a 3 m shift error RAISES adelaide 89 -> 98 resolved
shops (Lane A's number to the digit) while INVENTING 9 names; stats().shiftCheck reads DISAGREE on
all 72 perturbations. And the honest limit: at 3 m the membership control reads 0 disagreements,
because those shops front ways OSM leaves unnamed — only the shift cross-derivation catches it.

39.2 FOG — GREEN, both arms on one boot. HIDES 4/72 at spawn, 0 of 61 distant shops known. REVEALS
2,125 m -> 58 shops. FRONT TEST: probe from 5 m BEHIND each of 59 unknown shopfronts, 0 learned.
+0 DRAWS AND +0 TRIS, four freshly launched browsers, both orders, drained, 3 reads each, with the
arms asserted distinguishable first. 8/8 corrupt saves rejected, state untouched. Null store on
classic/game=0/fog=0; game=0 and fog=0 pixel-identical, default differs.

39.3 THE SIGN — GREEN. Shops in front of the player at spawn: 4/4 · 4/4 · 4/4 · 1/1, and ZERO on all
four with the pre-R39 sign re-derived on the same tree. The live spawn is asserted equal to the +sin
derivation, so the shell is what is scored. Re-baselined WITHOUT falsifying a release record: the
v7 tour and v7-beta frames are kept as history; docs/shots/laneF_r39/ ships the new pair with its
own BEFORE. The R35 gate itself is pose-independent and was green either side.

39.4 RUMMAGE BIN — GREEN. 120 rooms: tub 60/60 both arms, kind:'bin' 0/60 default vs 60/60 armed,
0 carves, 60/60 deterministic, reachable 0.80-1.03 m by a flood fill written here. THE CONTENTS DID
NOT SHIP: on the default street boot the tub is kind:'prop', 0 dig targets, E opens nothing.

39.5 TRANSMISSION VALIDATOR — GREEN and it FIRES: hard-fails rc 1 on the fabricated glass asset AND
passes on the shipped tree.

THREE CORRECTIONS, ALL MEASURED. A's "a 30 m shift returns 0 street names" — it returns 40/12/47
wrong ones; a big shift lands you on the next street, it does not degrade to null. B's "a fresh
export has no `known` key" — true of ?fog=0, no longer of a default boot, because B's own +sin fix
means you spawn in front of four shopfronts. And my own: I first aimed the transmission control at
web/assets/models/ when validate_manifest.py reads pipeline/_normalized/, and nearly filed a defect
against Lane E on the strength of it. Aim the control at the code path, not the plausible path.

HELD -> LANE E: check_transmission() skips any GLB with no local _normalized copy and never scans
web/assets/models/. Demonstrated with a live control — remove the local copy and the same glass
asset passes rc 0. A depot-only transmissive GLB (the exact shape of longbench and streetlight)
would ship unseen.

No tag.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 22:47:03 +10:00

2.6 KiB
Raw Blame History

Lane F — R39: the spawn-pose RE-BASELINE (v9 wave 1)

Lane B's +sin fix moved the non-classic spawn (index.html:500, R32's cluster-pose). Two of this lane's picture baselines were taken at the old pose and are therefore photographs of the defect:

baseline what it shows status
docs/shots/v7_tour/02_the_strip.png "the cluster-pose spawn: midday on the main street, shopfronts down the block" HISTORICAL — kept. It is an artefact of the tagged v7.0 epoch; re-shooting it on a v9 tree would falsify a release record.
docs/shots/v7_beta/first_five_splash.png the R35 first-five-minutes splash, shot at the spawn HISTORICAL — kept, same reason.

The re-baseline lives here, and it ships its own BEFORE — the same tree, camera parked at the old -sin pose — so the pair is a comparison rather than a claim. Regenerate with tools/.venv/bin/python tools/qa/r39_shots.py (seed 20261990, ?roster=v1&pop=0, segment 2).

frame pose what is in it
the_strip-BEFORE-minus-sin.png synthetic (25.5, 17.9) yaw π the shipped-since-R32 spawn: a footpath facing a plaza, not one shopfront in frame
the_strip-AFTER-plus-sin.png synthetic (6.1, 19.8) yaw π the fixed spawn: the strip, four shopfronts inside 25 m and all four in front of you
the_strip_katoomba-BEFORE-minus-sin.png katoomba_real (219.0, 471.3) yaw 0 standing in a paddock facing the blank back wall of a building — the R31 playtest's own complaint, the one R32 was written to fix and, because of the sign, never did
the_strip_katoomba-AFTER-plus-sin.png katoomba_real (200.0, 474.4) yaw 0 under the awnings on Katoomba Street with the shopfronts and their signage running away down the block
first_five-AFTER-plus-sin.png synthetic, fresh game the R35 frame re-shot: "You're hunting HILLS HOIST — $191 in your pocket." over a street that now has shops in it

The automated R35 gate did not need re-baselining, only the picture did. smoke_first_five (tools/flags_check.py) reads the hunt line and drives the beats through DBG.enterShop, so it is pose-independent; it was green before and after the fix. What the fix changed is the frame the gate's subject is seen in. The falsifiable arm that now guards this pose is tools/qa/r39_runtime.py --only sign: at the spawn, the count of shops within 25 m that are in front of the player must be > 0 — measured 4/4 · 4/4 · 4/4 · 1/1 on synthetic / katoomba / bowral / fitzroy after the fix, and 0 on all four with the old sign re-derived on the same tree.