docs: replace route 7's unfalsifiable gate criterion with a positive assertion (#319)

The original criterion — "the session counts ONLY if cause=propagate lines
appear" — cannot fail in the presence of the bug it exists to catch. #319
makes a player-parented child emit no probe line at all, so the defect's
signature is ABSENCE, which that wording reads as "not exercised" rather than
"broken". Two captured gate logs contain #319 and neither flags it; the second
was run specifically to thicken this gate and still missed it.

Replaced with a positive assertion: read the equipped child's FullCellId and
require it to EQUAL the parent's after a crossing — a zero child cell is a
failure, not a silence. Probe-line volume drops to a secondary check. And the
gate must now be run with a PLAYER parent as well as a creature parent, since
#319 exists precisely because every probe-firing parent in both logs was
instance-sequence 0 and the sole player parent was the sole failure.

The rule this generalises, added to the handoff's process findings: a gate
whose failure mode is indistinguishable from a not-run manufactures
confidence. Counting evidence-of-success is not the same as asserting the
property; only the latter can fail.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-08-05 10:00:16 +02:00
parent 195667db94
commit 2687d89363

View file

@ -97,9 +97,31 @@ traffic); this is the one purely visual gate.
6. Portal recall while equipped — equipment present and following after
arrival.
**Pass criterion: the session counts ONLY if `[child-cell]` lines with
`cause=propagate` appear during step 2**, child cell always equal to the
player's. Regressions: weapon drawn at the world origin or its last ground
**Pass criterion — CORRECTED 2026-08-05, the original was unfalsifiable.**
The original read: *"the session counts ONLY if `[child-cell]` lines with
`cause=propagate` appear during step 2."* **That criterion cannot fail in the
presence of the bug it exists to catch.** #319 makes a player-parented child
emit NO probe line at all, so the defect's signature is ABSENCE — which the
old wording reads as "you didn't exercise it" rather than "it is broken." Two
captured gate logs (`c4-gates.log`, `c5-gates.log`) contain #319 and neither
flags it; the second was even run specifically to thicken this gate.
A gate whose failure mode is indistinguishable from a not-run manufactures
confidence. Replace it with a POSITIVE assertion:
1. **Assert the equipped child's `FullCellId` EQUALS the parent's** after a
landblock crossing — read it, do not infer it from probe volume. A zero
child cell is a FAILURE, not a silence.
2. Then, and only as a secondary check, expect `cause=propagate` counts in
double digits across several crossings.
3. Run it with a **player** parent AND a **creature** parent. #319 exists
precisely because every probe-firing parent in both captured logs was
`0x7…`/`0x8…` (instance sequence 0) and the sole `0x5…` player parent was
the sole failure. A gate that only ever sees sequence-0 parents is blind to
the entire player class.
Regressions: weapon drawn at the world origin or its last ground
position; invisible while equipped; **left behind at a landblock boundary**
(the D4 demotion's specific risk); invisible-but-solid at a former position
(#184); child culled while the parent is visible or vice versa. The headless
@ -379,7 +401,9 @@ load-bearing observation: before the round-2 R3 fix the field read
**Route 7 (child cell) — PASS, but THIN.** 17 `[child-cell]` lines:
13 `cause=attach`, 3 `cause=delete`, **1 `cause=propagate`**. The stated pass
criterion (at least one `cause=propagate`) is met, so the gate passes — but
criterion (at least one `cause=propagate`) was met, so the gate was recorded
as passing — but see #319: that criterion was UNFALSIFIABLE and this very log
contains an undetected defect. Corrected above. The remaining note stands:
propagation across a parent cell crossing is the slice's entire purpose, and
one sample proves the path executes rather than that it is robust across
repeated crossings. A future session should run several equipped landblock