From 345d152790bd5cb4b78e1970205f24a141dd329a Mon Sep 17 00:00:00 2001 From: mos-dt-0 Date: Sat, 1 Aug 2026 08:44:46 -0500 Subject: [PATCH] =?UTF-8?q?docs(remediation):=20RM-61=20result=20=E2=80=94?= =?UTF-8?q?=20kill=20criterion=20NOT=20triggered,=20signature=20discrimina?= =?UTF-8?q?tes=20structurally?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit coder-mos1 ran two real ci-postgres failure controls; the orchestrator verified the JSON records independently. #2189 (startup failure) exit 1 and #2191 (post-readiness crash, log proves ready then postmaster killed) exit 137 both take the workflow and the test step down — terminal red. #2188, the genuine artifact, carries exit_code 0 under a SUCCESSFUL workflow. So the discriminator is structural — a failed service step with exit 0 under a successful workflow — not the message string and not an incidental correlate like node or timestamp, which were explicitly forbidden because they pass today and mask a real failure the moment infrastructure shifts. Verifier: exit 0 with one named exemption on the artifact; exit 1 with exempted_steps 0 on BOTH real controls. No fetch, trigger, retry or re-roll — the coin flip is removed, not codified. PR #1033 dispatched to rev-974 with eight acceptance checks pre-registered before the diff was read; AC2 (both real failures must NOT be exempted) is the crux and a REJECT if it fails. Co-Authored-By: Claude Opus 5 (1M context) --- docs/remediation/TASKS.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/docs/remediation/TASKS.md b/docs/remediation/TASKS.md index b3dc8a6d..6d80a07a 100644 --- a/docs/remediation/TASKS.md +++ b/docs/remediation/TASKS.md @@ -216,7 +216,32 @@ refused). > the falsifier before running the test is the point — an exemption we cannot prove wrong is an exemption > we cannot trust. -**Ownership gap:** unassigned. `f10-coder` is on RM-02's blockers, `coder-mos1` on RM-03, `rev-974` is the +> ★ **RESULT (2026-08-01): the kill criterion was NOT triggered — the signature DISCRIMINATES, and it +> discriminates STRUCTURALLY rather than textually.** `coder-mos1` ran two **real** `ci-postgres` failure +> controls and the orchestrator verified the JSON records independently: +> +> | run | `ci-postgres` | workflow | `test` | verdict | +> | ------------------------------------------------------------------------------ | --------------------- | ----------- | --------------------------------- | ------------ | +> | **#2189** real startup failure | FAILURE, **exit 1** | failure | failure | terminal RED | +> | **#2191** real post-readiness crash (log proves ready, then postmaster killed) | FAILURE, **exit 137** | failure | **exit 61**, `Connection refused` | terminal RED | +> | **#2188** the genuine #1000 artifact | FAILURE, **exit 0** | **success** | success | exempted | +> +> The discriminator is **a failed service step carrying `exit_code 0` under a SUCCESSFUL workflow** — +> real failures carry non-zero exits, fail the workflow, and take `test` down with them. That is a +> structural fact about what the failure _is_, **not** the message string and **not** an incidental +> correlate (node, timestamp, head, runner) — which is what was explicitly forbidden, because correlates +> pass today and mask a real failure the moment infrastructure shifts. +> +> Verifier behaviour: exit 0 with exactly one named exemption on #2188; **exit 1 with `exempted_steps 0` +> on BOTH real controls.** Named signature `WP-K8S-1000-CI-POSTGRES-TEARDOWN`, requiring workflow success +> **and** exactly one matching service failure **and** exit 0 **and** the exact ULID pod-not-found shape; +> any other non-success blocks. **No fetch, trigger, retry or re-roll behaviour** — the coin flip is +> removed, not codified. +> +> **PR #1033** @ `e7b29219`, review dispatched to `rev-974` with the eight acceptance checks pre-registered +> **before** the diff was read. + +**Ownership gap (resolved):** was unassigned. `f10-coder` is on RM-02's blockers, `coder-mos1` on RM-03, `rev-974` is the reviewer, and no other seat holds mosaicstack write. Flagged to the coordinator rather than stacked onto a busy lane. Not blocking today — RM-02's code blockers are independently disqualifying — but the next otherwise-clean PR meets this.