145-an-unresolved-claim-is-not-called-stale

An unresolved claim is not called stale

Lifecycle approvedImplementation completeVerification unknownQualification unknown

Spec 079 taught `check` and `index check` to tell a stale shard from an unresolved claim, because the two have different remedies and regenerating cures only the first. The other verbs that read the committed index (`index coverage`, `index owner`, `couple`, `scope`, and `delta` at the merge base) kept the folded verdict and still said "index is stale" about a claim that resolves to nothing, naming a `blocking-diagnostics` shard and implying the wrong fix. This spec gives them one guard that keeps the two apart: a committed shard whose bytes moved is staleness, as before; an unresolved claim with byte-exact shards is a validation finding that names the claim and says regenerating does not clear it. The exit code stays 1; under `--json` the error kind becomes `validation`, with the claim in `violations`.

Read the full pinned specification ↗

Relationships

Claimed units

  • establishes
    {
      "kind": "file",
      "path": "crates/spec-spine-core/tests/unresolved_guard.rs"
    }
  • extends
    {
      "nature": "corrective",
      "spec": "004-codebase-index",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/index.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "001-compile-registry",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/lib.rs"
      }
    }
  • extends
    {
      "nature": "corrective",
      "spec": "005-coupling-gate",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/couple.rs"
      }
    }
  • extends
    {
      "nature": "corrective",
      "spec": "029-ownership-coverage",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/coverage.rs"
      }
    }
  • extends
    {
      "nature": "corrective",
      "spec": "071-a-change-is-classified-under-the-bases-rules",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/delta.rs"
      }
    }
  • extends
    {
      "nature": "corrective",
      "spec": "108-a-work-scope-is-declared",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/scope.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "132-one-exit-contract-for-the-family",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-cli/src/main.rs"
      }
    }

Source headings

  1. 145: An unresolved claim is not called stale
  2. 1. Purpose
  3. 2. Territory
  4. 3. Behavior
  5. 3.1 One guard, two refusals (amends 079)
  6. 3.2 A validation failure names what failed
  7. 4. Out of scope
  8. 5. Resolved decisions
  9. Verification

Frozen anchors

No frozen anchors declared.