Skip to main content

cel_contracts/
lib.rs

1//! CEL boundary contracts.
2//!
3//! This crate holds the types that span the cortex/planner boundary so neither
4//! side depends on the other. Cortex builds and executes these contract types;
5//! planners produce them as output.
6//!
7//! **Strict policy:** depends only on `cel-context`, `serde`, `serde_json`, and
8//! `async-trait`. No runtime, no prompt logic, no LLM dependencies. Anything
9//! that needs more belongs in `cel-planner` (planner-side) or `cel-cortex`
10//! (cortex-side).
11
12pub mod actions;
13pub mod canonical;
14pub mod producer;
15pub mod receipt;
16pub mod view;
17
18pub use actions::{CellWrite, EffectExpectation, PlannedAction};
19pub use canonical::{
20    AttemptRecord, FailureReport, GoalOutcome, NextMove, RunLimits, RuntimeCaps, Step, StepKind,
21    StepResult,
22};
23pub use producer::{DoneVerdict, NextActionHint, PlanProducer};
24pub use receipt::{
25    DispatchRoute, ExecutionReceipt, ObservedEffect, ObservedKind, ObservedStatus, ReceiptStatus,
26};
27pub use view::{
28    AdapterActionRef, AdapterFactRef, AnomalyRef, Blocker, CapabilityRef, EventRef, EvidenceRef,
29    KnowledgeRef, MemoryRef, OmittedCounts, PlanningBudget, PlanningElement, PlanningElementState,
30    PlanningScreen, PlanningView, RunProgress,
31};