/** * Backfill module: retroactively add AC and verification metadata to * existing tasks that were created before T058 (AC enforcement) and * T061 (verification gate auto-init). * * Usage: * backfillTasks(root, { dryRun: true }) -- preview only * backfillTasks(root, {}) -- apply changes * backfillTasks(root, { rollback: true }) -- revert backfill * * @packageDocumentation * @epic T056 * @task T066 */ /** Options for backfillTasks(). */ export interface BackfillOptions { /** Preview changes only — do not modify the database. Default: false. */ dryRun?: boolean; /** Revert a previous backfill (remove auto-generated AC + verification). Default: false. */ rollback?: boolean; /** Restrict backfill to specific task IDs. Default: all tasks. */ taskIds?: string[]; } /** Summary of what was (or would be) changed for a single task. */ export interface BackfillTaskChange { taskId: string; title: string; addedAc: boolean; generatedAc: string[]; addedVerification: boolean; addedNote: boolean; /** Populated during rollback: fields that were cleared. */ rolledBack?: string[]; } /** Overall result returned by backfillTasks(). */ export interface BackfillResult { dryRun: boolean; rollback: boolean; tasksScanned: number; tasksChanged: number; acAdded: number; verificationAdded: number; changes: BackfillTaskChange[]; } /** * Generate 3 baseline acceptance criteria from a task description. * Uses simple text analysis — no LLM required. * * @remarks * Extracts action verbs from the title + description to produce contextually * relevant criteria. Falls back to generic criteria when no verbs match. * * @param title - The task title * @param description - The task description * @returns Array of 3 acceptance criteria strings * * @example * ```ts * generateAcFromDescription('Fix login bug', 'Users cannot log in'); * // => ['The defect is resolved...', 'No breaking changes...', 'Changes verified...'] * ``` */ export declare function generateAcFromDescription(title: string, description: string): string[]; /** * Retroactively populate AC and verification metadata for tasks that lack them. * * @remarks * In dry-run mode, computes changes without writing to the database. * Backfilled tasks are tagged with a note so they can be identified and * optionally rolled back later. * * @param projectRoot - Project root directory (cwd for CLEO operations) * @param options - Backfill options (dryRun, rollback, taskIds) * @returns Summary of changes applied (or previewed in dry-run mode) * * @example * ```ts * const result = await backfillTasks('/my/project', { dryRun: true }); * console.log(result.changed); // number of tasks that would be modified * ``` */ export declare function backfillTasks(projectRoot: string, options?: BackfillOptions): Promise; //# sourceMappingURL=index.d.ts.map