169-declared-obligation-traceability
Declare qualified obligation traceability
Lifecycle approvedImplementation completeVerification unknownQualification unknown
Adds optional, qualified relations from declared obligations to implementation units, tests, invariants, documentation sources, and producer or consumer interfaces. Declarations and their deterministic resolution remain distinct from execution, evidence, acceptance, release, adoption, and observation; every unsupported, unknown, ambiguous, withdrawn, or unresolved target is explicit, and ownership is never behavioral proof.
Read the full pinned specification ↗Relationships
Claimed units
- establishes
{ "kind": "file", "path": "crates/spec-spine-types/src/traceability.rs" } - establishes
{ "kind": "file", "path": "crates/spec-spine-types/schemas/traceability.schema.json" } - establishes
{ "kind": "file", "path": "crates/spec-spine-core/src/traceability.rs" } - establishes
{ "kind": "file", "path": "crates/spec-spine-core/tests/traceability.rs" } - establishes
{ "kind": "directory", "path": "crates/spec-spine-core/tests/fixtures/traceability/" } - establishes
{ "kind": "file", "path": "crates/spec-spine-cli/tests/traceability.rs" } - establishes
{ "kind": "file", "path": "docs/traceability.md" } - extends
{ "nature": "additive", "spec": "000-spec-spine-bootstrap", "unit": { "kind": "file", "path": "crates/spec-spine-types/src/frontmatter.rs" } } - extends
{ "nature": "additive", "spec": "001-compile-registry", "unit": { "kind": "file", "path": "crates/spec-spine-types/src/registry.rs" } } - extends
{ "nature": "additive", "spec": "001-compile-registry", "unit": { "kind": "file", "path": "crates/spec-spine-types/src/lib.rs" } } - extends
{ "nature": "additive", "spec": "001-compile-registry", "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-types/schemas/registry.schema.json" } } - extends
{ "nature": "additive", "spec": "022-index-sharding", "unit": { "kind": "file", "path": "crates/spec-spine-types/schemas/registry-spec-shard.schema.json" } } - extends
{ "nature": "additive", "spec": "001-compile-registry", "unit": { "kind": "file", "path": "crates/spec-spine-core/src/compile.rs" } } - extends
{ "nature": "additive", "spec": "001-compile-registry", "unit": { "kind": "file", "path": "crates/spec-spine-core/src/lib.rs" } } - extends
{ "nature": "additive", "spec": "002-registry-query", "unit": { "kind": "file", "path": "crates/spec-spine-cli/src/cmd_registry.rs" } } - extends
{ "nature": "additive", "spec": "022-index-sharding", "unit": { "kind": "file", "path": "crates/spec-spine-types/tests/dtos.rs" } } - extends
{ "nature": "additive", "spec": "074-a-governed-read-names-its-version", "unit": { "kind": "file", "path": "crates/spec-spine-core/tests/read.rs" } } - extends
{ "nature": "additive", "spec": "106-obligations-are-declared-constraints", "unit": { "kind": "file", "path": "crates/spec-spine-core/tests/obligations.rs" } } - extends
{ "nature": "additive", "spec": "088-the-template-teaches-the-whole-grammar", "unit": { "kind": "file", "path": "standards/spec/templates/spec-template.md" } } - extends
{ "nature": "additive", "spec": "057-the-docs-name-what-adopters-derived", "unit": { "kind": "file", "path": "docs/schema-versioning.md" } } - 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": "corrective", "spec": "103-a-verifier-fixture-is-a-published-artifact", "unit": { "kind": "directory", "path": "crates/spec-spine-core/fixtures/verifier/" } } - extends
{ "nature": "additive", "spec": "155-selected-content-accessor", "unit": { "kind": "file", "path": "crates/spec-spine-core/src/content.rs" } } - extends
{ "nature": "corrective", "spec": "155-selected-content-accessor", "unit": { "kind": "file", "path": "crates/spec-spine-core/tests/content.rs" } } - extends
{ "nature": "corrective", "spec": "155-selected-content-accessor", "unit": { "kind": "file", "path": "crates/spec-spine-cli/tests/content.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": "corrective", "spec": "111-a-move-is-a-reviewed-mapping", "unit": { "kind": "file", "path": "crates/spec-spine-core/tests/moves.rs" } } - extends
{ "nature": "corrective", "spec": "109-impact-and-conflict-are-declared", "unit": { "kind": "file", "path": "crates/spec-spine-core/tests/impacts.rs" } } - extends
{ "nature": "corrective", "spec": "108-a-work-scope-is-declared", "unit": { "kind": "file", "path": "crates/spec-spine-core/tests/scope.rs" } } - extends
{ "nature": "corrective", "spec": "108-a-work-scope-is-declared", "unit": { "kind": "file", "path": "crates/spec-spine-cli/tests/scope.rs" } } - extends
{ "nature": "corrective", "spec": "170-a-consumer-is-served-answers-not-access", "unit": { "kind": "file", "path": "crates/spec-spine-cli/tests/capabilities.rs" } } - extends
{ "nature": "additive", "spec": "022-index-sharding", "unit": { "kind": "file", "path": "crates/spec-spine-types/src/schema.rs" } } - extends
{ "nature": "additive", "spec": "061-shipped-is-not-the-same-as-working", "unit": { "kind": "file", "path": "spec-spine.toml" } }
Source headings
- 169: Declare qualified obligation traceability
- 1. Purpose
- 2. Territory
- 3. Behavior
- 3.1 Declaration shape and identity
- 3.2 Typed targets and allowed relations
- 3.3 Test identity is deliberately narrow
- 3.4 Canonical target identity and ordering
- 3.5 Resolution is structural and qualified
- 3.6 Resolution states are exhaustive
- 3.7 Withdrawal preserves identity
- 3.8 Declaration is not evidence or acceptance
- 3.9 Incremental adoption and compatibility
- 3.10 Authority and security boundary
- 4. Negative cases
- 5. Acceptance criteria
- 6. Out of scope
- 7. Decisions
- 2026-09-26: Keep the declaration optional and source it from obligations
- 2026-09-26: Separate validity, resolution, and lifecycle evidence
- 2026-09-26: Reuse selected-content identity instead of inventing test ids
- 2026-09-26: Treat ownership as a structural check only
- 2026-09-26: Preserve withdrawn relation identity as a tombstone
- 2026-09-28: Refiled under the first collision-free identity
- 2026-10-10: The registry member lands with the release that carries it
- 2026-10-10: Decisions taken during the build
- Verification
Frozen anchors
No frozen anchors declared.