Skip to main content

Crate constraint_crdt

Crate constraint_crdt 

Source
Expand description

§Constraint-CRDT

CRDT-backed constraint states for distributed fleet consensus.

§Core insight

CRDTs satisfy three algebraic laws (commutative, associative, idempotent). Constraint satisfaction requires closure under lattice operations. These are THE SAME algebraic structure — a semilattice.

§Modules

  • merge — The semilattice join trait (C/A/I laws)
  • state — Composite CRDT: all sub-CRDTs in one mergeable unit
  • counter — G-Counter: distributed satisfaction counting
  • pncounter — PN-Counter: positive/negative counting
  • orset — OR-Set: add-wins constraint tracking
  • eisenstein — Lattice positions as LWW registers (lower norm wins)
  • tile — PLATO tiles as mergeable CRDTs
  • vclock — Vector clocks for causal ordering
  • delta — Delta-state CRDTs (send only changes)
  • merkle — State hashes for efficient sync detection
  • gossip — Anti-entropy gossip protocol
  • simulation — Deterministic network simulation
  • plato — HTTP client for PLATO server (feature-gated)

Re-exports§

pub use bloom::BloomCRDT;
pub use geometric::GeometricNode;
pub use geometric::GossipExperiment as GeometricExperiment;
pub use decay::DecayCounter;
pub use decay::DecayConstraintState;
pub use sketch::SketchCRDT;
pub use ttl_crdt::TtlCrdtNode;
pub use ttl_crdt::TtlCrdtConstraint;
pub use ttl_crdt::TtlState;
pub use ttl_crdt::TtlType;
pub use ttl_crdt::EmergenceEvent;
pub use merge::Merge;
pub use state::ConstraintState;
pub use counter::ConstraintGCounter;
pub use pncounter::PNCounter;
pub use orset::ConstraintORSet;
pub use eisenstein::EisensteinRegister;
pub use tile::FleetTile;
pub use vclock::VectorClock;
pub use delta::ConstraintDelta;
pub use delta::DeltaTracker;
pub use merkle::StateHash;
pub use gossip::GossipNode;
pub use gossip::GossipMessage;
pub use gossip::exchange as gossip_exchange;
pub use simulation::Simulation;

Modules§

bloom
Novel Experiment 1: Bloom Filter CRDT
counter
Distributed constraint counter (G-Counter)
decay
Novel Experiment 3: Time-Decay CRDT
delta
Delta-State CRDTs
eisenstein
Eisenstein CRDT Register
geometric
Novel Experiment 2: Eisenstein-Geometric Gossip
gossip
Anti-Entropy Gossip Protocol
merge
CRDT Merge Trait
merkle
Merkle State Hash
orset
Constraint OR-Set
pncounter
PN-Counter (Positive-Negative Counter)
simulation
Deterministic Network Simulation
sketch
Novel Experiment 4: Count-Min Sketch CRDT
state
Constraint State — Composite CRDT
tile
Fleet Tile — PLATO tile as a CRDT
ttl_crdt
TTL-CRDT Bridge
vclock
Vector Clock