089-nothing-reruns-a-merged-acceptance
Nothing reruns a merged acceptance
A `## Verification` block is run once, by the session that writes it, and then never again. `verify` is outside the gate chain on purpose, so a block that a later approved spec legitimately invalidates goes red silently and stays red: specs 084 through 110 each exist to repair one such block, and each was found by hand. Spec 083 §4 named the remedy, "a periodic sweep a maintainer runs, not a gate step", and left naming its home as its own work. This spec is that home. It establishes `scripts/verify-sweep.sh`, a maintainer-invoked sweep that runs the whole corpus's declared acceptance against one already-merged revision in an isolated worktree, accounts for every spec under five outcomes of which only two are success, and closes the 000-047 population as a ledger that can only shrink and that no future spec can enter.
Read the full pinned specification ↗Relationships
depends on
depended on by
- 092-the-engine-ships-governance-not-an-environment
- 096-compaction-is-a-verb-not-a-session
- 099-a-merged-acceptance-is-asked-again
- 119-a-release-verdict-judges-what-was-built
- 120-a-scoped-sweep-judges-the-binary-the-blocks-name
- 136-the-legacy-ledger-is-paid-registry-and-grammar
- 137-the-legacy-ledger-is-paid-index-and-lint
- 138-the-legacy-ledger-is-paid-coupling-and-freshness
- 139-the-legacy-ledger-is-paid-verdicts-and-lifecycle
- 146-carried-acceptance-follows-139-and-144
- 149-the-installer-is-tested
- 150-a-change-runs-the-acceptance-it-can-break
- 154-the-pre-merge-sweep-is-a-skill-step
- 157-the-affected-sweep-runs-in-the-merge-queue
Claimed units
- establishes
{ "kind": "file", "path": "scripts/verify-sweep.sh" } - establishes
{ "kind": "file", "path": "scripts/test-verify-sweep.py" } - extends
{ "nature": "additive", "spec": "006-distribution", "unit": { "kind": "file", "path": "docs/releasing.md" } }
Source headings
- 089: Nothing reruns a merged acceptance
- 1. Purpose
- 1.1 The gap, in the corpus's own record
- 1.2 What the corpus declares today, measured
- 1.3 Why this is not `verify --all`
- 1.4 The first run, measured
- 2. Territory
- 3. Behavior
- 3.1 Where it lives and who runs it
- 3.2 It runs the existing mechanism, unchanged
- 3.3 Five outcomes, and only two of them are success
- 3.4 The 000-047 population: a closed ledger that only shrinks
- 3.5 Selection
- 3.6 Isolation, fixtures, and what happens after a failure
- 3.7 The trust boundary is preserved and made mechanical
- 3.8 The report is the evidence
- 3.9 When a maintainer runs it
- 4. Out of scope
- 5. Resolved decisions
- Implementation review (2026-09-17)
- Verification
Frozen anchors
No frozen anchors declared.