Development record
capture disposition refuses a malformed answer to an item the ledger holds only after mutationPreamble has run: Disposition (internal/core/capture/reading.go) redacts the request and calls prevalidateDisposition after the preamble, which opens the allocator lock file, so a disposition with empty grounds, a held state with no exit condition, or a state the item's position does not offer exits 2 but leaves .abcd/work/issues/.iss-alloc.lock in a ledger that had none. The file is gitignored and no directory is created, but the capture chapter promises a refusal writes nothing, and admit already checks its request (requireWidening) before the preamble. Found by the post-tag security review of 7fb52a6b5..d94472abb (sec-postTagA, LOW); unchanged from the range's base.
capture disposition refuses a malformed answer to an item the ledger holds only after mutationPreamble has run: Disposition (internal/core/capture/reading.go) redacts the request and calls prevalidateDisposition after the preamble, which opens the allocator lock file, so a disposition with empty grounds, a held state with no exit condition, or a state the item's position does not offer exits 2 but leaves .abcd/work/issues/.iss-alloc.lock in a ledger that had none. The file is gitignored and no directory is created, but the capture chapter promises a refusal writes nothing, and admit already checks its request (requireWidening) before the preamble. Found by the post-tag security review of 7fb52a6b5..d94472abb (sec-postTagA, LOW); unchanged from the range's base.
Grounds
- pursued: every Disposition refusal raised from the caller's input writes nothing; a refused shape that still leaves the lock or a dispositions directory would show it wrong
Frontmatter
| id | iss-2610021542528976 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2610021542528976-a-refused-disposition-leaves-the.md
open on GitHub ↗ · commit history ↗