/** * `cleo orchestrate spawn --include-deps` (T14045): the base a task branch * starts from when it builds on dependencies whose branches have not landed. * * The orchestrator merges each dependency's `task/` branch, `--no-ff`, into * a commit made in a TEMPORARY integration worktree under the project's * canonical worktree root; the primary checkout is never touched. The merge * commit is then handed to the `--base` path (T14027), so the resolved-sha * guard and the lifecycle audit apply as for any explicit base. Nothing is * cherry-picked or rewritten: every dependency commit stays reachable. * * @task T14045 */ /** One dependency branch folded into the integration commit. */ export interface IncludedDependency { /** Dependency task id. */ taskId: string; /** Its branch, `task/`. */ branch: string; /** The commit the branch pointed to when it was merged. */ sha: string; } /** The integration commit, or why none could be built. */ export type DependencyIntegration = { ok: true; /** Commit the task branch is created from (the last merge, or the base). */ sha: string; /** The base the merges started from, as named (`HEAD` when none). */ baseRef: string; /** The commit `baseRef` resolved to. */ baseSha: string; /** Every dependency merged, in dependency order. */ dependencies: IncludedDependency[]; } | { ok: false; /** `E_INCLUDE_DEPS_MISSING`, `E_INCLUDE_DEPS_DIVERGED` or `E_WORKTREE_BASE_INVALID`. */ code: string; message: string; fix: string; }; /** * Build the integration commit for `taskId` from its dependencies' branches. * * A dependency with no `task/` branch is refused (its work cannot be * shown to be in the base), as is one sharing no history with the base or * one whose merge conflicts. On success the base ref, its sha and each * dependency sha are appended to `.cleo/audit/worktree-integration.jsonl`. * The temporary worktree is always removed; no existing worktree is touched. * * @param projectRoot - The project's git checkout. * @param taskId - The task being spawned. * @param dependencies - Its dependency task ids, in order. * @param baseRef - Ref the merges start from (`--base`); HEAD when omitted. * @returns The integration commit, or the refusal. * @task T14045 */ export declare function buildDependencyIntegration(projectRoot: string, taskId: string, dependencies: readonly string[], baseRef?: string): Promise; //# sourceMappingURL=include-deps.d.ts.map