Skip to main content

Compiler pipeline

orun follows a deterministic compiler pipeline from desired state to executable plan.

Stages​

StageWhat happens
LoadParse intent, component manifests, and composition assets
NormalizeCanonicalize component and environment fields
ValidateEnforce schema constraints for each component type
ExpandMaterialize environment × component instances
PlanBind compositions to jobs and resolve dependency edges
DAG checksDetect cycles and compute execution order
RenderMaterialize the final JSON or YAML plan

Why the pipeline is explicit​

This separation gives you clear failure boundaries:

  • schema errors fail during validation
  • dependency errors fail during planning or DAG checks
  • runtime issues fail only after a valid plan exists

That structure also makes the planner easier to test and reason about in CI.

Commands and stages​

  • validate focuses on load, normalize, and validate
  • debug exposes internal views of planning stages
  • plan executes the full compile pipeline and writes the artifact
  • run operates only on the compiled plan

Read execution runtime for what happens after the plan is rendered.