Development record
abcd 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.
issueresolvednitpickiss-2609262218306589
abcd 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.
Grounds
- pursued: an issue landing at a planned target between embark's plan and its write now refuses the embark and survives (TestEmbarkRejudgesARecordThatLandedAfterThePlan/issues), and a ledger writer during the write waits (TestEmbarkWritesUnderTheLedgerAndIntentLocks); a replaced issue would show it wrong
Frontmatter
| id | iss-2609262218306589 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | nitpick |
.abcd/work/issues/resolved/iss-2609262218306589-abcd-embark-writes-issue-records-into.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-2609262143265180abcd 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.