[
  {
    "name": "archive-bucket",
    "what_it_proves": "The file has been moved into a sibling archive/ directory — a completed doc has physically left the live tree (precedent: openspec changes).",
    "graduation_template": {
      "served_when_path": "{dir}/archive/{name}"
    },
    "pitch": "Move done docs into a sibling archive/ dir once, and the rule graduates from a confirm-gated guess to a silent, scanner-provable auto-delete."
  },
  {
    "name": "status-frontmatter",
    "what_it_proves": "The file's own frontmatter carries status: shipped or status: done — the file stays put and the scanner reads the key directly.",
    "graduation_template": {
      "frontmatter_key": "status",
      "allowed_values": ["shipped", "done"]
    },
    "pitch": "Add a status: shipped|done frontmatter key once, and every future check reads it deterministically instead of asking a model to judge whether the doc shipped."
  }
]
