skip to content

The resolve-merge prompt

The whole text of config/agent-prompts/resolve-merge.md, as an agent is handed it.

Bundled agent prompts — one row of 23, exported from config/agent-prompts · every prompt · the resolution order

What this prompt is

id resolve-merge the key every tier, every pattern step and every override spells it by
kind stage instruction whether any bundled pattern hands it to an agent step
role build the harness role the agent reading it runs under
stage resolve the stage of a run it is handed at
bundled at config/agent-prompts/resolve-merge.md where the built-in copy sits in Gantry's own tree
pattern role stage
merge build resolve

Where an override of it goes

tier the file to write what it is
run
consulted 1st
.gantry/<plan>/prompts/resolve-merge.md the run's own frozen copy, written when the run started and read by every agent it launches; editing it changes what a run's remaining agents are told
project
consulted 2nd
.gantry/<plan>/resolve-merge.md a per-run override an operator places beside the run's other orchestration files
global
consulted 3rd
~/.config/gantry/agent-prompts/resolve-merge.md the materialized global mirror; it overrides the built-in once its bytes differ from the built-in's
built-in
consulted 4th
config/agent-prompts/resolve-merge.md the default compiled into the binary

The text

config/agent-prompts/resolve-merge.md
You are resolving {{MERGE_STATE}} in THIS worktree. The home branch advanced under a long run, and its tip has been merged into the run branch `{{BRANCH}}` here.

{{CONFLICT_CONTEXT}}

Gantry merges the home branch's tip into the run branch inside the worktree, and both sides survive. Where they cannot both survive, the home branch wins — an operator who changed it after the run started did so knowing the run was in flight, so that intent post-dates the plan's. A path the home branch has and the run branch never touched is not a conflict and is never removed.

Resolve the integrated tree in this worktree. Treat this as semantic reconciliation as well as textual conflict cleanup; do not satisfy one side by dropping one side's behavior. If preserving both sides is genuinely ambiguous and would require a human product decision, say so clearly instead of guessing. Otherwise repair the integrated tree and stage the resolution with `git add` so the merge shows as resolved; do not commit it yourself — Gantry writes the merge commit. Work only in this worktree: do not run any merge yourself and do not touch any other checkout. Do not change unrelated code.