Skip to main content

Documentation Index

Fetch the complete documentation index at: https://gump.build/docs/llms.txt

Use this file to discover all available pages before exploring further.

Workflow YAML Spec

Complete reference for every field in a Gump workflow file.

Root fields

FieldTypeRequiredDescription
namestringyesWorkflow identifier
max_budgetfloatnoMaximum cost in USD for the entire run
max_timeoutstringnoMaximum wall-clock duration (e.g., "30m")
max_tokensintnoMaximum tokens consumed for the entire run
stepslistyesOrdered list of steps
description and inputs from v0.0.3 have been removed. Inputs are deduced automatically.

Step fields

GET phase

FieldTypeDescriptionDefault
promptstringInstructions for the agent (inline or file path)Required if agent declared
contextlistFiles and commands injected into context[]
worktreestringread-write, read-only, noneDerived from type
sessionstring/objectnew or from: <step_name>new

RUN phase

FieldTypeDescriptionDefault
agentstringAgent to use, or pass to skip RUNRequired
guardobjectCircuit breakers during execution{}
hitlstringbefore_gate, after_gate, or true (alias)

GATE phase

FieldTypeDescription
gatelistOrdered list of checks, each producing pass/fail

RETRY

FieldTypeDescription
retrylistOrdered list of entries with conditions and overrides
retry[].exitintStop retrying (required — no exit = dry-run error)

Composition

FieldTypeDescription
typestringcode, split, validate (required)
eachlistMini-workflow per task (split only)
parallelboolParallelize tasks (on split) or group steps
stepslistSub-steps of a parallel group
workflowstringPath to a sub-workflow
withobjectInputs for a sub-workflow

Guard fields

FieldTypeDescription
max_turnsintKill if turns exceed this count
max_budgetfloatKill if step cost exceeds this (USD)
max_tokensintKill if tokens consumed exceed this
max_timestringKill if duration exceeds this. Alias: timeout
no_writeboolKill if agent writes outside .gump/out/

Gate values

ValueDescription
compileRun the compile command (auto-detected or config)
testRun the test command
lintRun the lint command (skipped if not available)
schemaValidate split output JSON format
tests_foundVerify the test runner finds tests
touched: "glob"At least one file matching glob modified
untouched: "glob"No file matching glob modified
coverage: NTest coverage ≥ N% (optional)
bash: "command"Custom shell command. Exit 0 = pass
validate: <path>Workflow validator (type: validate, output = bool)

Retry entry fields

FieldTypeDescription
attempt: NintApply from attempt N (sticky)
not: <gate>stringApply if the named gate failed
validate: <workflow>stringInvoke a validator; apply if true
exit: NintStop at attempt N → FATAL
agentstringOverride agent
sessionstringOverride session (e.g., new)
worktreestringOverride worktree (e.g., reset)
promptstringOverride entire prompt
withobjectInputs for a validate condition