docs(remediation): D-38c — PR metadata failed a THIRD time on #1033; delivery-issue gap ruled

Merge-gate NO-GO with every code and CI gate verified, including the --expect-commit machine-check it
was told to exercise (9/9 JSON, exempted_steps 0, expected_commit == commit). The blocker was the body:
only "Refs #1000", no "Closes #N", and Mosaic completion requires a linked issue closed.

Third distinct metadata failure on one PR — missing commit binding, then a stale DO-NOT-MERGE body
describing a dead head, now an incomplete link. Each time the code was fine and the metadata was
unbound, stale, or incomplete. Nothing re-binds PR metadata to the head or checks it for completeness
until a gate does, and by then it costs a round trip.

The subtlety that makes it a real ruling: #1033 must NOT Closes #1000. The teardown defect stays open,
and #1000 is the exemption's own retirement trigger — auto-closing it would delete the retirement
trigger for the workaround being merged, turning a bounded exemption into a permanent one by side
effect. Hence a delivery issue distinct from the defect issue: #1034, with Closes #1034 added and
Refs #1000 kept.

Metadata-only, head never moved: verified by read-back that head is still 57cae04f, Closes #1034
present, Refs #1000 present, Closes #1000 ABSENT, review 70 still CURRENT with zero live
REQUEST_CHANGES, #1034 open. coder-mos1 stayed parked; nobody pushed.

Process gap ruled by Mos: every remediation delivery PR needs a delivery issue to Close, created at
OPEN-TIME rather than discovered at gate-time. #1032 already Closes #1019; #1033 had none.

Both provider writes went through the tea->API fallback — the same path that silently dropped #1033's
draft property at creation — so both were read back and verified by property, not by exit code.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
mos-dt-0
2026-08-01 09:47:33 -05:00
co-authored by Claude Opus 5
parent 553474e4c8
commit b413bf9f88
2 changed files with 45 additions and 11 deletions
+34
View File
@@ -500,6 +500,40 @@ holds the head.** `coder-mos1` was RIGHT to want it fixed and WRONG to try to se
right again immediately after, ACKing the hold and volunteering unprompted that it held an unpushed
local commit. That disclosure is the behaviour to reinforce.
### D-38c — PR metadata failed a THIRD time on the same PR, and the process gap behind it
The merge-gate returned **NO-GO on `#1033`** with every code and CI gate verified — including the
machine-check Mos ordered it to exercise (`--expect-commit` at the gate: 9/9 JSON, `exempted_steps 0`,
`expected_commit == commit`). The blocker was the body: **only `Refs #1000`, no `Closes #N`.** Mosaic
completion requires a linked issue/task CLOSED, and the merge-gate mandate enforces it.
**Third distinct metadata failure on one PR:** (1) the missing commit binding, (2) the stale
"DO NOT MERGE" body describing a dead head, (3) this. Each time the code was fine and the **metadata was
unbound, stale, or incomplete.** PR metadata is **state**, and nothing re-binds it to the head or checks
it for completeness until a gate does — at which point it costs a gate round trip.
**★ The subtlety that made this a real ruling, not a formality: `#1033` must NOT `Closes #1000`.** The
teardown **defect stays open** — the exemption is a bounded workaround, and `#1000` is both the tracked
provider-seam closure and the exemption's **retirement trigger**. Auto-closing it would have deleted the
retirement trigger for the very workaround being merged, converting a bounded exemption into a permanent
one by side effect. So a delivery issue was needed that is **not** the defect issue.
**Fix applied (metadata-only, head never moved):** delivery issue **#1034** created ("RM-61: CI-contract
exemption for the #1000 ci-postgres teardown artifact, signature-scoped + discrimination-proven"),
`Closes #1034` added to `#1033`'s body, `Refs #1000` kept. Verified by read-back: head still
`57cae04f`, `Closes #1034` present, `Refs #1000` present, **`Closes #1000` absent**, review 70 still
CURRENT with zero live `REQUEST_CHANGES`, `#1034` open.
> **★ PROCESS GAP — RULED (Mos, 2026-08-01): every remediation delivery PR needs a delivery issue to
> `Close`, created at OPEN-TIME, not discovered at GATE-TIME.** `#1032` already `Closes #1019`; `#1033`
> had none. Finding this at the gate costs a full re-assignment round trip for a body edit. Add to the
> PR-open checklist alongside the pre-registered ACs.
**Wrapper note (D-12 recurring, watched for):** both the issue create and the body edit ran through the
`tea` → Gitea-API **fallback** ("Tea authenticated-user validation failed"). That fallback is exactly
what silently dropped `#1033`'s `draft` property at creation (handoff gotcha #6). Both writes were
therefore **read back and verified by property**, not accepted on their exit codes.
### D-38 — a gate that certified the right RECORD for the wrong COMMIT (and the AC set that could not see it)
**RM-61's terminal-green verifier reported the pipeline's commit and never bound it to the PR head.**