/** * [WHO]: Pure candidate transition reducer and validation evidence gates * [FROM]: Depends only on extension-local evolution types * [TO]: Consumed by manual and automatic refinement orchestration * [HERE]: extensions/optional/evolution/workflow.ts - promotion policy authority */ import type { CandidateRecord, EvolutionArtifact, EvolutionScope, GateEvidence } from "./types.js"; export type CandidateEvent = { type: "static_checked"; evidence: GateEvidence; } | { type: "replay_checked"; evidence: GateEvidence; } | { type: "eval_checked"; evidence: GateEvidence; } | { type: "request_approval"; reason?: string; } | { type: "approve"; actor: string; overrideMissingEffectiveness?: boolean; } | { type: "promote"; } | { type: "supersede"; reason: string; } | { type: "rollback"; reason: string; } | { type: "fail"; gate: string; reason: string; }; export declare function advanceCandidate(record: CandidateRecord, event: CandidateEvent): CandidateRecord; export declare function mergeScopedArtifacts(scoped: ReadonlyArray<{ scope: EvolutionScope; artifacts: readonly EvolutionArtifact[]; }>, keyFor?: (artifact: EvolutionArtifact) => string): EvolutionArtifact[];