/** * Documentation gap analysis - ported from lib/validation/gap-check.sh * * Finds documents in review status, analyzes topic coverage against * canonical docs, and produces gap reports. * * @task T4524 * @epic T4454 */ export interface ManifestDoc { id: string; file: string; title: string; topics: string[]; linked_tasks: string[]; status: string; } export interface GapEntry { type: string; severity: string; document: string; topic: string; fix: string; } export interface CoverageEntry { document: string; topic: string; } export interface GapReport { epicId: string; timestamp: string; reviewDocs: ManifestDoc[]; gaps: GapEntry[]; coverage: CoverageEntry[]; status: 'no_review_docs' | 'ready_to_archive' | 'gaps_detected'; canArchive: boolean; } /** * Parse a manifest JSONL content string into entries. * Skips invalid JSON lines gracefully. * @task T4524 */ export declare function parseManifest(content: string): ManifestDoc[]; /** * Find documents in review status. * @task T4524 */ export declare function findReviewDocs(entries: ManifestDoc[], filterId?: string): ManifestDoc[]; /** * Extract markdown headings from file content. * @task T4524 */ export declare function extractTopics(content: string): string[]; /** * Search for topic coverage in a docs directory. * Returns count of matching files. * @task T4524 */ export declare function searchCanonicalCoverage(topic: string, docsFileContents: Map): { topic: string; matches: number; files: string[]; }; /** * Analyze documentation coverage for review documents. * @task T4524 */ export declare function analyzeCoverage(reviewDocs: ManifestDoc[], docsFileContents: Map, filterId?: string): GapReport; /** * Format a gap report for human-readable display. * @task T4524 */ export declare function formatGapReport(report: GapReport): string; //# sourceMappingURL=gap-check.d.ts.map