Output Modes
Theoutput field on an agent step tells Gump what the agent will produce and how to handle it.
diff (default)
The agent writes or modifies code in the worktree. Gump captures the git patch after the agent finishes.output, Gump assumes diff. The result is a structured Diff Contract containing the base commit, head commit, patch, and list of changed files.
plan
The agent produces a JSON array of items. Gump parses it, validates the schema, and stores it in the state bag. Aforeach step can then iterate over the items.
.gump/out/plan.json. Each item has a name, a description, and optionally a files array (the blast radius).
no_write: true — the agent is prevented from modifying code files during planning.
artifact
The agent produces free-form text — an analysis, a decision, a specification. Gump stores the text in the state bag. No code changes expected..gump/out/artifact.txt. Other steps can reference the artifact via {steps.arbiter.output}.
Implicit guard: no_write: true.
review
The agent produces a JSON verdict: pass or fail, with a comment..gump/out/review.json:
pass is false, it triggers the step’s on_failure handler (same as a gate failure).
Implicit guard: no_write: true.
Implicit guards
Theplan, artifact, and review modes automatically enable no_write: true — the agent is killed if it writes files outside .gump/out/. This prevents a planning or review agent from accidentally modifying code. You can override this with guard: { no_write: false } if needed.