opspec: finish the ADR 0008 migration behind a one-way limit, so hand-written CLI help can only shrink #515
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.
Blocks
#518 Epic: accepted decisions are enforced by checks, not only recorded
sixfold-space/madtea
Reference
sixfold-space/madtea#515
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?
What happens
ADR 0008 moved all help and metadata into the surface-neutral registry in
internal/opspec, and retired the hand-written Cobra help. The migration stopped at the start:internal/cmdusesopspec(thelabelsnoun).Long:help strings remain.Ask
testdata/, updated with an-updateflag, the pattern Go's owngo/printerandgo/doctests use) that lists every CLI command still using hand-written help. The test fails when the list grows. The list may only shrink.opspec; the test fails for any new entry.Acceptance
Long:to a new command fails the test.-updateshrinks the baseline.A concrete case from the #634 work.
adrstill uses hand-written help, so one change had to write the same facts in three places: the CLI help ininternal/cmd/adr/adr.go, the MCP parameter doc ininternal/opspec/paramdocs.go, and the MCP example ininternal/mcp/tools_adr.go.They drifted at once. The CLI examples show
--decision-issues "#42". The MCP example still showsmadt_adr(action="new", slug="origin-first-forge-resolution")with no decision issues, and a record made that way now failsadr check. Nothing caught it, because the parity test checks names, not help text or examples.The same change also made the hand-written
adrhelp longer, which is the direction this issue wants to stop.adrhas three actions (init,new,check), so it is a small command group to move.