import type { RepoInfo } from "../../github/client.mts"; import type { PollSummaryStackAncestry } from "../../types.mts"; import type { ShepherdReport } from "../../types/report.mts"; /** * A verified stale boundary for the PR being shepherded. * * The aggregate stack read is authoritative for this check: it compares the * child's recorded base OID with the current head OID of its immediate open * parent. GitHub can report both PRs CLEAN while this boundary is stale. */ export interface StaleNativeStackAncestry extends PollSummaryStackAncestry { instructions: string[]; } /** * Find a stale immediate parent boundary for one PR. * * This helper is intentionally read-only. A null result means either the PR is * not a non-root native-stack layer, its boundary is current, or the boundary * could not be verified. Callers must not emit a repair command from an * unverified snapshot. */ export declare function findStaleNativeStackAncestry(report: Pick, repo: RepoInfo): Promise;