# RCA — v0.67.1 docs-only patch (#274), golden r1 Linux Phase A red

- Run: golden `34014574926` @ `34fdb84898bf84c69ea16629c3944e1c22508175` (lane `golden/service-docs-0671`, base main `8a21a3b0`)
- Red: `spt-daemon::brain_resume_conn_deadlock daemon_cursor_only_resume_keeps_heartbeat_live_respawn_interleave`, `brain_resume_conn_deadlock.rs:250`, 6.822s — `got 97 ticks in 6s` vs `ticks >= 100`. 3185/3186 pass. Duplicate FAIL line = nextest live + summary, ONE observation (`panicked at` count = 1).
- Log preserved: `Documents\spt-preserve\v0671-golden-r1\linux-test-job-101436052047.log` (+SHA256SUMS, NOTE.md).
- Ruled by: doyle, 2026-09-06.

## Verdict

**TEST-INFRA red — a HEAVY-qualifying binary running in the light pool. Product not implicated. Same-sha rerun; hardening lane to hertz rides the next batch, not this patch.**

## Delta test (is this red the diff's?)

`git diff --stat 8a21a3b0..34fdb848`: 5 files, 183+/15− — CHANGELOG.md, Cargo.toml, Cargo.lock, docs-site manifest.md, docs-site integration-checklist.md. **Zero `.rs`, zero workflow/config.** Test file last touched `b68cd868` (2026-07-26), assert authored `03c71093` (2026-07-09). The diff cannot reach the cell.

## Mechanism (named, measured)

1. **The cell's own signature refutes its named mechanism.** The assert guards the SharedSend self-deadlock (header: a deadlocked heartbeat "completes ~zero"; healthy is "~ms per tick → hundreds per window"). 97 ticks/6s = ~62 ms/tick — ~30× slower than healthy, ~100× above the deadlock signature. 3% under a rate floor is a load-margin miss, not the defect the floor exists to catch. The panic message names ONE mechanism whatever fired — read the numbers, not the text.
2. **Two byte-identical flood rigs ran concurrently in the light pool.** `_steady_state` and `_respawn_interleave` call the same helper with the same parameters (N=6 real PTY `yes` floods + a real broker, 6s window). Ordinals 1659 (FAIL, 6.822s) and 1666 (PASS, 6.809s), both inside 05:47:33–40 — 12 flood children + 2 brokers on one box, inside a Phase A that ran 3186 tests in 48s at full parallelism. Sibling PASSED in the same window: the victim is whichever twin lost the CPU race — the random-victim tell of a load flake, not a logic red (a logic red picks the same victim on both platforms; Windows leg was still climbing at hand-back).
3. **The binary is misclassified.** `.config/nextest.toml`'s sweep criterion: "a binary is HEAVY iff some test in it spawns a real PTY child." This file spawns SIX per test and a real broker. It appears in NEITHER HEAVY string at the sha (nextest.toml override: 0 hits; golden.yml job-level `HEAVY` env: 0 hits) while its sibling flood rig `input_ack_deadlock` does. `git log -S` over nextest.toml + workflows: it was **never** a member. Born `03c71093` 2026-07-09, six days BEFORE the HEAVY-AT-BIRTH ruling (2026-07-15) — a pre-ruling file the sweep never caught. First sighting in ~2 months of goldens = the margin was thin the whole time; this window spent it.
4. **Teardown noise, not cause.** The `CONN_WRITE_RETIRED` / `CONN_LIFECYCLE` BrokenPipe/ConnectionReset lines in the failure block are stamped `mono_ms=6693–6699` — after the 600 ms settle + 6000 ms window — i.e. the rig's own `kill_pid` sweep. Post-window, post-count; carry zero information about the tick rate.

## Why not the other classifications

- **Product regression (deadlock re-appeared):** refuted by the count — 97 ≠ ~0. The deterministic structural guard `daemon_resume_leaves_zero_brain_subscribers` PASSED (0.112s, ordinal 1605) in the same run: the shipping resume attached zero subscribers.
- **Diff-caused:** refuted by the delta test (docs-only).
- **Assert/oracle defect (ledger row 39 class):** the floor is sound for its purpose (deadlock ~0 vs healthy hundreds); its MARGIN under a mis-pooled full-parallel run is the problem, and the pool is the fix, not the number.

## Decision

- **Same-sha rerun** of the failed job(s) via `gh run rerun --failed` once the run is TERMINAL (`--json status` first — rerun refuses in flight and fails toward a false "permissions" read). The artifact golden validates is unchanged by a rerun; tag == golden ref == main tip holds by construction. Precedent: ledger rows 30/31/34 (mechanism named → rerun clears, builds reused, no re-tag). A second same-sha red on this cell ⇒ respin WITH the HEAVY reclassification (config-only) instead of a third rerun.
- **Hardening — hertz, test-only, next batch (NOT this operator-scoped docs patch):**
  1. Add `brain_resume_conn_deadlock` to every HEAVY string (nextest.toml line 10 says the string lives in exactly TWO places now — golden.yml `HEAVY` env + nextest.toml override; MEASURE that count at the lane's base, ci.yml included, don't trust the comment). Keep the strings byte-identical.
  2. Ledger row in the SAME commit (the `5199464` lesson: "Ledger entry appended." with no entry).
  3. Re-run the sweep criterion over spt-daemon tests: any other binary spawning real PTY children / real brokers outside HEAVY? (`KIND_SPAWN` + `Broker::bind` in `crates/spt-daemon/tests/*.rs` vs the HEAVY list.) Report the population, not just this hit.
  4. Rider (optional): the cell prints `ticks` only on failure — every green run carries no margin data. `eprintln!` the count unconditionally so the next thin margin is visible before it reds.
- **Never-executed cells:** none (no test change in diff).
