ADR-0002 — CRDT library & sync relay (ADR-B)

  • Status: Seeded placeholder — not yet ratified (build-deferred to Epic 8).

  • Source: docs/planning-artifacts/architecture.md §"Contested Decisions" ADR-B (#261—​264); Decision Priority (D1.2, D3.3).

Context (to be decided)

CRDT library choice (automerge vs yrs — pure-Rust mandatory to avoid a cmake/NDK landmine — vs hand-rolled, a trap). Constraints: encrypt change-sets not snapshots; the relay forwards opaque blobs with minimized/padded metadata; protected-block conflict detection (FR-11) runs client-side on decrypted deltas.

Decision

Pending. automerge is pinned-but-unused in [workspace.dependencies]; the relay is a compiling build-deferred stub (services/relay). Ratify before Story 1.6 (Store) and Epic 8 (sync).

Consequences

To be recorded when decided.