Skip to content
C3Control / Continuity
Sync documentation
C3Sync

C3Sync / Contributing

Updated 2026-07-21 · C3Sync wire-compat-policy.md

Wire compatibility

This page is for contributors changing the synchronization protocol.

Scheme versions

Subjects and durable consumer identities embed a scheme version. A breaking change must use a new scheme instead of silently reinterpreting stored events from an older release.

Compatibility rules

  • New readers must reject envelopes whose required scheme or algorithm is unsupported.
  • Cryptographic algorithm identifiers are authenticated and must not be treated as cosmetic metadata.
  • Durable consumer names must remain stable within a scheme so reconnecting peers continue from the correct position.
  • Enrollment credentials remain scoped to the PAKE exchange and cannot subscribe to project data.

Change checklist

Before changing the wire format, update protocol constants, migration behavior, mixed-version tests, security documentation, and the black-box end-to-end suite. Never reuse an existing scheme number for an incompatible meaning.