/** * "Wait out interference" (algorithm.md): before a remote run is retried * after an interference verdict, wait until the shared working tree is * stable. v1 approximates "every agent reached its stable checkpoint" * with QUIESCENCE: the tree's change signature — `git status --porcelain` * (which files differ) plus `git diff --numstat` (how much they differ) — * sampled until two consecutive samples agree. Agents mid-edit or * mid-regeneration keep moving that signature; agents parked at a green * cycle's end do not. * * Deliberately interface-compatible with a future checkpoint-instrumented * implementation. The wait is time-bounded: on timeout it resolves with a * loud warning rather than deadlocking the run — the re-run's own verdict * (and its budget) remains the real control. */ import type { TreeCoordination } from "./coordination.js"; export interface QuiescenceOptions { repoRoot: string; sampleIntervalMs?: number; requiredStableSamples?: number; maxWaitMs?: number; sleep?: (ms: number) => Promise; } export declare function quiescentTreeCoordination(options: QuiescenceOptions): TreeCoordination;