Development record
itd-179 ruthless findings: the plugin surface instructs the host to report a redacted member from intent ready --grounds --json that the verb never emits — the redaction note goes to stderr and the JSON is the unchanged readiness result, so the redaction-is-never-silent promise is broken on the one plane the feature is wired for (render an envelope carrying the grounds result beside the readiness result); the readiness reader admits a hand-typed entry below the writer's substance floor, so the seventh check under-enforces its own claim (skip sub-floor bullets in ParseGrounds); a successful write followed by a readiness fault exits 2 with no receipt, so a retry appends a duplicate entry; RecordGrounds enforces no bucket rule while the shipped-bucket exemption says never backfilled and the branch itself backfilled three shipped intents (refuse terminal buckets, or word the exemption honestly); missing versus malformed --grounds exit 2 versus 1 unevenly; the 36-record NOT READY consequence and the forward-only choice are recorded nowhere in the decision log.
itd-179 ruthless findings: the plugin surface instructs the host to report a redacted member from intent ready --grounds --json that the verb never emits — the redaction note goes to stderr and the JSON is the unchanged readiness result, so the redaction-is-never-silent promise is broken on the one plane the feature is wired for (render an envelope carrying the grounds result beside the readiness result); the readiness reader admits a hand-typed entry below the writer's substance floor, so the seventh check under-enforces its own claim (skip sub-floor bullets in ParseGrounds); a successful write followed by a readiness fault exits 2 with no receipt, so a retry appends a duplicate entry; RecordGrounds enforces no bucket rule while the shipped-bucket exemption says never backfilled and the branch itself backfilled three shipped intents (refuse terminal buckets, or word the exemption honestly); missing versus malformed --grounds exit 2 versus 1 unevenly; the 36-record NOT READY consequence and the forward-only choice are recorded nowhere in the decision log.
Grounds
- pursued: we expect a write whose result is visible on the plane the caller reads, and a gate whose reader enforces the floor it claims, to be what makes the argument trustworthy rather than merely present — an unreported write invites the duplicate that append-only recording cannot undo
Frontmatter
| id | iss-2608300930057882 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | major |
.abcd/work/issues/resolved/iss-2608300930057882-intent-ready-grounds-json-omits-the.md
open on GitHub ↗ · commit history ↗
mentions2
- iss-2609181020519987The intent surface page does not say whether abcd intent ready --grounds records on a draft. The Grounds paragraph of commands/intent.md describes the flag on the readiness gate and never states which buckets accept the write; the code (RecordGrounds) refuses only a shipped or superseded record, so a draft in drafts/ takes grounds before it is planned, and the resolved iss-2608300930057882 states that forward-only exemption in its resolution. Relayed from the Gropius managed-repo session gropiusllm-56 on 2026-09-18, which recorded grounds on a draft, found it worked, and could not tell from the page whether that was sanctioned. One sentence on the page closes it: grounds are recorded on a draft or a planned intent alike, and refused on a shipped or superseded one.
- 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