export interface JournalEvent { timestamp: string; event_type: string; summary: string; actor?: string; } export interface JournalResult { events: JournalEvent[]; phase: string | null; } export declare function readJournalEvents(gitRoot: string, changeId: string): Promise; export declare function writeSessionJournal(gitRoot: string, changeId: string, deps: { pathExists: (p: string) => Promise; readText?: (p: string) => Promise; }): Promise; export declare function suggestSpecPromotions(gitRoot: string, changeId: string, deps: { pathExists: (p: string) => Promise; readText?: (p: string) => Promise; }): Promise; export declare function applySpecPromotions(gitRoot: string, suggestions: string[], deps: { pathExists: (p: string) => Promise; }): Promise; export interface JournalInconsistency { severity: "error" | "warning"; reason: string; changeId: string; file: string; detail?: string; } /** * Scan all journal files across changes/ and .aiws/journal/, * cross-reference against active change directories, * and report inconsistencies. */ export declare function verifyJournalConsistency(gitRoot: string): Promise;