Development record
the grounds flag carries two incompatible grammars on one verb family with a floor on three routes and free text on the fourth
the grounds flag carries two incompatible grammars on one verb family with a floor on three routes and free text on the fourth
Found by the itd-179 fidelity audit.
--grounds now means two different things on one verb family:
capture promote|resolve|wontfixandintent readytake<token>: <text>with a closed vocabulary and the substance floor.capture dispositiontakesdisposition_groundsas FREE TEXT with no token and no floor.
So a caller who learns the grammar on one route is wrong on the next, and a
record's grounds mean different things depending on which verb wrote them. The
audit reached this while judging ac-1: capture promote <rdi-N> dispatches
before requireGrounds is consulted, so that route satisfies the criterion by
DELEGATING to the laxer artefact rather than by enforcing the stricter one.
Not a defect in either half on its own. The question it raises is whether one flag name should carry two contracts, and that is a design decision rather than a bug to fix.
Remedy grounds (2026-09-29)
- Why: ruling AL's options, each with its change; the split keeps one flag name to one meaning and routes the break through the breaking release already approved.
- Sources (consulted 2026-09-29): Command Line Interface Guidelines, 'Use the same flag names for the same things' and 'Warn before you make a non-additive change' (https://clig.dev/).
- Rejected: a rename with no alias, a silent break of a shipped verb.
Frontmatter
| id | iss-2608310912217521 |
|---|---|
| type | issue |
| lifecycle | open |
| severity | minor |
.abcd/work/issues/open/iss-2608310912217521-the-grounds-flag-carries-two.md
open on GitHub ↗ · commit history ↗
mentions1
- itd-179The reasoning behind what was pursued no longer evaporates at the gate — readiness and triage record grounds for the conjecture, not only the decision