gpp-sync — CRDT-based, offline-first P2P synchronization (layer 8).
Transport is TCP + Noise_XX (mutual static-key auth, TOFU). Peers exchange a state vector (object id set, branch tips, policy set) then transfer only what the other lacks:
- Objects — content-addressed, add-only set; verified on receipt.
- Refs — adopt missing branches; divergent same-name branches are
preserved as
name@peerforks (no silent merge — seegpp merge). - Policies — add-only union by name.
- Graphex — optional zero-knowledge index sync (encrypted blobs ride the object set; metadata merges OR-Set / LWW).
Trust and timeline are never synced (per docs/SYNC_PROTOCOL.md).