Give adr-new one route that removes an ADR whose one-way-door reason is gone #1715
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
rule-proposal
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#1715
Loading…
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?
Problem
adr-newhas four routes that can change an Accepted ADR: supersede, challenge, amend, and delete. On ADR-0232, each route refuses and names a different route. The ADR records a one-way door whose reason no longer exists, and the challenge and delete judges read only the stale ADR text. Thus no route can remove or correct the record.Observed
Each command ran as
ruby ~/.claude/plugins/os-adr/bin/adr-new <route> --root /home/jared/dev/cc-oson 2026-11-12.Create with
supersedes: 0232exits 3.challenge 0232exits 0 and keeps the ADR. The fileplugins/os/lib/worktree/usage_sweep.rbthat the verdict relies on does not exist.amend 0232with text that removes the stale caller exits 3.delete 0232exits 3.A second defect:
adr-new helpandadr-new help amendraiseJSON::ParserError. The CLI readshelpas a create with empty stdin. Amend has no reason field.Effect: ADR-0232 stays Accepted with three false statements: the
osusage sweep caller, the--sweep-onlyflag (deleted in063075f19), and "byte-identical to the formeros-sdlc-runnersubcommands". Jared ruled on 2026-11-10 that ADR-0232 goes.Reproduce
Acceptance criteria
adr-new help, when it runs, then it prints usage and exits 0 with no stack trace.Origin
adr-newcommands above, run to remove ADR-0232 for #1646.plugins/os-adr/lib/adr/record/amendment.rband the judge prompts underplugins/os-adr).plugins/os-adr/bin/adr-new,plugins/os-adr/lib/adr/record/VERDICT: CREATE. The four routes refuse in a loop, reproduced with exit codes; the defect blocks Jared's 2026-11-10 ruling; no open ticket covers it (#1649 and #1310 name a different fault).