---
name: a-louder-red-hides-a-quieter-one
description: "A cell failing for two reasons reports only the first: fixing the loud defect does not turn it green, it reveals the stale expectation that was failing all along — so a fix's acceptance must be the FAILURE TEXT changing, not the cell passing."
metadata:
  type: feedback
---

**2026-09-08, W3 r2 lane (splice double-type).** Golden reds cited four e2e cells; my fix removed
the doubled `type` attribute and the cells stayed RED. They had two independent breakages:
the doubling (new, mine, W2) and a literal envelope expectation that predated W2's `msg-id`
attribute (older, also from my W2 contract, never repinned). The louder red masked the quieter
one for a whole milestone, and nobody could see the second until the first was gone.

**Why:** an assertion reports the FIRST way it fails. A cell red for two reasons is
indistinguishable from a cell red for one, so "this cell will go green when I fix X" is a
prediction about a population of causes you have not enumerated.

**How to apply:**
- State a fix's acceptance as **the failure TEXT changing in the predicted way**, not as the cell
  passing. Mine was: BEFORE `<EVENT type="msg" type="msg" from="lea" …>` vs AFTER
  `<EVENT type="msg" from="lea" …>` — same cell, same invocation, one variable. That evidence
  survived the cell staying red, and a "cell passes" criterion would have read as my fix failing.
- Get the BEFORE from a peer on another box at the pre-fix sha when you can: it fixes the
  population and the invocation, so the delta is one commit rather than two setups.
- An exact-equality assertion against a string containing a CONTENT-DERIVED value (a digest id,
  a timestamp) is unmaintainable by construction — the repin has to change the assertion's SHAPE
  (pin structure + the field's presence and form) rather than paste today's value.

Related: [[the-first-claim-on-a-foreign-pool-must-refuse]],
[[assembly-textual-merge-hides-semantic-composition-break]].
