---
name: setup-suppresses-failing-arm
description: A test whose SETUP writes the precondition the gate requires can never observe the failing shape — it reads as coverage while the real class is unreachable; second form is a Default fixture that renders only some sections, scoping the guard to whatever the default emits; distinct from uniform-row blindness.
metadata: 
  node_type: memory
  type: feedback
  originSessionId: 709471f7-927d-4b0b-934d-0b9c919a2d08
  modified: 2026-08-01T16:56:42.555Z
---

A test can be well-written, assert the right thing, and still be structurally
incapable of failing — because its **setup** puts the system into the exact state
the gate under test requires. The cascade case: `resting.rs:1265`
(`rest_edges_cascade_shells_with_divergence`) suspends before it wakes, and the
suspend *writes* the offline shell record; the wake arm gates on that record being
offline. So the restart shape (record left `online`, no rest edge at all) is
unreachable from that test by construction. Nothing is weak about the assertions —
the precondition is manufactured.

**Why:** a reader auditing "is the cascade covered?" gets a true answer to the
wrong question, and the uncovered class then reads as covered for as long as the
test exists. Doyle called this the third suppressed-arm instance in one week
(2026-08-01), so it is a recurring shape on this codebase, not a one-off.

**A second form: the DEFAULT FIXTURE that renders only some of the subject**
(4th instance, 2026-08-01, DOORBELL W2). The briefing grammar-walk fed
`BriefingFacts::default()`, which has no pending declarations — and the pending
line was the *only* place the composed briefing prescribed a command inside
backticks. So the guard walked a briefing whose sole backticked command never
rendered, and a dead verb planted there passed. Mutation-proved both directions:
the same dead verb REDS the two-shape guard and is GREEN under the default-only
one. Here nothing in the setup writes a precondition — the setup simply omits a
*section*, and the guard silently scopes itself to whatever the default emits.
Detector question: does the fixture exercise every BRANCH of the renderer, or
only the branches a zero-value default happens to take? A `Default` impl is a
fixture choice, not a neutral one.

**How to apply:** when a test drives a state machine through a happy sequence,
ask which step of the SETUP writes the value the assertion's gate reads. If the
setup writes it, the test cannot see the arm where that value is wrong — say so
in the finding, and make the hazard text name the suppression explicitly so a
future reader cannot re-mistake the test for coverage. Sibling of
[[uniform-table-blindness-sweep]] (uniform rows) and
[[instrument-soundness-guards]] (a gate whose failure signature matches the fault
it guards); the discriminant here is the setup, not the data. Proving the gate
rather than a dead rig still needs the two-arm control —
[[stacked-defects-mask-each-other]].
