/** * Traceability types: AC definitions, references, and the coverage matrix * exposed via `aidlc gate --json` (traceability-ids AC-15). * * Design: design.md (traceability-ids) §Interfaces */ /** A single acceptance-criterion definition parsed from requirements.md. */ export interface AcDefinition { /** n in AC-n (≥1, no leading zeros). */ id: number; /** Owning instance name. */ instance: string; /** 1-based line number in requirements.md. */ line: number; status: 'active' | 'retired'; /** YYYY-MM-DD, present when retired. */ retiredDate?: string; /** AC number this criterion was superseded by, when stated. */ supersededBy?: number; } /** Parse result for one instance's requirements.md. */ export interface ParsedRequirements { /** First occurrence wins on duplicates (AC-4). */ defs: AcDefinition[]; /** Duplicates, near-misses, sequence gaps (AC-4, AC-22, AC-23). */ warnings: string[]; /** * Lines matching the loose AC pattern (defs + near-misses). Drives the * applicability tri-state (DD7): 0 → criterion silent; >0 with no defs → * warnings-only result. */ acShapedLines: number; } /** One AC reference found in a test file or coverage block. */ export interface AcReference { acId: number; /** Qualified instance name, or null for a bare token. */ instance: string | null; /** Posix-separated, project-root-relative path. */ path: string; /** 1-based line number. */ line: number; source: 'scan' | 'block'; } /** Per-AC row of the coverage matrix (AC-15). */ export interface AcCoverageEntry { id: number; status: 'covered' | 'uncovered' | 'retired'; /** Sorted by path (NFR4). */ refs: { path: string; source: 'scan' | 'block'; }[]; } /** Full traceability result attached to GateCheckResult (AC-15). */ export interface TraceabilityResult { /** Posix-separated, project-root-relative requirements.md path. */ requirementsPath: string; /** Sorted by id (NFR4). */ entries: AcCoverageEntry[]; /** Ordered by phase, then path, then line (NFR4). */ warnings: string[]; /** Active AC ids with zero references — drives gate failure (AC-11). */ uncoveredActive: number[]; } /** Coverage summary for the `aidlc status` column (AC-17). */ export interface CoverageSummary { covered: number; total: number; stale: number; } /** Tolerantly-read `traceability:` section of .aidlc/config.yaml. */ export interface TraceabilityConfig { /** Replaces the default test globs when present (AC-7). */ test_globs?: string[]; } //# sourceMappingURL=types.d.ts.map