Development record
capture 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.
issueresolvedminoriss-2609251208394294
capture 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.
Grounds
- pursued: a failed promotion never crashes composing its remedy; a stamp failure without grounds that panics would show it wrong
Frontmatter
| id | iss-2609251208394294 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2609251208394294-capture-promote-panics-with-a-nil.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-2609091009111294The 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.