---
name: is-this-red-mine-delta-test
description: "Before saying a word about a CI red's cause, run the same job on the head WITHOUT your delta and check what files the delta actually touches — attribution first, mechanism never."
metadata: 
  node_type: memory
  type: feedback
  originSessionId: d1011551-1412-4921-bcda-e3142510bb8e
  modified: 2026-08-19T20:38:17.815Z
---

Golden 30754060525 on `a0b8d5f` reds looked like they landed on my lane's head. Two reads settled it in minutes: (1) the same `test` job on `7a3c08c` (the head without my four commits + hertz's fixtures) had SIX product rows red, all six green now — my delta fixed, not broke; (2) the two surviving reds were a Linux-only clippy lint in `crates/xtask/` and a Windows link-step file lock, neither in my delta's file scope. Next head `2138b16` red on one e2e row, and `git diff --stat a0b8d5f 2138b16` = 2 xtask files, 4 insertions — a delta that cannot reach a `spt` e2e binary, on a row that passed one run earlier.

**Why:** a red in a head that contains your commits is not evidence about your commits. Attribution is a cheap mechanical check (prior head's same job + `git diff --stat` + `git log -L <line>,<line>:<file>` for blame); mechanism is an expensive story that adopts the anomaly. Same discipline as [[refuse-mechanism-until-something-discriminates]], pointed at your own work.

**Second face — THE RED THAT CONFIRMS YOUR HYPOTHESIS IS THE ONE THAT MOST URGENTLY NEEDS THE DELTA
TEST, and it is the one you are least likely to run (2026-08-19, #164 lane).** My new rig died with
the engine-room perch holding `spool.db` and an untaken briefing row and NO `info.json` — an EXACT
hermetic reproduction of the frozen HFENDULEAM field signature, on a tree lacking the #199 fix, with
the refusal my working reading predicted. Every element corroborated a live theory, and I was drafting
the "candidate (a) confirmed" report. The delta test — run the DONOR rig, unchanged, on the same tree
— took 4 seconds and passed 1/1 in 3.97s. THE RED WAS MINE: my manifest declared a translation binary,
which widened a race the donor never runs. One variable, two arms, and a peer-facing root claim
retracted before it was sent.

**Why this face is worse than a neutral red:** an anomaly that CONFIRMS costs you nothing to believe,
so nothing in the moment prompts a check — the evidence feels like it is doing the verifying. A red
that contradicts you gets audited automatically; a red that flatters you gets REPORTED. The tell is
excitement, not doubt. (It also came within one message of poisoning a second ticket: the report would
have ratified a root on #199 that my own rig config had manufactured.)

**How to apply:** before reporting, run the prior head's same job, diff the delta's file scope, blame the flagged lines. When the red matches your hypothesis, run the UNMODIFIED donor/control on the SAME tree FIRST — treat a confirming red as un-attributed until a control has spoken, and state the arms and their n when you report. Then report attribution + the discriminating check, and name what you are NOT claiming — one green after an intermittent is not a fix and one red after one green is not a defect ([[one-sample-is-not-a-negative]]). Flag a hypothesis that would convict you along with the check that would settle it; doyle ran mine (my refusals print reason + pid — zero refusal lines in the job log) and refuted it. See [[gh-run-poll-jobs-not-status]] for reading a job log mid-run.

## [root-merge 2026-08-23] lines present only in the .claude copy (union-merged at alt-profile migration; placement lost, content verbatim)

**How to apply:** before reporting, run the prior head's same job, diff the delta's file scope, blame the flagged lines. Then report attribution + the discriminating check, and name what you are NOT claiming — one green after an intermittent is not a fix and one red after one green is not a defect ([[one-sample-is-not-a-negative]]). Flag a hypothesis that would convict you along with the check that would settle it; doyle ran mine (my refusals print reason + pid — zero refusal lines in the job log) and refuted it. See [[gh-run-poll-jobs-not-status]] for reading a job log mid-run.
