/** * 进度账本 * * 来自 Superpowers 的核心机制: * 对话记忆在上下文压缩后不存活,账本是恢复进度的唯一可靠来源。 * * 账本记录每个任务的执行历史,包括: * - 完成状态和 commit range * - 修复轮次详情 * - 停放的发现(parked findings) * * 关键原则: * - 每个计划拥有独立的工作区目录 * - 账本第一行必须是计划文件路径(身份标识) * - 压缩后信任账本和 git log,而非自己的记忆 */ import type { LedgerEntry, FixRoundRecord, Finding } from './types.js'; import type { WorkflowState, WorkflowStage } from '../workflow-state.js'; export declare class Ledger { private entries; private planFile; private ledgerPath; private maxFixRounds; constructor(workspaceDir: string, planFile: string, maxFixRounds?: number); /** * 加载已有账本(如果存在) * 返回是否可以恢复(账本存在且匹配当前计划) * * 解析所有日志行,恢复完整状态(commits、fixRounds、parkedFindings), * 而不仅仅是 status。避免崩溃恢复丢失数据。 */ load(): boolean; /** * 初始化账本 */ initialize(): void; /** * 记录任务完成 */ recordComplete(taskNumber: number, commits: string, reviewClean: boolean): void; /** * 记录修复轮次 */ recordFixRound(taskNumber: number, round: FixRoundRecord): void; /** * 记录停放的发现 */ recordParkedFinding(taskNumber: number, finding: Finding, ruling: string): void; /** * 记录阻塞 */ recordBlocked(taskNumber: number, reason: string): void; /** * 记录次要发现(延迟处理) */ recordMinorDeferred(taskNumber: number, description: string): void; /** * 获取任务状态 */ getTaskStatus(taskNumber: number): LedgerEntry | undefined; /** * 检查任务是否已完成 */ isTaskComplete(taskNumber: number): boolean; /** * 获取下一个待执行的任务号 */ getNextPendingTask(totalTasks: number): number | null; /** * 获取所有延迟的次要发现(供最终审查参考) */ getDeferredMinors(): string[]; /** * 追加一行到账本文件 */ private appendLine; /** * 记录工作流状态标签 * * P2-14: 借鉴 Trellis 的 [workflow-state:xxx] 标签 */ recordWorkflowState(state: WorkflowState): void; /** * 获取最新的工作流状态 */ getLatestWorkflowState(): WorkflowState | null; /** * 记录阶段转换 */ recordStageTransition(stage: WorkflowStage, reason?: string): void; } //# sourceMappingURL=ledger.d.ts.map