import { Evidence, EvidenceSource } from '../models/evidence'; /** * Evidence grader for determining evidence grades and managing sources. * Implements the No-Claim-Without-Source rule. */ export declare class EvidenceGrader { /** * Grades evidence as FACT. * FACT: directly derivable from DB/ADR/Code-Symbol/Toolcall (with structured sources). * * @param sources Structured sources * @param description Optional description * @returns FACT evidence */ gradeAsFact(sources: EvidenceSource[], description?: string): Evidence; /** * Grades evidence as INFERRED. * INFERRED: derived from multiple facts (all sources must be listed as structured sources). * * @param sources Structured sources (all facts used for inference) * @param description Optional description * @returns INFERRED evidence */ gradeAsInferred(sources: EvidenceSource[], description?: string): Evidence; /** * Grades evidence as HEURISTIC. * HEURISTIC: best-practice without system evidence (must be explicitly marked). * * @param sources Optional structured sources (may be empty for pure heuristics) * @param description Description of the heuristic * @returns HEURISTIC evidence */ gradeAsHeuristic(sources?: EvidenceSource[], description?: string): Evidence; /** * Automatically grades evidence based on source count and type. * * Rules: * - Single direct source (DB_QUERY, STATUS_CHECK, ADR, MODULE, SYMBOL) → FACT * - Multiple sources → INFERRED * - No sources → HEURISTIC (with warning) * * @param sources Structured sources * @param description Optional description * @returns Graded evidence */ autoGrade(sources: EvidenceSource[], description?: string): Evidence; /** * Validates evidence and throws if invalid. * * @param evidence Evidence to validate * @throws Error if evidence is invalid */ validate(evidence: Evidence): void; /** * Checks if text claims "from documentation" without sources. * This violates the No-Claim-Without-Source rule. * * @param text Text to check * @param evidence Evidence attached to the text * @returns true if violation detected */ checkNoClaimWithoutSource(text: string, evidence?: Evidence): boolean; /** * Ensures HEURISTIC evidence is explicitly marked. * * @param evidence Evidence to check * @returns true if HEURISTIC is properly marked */ isHeuristicMarked(evidence: Evidence): boolean; /** * Grade code analysis evidence. * DETERMINISTIC only when source code was retrieved and verified. * * @param args Analysis arguments * @returns Graded evidence */ gradeCodeAnalysis(args: { source_snippet_retrieved: boolean; source_hash_verified: boolean; analysis: string; }): Evidence; } //# sourceMappingURL=evidence-grader.d.ts.map