CrdtCompactor
Invokes one compaction of state at a harness-derived cut, or returns null when nothing qualifies. The whole body of a real one is a call to that type's own compact(…) plus unwrapping the returned pair.
It sees the state and the cut and nothing else — never the seed, the permutation, the replica index, or its sibling replicas. Three consequences, all of them the point:
It cannot tailor a cut per permutation and so manufacture the agreement the phases assert. The cut is derived by LatticeLawHarness from the state alone, as VersionVector.Companion.contiguous over
causalDots()/causalFloor()— which is literally whatQuilter.recomputeCutpublishes for a fully converged room and for a solo peer, so the cut the phases compact at is one a real deployment reaches rather than a convenient fiction.It is a pure function of state, so two states that compare equal compact to states that compare equal. That is what leaves the equality assertion holding while the byte assertion stays free to discriminate — which is the whole mechanism here, since the defects this reaches for are ones equality is structurally blind to.
It cannot mutate the phase-0 inputs, because it is handed values and every CRDT here is immutable.
There is nowhere in that signature for a per-type fudge to live, which is why the cut is not a parameter a binding supplies (#2019).
Functions
One compaction of state at (stableCut, frontierMax, delivered), or null.