Expand description
Expand a parsed PipelineConfig into a flat list of ExpandedNodes
ready for the executor to run.
Responsibilities:
- Assign synthetic ids to anonymous rows (
row-0,row-1, …). - Reject reserved row ids (
env,file,secret,matrix,pipeline). - Reject duplicate ids.
- Validate that every
parent:references a known row id and that the parent chain has no cycles. - Deep-merge each row’s partial overrides into
pipeline.*. - Find every
${id.path}token surviving from load-time interpolation and record where each one came from. Tokens that reference unknown ids produce aCliError::UnknownInterpolationIdhere, not at runtime.
Structs§
- Deferred
Ref - Expanded
Node - One fully-merged matrix row, ready for the executor.
Enums§
Constants§
- RESERVED_
IDS - Row ids that callers can never use because they collide with load-time interpolation prefixes or future runtime scopes.
Functions§
- expand
- Expand
cfginto a topologically valid list of nodes. Roots come first, then children in BFS order.