/**
* The pipeline is data. The orchestrator reads this file and walks the
* steps in order. Adding the Intelligence or Decision pillar later
* means appending to this array — nothing in src/orchestrator.ts has
* to change.
*
* PipelineStep also allows "checkpoint" kinds so HITL pauses can be
* dropped between pillars.
*/
export type PipelineStep =
| { kind: 'agent'; pillar: 'baseline' | 'intelligence' | 'decision'; agent: string }
| { kind: 'checkpoint'; name: string };
export const pipeline: PipelineStep[] = [
{ kind: 'agent', pillar: 'baseline', agent: 'source-extraction' },
{ kind: 'agent', pillar: 'baseline', agent: 'normalization' },
{ kind: 'agent', pillar: 'baseline', agent: 'resolution' },
{ kind: 'agent', pillar: 'intelligence', agent: 'analytical-table' },
{ kind: 'agent', pillar: 'intelligence', agent: 'performance-metrics' },
{ kind: 'agent', pillar: 'intelligence', agent: 'comparisons-synthesis' },
{ kind: 'agent', pillar: 'intelligence', agent: 'insight-synthesis' },
/* Pillar 3 — Decision. Linear dependency chain (spec §Std 6):
* interpretation must complete before visualization; visualization
* must complete before delivery. No re-derivation across agents. */
{ kind: 'agent', pillar: 'decision', agent: 'output-ingestion' },
{ kind: 'agent', pillar: 'decision', agent: 'visualization' },
{ kind: 'agent', pillar: 'decision', agent: 'delivery-distribution' },
];