import type { AgentIdentity, BoundaryArtifact, VerifiedHandoff } from './types.js'; export declare class CompositionVerifier { private cachedIndex; private codebaseRoot; constructor(codebaseRoot: string); /** * Verify an artifact at a composition boundary between two agents. * Returns a VerifiedHandoff with the verification result and handoff decision. */ verifyHandoff(sourceAgent: AgentIdentity, targetAgent: AgentIdentity, artifact: BoundaryArtifact): Promise; /** * Lightweight verification — regex-only, zero LLM calls. * Checks for common code quality issues using deterministic patterns. * Returns PARTIAL (not FAIL) on issues — lenient treatment for simple code. */ verifyHandoffLightweight(sourceAgent: AgentIdentity, targetAgent: AgentIdentity, artifact: BoundaryArtifact): Promise; /** * Fast verification — single LLM call that extracts AND verifies claims together. * Replaces the 3-call pipeline (extract → file-select → verify) with one combined call. */ verifyHandoffFast(sourceAgent: AgentIdentity, targetAgent: AgentIdentity, artifact: BoundaryArtifact): Promise; /** * Combined claim extraction + verification in a single LLM call. * Reads top key files from the codebase index for context, then asks one * LLM call to both extract implicit claims and verify each against the codebase. */ private extractAndVerifyClaims; /** * Extract a JSON array from LLM response (handles markdown fences). */ private extractJsonArray; /** * Verify cross-feature consistency: check that the architecture plan's * declared routes, pages, and schema entities exist in the actual codebase. */ verifyCrossFeature(plan: { apiRoutes: readonly { method: string; path: string; }[]; pages: readonly { path: string; }[]; schema: readonly { name: string; }[]; }): Promise<{ checks: { type: string; description: string; verdict: 'PASS' | 'FAIL'; evidence: string; }[]; passedCount: number; failedCount: number; }>; /** Invalidate cached codebase index after code changes. */ invalidateIndex(): void; private extractBoundaryClaims; private verifyClaims; private makeDecision; private makePassResult; private makeHandoff; private artifactToDocument; private getCodebaseIndex; private inferCategory; private inferSeverity; }