/** * `bare-ac-in-tests` (report tier): a test that cites a criterion without naming its * instance (doctor-flags-bare-ac-in-tests/AC-2, doctor-flags-bare-ac-in-tests/AC-3, * doctor-flags-bare-ac-in-tests/AC-5). * * A bare `AC-n` counts toward coverage only while exactly one instance defines id n * (`traceability/matrix.ts`). It reads as fine on the day it is written and stops counting, * with nothing failing, the day a second instance defines the same id. `lessons.md` records * that five times. The gate warns only once the id is already ambiguous; this names every * bare reference before it gets there, so the registry is deliberately not consulted. * * **Same files as the gate.** The globs and the scanner are the gate's own, not a copy, so * doctor and the gate cannot disagree about which files count. Scanner warnings (rejected * globs, skipped files) are left to the gate: one condition, one voice. * * **Why `report`.** The remedy is choosing which instance a reference means, which doctor * cannot know, and a confirm tier would turn doctor's exit code red * (doctor-flags-bare-ac-in-tests/AC-3). * * **Capped at 20 lines** (doctor-flags-bare-ac-in-tests/AC-5). Uncapped, this repo printed * 862 lines on every doctor and update run, and a doctor block that scrolls is one nobody * reads. The header still counts every line and the tail says how many are not shown, as * `knowledge-stale-sources` does. Lines holding several ids print once with all of them. * * Reads `ctx.projectRoot`, not the primary checkout: test files are committed, so a branch is * judged on its own tree, as `knowledge-stale-sources` is. */ import type { Migration } from '../types.js'; /** Fixed, not configurable: requirements rule out a new config key. */ export declare const MAX_LISTED_LINES = 20; /** One test line holding at least one bare reference. */ export interface BareReferenceLine { /** Posix, project-root-relative — as the scanner emits it. */ path: string; line: number; /** Ids on that line, in the order they appear. */ ids: number[]; } /** * Every test line holding a bare reference, in scan order — sorted path, then line — so two * runs over one tree print the same report. */ export declare function bareReferencesInTests(projectRoot: string): BareReferenceLine[]; export declare const bareAcInTests: Migration; //# sourceMappingURL=bare-ac-in-tests.d.ts.map