Skip to main content

Crate coven_protocol

Crate coven_protocol 

Source
Expand description

Protocol: Coven’s deterministic model of replicated state — signed values, their parsing, and their validation.

Everything here is a pure function of its inputs. No SQLite, no storage provider, no network, no clock reads of its own: a commit, a membership entry, a circle operation, or a provider proof either parses and validates or it does not, identically on every device. That is what lets two devices that never met agree on what happened.

write lives here because a write’s identity and publication status are stated in protocol terms — a WriteId names a host transaction, and a PublishedPosition names the commit that made it visible to peers.

Re-exports§

pub use objects::AwsPrincipal;
pub use objects::CloudKitEnvironment;
pub use objects::GoogleDriveCorpus;
pub use objects::ProviderDeviceBinding;
pub use objects::ProviderPrincipalId;
pub use objects::ResolvedProviderBinding;
pub use objects::S3EndpointBinding;
pub use objects::StoreProviderBinding;
pub use circle::Audience;
pub use circle::Circle;
pub use circle::CircleCloseParticipant;
pub use circle::CircleCloseSettlement;
pub use circle::CircleCloseStatus;
pub use circle::CircleControlCoord;
pub use circle::CircleEpochCloseId;
pub use circle::CircleId;
pub use circle::CircleInfo;
pub use circle::CircleMemberInfo;
pub use circle::CircleOperationBlock;
pub use circle::CircleOperationId;
pub use circle::CircleOperationInfo;
pub use circle::CircleOperationKind;
pub use circle::CircleOperationState;
pub use circle::CircleRole;
pub use circle::CircleState;
pub use membership::MemberInfo;
pub use membership::MemberRole;
pub use membership::MembershipConflictChoice;
pub use membership::MembershipConflictInfo;
pub use membership::MembershipCoord;
pub use provider::CloudKitAcceptedShare;
pub use provider::CrossPrincipalProbeReceipt;
pub use provider::ExactSlotProbeReceipt;
pub use provider::ProviderAccessLocator;
pub use provider::ProviderAccessWithdrawal;
pub use provider::ProviderAdminChange;
pub use provider::ProviderAdminGrantId;
pub use provider::ProviderAdminGrantRecord;
pub use provider::ProviderAdminMembershipChange;
pub use provider::ProviderAdminState;
pub use provider::ProviderCapabilityProof;
pub use provider::ProviderProbeId;
pub use provider::StoreMemberProviderAccessGrantRef;
pub use store_commit::CommitFrontier;
pub use store_commit::DeviceJoinAttemptId;
pub use store_commit::StoreBatchCommitRef;
pub use store_commit::StoreCommitCoord;
pub use store_commit::StoreCommitOrder;
pub use store_commit::StoreDeviceId;

Modules§

audience_package
blob
The blob engine: coven’s single owner of a blob’s whole durability lifecycle.
causal_grants
Shared causal assignment reducer for Store membership and Circle rosters.
circle
Circle identities, audience routing, and control coordinates.
circle_activation
circle_activation_test_fixtures
The founder Circle activation every Circle test starts from: the signed protocol values, and the current state they derive.
circle_control
Circle metadata, access records, controls, and creation objects.
circle_journal
circle_roster
Signed Circle roster streams and causal assignment reduction.
circle_test_fixtures
Signed Circle and membership values a test needs before it can exercise anything that consumes them: a resolved membership reference, a registered device authority, and the Circle control reference that device signs.
device_exclusion_journal
Durable Store-device exclusion state: the exact proposal/outcome objects, prepared candidates, and completion outcomes one exclusion operation persists, validated against the slots and commits they bind.
hlc
Hybrid-logical-clock timestamps: the total order behind last-writer-wins registers. The value model lives here; crate::hlc::Hlc is the clock-retaining service that mints and advances them.
membership
Store-bound causal membership protocol.
membership_mutation
Prepared membership mutations: the exact entry, head, and objects one membership publication or transition binds, validated as a unit before anything durable records them.
objects
Exact storage access for signed protocol objects and stored blob bodies.
owner_promotion_journal
The durable Owner-promotion journal: the request, acceptance, and finalization values one promotion binds, validated against the exact target and identities they retain.
prepared_commit
A signed Store operation commit prepared for publication: the exact commit bytes, their reference, and the remote-object records a candidate or activation derives from them.
provider
reclaim
Signed reclaim targets, claims, evidence, authorizations, and receipts.
recovery
Durable recovery authority: the exact continuation or Owner-recovery state a restore proves before it may rebuild a device.
remote_object
Closed local publication and ownership state for remote protocol objects.
store_commit
Signed, hash-addressed Store commit protocol objects.
store_creation
Durable record of an in-flight Store creation: the probe identities and outcome states persisted in protocol_state so an interrupted creation is resumed or abandoned exactly.
synced_schema
Synced-table declarations and the shared identifier-quoting helper.
wrapped_store_key
Owner-signed wrapped store keys.
write
Durable identity and publication status for one host transaction.

Structs§

ObjectHash