Development record
The ledger's human gates block the ordinary intent flow before the product thinker's language exists: intent ready refuses on scope conditions, mechanism claim and grounds, capture promote and resolve refuse without --grounds, and a lapse capture refuses without --lapsed-at. Each check should report, never refuse, until the rethink of the reading work settles what a human is asked for.
issueresolvedminoriss-2609091009111294
The ledger's human gates block the ordinary intent flow before the product thinker's language exists: intent ready refuses on scope conditions, mechanism claim and grounds, capture promote and resolve refuse without --grounds, and a lapse capture refuses without --lapsed-at. Each check should report, never refuse, until the rethink of the reading work settles what a human is asked for.
Frontmatter
| id | iss-2609091009111294 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2609091009111294-the-ledger-s-human-gates-block-the.md
open on GitHub ↗ · commit history ↗
mentions7
- dcn-26090900000000012026-09-09 — The ledger's human gates on the ordinary flow are parked, reported and never refusing, until the reading work is rethought (maintainer; iss-2609091009111294). The built-in machinery of the provenance ledger and the cold reading stays as shipped, and so does every refusal that guards a reader's blindness or what a reading may return; what changes is every refusal that stops a person in the ordinary intent-to-ship flow for a sentence the gate cannot judge. `intent ready` keeps all seven rows and gates on four: the mechanism, scope-condition and grounds rows are advisory, named with their remedies, and the verdict ignores them. `capture promote` and `capture resolve` record `--grounds` when it is given and write nothing for it when it is not; a value that is given is held to the vocabulary and the floor as before. A lapse capture without `--lapsed-at` records no instant rather than being refused, and the committed-ledger gate no longer raises the absence finding, so gate and reader still agree. This reverses two rulings of 2026-08-30, promoting the grounds readiness check to a refusal and refusing a triage that records no grounds, flagged as a reversal and confirmed by the maintainer rather than filed on the tool's judgement. Rejected: deleting the checks, which would lose the report and the remedy; keeping them armed, which is manual work the product thinker's language does not yet justify; and demoting the reading instrument's own refusals, which stop no human. The armed form returns, if it returns, through the legible-surface phase rather than by flipping this back.
- dcn-26110113322914222026-11-01 — The product thinker's ruling of 2026-11-01 on iss-2610312234315875: abcd intent ready gates on the claim_sections start check, so READY means abcd build will start. That check binds both claim rows, an unanswered or empty Mechanism and unrecorded Scope Conditions, so this reverses the earlier ruling on iss-2609091009111294 for both rows; the ruling's stated ground, that READY means the build will start, holds only if both gate, so the scope was read from it rather than asked again. A Scope Conditions section holding the token None stated. satisfies its half. Grounds: on 2026-10-31 intent ready called itd-39 READY and the build then refused it at claim_sections. Reverse by a later ruling that makes either row advisory again.
- iss-2609231128235366The capture surface chapter (.abcd/development/brief/04-surfaces/06-capture.md, 'One flag is conditionally required') and the ledger README (.abcd/work/issues/README.md, '--lapsed-at (required with --category lapse)') state that a lapse capture without --lapsed-at exits 2 and writes nothing. It does not: the refusal is parked (iss-2609091009111294; the CLI comment in internal/surface/cli/cli.go says so, as does commands/capture.md and the same chapter further down), and 'abcd capture "..." --category lapse' with no --lapsed-at files the record at exit 0, confirmed in a scratch repository on 2026-09-23. Two prose surfaces describe a refusal the verb does not make.
- iss-2609251208394294capture promote panics with a nil pointer dereference when a promotion given no --grounds fails its ledger stamp after minting the draft: the orphan-draft remedy in Promote calls g.String() on the optional grounds, which is nil once grounds became optional (iss-2609091009111294), so the failure path that exists to name the orphan and its repair crashes instead and the orphan draft is left unreported. Confirmed with a stamp-failure test while fixing the remedy's delimiter.
- iss-2610262034428117itd-179 says a capture triage without grounds is refused; the capture chapter says resolving records grounds only when given, their absence parked.
- iss-2610262034437300itd-177 has the readiness gate refuse an intent that leaves a context claim unrecorded; the intent chapter reports the claim rows as advisory, never withholding readiness.
- iss-2610312234315875Whether abcd intent ready gates on the claim_sections start check was ruled on 2026-11-01 (dcn-2611011332291422): it gates. Before that ruling, gating it would have reversed their ruling on iss-2609091009111294, which kept the mechanism and scope-condition rows advisory, so intent ready can report READY on a record that abcd build then refuses at claim_sections, as itd-39 showed on 2026-10-31. Split from iss-2610311501473953 so its drain-buildable half carries no ruling.