/** * Induction quality: frontmatter backfill + per-type induction depth audit (#1504). * * TS-native port of section9 `backfill_frontmatter.py` + `audit_inductions.py`. * The audit is **source-type-aware** (#1509): required-section checks come from * the source-type registry, so a blog isn't flagged for missing "Benchmark * Results" and a repo is checked for "Architecture"/"Maintenance Signals". This * is the audit consumer that demonstrates the #1509 registry end-to-end. * * Reconciles with `research-quality-audit` (GRADE evidence quality) and * `best-practices-audit` (corpus-wide best practices): this is the structural + * depth + per-type-section induction check, not a GRADE assessment. * * @source historical: corpus/audit_inductions.py, corpus/backfill_frontmatter.py * @tests @test/unit/artifacts/induction-audit.test.ts */ export interface AuditResult { ref: string; analysisExists: boolean; analysisLines: number; sidecarExists: boolean; pdfExists: boolean; pdfExcluded: boolean; sourceType: string; depthBand: string; missingSections: string[]; issues: string[]; } export interface AuditOptions { start?: number; end?: number; refs?: string[]; } export declare function auditInductions(root: string, opts?: AuditOptions): AuditResult[]; export declare function renderAudit(results: AuditResult[]): string; export interface BackfillResult { changed: string[]; skippedExisting: number; holdouts: Array<{ ref: string; missing: string; }>; } /** Additive frontmatter backfill: skips docs that already have frontmatter. */ export declare function backfillFrontmatter(root: string, opts?: { write?: boolean; date?: string; }): BackfillResult; export declare function renderBackfill(r: BackfillResult, write: boolean): string; //# sourceMappingURL=induction-audit.d.ts.map