150-a-change-runs-the-acceptance-it-can-break
A change runs the acceptance it can break
Specs 144 and 137 each broke an approved spec's acceptance (046 and 089), and nothing noticed until the pre-release sweep of `e440b714`, after both had merged; spec 146 repaired them. The sweep runs only on a merged revision (specs 089, 099), and no pre-merge step runs any acceptance other than the changed spec's own. This spec adds a pre-merge acceptance run: a selector that names every spec whose acceptance a change can break, and a step that runs those blocks on the pull request's head before it merges, with the counts recorded in the pull request. Measured on 136 to 146, a selector keyed on references alone would not have been narrower than the corpus, and would have caught 046 only through its generic `lint` line, so the selector falls back to the whole corpus when engine source changes.
Read the full pinned specification ↗Relationships
depends on
depended on by
Claimed units
- extends
{ "nature": "additive", "spec": "089-nothing-reruns-a-merged-acceptance", "unit": { "kind": "file", "path": "scripts/verify-sweep.sh" } } - extends
{ "nature": "additive", "spec": "089-nothing-reruns-a-merged-acceptance", "unit": { "kind": "file", "path": "scripts/test-verify-sweep.py" } } - extends
{ "nature": "additive", "spec": "064-compile-warnings-reach-the-gate", "unit": { "kind": "file", "path": "AGENTS.md" } } - extends
{ "nature": "additive", "spec": "064-compile-warnings-reach-the-gate", "unit": { "kind": "file", "path": ".claude/skills/" } }
Source headings
- 150: A change runs the acceptance it can break
- 1. Purpose
- 1.1 The miss
- 1.2 What a reference selector would have caught
- 2. Territory
- 3. Behavior
- 3.1 The selector
- 3.2 It runs before merge, on the pull request's head
- 3.3 The post-merge sweep stays
- 4. Out of scope
- 5. Resolved decisions
- Verification
Frozen anchors
No frozen anchors declared.