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:
parent
195667db94
commit
2687d89363
1 changed files with 28 additions and 4 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue