BID · Console
Baseline · Intelligence · Decision
src/pipeline.ts 1,445 bytes · typescript
/**
 * 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' },
];