Split from #4. Issue #4 rule 6 mandates that CI fail when a closed [DECISION] issue has no matching ADR. The offline scripts/ci/check-adr-index.sh (shipped in #165) cannot do this without the GitHub API, so it validates ADR records, citations, supersession, and INDEX listing offline and defers the closed-issue->ADR binding here.
What
A non-blocking (or scheduled) CI job, using the Actions GITHUB_TOKEN, that lists closed issues labeled decision-needed, and fails/reports when any has no ADR whose Issue: header references it (and vice-versa: an ADR pointing at a non-existent or still-open decision).
Why
Keeps the decision trail honest as decisions close, completing #4 rule 6 without making the offline docs build depend on network/API.
Done when
Split from #4. Issue #4 rule 6 mandates that CI fail when a closed
[DECISION]issue has no matching ADR. The offlinescripts/ci/check-adr-index.sh(shipped in #165) cannot do this without the GitHub API, so it validates ADR records, citations, supersession, and INDEX listing offline and defers the closed-issue->ADR binding here.What
A non-blocking (or scheduled) CI job, using the Actions
GITHUB_TOKEN, that lists closed issues labeleddecision-needed, and fails/reports when any has no ADR whoseIssue:header references it (and vice-versa: an ADR pointing at a non-existent or still-open decision).Why
Keeps the decision trail honest as decisions close, completing #4 rule 6 without making the offline docs build depend on network/API.
Done when
decision-neededissues <-> ADRIssue:headers and reports mismatches.