Skip to main content

Crate canon_core

Crate canon_core 

Source
Expand description

CP Core - Data models and traits for Canon Protocol

This crate defines the fundamental types used across all CP components:

  • Document, Chunk, Embedding nodes
  • Graph edges and relationships
  • State roots and Merkle commitments
  • Cognitive diffs for synchronization
  • Hybrid Logical Clocks for causal ordering
  • Canonical ID generation (BLAKE3-16)

Re-exports§

pub use chunk::Chunk;
pub use context_assembler::AssembledContext;
pub use context_assembler::ContextAssembler;
pub use context_assembler::ContextChunk;
pub use context_assembler::ContextMetadata;
pub use context_assembler::ScoredChunk;
pub use context_assembler::TokenBudget;
pub use hlc::Hlc;
pub use proof::ChunkProof;
pub use proof::FileSnapshot;
pub use proof::MerkleSibling;
pub use proof::ProofReceipt;
pub use proof::SemanticHit;
pub use proof::SemanticSearchResult;
pub use proof::SessionEvent;
pub use proof::SessionProof;
pub use proof::SourceRef;
pub use proof::UserPrompt;
pub use state::StateRoot;

Modules§

chunk
Chunk node representing a text segment from a document
context_assembler
Deterministic context assembly per CP-021
hlc
Hybrid Logical Clock (HLC) for causal ordering
id
Canonical ID generation for CP entities
prelude
Re-export commonly used types
proof
Proof receipts for Canon Protocol
state
State root representing a Merkle commitment to cognitive state
text
Text normalization utilities for determinism

Structs§

CognitiveDiff
A cognitive diff containing all changes between two state roots.
DiffMetadata
Metadata about a cognitive diff
Document
A document node in the cognitive graph
Edge
An edge in the semantic graph
Embedding
An embedding vector derived from a chunk
EmbeddingInput
Input for embedding computation (for trace verification)
ExecutionTrace
Execution trace for verified execution per CP-003 §10.

Enums§

CPError
Unified error type for CP operations
EdgeKind
Types of relationships in the cognitive graph
Operation
Operation types for deterministic state transitions Per CP-003 §9.1

Type Aliases§

Result
Result type alias using CPError