096-compaction-is-a-verb-not-a-session
Compaction is a verb, not a session
Spec 095 removed 27 specs and renumbered 93, which meant rewriting about six thousand references by hand. Seven distinct defects were introduced doing it, every one a rewrite rule that matched more or less than its author meant, and every one silent: the corpus compiled, the gate passed, and the citations pointed at the wrong documents. Four were caught only because spec 089 built a sweep that runs every acceptance block, and the fifth was caught by the sweep finding a sixth. A corpus whose ids are the tool's own vocabulary should not need a session to renumber itself. This spec adds `spec-spine compact`: a plan in, a rewritten corpus out as data, idempotent, refusing every ambiguity the five defects came from, and reporting what it changed rather than leaving a six-thousand-line diff to read.
Read the full pinned specification ↗Relationships
depends on
depended on by
Claimed units
- establishes
{ "kind": "file", "path": "crates/spec-spine-core/src/compact.rs" } - establishes
{ "kind": "file", "path": "crates/spec-spine-core/tests/compact.rs" } - establishes
{ "kind": "file", "path": "crates/spec-spine-cli/src/cmd_compact.rs" } - extends
{ "nature": "additive", "spec": "001-compile-registry", "unit": { "kind": "file", "path": "crates/spec-spine-core/src/lib.rs" } } - extends
{ "nature": "additive", "spec": "001-compile-registry", "unit": { "kind": "file", "path": "crates/spec-spine-cli/src/main.rs" } }
Source headings
- 096: Compaction is a verb, not a session
- 1. Purpose
- 1.1 Five defects, one family
- 1.2 What caught them, and what that cost
- 1.3 What is, and is not, mechanizable
- 2. Territory
- 3. Behavior
- 3.1 A plan in, a corpus out as data
- 3.2 The map is computed, and an ordinal collision is a refusal
- 3.3 Three reference shapes, and what each excludes
- 3.4 Applying twice is applying once
- 3.5 A block is found by its fence, line by line
- 3.6 The report is the review
- 3.7 The map document
- 3.8 What it refuses
- 4. Out of scope
- 5. Resolved decisions
- Verification
Frozen anchors
No frozen anchors declared.