Pipeline compilation workflow
Compilation is a typed declaration-to-runtime lowering pass. It is not a fixed numbered sequence and it does not produce dictionaries whose field names form a second API.
Inputs
The compiler accepts an initialized PipelineOrchestrator and an ordered
list[AbstractStep]. Together they provide:
a
PipelineConfigand ObjectState scope topology;the microscope/source workspace and selected execution axes;
callable, module, source, and artifact declarations;
per-step processing, materialization, filtering, and streaming configuration.
Execution boundary
The runtime bundle contains worker-safe steps, frozen processing contexts, and environment decisions. Runtime code may validate required typed fields, but it must not repeat compiler inference. The GUI and ZMQ execution service both use this compile-before-execute boundary.
Debugging
Start with the declaration and the corresponding CompiledStepPlan field.
Then identify the compiler stage that owns that field and the nominal
declaration it queries. See Debugging compilation and execution and
Pipeline compilation.