/** * Resolve the coordination root from path evidence only. * * This path-only resolver deliberately does not inspect live producer state. * Code that reads or writes coordination authority must use * `resolveCoordRoot()` from `agents/coord-client.ts`, which disambiguates * nested coordination roots through the registered session. Keeping the two * responsibilities separate lets configuration and other path-only consumers * avoid loading the event recorder and its contract graph. * * Resolution precedence (see `resolveCoordRoot` for the full rationale): * 1. HARNERY_COORD_ROOT_OVERRIDE — explicit pin (tests, git hooks). * 2. The adapter's project dir (CLAUDE_PROJECT_DIR) — hook processes inherit * the session's *shell* cwd, which follows `cd` into subdirectories or * submodules that may carry a `.harnery/` of their own (or none at all, * e.g. a journal dir under /tmp). The session's coordination home is the * project the adapter opened, not wherever the shell happens to sit. * 3. The nearest enclosing `.harnery/`. * 4. A git-derived root when no `.harnery/` exists yet. */ export declare function findCoordRoot(start?: string): string | null; /** Nearest enclosing directory carrying `.harnery/`, or null. */ export declare function nearestCoordRoot(start: string): string | null; /** Every enclosing directory carrying `.harnery/`, nearest first. */ export declare function ancestorCoordRoots(start: string): string[]; /** * Git-derived roots carrying `.harnery/`, in superproject-first order. * * Spawns use `start` as cwd so a call about another checkout cannot inherit * this process's repository. The common-dir fallback recovers a superproject * from a submodule worktree, where Git reports no direct superproject path. */ export declare function gitCoordRoots(start: string): string[]; export declare function gitToplevel(start: string): string | null; //# sourceMappingURL=coord-root.d.ts.map