Skip to content

DECLARATIVE-YAML-20: Retire an invariants list across both scopes

Independent entries on the body root (whole-doc) and on a section node together replace an invariants.yaml linter.

Builds on: DECLARATIVE-YAML-18: Bound occurrences with min / max

The declarative YAML artifact, verbatim — no code required.

mcVersion: 1
kind: contract
body:
forbids:
- { pattern: "}validators/", normalize: false } # forbidden_phrases
requires:
- { pattern: "conventions/commit-messages.md" } # required tool-ref, anywhere
sections:
- section: Output contract
requires:
- { pattern: "ALREADY-CLOSED" } # required phrase, this section
- { pattern: "STALE-PR pr=" }
  • multiple independent entries across two scopes (section subtree + whole doc)
  • 1:1 map from invariants.yaml