Development record
abcd embark writes intent records into the target repository outside the intent store's lock (internal/core/lifeboat/embark.go: classifyEmbark judges each target path, then writeEmbark writes the set): an intent created at a path the classification found absent, between the classify and the write, is replaced without a conflict. The window is a same-id create during an embark, so it is narrow, but it is the one intent-record writer the drainL sweep found outside intent.WithMintLock.
issueresolvednitpickiss-2609262143265180
abcd embark writes intent records into the target repository outside the intent store's lock (internal/core/lifeboat/embark.go: classifyEmbark judges each target path, then writeEmbark writes the set): an intent created at a path the classification found absent, between the classify and the write, is replaced without a conflict. The window is a same-id create during an embark, so it is narrow, but it is the one intent-record writer the drainL sweep found outside intent.WithMintLock.
Grounds
- pursued: an intent landing at a planned target between embark's plan and its write now refuses the embark and survives (TestEmbarkRejudgesARecordThatLandedAfterThePlan/intents), and an intent writer during the write waits (TestEmbarkWritesUnderTheLedgerAndIntentLocks); a replaced intent would show it wrong
Frontmatter
| id | iss-2609262143265180 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | nitpick |
.abcd/work/issues/resolved/iss-2609262143265180-abcd-embark-writes-intent-records-into.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-2609262218306589abcd embark writes issue records into the target repository's ledger outside the ledger lock (internal/core/lifeboat/embark.go: classifyEmbark judges each target path, then writeEmbark writes the set): an issue captured at a path the classification found absent, between the classify and the write, is replaced without a conflict. The ledger-side twin of iss-2609262143265180, which names the intent half.