Skip to main content

Gate Reference

Complete reference for all gate types, their behavior, and resolution.

Shell alias gates

Resolution cascade: heuristic (project markers) → config (gump.toml) → inline (bash: gate).

compile

Behavior: required. Fails with an error if no command can be resolved.

test

Behavior: required.

lint

Behavior: optional. Skipped with warning if tool not available.

coverage: N

Runs tests with coverage and checks against threshold N. Behavior: optional. Skipped if tooling not available.

Structural gates

schema

Validates split output: JSON array, each item has name (string) and description (string), files optional array of strings.

touched: “glob”

At least one file matching the glob was modified. Glob matches on basename. Uses Go’s filepath.Match.

untouched: “glob”

No file matching the glob was modified. The inverse of touched.

tests_found

The test runner finds and recognizes tests. Different from test — doesn’t care if tests pass, only that they exist.

Custom gates

bash: “command”

Exit 0 = pass. Stderr captured as error context.

Workflow validator gates

validate: path/to/workflow

Invokes a workflow with type: validate. The workflow executes its own GET → RUN → GATE cycle and returns a bool. Inputs are provided inline:
Comments from the validator are accessible via {gate.review.comments} on retry.

Gate execution

All gates execute even if one fails (no short-circuit). The complete error context is available to the agent on retry.