/** * Traceability gate criterion (FR4): computed live at the command layer * after `evaluateGate`, following the knowledge-criterion precedent — it * therefore evaluates even when phase state is `complete` (AC-11) and never * touches `evaluateGate`'s contract (DD1). * * Applicability tri-state (DD7): * null phase ≠ testing, phase-testing.yaml absent, or * zero AC-shaped lines (AC-3, AC-13) * result, empty entries only near-misses — warnings surface (AC-22) * result with entries ≥1 valid definition — full evaluation * * Requirements: traceability-ids/AC-3, AC-11..AC-15 */ import type { ParsedRequirements, TraceabilityConfig, TraceabilityResult } from './types.js'; /** * Files that may carry an `ac-coverage` block, MOST-AUTHORITATIVE FIRST: * * 1. the testing phase's REQUIRED artifacts, per the instance's resolved template * (so a project-local template override under `.aidlc/templates/` is honoured); * 2. `testing.md` — legacy fallback for instances written under the old hardcoded * path. Kept for AC-11, not for new use. * * Required-only, deliberately: `phase-testing.yaml` also lists OPTIONAL artifacts * (9 of 17 instances on disk name `coverage-report.md`), and reading a coverage block * out of a coverage report would be surprising and wrong. `phase-testing.yaml` does * not mark which entries are required, so the required set comes from the template. * * Resolution happens here rather than through a new parameter because * `evaluateTraceabilityCriterion` has four call sites (`cache.ts`, `commands/gate.ts`, * `commands/transition.ts`) and changing its signature would touch all of them. */ export declare function coverageSources(projectRoot: string, instanceName: string): string[]; /** Message template callers use for unsatisfied criteria / violations. */ export declare function uncoveredMessage(acId: number): string; /** Tolerant reader for the optional `traceability:` config section (AC-7). */ export declare function loadTraceabilityConfig(projectRoot: string): TraceabilityConfig | null; /** * Parse every instance's requirements.md — the registry backing the bare- * reference uniqueness rule (AC-24, D5). Reads by explicit path; the * scanner's `.aidlc` exclusion governs test discovery only. */ export declare function loadRegistry(projectRoot: string): Map; /** * Evaluate the traceability criterion for one instance. * * @returns null when the criterion does not evaluate (AC-3, AC-13); otherwise * a result whose `uncoveredActive` entries the caller turns into * unsatisfied criteria / gate violations via {@link uncoveredMessage}. */ export declare function evaluateTraceabilityCriterion(projectRoot: string, instanceName: string, phaseName: string): TraceabilityResult | null; //# sourceMappingURL=gate-criterion.d.ts.map