docs(remediation): bank D-21 — a FAIL that means nothing is a green that means nothing, sign-flipped

ci-postgres reports FAIL under an overall-success pipeline on #2170 and #2175 while all
eight functional steps pass. Most likely a service-pod teardown artifact; the test
step's pg_isready fail-fast guard passed, so the database was available during the run.

Low severity, but the pattern matters: a red that is routinely present and routinely
correct to ignore trains operators and agents to discount reds, and the discounting
generalises. Six instances of a meaningless green are already banked; a meaningless
FAIL is the same erosion with the sign flipped.

Recorded rather than normalised — the first time it is waved through without a note is
when it becomes background noise.

RM-55: treat a non-terminal-success sub-step under an overall-success pipeline as a
reportable anomaly, and make the CI contract state which steps may fail without failing
the pipeline. An implicit allowance is indistinguishable from a bug.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
mos-dt-0
2026-07-31 20:08:34 -05:00
co-authored by Claude Opus 5
parent 8a795df0ce
commit e85a088f85
+27
View File
@@ -93,6 +93,33 @@ and must not be cited as merge evidence. Rely on reviewer clearance + real CI.
Three independent live instances in a single session — format gate, agent context reset, queue guard —
is the class confirmed, not anecdote.
### D-21 — a service step reports FAIL under an overall-success pipeline (normalised red)
Observed on pipelines **#2170** and **#2175** (not on #2158, #2167, or the manual #2171): the
`ci-postgres` **service** step reports **FAIL** (`pods "wp-svc-…-ci-postgres" not found`) while the
pipeline's overall status is **success** and all eight functional steps are `OK`.
Most likely mechanism: the service pod is reachable during the run and has been reaped by the time its
terminal state is collected. Supporting evidence that the database really was available — the `test`
step runs `pnpm --filter @mosaicstack/db run db:migrate` behind a `pg_isready` loop written to fail fast
if Postgres never comes up, and that step passed.
**Severity is low; the pattern is not.** A red that is _routinely_ present and _routinely_ correct to
ignore trains every operator and every agent to discount reds — and the discounting generalises to reds
that matter. This mission already has six instances of a green that meant nothing (D-5, D-6, D-10);
**a FAIL that means nothing is the same defect with the sign flipped.** Both erode the signal that gates
exist to carry.
Not chased further because it is CI-infrastructure behaviour rather than repository code, and both
merges it touched had every functional step green with the overall status successful. **Recorded rather
than normalised**, which is the whole point: the first time this is waved through without a note is the
moment it becomes background noise.
**Requirement on RM-55 (conformance harness):** treat a non-terminal-success sub-step under an
overall-success pipeline as a **reportable anomaly**, not a cosmetic artifact — and make the CI contract
state explicitly which steps are permitted to fail without failing the pipeline. An implicit allowance
is indistinguishable from a bug.
### D-20 — the orchestrator's own documentation overclaimed, and a reviewer disproved it empirically
`rev-974` blocked PR #1027 a second time. **The defect was not in the code — it was in this file**, at