This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

The orphan-draft error Promote returns after a failed stamp (internal/core/capture/promote.go) names the repair as abcd capture promote <iss-N> --intent <itd-N>, without --grounds. The issue route requires --grounds — the CLI refuses with exit 2 (requires --grounds ... nothing written) before it reaches the stamp, and core's requireGrounds refuses the same way — so the documented repair fails on its own text for every orphan, not only the one the advisory produced. TestPromoteStampFailureReportsOrphanAndLinkRepairs passes Grounds to the repair call the message never mentions, which is why it never noticed. The remedy must print a command that runs as printed: the same --intent plus the promotion's own grounds, quoted for a shell, and a test that extracts the remedy from the error and runs it. The reading-item route is unaffected: it refuses grounds, so its remedy is correct without them.

issueresolvedminoriss-2609012037130181

The orphan-draft error Promote returns after a failed stamp (internal/core/capture/promote.go) names the repair as abcd capture promote <iss-N> --intent <itd-N>, without --grounds. The issue route requires --grounds — the CLI refuses with exit 2 (requires --grounds ... nothing written) before it reaches the stamp, and core's requireGrounds refuses the same way — so the documented repair fails on its own text for every orphan, not only the one the advisory produced. TestPromoteStampFailureReportsOrphanAndLinkRepairs passes Grounds to the repair call the message never mentions, which is why it never noticed. The remedy must print a command that runs as printed: the same --intent plus the promotion's own grounds, quoted for a shell, and a test that extracts the remedy from the error and runs it. The reading-item route is unaffected: it refuses grounds, so its remedy is correct without them.

Grounds

  • pursued: a remedy is a command someone pastes, so the fix is to print the command that works — the grounds the call already validated — rather than a placeholder the operator has to fill, and the test runs the printed text rather than a hand-assembled request so the message and the verb cannot drift apart again

Frontmatter

idiss-2609012037130181
typeissue
lifecycleresolved
severityminor