minerva 0.2.0

Causal ordering for distributed systems
//! The node-store suite (PRD 0020): construction discipline, the kind reads,
//! the one-covered-delta reassignment, the shaped counterexamples the R-17
//! ruling owes, and the node's own laws. The axis conformance run lives with
//! the other instances in `causal_store::foreign::laws::axis`.

extern crate alloc;

use crate::kairos::Kairos;
use crate::metis::{Composer, Node};

mod examples;
mod properties;

/// The caller-shaped node the suite drives: byte keys, static string payloads.
type TestNode = Node<u8, &'static str>;

/// A composer over one page-shaped causal pair.
type Author = Composer<TestNode>;

/// A deterministic sibling rank for woven elements: physical `n`, station 1,
/// no kairotic tag. Sibling ties are broken by dot, so equal ranks stay
/// deterministic.
fn rank(n: u64) -> Kairos {
    Kairos::new(n, 0u16, 1, 0u16)
}