/** * Review Checklist Manager - Enforces review process for REVIEWING state * @requirement REVIEW-CHECKLIST-001 - Review checklist enforcement */ import { CompleteValidationResult } from './validator.js'; /** * Action definition for checklist item */ export interface ChecklistAction { type: 'command' | 'review' | 'check'; command?: string; files?: string[]; checks?: string[]; expected: { exitCode?: number; outputContains?: string[]; result?: string; }; } /** * Review checklist item - Actionable task for Cursor */ export interface ReviewChecklistItem { id: string; description: string; category: 'automated' | 'manual'; completed: boolean; completedAt?: string; notes?: string; action: ChecklistAction; verifyCommand?: string; checkCommand: string; } /** * Review checklist structure */ export interface ReviewChecklist { items: ReviewChecklistItem[]; completedAt?: string; validationResult?: CompleteValidationResult; } /** * Review Checklist Manager */ export declare class ReviewChecklistManager { /** * Create default review checklist */ static createDefaultChecklist(): ReviewChecklist; /** * Migrate old checklist format to new actionable format */ static migrateChecklist(oldChecklist: any): ReviewChecklist; /** * Run automated validation and mark item complete */ static runAutomatedValidation(): Promise<{ success: boolean; result?: CompleteValidationResult; error?: string; }>; /** * Execute action for a checklist item and verify result * Returns true if action passed and item can be marked complete */ static executeItemAction(item: ReviewChecklistItem): Promise<{ success: boolean; output?: string; error?: string; canMarkComplete: boolean; }>; /** * Get checklist as JSON for Cursor parsing */ static toJSON(checklist: ReviewChecklist): any; /** * Check if checklist is complete */ static isChecklistComplete(checklist: ReviewChecklist): boolean; /** * Mark checklist item as complete */ static markItemComplete(checklist: ReviewChecklist, itemId: string, notes?: string): ReviewChecklist; /** * Get checklist completion percentage */ static getCompletionPercentage(checklist: ReviewChecklist): number; /** * Display checklist status - Actionable format for Cursor */ static displayChecklist(checklist: ReviewChecklist): void; }