/** * The one evidence-tree resolver (T14058): which checkout a task's evidence * describes. Change-set binding ({@link resolveChangeSetRoot} in * change-set.ts) and typed-gate execution ({@link resolveTypedGateRoot} in * gate-runner.ts) both call {@link resolveEvidenceTree}, so a test-run bound * in one tree is never judged by typed gates run in another. * * @task T14058 */ import type { ChangeSetRootSource } from '@cleocode/contracts'; /** A resolved evidence tree and why it was chosen. */ export interface EvidenceTree { /** Toplevel of the checkout the evidence describes. */ root: string; /** Which tier chose it. */ source: ChangeSetRootSource; } /** * Resolve the tree a task's evidence describes: where its change set is read, * its test-runs are bound and its typed gates run. * * @param storeRoot - CLEO store root. * @param taskId - Task whose `task/` worktree may be the tree; null skips that tier. * @param cwd - Invocation directory. * @param env - Where the evidence declaration is read. * @param accept - Narrows the candidates (typed gates take only this project's * checkouts); the first accepted wins, else the store root. * @returns The tree and its source tag. * @task T14058 */ export declare function resolveEvidenceTree(storeRoot: string, taskId: string | null, cwd?: string, // CWD-OK: the invocation dir is the subject (gh#1220) env?: NodeJS.ProcessEnv, accept?: (root: string) => boolean): EvidenceTree; //# sourceMappingURL=evidence-tree.d.ts.map