docs: a run-log entry says what to do, and design notes say why (#465)
Two run-log entries in `docs/API.md` were carrying their own design record: 565 lines
for `page_no_output` and `page_blank`, of which 130 are what an API consumer needs.
The reasoning and the evidence move to `docs/design-notes.md`, the entries keep the
firing condition, every field and the remedy, and each end cross-links the other.
One rule applied from both ends: a document carries one job, and a claim lives in the
document whose job it is. The README loses 36 lines of configuration detail
`config.example.yaml` already carries in more detail, and gains "Working on Iris —
including if you are an AI agent": which document to update for which change, and the
four rules this repo has already paid for.
Three sentences had outlived what they described — the quick start still called the
GitHub settings optional after #459 made the token required; design-notes claimed a
sole use of `declaration` that this PR itself breaks; the layout said `github/` files
labeled issues, four sections after the README explains they cannot.
Five review rounds, four with notes, and every note was this PR's own subject turned
back on it: a claim living somewhere other than the document whose job it is, or a
sentence not written the way the rule it cites requires. Rounds 2, 3 and 4 each found
a defect in the previous round's fix — a count, then the list that replaced it, then
the sentence that replaced the list. The enumeration is gone rather than extended,
because README § Terms is the document whose job is holding it.
Verified: 405 relative links and anchors across README, CONTRIBUTING, CODE_OF_CONDUCT
and docs/ resolve, 0 bad, with the checker mutation-tested against a fixture first.
Co-Authored-By: bbertucc <bbertucc@users.noreply.github.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>