Skip to content

Phases and Flow

Ordered Phase Chain

Configured in PipelineStepProcessor.init:

  1. PipelineDiscoveryPhase
  2. ModelExtractionPhase
  3. PipelineRuntimeMappingPhase
  4. PipelineSemanticAnalysisPhase
  5. PipelineTargetResolutionPhase
  6. PipelineBindingConstructionPhase
  7. PipelineGenerationPhase
  8. PipelineInfrastructurePhase

Responsibility Matrix

PhasePrimary ResponsibilityKey Outputs in ContextCollaborators
DiscoveryLoad config, resolve module paths, detect plugin/orchestrator markersmodule paths, platform/transport mode, aspect/template/orchestrator modelsDiscoveryPathResolver, DiscoveryConfigLoader, TransportPlatformResolver
Model ExtractionBuild PipelineStepModel IR from YAML step definitions, then apply contextual role/aspect enrichmentstepModelsPipelineStepIRExtractor, ModelContextRoleEnricher
Runtime MappingApply runtime placement/module filteringfiltered stepModels, mapping resolution
Semantic AnalysisPolicy checks and semantic constraintsorchestrator flag, diagnostics
Target ResolutionMap role+transport to target setsupdated enabledTargets, resolvedTargetsClientRoleTargetResolutionStrategy, ServerRoleTargetResolutionStrategy
Binding ConstructionBuild renderer-facing bindingsrendererBindings, descriptor setGrpcRequirementEvaluator, StepBindingConstructionService
GenerationEmit sources/metadatagenerated artifacts + metadata resourcesStepArtifactGenerationService, ProtobufParserService, SideEffectBeanService
InfrastructureEnsure output directories and filesystem contextrole directories under generated-sources root

Data Flow

Notes

  • The phase chain is explicit and deterministic.
  • Failures are reported with phase names via PipelineCompiler.
  • Each phase is intended to keep concern boundaries strict.
  • Phases with collaborators use constructor injection: a no-arg constructor wires production defaults, and a package-private constructor accepts explicit collaborators for testing.