export type JournalStatus = 'keep' | 'discard' | 'partial'; export interface JournalRow { task: string; hypothesis?: string; approach?: string; outcome?: string; status: JournalStatus; /** ΔC — complexity delta, e.g. "+12/-3" or "-". */ deltaComplexity?: string; notes?: string; } /** Local YYYY-MM-DD. */ export declare function journalDateStr(d?: Date): string; /** Path of today's dated journal file. */ export declare function journalFilePath(root: string, date?: Date): string; /** * Append one structured row to the current dated journal file (creating it with a * header if missing) plus one index line to .autodev/JOURNAL.md (deduped). * Pure file I/O — safe to call from the loop. Returns the dated file path. */ export declare function appendJournalRow(root: string, row: JournalRow, date?: Date): string; /** * Deterministically tally keep/discard/partial rows across all dated journal * files. Used by the journalLearn periodic pre-pass so the model gets a compact * digest instead of re-scanning every file by hand. Returns null when there is * nothing to tally (keeps the periodic prompt byte-identical to before). */ export declare function tallyJournal(root: string): { keep: number; discard: number; partial: number; total: number; recentDiscards: string[]; digest: string; } | null;