Models and Bindings
Core Semantic Model
PipelineStepModel is the primary IR unit.
It captures semantic step intent (name, package, type mappings, streaming shape, execution mode, deployment role, generation targets) without transport-specific adapter implementation details.
Related IR types:
StreamingShapeGenerationTargetExecutionModeDeploymentRoleTypeMapping
Compilation Context Contract
PipelineCompilationContext is the phase handoff object and contains:
- discovered models:
stepModels,aspectModels,orchestratorModels - mapping state:
runtimeMapping,runtimeMappingResolution - mode state: transport + platform
- binding state:
rendererBindings - infra state: output roots, module dir/name
- generation state: descriptor set, plugin/orchestrator flags
Binding Types
Bindings are transport/rendering realization objects:
GrpcBindingRestBindingLocalBindingOrchestratorBinding
Bindings are produced by StepBindingBuilder (invoked from PipelineBindingConstructionPhase) and stored in rendererBindings using key constants:
StepBindingBuilder.GRPC_SUFFIX→<service>_grpcStepBindingBuilder.REST_SUFFIX→<service>_restStepBindingBuilder.LOCAL_SUFFIX→<service>_localStepBindingBuilder.ORCHESTRATOR_KEY→orchestrator
Binding Construction Flow
Mapping + Role Interplay
- Runtime mapping can filter which step models remain for a module.
- Target resolution then derives target sets from
(deploymentRole, transportMode). - Binding construction only builds bindings required by those targets.
This keeps expensive binding work scoped to relevant artifacts.