085-a-version-pin-is-not-a-contract

A version pin is not a contract

Lifecycle approvedImplementation completeVerification unknownQualification unknown

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

Claimed units

No ownership claims exported.

Source headings

  1. 085: A version pin is not a contract
  2. 1. Purpose
  3. 1.1 One red assertion, no defect behind it
  4. 1.2 The pin asserted neither half of the rule it stood for
  5. 1.3 The crossing was silent
  6. 2. Territory
  7. 3. Behavior
  8. 3.1 What spec 049's acceptance now is
  9. 3.2 The verb's exit status is the line's status
  10. 3.3 The version is compared across the pair the rule names
  11. 3.4 The payload is asserted, because short-id resolution lives in it
  12. 3.5 The acceptance
  13. 3.6 No code changes
  14. 4. Out of scope
  15. 5. Resolved decisions
  16. Verification

Frozen anchors

No frozen anchors declared.