ub-agents v0.1.15
Configuration · Stop labels

Configuration

Stop labels

A stop label pauses all work on an issue or pull request until a person removes it. You list them in ub-agents.yaml; the default is needs-human. Agents may set other labels, but never workflow labels (triggers, outcome labels and stop labels): the launcher applies those from the reported outcome.

stop-labels: [needs-human]

How an agent stops

Give the role an outcome that adds the stop label, and say in its instructions when to use it.

implementer:
  outcomes:
    handed-off: {add: [needs-review]}
    needs-human: {add: [needs-human]}

The agent reports that outcome with at least one ask. The launcher adds the label and posts an Action needed comment that lists each ask.

$ ub-agents report --outcome needs-human --summary "Storage policy unclear" \
  --action "Owner: choose local or cloud storage; recommend local."

Say when a person decides

The agent stops only where its instructions tell it to. Name the decisions that belong to a person, and who answers them, in the shared policy:

## Human decisions

@acme/maintainers answers scope and policy questions. Stop and ask before you:
- change a public API, a database schema or a dependency
- delete data or change permissions
- choose between designs the issue leaves open

Then say in each role file what that means for the role:

If the issue does not name the storage backend, or the change needs a
migration, report needs-human with one --action per decision.

Blocked runs

--status blocked also needs an ask but adds no label. The item waits for ub-agents retry, or for a new commit on a pull request.

Approvals

With approvals on, ub-agents also adds the stop label when an item needs a maintainer, with a comment saying what to do.

Resuming

Remove the stop label, then set the workflow label you want, or run ub-agents retry.

$ ub-agents retry 214 --reason "Chose local storage"

Rules

An outcome may add a stop label but never remove one. ub-agents check rejects it.