seq rewind: gate broadcast on a committed-seq watermark, not in flushLocked master
579807a fixed the rewind by broadcasting from flushLocked after the durable write, but that put the CBOR resequence under dp.mutex — every flush held the persist lock for ~400 frame-resequences, serializing all ~2670 producers. prod regressed: fr_out -25%, resolver queue 0->1280, live heap +3.6x (queued backlog), OOMs. operator rolled back to e77cb89. this keeps e77cb89's proven hot path (producers resequence + push in parallel, off dp.mutex, ordered by persist_order) and gates EMISSION on durability: - DiskPersist.committed_seq: atomic, advanced only by flushLocked after the write, to the highest seq just flushed. init seeds it to the recovered seq. - broadcaster fiber holds any queued frame whose seq > committed_seq (peekSeq + watermark compare), emitting only once a flush makes it durable. same invariant (last broadcast seq <= committed <= last durable), but the expensive resequence stays parallel and off the hot lock, so throughput equals e77cb89. queued frames now sit <=1 flush interval (<=100ms); steady-state broadcast_queue_depth rises to ~tens-hundreds (expected, not backpressure). regression test: "committed_seq advances only on durable flush". Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>