Development record
2026-10-31 — spc-2609202134338445 step 11, fix round 1: intent plan takes PlanOptions.ExpectDigest and compares it with the draft bytes it reads under the intent store's lock, refusing with ErrDraftChanged before anything moves or is minted. The auto-plan's plan passes the digest its reviews read, and a refusal hands the lane back. Grounds: the loop's own digest check runs before Plan takes the lock, so an edit landing between the two reads would be planned unjudged; comparing on the bytes every write is made from closes that window, and an empty value leaves every other caller unchanged.
2026-10-31 — spc-2609202134338445 step 11, fix round 1: intent plan takes PlanOptions.ExpectDigest and compares it with the draft bytes it reads under the intent store's lock, refusing with ErrDraftChanged before anything moves or is minted. The auto-plan's plan passes the digest its reviews read, and a refusal hands the lane back. Grounds: the loop's own digest check runs before Plan takes the lock, so an edit landing between the two reads would be planned unjudged; comparing on the bytes every write is made from closes that window, and an empty value leaves every other caller unchanged.
Frontmatter
| id | dcn-2610310456563103 |
|---|---|
| type | decision |
| date | 2026-10-31 |
.abcd/work/decisions/dcn-2610310456563103-spc-2609202134338445-step-11-fix-round-1.md
open on GitHub ↗ · commit history ↗
mentions1
- spc-2609202134338445one-verb-takes-a-single-intent-from-ready-to-delivered-witho