/** * Stage Graph — DAG definition for stage flow. * (arc42 §5.1, spec §3.3) */ import type { GateVerdict, StageId } from '../types/index.js'; import type { PostReleaseValidationOutput } from '../stages/post-release-validation-types.js'; /** An edge in the stage flow graph. */ export interface StageEdge { from: StageId; to: StageId; /** Optional condition evaluated against the gate verdict. If omitted, edge is unconditional. */ condition?: (verdict: GateVerdict) => boolean; /** Optional condition evaluated against post-release validation output (FR-18, AC-18.10). */ validationCondition?: (result: PostReleaseValidationOutput) => boolean; } /** Immutable stage graph built from edges. */ export declare class StageGraph { private readonly edges; constructor(edges: StageEdge[]); /** Get all outgoing edges from a given stage. */ getOutgoing(stage: StageId): readonly StageEdge[]; /** Get all edges in the graph. */ getAllEdges(): readonly StageEdge[]; } /** * Default SDD flow: * spec → spec-review-gate → contract → contract-review-gate → implement → review * → smoke-test → { ux-acceptance, pm-commercial-review } → regression * → publish-generalization-gate → deploy → verify → post-release-validation * → ledger (if canComplete) OR → implement (back-edge if !canComplete, AC-18.10) */ export declare const DEFAULT_SDD_EDGES: StageEdge[]; /** Pre-built default SDD graph instance. */ export declare const DEFAULT_SDD_GRAPH: StageGraph; //# sourceMappingURL=stage-graph.d.ts.map