141-a-governance-edit-rewrites-one-file

A governance edit rewrites one file

Lifecycle approvedImplementation completeVerification unknownQualification unknown

Every index shard's `shardHash` folds one global scalar over `spec-spine.toml` and every `[index] extra_hashed_inputs` file, so a one-line edit to any root document restamps every shard. Measured on this repository at `153d35df`: an `AGENTS.md` edit rewrites 139 shards, and two pull requests editing two different root documents conflict on all 139. An adopter's merge queue pays that on every such PR. This spec moves the global inputs out of the shard hashes into one committed sidecar, `codebase-index/inputs.json`, with one entry per input file, compared byte for byte like a shard. A governance edit then rewrites that one file, and two edits to different documents change lines far enough apart to merge. The aggregate index content hash folds the sidecar, so an attestation still covers every authored input.

Read the full pinned specification ↗

Relationships

Claimed units

  • establishes
    {
      "kind": "file",
      "path": "crates/spec-spine-types/schemas/codebase-index-inputs.schema.json"
    }
  • establishes
    {
      "kind": "file",
      "path": "crates/spec-spine-core/tests/governance_inputs.rs"
    }
  • extends
    {
      "nature": "additive",
      "spec": "022-index-sharding",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/shard.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "004-codebase-index",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/index.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "004-codebase-index",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-cli/src/cmd_index.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "001-compile-registry",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/lib.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "003-conformance-lint",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/lint.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "092-the-engine-ships-governance-not-an-environment",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/scaffold.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "022-index-sharding",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-types/src/codebase.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "022-index-sharding",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-types/src/lib.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "022-index-sharding",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-types/src/schema.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "022-index-sharding",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-types/src/version.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "022-index-sharding",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-types/tests/dtos.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "046-depends-on-ordinal-monotonicity",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/tests/lint.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "005-coupling-gate",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/tests/couple.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "029-ownership-coverage",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/tests/coverage.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "071-a-change-is-classified-under-the-bases-rules",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/tests/delta.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "044-index-diagnostics-reach-a-gate",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/tests/diagnostics.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "004-codebase-index",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/tests/index.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "069-the-committed-index-is-compared-not-trusted",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/tests/index_body.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "114-authoring-adapters-and-intent-are-separated",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/tests/intent.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "112-typed-overlays-ride-the-existing-seam",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/tests/overlays.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "108-a-work-scope-is-declared",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/tests/scope.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "070-an-authority-snapshot-says-what-it-read",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/tests/snapshot.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "105-governed-scope-is-enabled-here",
      "unit": {
        "kind": "file",
        "path": "CLAUDE.md"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "057-the-docs-name-what-adopters-derived",
      "unit": {
        "kind": "file",
        "path": "docs/adoption-guide.md"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "055-a-version-pin-the-cli-can-check",
      "unit": {
        "kind": "file",
        "path": "docs/schema-versioning.md"
      }
    }

Source headings

  1. 141: A governance edit rewrites one file
  2. 1. Purpose
  3. 1.1 One edit, every shard
  4. 1.2 What the fold is for, and what else provides it
  5. 2. Territory
  6. 3. Behavior
  7. 3.1 Shard hashes cover only their own inputs (amends 022)
  8. 3.2 The inputs sidecar
  9. 3.3 Freshness compares it (amends 069)
  10. 3.4 The aggregate still covers the inputs
  11. 3.5 The L-008 message states the new cost (amends 050, 057, 061)
  12. 3.6 The fold site (amends 060)
  13. 3.7 Version and migration
  14. 4. Out of scope
  15. 5. Resolved decisions
  16. Verification

Frozen anchors

No frozen anchors declared.