/** * Evaluator execution engine (FR-23). * * Reads evaluator configs for a given stage, spawns each evaluator script * as a child process, passes standardized JSON via stdin, parses JSON from * stdout, and aggregates results. * * AC-23.1: Execute evaluators in registration order. * AC-23.2: stdin/stdout JSON protocol. * AC-23.3: Any fail → overall fail. * AC-23.4: Empty evaluator list → skip (pure LLM fallback). * AC-23.5: Timeout → error, not pass. * AC-23.7: Any executable format (shell, Node.js, Python, etc.). */ import type { EvaluatorConfig, EvaluatorInput, EvaluatorExecution, EvaluatorResultSet, EvaluatorRegistry } from './evaluator-types.js'; /** * Run a single evaluator script. * * The script receives JSON on stdin and must output JSON on stdout. * Exit code 0 = normal execution (verdict from output). * Non-zero exit code = evaluator error (not equivalent to fail). */ export declare function runSingleEvaluator(config: EvaluatorConfig, input: EvaluatorInput, evaluatorsDir: string): Promise; /** * Run all evaluators registered for a given stage. * * AC-23.1: Executes in registration order. * AC-23.3: Any fail → overall fail. * AC-23.4: Empty list → returns null (caller falls back to pure LLM). */ export declare function runEvaluators(stage: string, registry: EvaluatorRegistry, artifactPaths: string[], projectMeta: Record, evaluatorsDir: string): Promise; /** * Load evaluator registry from project config. * * Reads from sevo.config.json `evaluators` field, or returns empty registry. */ export declare function loadEvaluatorRegistry(projectRoot: string): EvaluatorRegistry; /** * Get the evaluators directory path for a project. */ export declare function getEvaluatorsDir(projectRoot: string): string; //# sourceMappingURL=evaluator-runner.d.ts.map