/** * `cleo tasks changeset [--test-plan]` — a task's change set and the * exact tests it owes, as data, for a goal runtime to act on (T13795). * * Nothing here is a second opinion: the change set and the testsPassed tool * runs and blockers come from {@link deriveTaskEvidence} (`cleo done --plan`), * the merged change from {@link taskChangeMergeState} (what `cleo complete` * judges), and the owed tests from {@link testRunRequirement}, the requirement * the `test-run:` binding judges a report against. * * @epic T13791 * @task T13795 */ import type { TaskChangeSetReport } from '@cleocode/contracts'; import { type EngineResult } from '../engine-result.js'; import { type DeriveTaskEvidenceOptions } from './done-plan.js'; /** * Report a task's change set, its commits and, with `testPlan`, the tests it * owes. Read-only: runs no tool and writes nothing. * * @param taskId - Task id. * @param opts - The `cleo done --plan` options, plus `testPlan`. * @returns The report, or the planner's refusal. * @example * ```ts * const r = await planTaskChangeSet('T123', { testPlan: true }); * if (r.success) r.data.testPlan?.files; // exact test files owed * ``` */ export declare function planTaskChangeSet(taskId: string, opts?: DeriveTaskEvidenceOptions & { testPlan?: boolean; }): Promise>; //# sourceMappingURL=changeset-plan.d.ts.map