feat(adr): #508 add adr rebuild and report index status/title/date drift #778

Merged
hexajon merged 2 commits from issue-508-adr-rebuild into main 2026-10-15 22:23:15 +00:00
Owner

Summary

adr rebuild regenerates the ## Index data rows in docs/decisions/README.md from
the records (number, title, status, date), sorted by number, preserving all
other README bytes, and refuses a README with no ## Index table or an
other-columns table. adr check now flags a status, title, or date mismatch
between a record and its index row, naming the record and pointing at adr
rebuild, under the plain index rule name. CLI madtea adr rebuild and MCP
madt_adr action=rebuild.

Closes #508

## Summary adr rebuild regenerates the ## Index data rows in docs/decisions/README.md from the records (number, title, status, date), sorted by number, preserving all other README bytes, and refuses a README with no ## Index table or an other-columns table. adr check now flags a status, title, or date mismatch between a record and its index row, naming the record and pointing at adr rebuild, under the plain index rule name. CLI madtea adr rebuild and MCP madt_adr action=rebuild. Closes #508
Add the `adr rebuild` action to the CLI (`madtea adr rebuild`) and MCP
(`madt_adr action="rebuild"`). It reads every docs/decisions record
(number, title, status, date) and replaces only the data rows of the
README `## Index` table with one row per record, sorted by number, in
the row shape `adr new` writes. It leaves every other byte of the README
unchanged. It refuses a README with no `## Index` table and a table with
other columns, and never adds a table or keeps unknown columns.

Extend `adr check`: the index rule now reports an index row whose status
or title differs from its record, names the record, and points at
`adr rebuild`. The rule keeps its plain name.

Fix this repo's own index: `adr rebuild` corrected the 0052 date row to
match the record (2026-10-05 to 2026-10-06).

Share one row format between `adr new` and `adr rebuild`. Bump the
madt_adr schema byte budget for the new action, with the measured size.
Regenerate the reference docs and update COMPARISON and the adr help.
feat(adr): #508 flag an index date drift in adr check
Some checks failed
drift / forgejo-smoke (pull_request) Has been skipped
ci / gate (push) Failing after -26s
ci / mcp-conformance (pull_request) Successful in 1m31s
ci / gate (pull_request) Successful in 31m4s
drift / govulncheck (push) Has been skipped
drift / surface-diff (push) Successful in -31s
drift / forgejo-smoke (push) Has been skipped
ci / mcp-conformance (push) Successful in 10s
drift / govulncheck (pull_request) Has been skipped
drift / surface-diff (pull_request) Successful in 44s
8f514e44e4
Extend the index rule: adr check now reports an index row whose date
differs from its record, the same shape as the status and title drift,
naming the record and pointing at adr rebuild. The rule keeps its plain
name. rebuild already writes the date, so no rebuild change is needed.

Update the adr help topic and COMPARISON to say status, title, and date.
Sign in to join this conversation.
No reviewers
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.

Dependencies

No dependencies set.

Reference
sixfold-space/madtea!778
No description provided.