158-the-affected-selection-is-a-governed-read

The affected selection is a governed read

Lifecycle draftImplementation pendingVerification unknownQualification unknown

Spec 150's selector, which names every spec whose acceptance a change can break, lives in an embedded Python block of `scripts/verify-sweep.sh`, a script only this repository carries. Spec 157 moves the pre-merge sweep into the merge queue across every Statecraft-governed repository, and the Statecraft owner decided (2026-09-27) that spec-spine owns selection: the profile's sweep job calls a spec-spine read and shards the plan it returns. This spec adds that read, `verify --affected-by <base> --plan --json`: the CLI turns the Git range into changed paths, the core selects as a pure function of the configuration, the corpus and those paths, and the answer names each selected spec, the rule that selected it and its effective plan. The whole-corpus trigger becomes configuration rather than this repository's layout, and `verify-sweep.sh` calls the read instead of keeping a second selector.

Read the full pinned specification ↗

Relationships

Claimed units

  • establishes
    {
      "kind": "file",
      "path": "crates/spec-spine-core/src/affected.rs",
      "planned": true
    }
  • establishes
    {
      "kind": "file",
      "path": "crates/spec-spine-core/tests/affected.rs",
      "planned": true
    }
  • extends
    {
      "nature": "additive",
      "spec": "043-verify-declared-acceptance",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-cli/src/cmd_verify.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "043-verify-declared-acceptance",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/verify.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "029-ownership-coverage",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-types/src/config.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "012-declared-extra-frontmatter-passthrough",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-types/src/version.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "092-the-engine-ships-governance-not-an-environment",
      "unit": {
        "kind": "file",
        "path": "spec-spine.toml"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "089-nothing-reruns-a-merged-acceptance",
      "unit": {
        "kind": "file",
        "path": "scripts/verify-sweep.sh"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "089-nothing-reruns-a-merged-acceptance",
      "unit": {
        "kind": "file",
        "path": "scripts/test-verify-sweep.py"
      }
    }

Source headings

  1. 158: The affected selection is a governed read
  2. 1. Purpose
  3. 2. Territory
  4. 3. Behavior
  5. 3.1 The read
  6. 3.2 Selection is pure
  7. 3.3 The whole-corpus trigger is configured
  8. 3.4 The read is versioned
  9. 3.5 One selector
  10. 4. Out of scope
  11. 5. Resolved decisions
  12. Verification

Frozen anchors

No frozen anchors declared.