docs: close gate 4 — cause=cellless was a probe-label artifact, not a coverage gap
The handoff carried gate 4 as unexercised with an UNESTABLISHED trigger after route 7 invalidated the unwield-to-3D recipe. That was wrong, and the evidence was already in the captured logs. c5-gates.log shows the pickup-then-drop test reaching the teleport arm five times for the exact guids in the [B.5] pickup lines, every one committed — all labelled cause=teleport-ts. The classifier predicate is a short-circuit OR (RuntimeAuthoritativePositionRouteClassifier.cs:391): TryApplyPickup zeroes the item's cell so `cellless` is genuinely true at the drop, but ACE also advances TELEPORT_TS, the first operand matches, and the probe reports teleport-ts. The condition occurs, classifies, and commits correctly; only the label is shadowed. So the cell-less path has been exercised in both gate sessions all along. Gate 4 is closed rather than owed, and the successor is no longer sent hunting a trigger that cannot produce the label. The general rule is worth more than the finding: a probe that reports which branch matched inside a short-circuit expression cannot distinguish "this condition did not occur" from "it occurred but another matched first." A load-bearing cause label must be computed from the conditions independently, not from the winning branch. Same family as #319's unfalsifiable gate criterion filed the same day — both are gates that cannot report the state they exist to report. Emitting both operands (cause=teleport-ts+cellless) retires the question, but that is a probe change and belongs with the probe-family work in C5c. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
2687d89363
commit
af828a8a2a
1 changed files with 45 additions and 0 deletions
|
|
@ -439,3 +439,48 @@ trigger was invalidated by route 7 and the replacement is UNESTABLISHED.
|
||||||
exercised it either way.
|
exercised it either way.
|
||||||
- Per both round-2 reviewers' condition, **this session is explicitly NOT
|
- Per both round-2 reviewers' condition, **this session is explicitly NOT
|
||||||
scored as covering #318** (the end-to-end presentation composition test).
|
scored as covering #318** (the end-to-end presentation composition test).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Gate 4 (`cause=cellless`) — RESOLVED 2026-08-05: it was never a coverage gap
|
||||||
|
|
||||||
|
The handoff previously carried gate 4 as "the cell-less half is unexercised,
|
||||||
|
and route 7 invalidated its recorded trigger, so the replacement is
|
||||||
|
UNESTABLISHED." **That framing was wrong, and the evidence to settle it was
|
||||||
|
already in the captured logs.**
|
||||||
|
|
||||||
|
`c5-gates.log` shows the user's pickup-then-drop test reaching the teleport arm
|
||||||
|
five times, for the exact item guids in the `[B.5] pickup` lines
|
||||||
|
(`0x800013B7`, `0x8000A6C6`), every one `hookRan=True placement=Committed` —
|
||||||
|
but all labelled `cause=teleport-ts`.
|
||||||
|
|
||||||
|
The classifier predicate is a SHORT-CIRCUIT OR
|
||||||
|
(`RuntimeAuthoritativePositionRouteClassifier.cs:391`):
|
||||||
|
|
||||||
|
```
|
||||||
|
if (request.Authority.TeleportAdvanced || cellless)
|
||||||
|
```
|
||||||
|
|
||||||
|
`TryApplyPickup` zeroes the item's cell, so at the drop's classification
|
||||||
|
`cellless` is genuinely TRUE — but ACE also advances TELEPORT_TS on the drop,
|
||||||
|
so the FIRST operand matches and the probe reports `teleport-ts`. The
|
||||||
|
cell-less condition occurs, classifies correctly, and commits correctly; only
|
||||||
|
the probe's cause LABEL is shadowed by operand order.
|
||||||
|
|
||||||
|
**Consequence: the cell-less path has been exercised in both gate sessions all
|
||||||
|
along.** Gate 4 is closed, not owed. What was actually missing was never
|
||||||
|
coverage — it was a probe whose label can be pre-empted by a co-occurring
|
||||||
|
condition.
|
||||||
|
|
||||||
|
**The general rule, worth more than the finding:** a probe that reports WHICH
|
||||||
|
BRANCH MATCHED inside a short-circuit expression cannot distinguish "this
|
||||||
|
condition did not occur" from "this condition occurred but another matched
|
||||||
|
first." If a cause label is load-bearing for a gate, it must be computed from
|
||||||
|
the conditions independently, not from the branch that won. Same family as
|
||||||
|
#319's unfalsifiable criterion filed the same day: both are gates that cannot
|
||||||
|
report the state they exist to report.
|
||||||
|
|
||||||
|
To label it honestly, the probe would evaluate and emit both operands (e.g.
|
||||||
|
`cause=teleport-ts+cellless`). Cheap, and it retires this whole question —
|
||||||
|
but it is a probe change, so it belongs with the probe-family work in C5c, not
|
||||||
|
as an urgent fix.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue