Fence note completion to the event used to compose it
When an external note is generated from mutable workflow state, capture its source event ID before formatting and require the same ID when marking the write complete. If a newer event arrives mid-write, release the old claim and leave the updated note pending. Otherwise an older …