Judge live work when it is made, and keep merges honest after they land

Review fixes for field-merge sending:
- Work is live only if made while connected with no disconnect before it
  is queued; work the queue already held, and retries, are never made live.
- Keep mine after a field collision checks against the server's value at
  the refusal, kept in the outbox record, instead of dropping the base.
- A successor promoted after its predecessor lands names what it changes
  from what the predecessor wrote, so a change set back in flight is sent;
  its base comes only from fields the predecessor wrote, and its place from
  the predecessor's sort index.
- A merge's ack does not advance the revision a whole write may claim, and
  a base never goes back to an older revision when a page is read late.
- Outbox records of merged work are version 3, which older builds leave
  alone instead of sending as whole writes.
- An absent field and a null one compare equal; utility field groups
  follow the utility's type; an added row keeps its overlay until the
  page read holds it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
eb4d3b7c21Dara Adedeji committed on 10/10/2026, 6:49:32 AMparent8cdb5e5
7 files changedLine totals unavailable