monoprotocol 0.2.0

Mono sync protocol reference types and crypto (spec is canonical in spec/)
Documentation

Mono sync protocol (monoprotocol)

Version: mono-sync/0.2.0-draft
License: Mozilla Public License 2.0

The Markdown specification in spec/ is canonical. The Rust crate monoprotocol under rust/monoprotocol/ is a reference implementation that MUST match the spec and conformance/ fixtures; third-party code should implement against the spec first.

Repository layout

Path Role
spec/PROTOCOL.md Normative protocol (wire, crypto, journal, capabilities)
spec/OBJECTS.md Normative replicated object model
spec/CONFORMANCE.md How to run and extend test vectors
conformance/ Golden HKDF/AES-GCM vectors, JSON and CBOR wire fixtures
rust/monoprotocol Published crate monoprotocol on crates.io (MPL-2.0)
rust/monoprotocol-conformance Tests that load conformance/ fixtures

Quick start (Rust)

cd rust
cargo test
cargo run -p gen-golden   # regenerate conformance/golden and wire fixtures

Implementing in another language

  1. Read spec/PROTOCOL.md and spec/OBJECTS.md.
  2. Implement HKDF + AES-256-GCM exactly as in spec/CONFORMANCE.md.
  3. Pass all vectors in conformance/golden/crypto.json.
  4. Parse conformance/json/*.json and conformance/cbor/*.cbor into your envelope type.

Pre-release audit

See AUDIT.md for known limitations (especially 2FA stub behavior) and the release checklist.

Related projects

Product mesh, gateway, browser, and adapters remain in mono and depend on this protocol crate.