/** * Spec-grounded validation — grades whether a deployed app's OBSERVED behavior * conforms to a SUPPLIED spec (PRD / ticket / requirements). * * Deterministic default: returns 'unknown' for every requirement when no * ANTHROPIC_API_KEY is set or enableLlmJudge is not true. Honesty is the * contract — we never fabricate a conformance verdict without the judge. * * LLM path: each requirement is graded individually against observed.summary * by the pinned haiku judge. Both the requirement text and the observed summary * are untrusted input — wrapped with delimitUntrusted() and run through the * delimiter-neutralizer before they enter the prompt. */ import type { LlmProvider } from '../../llm/provider.interface.js'; import { type SpecValidationInput, type SpecConformanceResult } from '../../schemas/spec-conformance.schema.js'; export interface ValidateSpecConformanceOptions { /** Inject an LLM provider (tests). Defaults to createProvider with pinned judge model. */ llm?: Pick; /** Force deterministic fallback even when ANTHROPIC_API_KEY is set. */ forceDeterministic?: boolean; } /** * Validate spec conformance for a deployed app's observed behavior. * * - No key / deterministic path: all requirements return conforms='unknown', * verdict='insufficient-evidence'. Never fabricates verdicts. * - LLM path: each requirement is judged individually; untrusted text is * delimited and delimiter-neutralized before entering the judge prompt. */ export declare function validateSpecConformance(input: SpecValidationInput, options?: ValidateSpecConformanceOptions): Promise; //# sourceMappingURL=spec-conformance.d.ts.map