/** * Pure mappers from the engine's `SpecGapResult` (camelCase) to the MCP * boundary shapes (snake_case). Kept side-effect-free so they can be unit * tested without spinning up the analyzer. * * Schema stability: field names here are draft-stable through 2026-08-31. * Additive changes are safe; renames/removals are breaking (bump major). */ import type { SpecGapResult } from 'circle-ir-ai'; /** Confidence at/above which a covered match is "covered" vs "partial". */ export declare const PARTIAL_CONFIDENCE_THRESHOLD = 0.7; export type RequirementStatus = 'covered' | 'partial' | 'uncovered'; export interface RequirementEvidence { function?: string; file?: string; span?: [number, number]; } export interface VerifyRequirement { id: string; status: RequirementStatus; evidence: RequirementEvidence; } export interface VerifyConformanceResult { alignment_score: number; requirements: VerifyRequirement[]; summary: string; } export type DriftKind = 'code_without_spec' | 'spec_without_code'; export interface Drift { kind: DriftKind; location: string; suggested_action: string; } export interface FindSpecDriftResult { drifts: Drift[]; } /** Map a `SpecGapResult` to the `verify_spec_conformance` output shape. */ export declare function toVerifyConformance(result: SpecGapResult): VerifyConformanceResult; /** Map a `SpecGapResult` to the `find_spec_drift` output shape. */ export declare function toSpecDrift(result: SpecGapResult): FindSpecDriftResult; //# sourceMappingURL=mappers.d.ts.map