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 |
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
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.