Epic: consolidate the decision records #646

Open
opened 2026-09-29 15:07:20 +00:00 by hexajon · 3 comments
Owner

Goal

Every record in docs/decisions/ states only its current decision, makes sense without opening an issue, and the record numbers run from 0001 with no gap.

Rules for this work

  • A changed decision is edited in place, and the record keeps its number. Git holds the history, so a record carries no "Amended" lines.
  • Two records on one subject merge into the lower number, because the first record on a subject is its home.
  • After a merge, every record above the gap is renumbered, so the numbers stay consecutive as MADR expects. Every citation in the repo changes in the same PR.
  • A record heading carries no number. The number lives only in the file name.
  • Each edit to a decided record needs my sign-off.

Why

I read every record in full. Most still carry the house format from before MADR: a Tracking: line, "Amended" lines, stray </content> lines, and references to files and tests that no longer exist. Four pairs of records set rules on one subject, and some records contradict another record or their own later text.

Exit criterion

All children are closed, adr check passes, and the record numbers run from 0001 with no gap.

Related: sixfold-space/madtea-site#75, which keys the site's record pages by title, so that a renumber moves no page.

## Goal Every record in `docs/decisions/` states only its current decision, makes sense without opening an issue, and the record numbers run from 0001 with no gap. ## Rules for this work - A changed decision is edited in place, and the record keeps its number. Git holds the history, so a record carries no "Amended" lines. - Two records on one subject merge into the lower number, because the first record on a subject is its home. - After a merge, every record above the gap is renumbered, so the numbers stay consecutive as MADR expects. Every citation in the repo changes in the same PR. - A record heading carries no number. The number lives only in the file name. - Each edit to a decided record needs my sign-off. ## Why I read every record in full. Most still carry the house format from before MADR: a `Tracking:` line, "Amended" lines, stray `</content>` lines, and references to files and tests that no longer exist. Four pairs of records set rules on one subject, and some records contradict another record or their own later text. ## Exit criterion All children are closed, `adr check` passes, and the record numbers run from 0001 with no gap. Related: sixfold-space/madtea-site#75, which keys the site's record pages by title, so that a renumber moves no page. <!-- madtea:section:deps-children --> - [ ] #647 - [ ] #648 - [ ] #649 - [ ] #650 - [ ] #651 - [ ] #652 - [ ] #657 <!-- /madtea:section:deps-children -->
Author
Owner

This epic changes a recorded decision. On main, ADR 0037 says "amended is not added: a changed decision gets a new record." Under this epic, a decided record is edited in place instead, with my sign-off, and it keeps its number. #650 changes that line of 0037 to match.

This epic changes a recorded decision. On main, ADR 0037 says "`amended` is not added: a changed decision gets a new record." Under this epic, a decided record is edited in place instead, with my sign-off, and it keeps its number. #650 changes that line of 0037 to match.
Author
Owner

The work for this epic runs in the branch docs/adr-one-guard-for-every-surface, together with ADR 0046 and ADR 0047, so there is one merge. The rules for the pass:

  • A decided record is edited in place, and it keeps its number. Each edit needs my sign-off.
  • adr check allows only MADR's five statuses (ADR 0037).
  • A reference to a file follows ADR 0037: a plain path names a file in this repo and must exist; a file in another repo is a full URL; a path that starts with ~/ or / is a file on a user's machine. A record names no function, test, line number, or count of code.
  • Forge-facing tests run against the live forge API and a test repo.

The records split into six groups by subject, and each group is edited in one pass: the Tracking: lines, the stray artifacts, the history lines, the reference rule, and the content of any merge in the group. Then the four higher records are deleted, the set is renumbered, and every citation is rewritten.

The work for this epic runs in the branch `docs/adr-one-guard-for-every-surface`, together with ADR 0046 and ADR 0047, so there is one merge. The rules for the pass: - A decided record is edited in place, and it keeps its number. Each edit needs my sign-off. - `adr check` allows only MADR's five statuses (ADR 0037). - A reference to a file follows ADR 0037: a plain path names a file in this repo and must exist; a file in another repo is a full URL; a path that starts with `~/` or `/` is a file on a user's machine. A record names no function, test, line number, or count of code. - Forge-facing tests run against the live forge API and a test repo. The records split into six groups by subject, and each group is edited in one pass: the `Tracking:` lines, the stray artifacts, the history lines, the reference rule, and the content of any merge in the group. Then the four higher records are deleted, the set is renumbered, and every citation is rewritten.
Author
Owner

Status: #647, #648, #649, #650, and #652 are done in #667. #651 (the open check in ADR 0038) and #657 (the reference audit, which the check in #658 makes permanent) stay open.

Status: #647, #648, #649, #650, and #652 are done in #667. #651 (the open check in ADR 0038) and #657 (the reference audit, which the check in #658 makes permanent) stay open.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
sixfold-space/madtea#646
No description provided.