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 data and rules (validated, with types computed)
  • Builds ExecutionPlan from Graph (topologically sorted, ready for evaluation)
  • Validates spec structure and references

Contract model:

  • Interface contract: data (inputs) + rules (outputs), including full type constraints. Cross-spec bindings must satisfy this contract at planning time.

Re-exports§

pub use execution_plan::ExecutionPlanSet;
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::Data;
pub use semantics::DataDefinition;
pub use semantics::DataPath;
pub use semantics::DataValue;
pub use semantics::Expression;
pub use semantics::ExpressionKind;
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::TypeDefiningSpec;
pub use semantics::TypeExtends;
pub use semantics::ValueKind;
pub use semantics::VetoExpression;
pub use spec_set::LemmaSpecSet;

Modules§

discovery
execution_plan
Execution plan for evaluated specs
graph
semantics
Resolved semantic types for Lemma
spec_set
Source-level grouping: specs sharing a name, keyed by effective_from.

Structs§

PlanningResult
SpecPlanningResult
Result of planning a single LemmaSpec.
SpecSetPlanningResult
Result of planning a LemmaSpecSet (all specs sharing a name).

Functions§

plan
Build execution plans for one or more Lemma specs.