causalDots
The causal Dots this op-log has delivered: every Insert's own dot (id.dot = (replicaId, seq)) plus every dot recorded in a Compact op.
This is the Quilted capability the causal-stability GC barrier consumes (ADR-003 addendum v3, #262); the Quilter folds it into a contiguous delivered version vector. The per-author seq space is dense and defined by Inserts, so the set must stay gap-free across GC:
Insert→ its dot.Compact→ itsids' dots. A compaction removes the GC'dInserts from ops, but those dots were delivered (GC only fires once a dot is causally stable — at-or-below the min over all peers — so every replica delivered it). If they were dropped here, GC'ing a non-tail dot would punch a permanent hole in the contiguous frontier, pinning that author's delivered high-water below the gap forever and stalling all further GC for that author. Re-emitting theCompact'd dots keeps the frontier monotonic across compaction. Including them cannot over-claim: aCompactonly exists for universally-delivered dots, and a late joiner receives them inside FullState's already-compacted state.Remove→ nothing. ARemovereuses its target Insert's id (removeAt:val id = visible[index]); it mints no dot of its own. Counting it would over-claim when aRemove(x)is delivered out-of-order beforeInsert(x)— reportingxdelivered while holding only the tombstone, prematurely advancing the stable cut (the #275-class hazard).