050-claimed-but-unwitnessed

A claim no hash witnesses

Lifecycle approvedImplementation completeVerification unknownQualification unknown

A `file` unit carries no span, and only span-backing source files are folded into a per-spec index shard hash. So a spec can claim a file, `index check` can report fresh, `index coverage` can report it claimed, and the file's contents can be rewritten from end to end with no gate noticing. This is not hypothetical in this repository: `AGENTS.md` is claimed by three specs, and appending a line to it leaves both `index check` and `compile --check` reporting fresh. Twenty-four claimed paths here are in that state, and spec 021 signs an attestation over a ledger that never hashed any of them. This spec adds `L-008`, a warning naming each claimed path that contributes to no content hash, and one line of `index check` output reporting the count. It does not fold claimed files into the hash: that would change what staleness means, and the honest first move is to say how large the gap is.

Read the full pinned specification ↗

Relationships

Claimed units

  • extends
    {
      "nature": "additive",
      "spec": "003-conformance-lint",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/lint.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "004-codebase-index",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/index.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "044-index-diagnostics-reach-a-gate",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/diagnostics.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "044-index-diagnostics-reach-a-gate",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-cli/src/cmd_index.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "046-depends-on-ordinal-monotonicity",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-types/src/config.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/tests/lint.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "034-machine-readable-verdicts",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-cli/tests/cli.rs"
      }
    }

Source headings

  1. 050: A claim no hash witnesses
  2. 1. Purpose
  3. 2. Territory
  4. 3. Behavior
  5. 3.1 One predicate, in the indexer
  6. 3.2 `L-008`
  7. 3.3 `index check` reports the count
  8. 3.4 Nothing is folded into a hash
  9. 3.5 A corpus may declare a gap deliberate
  10. 4. Out of scope
  11. 5. Verification

Frozen anchors

No frozen anchors declared.