Skip to main content

Module planning

Module planning 

Source
Expand description

Planning module for Lemma specs

This module performs complete static analysis and builds execution plans:

  • Builds Graph with facts and rules (validated, with types computed)
  • Builds ExecutionPlan from Graph (topologically sorted, ready for evaluation)
  • Validates spec structure and references

Re-exports§

pub use execution_plan::Branch;
pub use execution_plan::ExecutableRule;
pub use execution_plan::ExecutionPlan;
pub use execution_plan::SpecSchema;
pub use semantics::negated_comparison;
pub use semantics::ArithmeticComputation;
pub use semantics::ComparisonComputation;
pub use semantics::Expression;
pub use semantics::ExpressionKind;
pub use semantics::Fact;
pub use semantics::FactData;
pub use semantics::FactPath;
pub use semantics::FactValue;
pub use semantics::LemmaType;
pub use semantics::LiteralValue;
pub use semantics::LogicalComputation;
pub use semantics::MathematicalComputation;
pub use semantics::NegationType;
pub use semantics::PathSegment;
pub use semantics::RulePath;
pub use semantics::Source;
pub use semantics::Span;
pub use semantics::TypeExtends;
pub use semantics::ValueKind;
pub use semantics::VetoExpression;
pub use types::TypeResolver;

Modules§

content_hash
Content hashing for LemmaSpec. Knows how to canonically serialize a spec into bytes and produce an 8-char hex hash. Does NOT traverse graphs.
execution_plan
Execution plan for evaluated specs
graph
semantics
Resolved semantic types for Lemma
slice_interface
temporal
types
Type registry for managing custom type definitions and resolution
validation
Semantic validation for Lemma specs

Structs§

PlanningResult
Result of running plan() across the context: per-spec results and global errors (e.g. temporal coverage).
SpecPlanningResult
Result of planning a single spec: the spec, its execution plans (if any), and errors produced while planning it.

Functions§

plan
Build execution plans for one or more Lemma specs.