gatelineAPI reference
  • Fold a worker-pushed harvest branch into the run branch as the sole writer (run "runner-agent" ADR-3/ADR-4): fetch the branch the remote worker pushed to origin, rebase its commit(s) — harvest.base is the recorded parent, the run tip the dispatch was armed at — onto the current run tip, CAS the run branch ref, then delete both the local and origin harvest-branch refs. A rebase conflict means overlapping file-contact surfaces — a plan defect — and returns conflict: true so the caller escalates, exactly as foldTaskBranch's conflict path does. The origin harvest branch is deleted only once the fold actually lands (review-04.md round-2 F9): on a conflict or CAS exhaustion, the pushed work is the only surviving copy of a paid dispatch and stays on origin for the escalated human to recover, rather than being deleted alongside the failure. Call under the engine's per-run write lock.

    Parameters

    • repoDir: string
    • runBranch: string
    • harvest: { base: string; branch: string }

    Returns Promise<FoldResult>