124-the-expansion-line-carries-its-own-version

The expansion line carries its own version

Lifecycle approvedImplementation completeVerification unknownQualification unknown

The frozen 0.22.0 candidate (`f9fa6a8f`) and `main` both answered `spec-spine 0.22.0` while emitting different registry, read and verdict schemas, so the version string could not say which engine a verdict came from, and an older reader judged a newer corpus invalid instead of refusing it. `main` carries the version the next release will be cut at (0.23.0 when filed, 0.24.0 since D-3, 0.25.0 since D-4, 0.26.0 since D-5, 0.27.0 since D-6, 0.28.0 since D-7), in all three package manifests; this repository's version floor moves with it, so a reader older than the corpus's grammar refuses by name (exit 3); the release runbook makes both a standing step; and a script records a binary's identity from evidence (path, digest, revision, whether it is that checkout's current build, and the schema axes it emits) rather than from `--version`. The frozen candidate is not recut.

Read the full pinned specification ↗

Relationships

Claimed units

  • establishes
    {
      "kind": "file",
      "path": "scripts/reader-identity.sh"
    }
  • extends
    {
      "nature": "additive",
      "spec": "006-distribution",
      "unit": {
        "kind": "file",
        "path": "npm/package.json"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "007-python-distribution",
      "unit": {
        "kind": "directory",
        "path": "py/"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "061-shipped-is-not-the-same-as-working",
      "unit": {
        "kind": "file",
        "path": "spec-spine.toml"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "006-distribution",
      "unit": {
        "kind": "file",
        "path": "docs/releasing.md"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "105-governed-scope-is-enabled-here",
      "unit": {
        "kind": "file",
        "path": "CLAUDE.md"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "103-a-verifier-fixture-is-a-published-artifact",
      "unit": {
        "kind": "directory",
        "path": "crates/spec-spine-core/fixtures/verifier/"
      }
    }

Source headings

  1. 124: The expansion line carries its own version
  2. 1. Purpose
  3. 1.1 One version string, two engines
  4. 1.2 The floor could not help either
  5. 1.3 Why a spec rather than a waiver
  6. 2. Territory
  7. 3. Behavior
  8. 3.1 A version names one behavior
  9. 3.2 The floor moves with the version
  10. 3.3 Both are standing steps
  11. 3.4 A binary's identity is recorded from evidence
  12. 3.5 The verifier fixtures follow the producer
  13. 4. Out of scope
  14. 5. Resolved decisions
  15. Verification

Frozen anchors

No frozen anchors declared.