feat(adr): madtea adr command group — adr new (race-free numbering) + adr check (consistency drift guard), org-wide via any repo's gate #26
Labels
No labels
breaking
bug
documentation
enhancement
epic
good first issue
help wanted
refactoring
resolution/duplicate
resolution/invalid
resolution/wontfix
security
severity/critical
severity/high
severity/low
severity/medium
status/abandoned
status/blocked
status/needs-decision
status/needs-info
status/needs-verification
testing
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sixfold-space/madtea#26
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Decision
Enhance the ADR machinery machine/org-wide. Trigger incident: two sessions independently created ADR 0023 the same day (
0023-shipped-strings-self-containedon main,0023-declared-files-staging-contracton a separate branch); the tree happily carried both and NOTHING flagged it — not gate.sh, not docs-verify, not merge. Detection cost a conflicted PR, a renumber commit, and a reconcile dance.Design
New CLI command group
madtea adr(MCP action surface to match, per parity conventions — note: no gh/tea equivalent exists, so this is a new noun likeworktree/orchestrate; document the naming rationale against ADR 0016):madtea adr new <slug>— race-free creation: resolves the next free number from the ORIGIN default branch (not the local tree), writesdocs/adr/NNNN-<slug>.mdfrom a minimal template (title, Status/Date/Tracking header), and appends the index row todocs/adr/README.md. Kills the numbering race at creation time.madtea adr check— consistency drift guard, exit-code clean/dirty for gate/CI wiring:NNNN-*.mdhas a README row; every row's link resolves);docs/adr/(configurable path later if needed) so the SAME check serves every repo in the org that keeps ADRs — this is what makes the guard org-wide.Wiring
./scripts/gate.shadds anadr-checkstep (self-hosting the guard).Acceptance criteria
madtea adr new <slug>creates file + index row with the next free number resolved from origin's default branchmadtea adr checkcatches: duplicate numbers, orphan file (no index row), dangling index rowRefs today's collision: an earlier issue / PR, ADR 0024 renumber.