docs(remediation): bank D-8 — a pre-registered check that was not runnable as written
ci/woodpecker/pr/ci Pipeline was canceled
ci/woodpecker/pr/ci Pipeline was canceled
PR #1025's AC2 fixture (mkdir -p apps/*/venv/lib) does not do what it claims when the glob is unmatched. rev-974 ran it exactly as written, caught the defect, re-ran the intended assertion at an explicit path, and DISCLOSED the substitution rather than silently reporting PASS. Pre-registration protects a check from being retrofitted to the implementation. It does not make the check correct. An unverified gate appeared inside the mechanism built to catch unverified gates. Requirement added to RM-02: the registry must self-verify that every registered case actually runs and can actually fail — presence in the registry is not evidence. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5
parent
fb3221af27
commit
f8b65463ab
@@ -93,6 +93,32 @@ 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 —
|
Three independent live instances in a single session — format gate, agent context reset, queue guard —
|
||||||
is the class confirmed, not anecdote.
|
is the class confirmed, not anecdote.
|
||||||
|
|
||||||
|
### D-8 — a PRE-REGISTERED acceptance check that was not runnable as written
|
||||||
|
|
||||||
|
On PR #1025 the author (me) pre-registered AC2 with the fixture snippet `mkdir -p apps/*/venv/lib`.
|
||||||
|
In bash, when no `venv` exists the glob is unmatched and passes through literally, creating a
|
||||||
|
directory named `apps/*/venv/lib` rather than one per workspace. The check as written did not test
|
||||||
|
what it claimed to test.
|
||||||
|
|
||||||
|
`rev-974` ran it **exactly as written**, observed the wrong behaviour, then re-ran the intended
|
||||||
|
assertion at an explicit path — **and said so in the review** rather than silently substituting a
|
||||||
|
working fixture and reporting PASS.
|
||||||
|
|
||||||
|
Two things this establishes:
|
||||||
|
|
||||||
|
1. **The instruction "do not adjust a check to fit the diff; if it is unrunnable, say so explicitly"
|
||||||
|
worked.** A silent substitution here would have produced a green AC2 that proved nothing, on the
|
||||||
|
exact task whose subject is gates that appear to work. The disclosure is what made the PASS
|
||||||
|
meaningful.
|
||||||
|
2. **Pre-registration does not confer correctness.** A pre-registered check is protected from being
|
||||||
|
retrofitted to the implementation; it is not protected from being _wrong when written_. This is a
|
||||||
|
small instance of the mission's own class — an unverified gate — occurring inside the mechanism
|
||||||
|
built to catch unverified gates.
|
||||||
|
|
||||||
|
**Requirement on RM-02:** the gate registry must itself be exercised. A registered case that cannot
|
||||||
|
fail (or cannot run) is as inert as an unregistered one, and the registry check must detect that —
|
||||||
|
`--dry-run`-style self-verification of every registered case, not merely its presence.
|
||||||
|
|
||||||
### D-7 — shared-tmpfs contention → cascading ENOSPC (live incident, 2026-07-31)
|
### D-7 — shared-tmpfs contention → cascading ENOSPC (live incident, 2026-07-31)
|
||||||
|
|
||||||
The shared 30 G `/tmp` hit **100% ENOSPC** mid-session. It broke tool calls in **two different seats**
|
The shared 30 G `/tmp` hit **100% ENOSPC** mid-session. It broke tool calls in **two different seats**
|
||||||
|
|||||||
Reference in New Issue
Block a user