/** * Which mechanism produced the change, so a regression can be traced back to * the matching strategy that made it. The fuzzy tiers are the ones under * suspicion: they place an edit the model did not describe exactly. */ export type EditSource = "span" | "text" | "indent_flex" | "blank_edges" | "dotdotdot" | "write"; export interface EditRegression { filePath: string; /** Error count before the change; only recorded when it grew. */ before: number; after: number; source?: EditSource; } /** Test seam: redirect the log and forget the resolved path. */ export declare function setEditTelemetryPathForTests(filePath: string | undefined): void; /** * Append one valid→invalid transition to a local JSONL log. * * Records the file's EXTENSION rather than its path or contents: the question * this answers is "which edit strategies break which languages", and the answer * does not need anything identifying to be useful. * * Best-effort and synchronous-but-tiny: telemetry must never fail an edit, so * every error is swallowed. */ export declare function recordEditRegression(entry: EditRegression): void; //# sourceMappingURL=edit-telemetry.d.ts.map