085-a-version-pin-is-not-a-contract
A version pin is not a contract
Spec 049's `## Verification` block pins the verdict envelope at the literal `0.3.0`, which spec 071 legitimately moved to `0.4.0`, so `spec-spine verify 056` has been red since 088 merged. The pin was never what 056 required: 056 3.4 states that `--spec` emits the spec 034 envelope with a `verb` token distinguishing it from `compile --check`, and records the bump it performed as a fact about that bump, not as a standing ceiling. A literal pin cannot assert either half, because it goes red for every move the rule permits and stays green for a verb token that collides. This spec declares 049's acceptance replaced and carries the corrected block, without editing 049's file. It is the first of the four follow-ons spec 084 4 named.
Read the full pinned specification ↗Relationships
depends on
depended on by
amends
amended by
Claimed units
No ownership claims exported.
Source headings
- 085: A version pin is not a contract
- 1. Purpose
- 1.1 One red assertion, no defect behind it
- 1.2 The pin asserted neither half of the rule it stood for
- 1.3 The crossing was silent
- 2. Territory
- 3. Behavior
- 3.1 What spec 049's acceptance now is
- 3.2 The verb's exit status is the line's status
- 3.3 The version is compared across the pair the rule names
- 3.4 The payload is asserted, because short-id resolution lives in it
- 3.5 The acceptance
- 3.6 No code changes
- 4. Out of scope
- 5. Resolved decisions
- Verification
Frozen anchors
No frozen anchors declared.