/** * Renders the extractor's output into the message `/learn` injects. * * The digest is evidence plus instructions, and the split matters: the numbers * come from {@link extractLearnDigest} and are not negotiable, while everything * the model does with them — phrasing, routing, deciding a pattern is not worth * a rule — is judgement it has to exercise. Counts are printed on every item * because "said in 5 of your last 12 sessions" is a decision the reader can * make in one keystroke, where "extracted from your session" is not. */ import type { AuditReport } from "./audit.js"; import type { LearnDigest } from "./extract.js"; /** True when there is nothing worth asking the model to look at. */ export declare function isEmptyDigest(digest: LearnDigest): boolean; /** * Render the audit findings as a message the model can act on. * * Deliberately framed as questions rather than verdicts. The checker is * deterministic and therefore confident, but "this path does not resolve" is * not the same claim as "this line is wrong" — a context file may name a * location the tool reads at runtime, or one that belongs to another checkout. * Roughly a third of findings on a real file are of that kind, so the message * that carries them has to ask for verification, not authorise a sweep. */ export declare function renderAuditReport(report: AuditReport): string; export declare function renderLearnDigest(digest: LearnDigest, options: { userScopePath: string; mode?: "incremental" | "all"; }): string; //# sourceMappingURL=digest.d.ts.map