051-retroactive-adoption-shape

The defects heading has one spelling

Lifecycle approvedImplementation completeVerification unknownQualification unknown

Constitution V requires code adopted from outside the corpus to be specced as found, with the behavior the adopting spec would not have chosen recorded under a `## Known defects` heading. It does not say what counts as that heading, and the first consumer to check mechanically got it wrong: claude-observatory's `defects.ts` matches the string `## Known defects` exactly and therefore rejects the numbered headings of the very specs it cites as precedent. This spec settles the spelling as an anchor rather than a string: any heading whose computed slug is or ends with `known-defects`, at any level, under the same slug rule the indexer already uses for section units. It adds `L-009`, an info-tier lint for a near-miss spelling, and it declines to lint `origin.retroactive` into implying the heading, because spec 040 established that the two are orthogonal.

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": "020-keypath-section-anchors",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/src/sections.rs"
      }
    }
  • extends
    {
      "nature": "additive",
      "spec": "003-conformance-lint",
      "unit": {
        "kind": "file",
        "path": "crates/spec-spine-core/tests/lint.rs"
      }
    }
  • refines
    {
      "aspect": "defects-heading-anchor",
      "unit": {
        "anchor": "v-legacy-as-evidence",
        "file": "standards/spec/constitution.md",
        "kind": "section"
      }
    }

Source headings

  1. 051: The defects heading has one spelling
  2. 1. Purpose
  3. 2. Territory
  4. 3. Behavior
  5. 3.1 The heading is an anchor
  6. 3.2 `L-009`
  7. 3.3 `origin.retroactive` does not imply the heading
  8. 3.4 Nothing else moves
  9. 4. Out of scope
  10. 5. Verification

Frozen anchors

No frozen anchors declared.