docs(render): S3 chunk 1 fix round 1 — vacuous flag-off pin, LC/SC work outside the flag, flag-on round trip

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-09-03 11:00:01 +02:00
parent 674fa8e8b6
commit 4215222304

View file

@ -803,6 +803,55 @@ DELETE (no retail counterpart):
poses (InstalledDat lane); the two cathedral `LC`/`SC` order pins.
- T4: `LaunchOptionsDocumentationTests` green with the one new row.
### 11.5 Chunk 1 fix round 1 (lead, 2026-09-03, after the three-lens review of `079483bb6`)
Verdicts: build/test FAIL and production-path FAIL on the SAME blocking
finding; retail lens pending at draft time (amended below if it adds
items). Every item lead-verified against the source. Fix in the same
worktree on top of `079483bb6`; round 1 of the two the plan allows.
- **G1 — the flag-off integration test is vacuous (blocking).**
`Collect_TranscriptFlagOff_ProducesNoConsoleOutput` drives ONE frame and
asserts through `WalkOracleTrace.Parse`, which structurally discards the
last (open) frame — so a one-frame transcript parses to nothing whether or
not anything printed. Fix: drive TWO frames and assert (a) the parser sees
ZERO frames and (b) no captured line starts with any of the ten kinds
(`F `, `P `, `LS`, `LC `, `SC `, `BLD `, `DI `, `DC `, `EC `, `OC `) —
robust to other test classes' console noise, which never begins with those
tokens. MUTATION CHECK (mandatory for every pin in this round): show, in
the commit message, that the pin FAILS when the flag gate is forced true
(temporarily) — a pin that cannot fail is not a pin.
- **G2 — LC/SC compute before the flag (major).** `LodCellId(...)` runs on
every land-cell turn (~1,300 divisions/modulos/checked conversions per
outdoor frame) before `PrintLandCell`/`PrintSortCell` test the flag.
Guard the call sites: `if (RenderingDiagnostics.DumpWalkTranscriptEnabled)
WalkTranscriptDump.PrintLandCell(WalkTranscriptDump.LodCellId(...))`, and
audit every other print site for argument work outside the guard (the DC
site builds nothing until inside `PrintDrawCells` — fine; the frame-root
site is already guarded).
- **G3 — the flag-on round trip never prints LC/SC/BLD (major).** Extend T2:
one outdoor-root frame over a synthetic landscape with one in-view block
and one building (the `WalkFrameDriverTests` landscape fixtures already
exist) → the captured lines parse to a frame whose events contain
`LS`, ≥1 `LC`, ≥1 `SC`, and the `BLD`, in that order, matching the
driver's recorded turns; plus one interior-root frame covering `DI`/`DC`/
`EC`/`OC`. Both with the mutation check.
- **G4 — parts/alpha-depth smoke pins (minor).** Assert `AM > 0` and
`PM > 0` (and `PD > 0`, `DM > 0` for the parts logs) for every committed
capture — §6b lists the counts; a regex that silently matches nothing must
fail.
- **G5 — launch-options wording (minor).** The side-effects column says
exactly: flag off = one bool read per print site, nothing else; flag on =
one console line per walk turn (≈600800 lines per outdoor frame) — a
print-only diagnostic for offline diffing, never for ordinary runs.
- **G6 — comment hygiene (note).** Remove the self-correction noise in the
conformance test comment ("DI f4180108... no, a9b4013f"); keep the two
bespoke Facts (doorway-still, foundry-deep) — they need the full
DAT-built world the theory body already uses, so either shape is
acceptable; say why in a one-line comment.
- Gates unchanged (§11.3); the InstalledDat lane must still show only the
three known failures; the new still-fixture rows must still reproduce.
### 11.4 Out of scope
Any validator, canonical format, or dashboard; any behavior change; any