165-digest-guarded-edit-plans

Plan a governed edit without applying it

Lifecycle approvedImplementation completeVerification unknownQualification unknown

Adds a pure, read-only edit-plan producer: a closed list of governed operations, each guarded by the digest of the target it was planned against, checked against ownership, a work scope and the amendment rules, previewed as exact post-image bytes, and classified by authority effect. Refusals come from a closed set. Nothing in spec-spine applies a plan.

Read the full pinned specification ↗

Relationships

Claimed units

  • establishes
    {
      "kind": "file",
      "path": "crates/spec-spine-types/src/edit_plan.rs"
    }
  • establishes
    {
      "kind": "file",
      "path": "crates/spec-spine-types/schemas/edit-plan.schema.json"
    }
  • establishes
    {
      "kind": "file",
      "path": "crates/spec-spine-core/src/edit_plan.rs"
    }
  • establishes
    {
      "kind": "file",
      "path": "crates/spec-spine-core/tests/edit_plan.rs"
    }
  • establishes
    {
      "kind": "directory",
      "path": "crates/spec-spine-core/tests/fixtures/edit-plan/"
    }
  • establishes
    {
      "kind": "file",
      "path": "crates/spec-spine-cli/src/cmd_edit_plan.rs"
    }
  • establishes
    {
      "kind": "file",
      "path": "crates/spec-spine-cli/tests/edit_plan.rs"
    }
  • establishes
    {
      "anchor": "edit-plans",
      "file": "docs/edit-plans.md",
      "kind": "section"
    }
  • extends
    {
      "nature": "additive",
      "spec": "001-compile-registry",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-types/src/lib.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "074-a-governed-read-names-its-version",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-types/src/version.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "001-compile-registry",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/lib.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "001-compile-registry",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-cli/src/main.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "057-the-docs-name-what-adopters-derived",
      "unit": {
        "kind": "file",
        "path": "docs/api.md"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "057-the-docs-name-what-adopters-derived",
      "unit": {
        "anchor": "cli-reference",
        "file": "docs/cli-reference.md",
        "kind": "section"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "057-the-docs-name-what-adopters-derived",
      "unit": {
        "kind": "file",
        "path": "docs/schema-versioning.md"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "152-a-refusal-says-what-it-is-in-every-form",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-cli/tests/refusal_envelopes.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "001-compile-registry",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/compile.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "022-index-sharding",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-types/src/schema.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "160-documentation-manifest-and-freshness",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/documentation_manifest.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "034-machine-readable-verdicts",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-types/src/verdict.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "162-capability-catalog",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/capability.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "162-capability-catalog",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/tests/capability_catalog.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "162-capability-catalog",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-cli/tests/capability_catalog.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "170-a-consumer-is-served-answers-not-access",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-cli/src/cmd_capabilities.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "170-a-consumer-is-served-answers-not-access",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-cli/tests/capabilities.rs"
      }
    }

Source headings

  1. 165: Plan a governed edit without applying it
  2. 1. Purpose
  3. 1.1 Why spec-spine and not Statecraft
  4. 2. Territory
  5. 3. Behavior
  6. 3.1 One request one snapshot one subject
  7. 3.2 The request document
  8. 3.3 The closed operation vocabulary
  9. 3.4 add-claim
  10. 3.5 add-trace-relation
  11. 3.6 propose-amendment creates a new spec
  12. 3.7 update-manifest
  13. 3.8 replace-unit
  14. 3.9 Every target is digest guarded
  15. 3.10 Authority is checked before a preview exists
  16. 3.11 Overlap and conflicts
  17. 3.12 Previews are exact bytes
  18. 3.13 Authority effect classification
  19. 3.14 Refusal reasons are closed
  20. 3.15 Canonical bytes limits and schema
  21. 3.16 Nothing applies a plan
  22. 4. Acceptance criteria
  23. 5. Out of scope
  24. 6. Resolved decisions
  25. Verification

Frozen anchors

No frozen anchors declared.