2026-07-18 · Updated 2026-07-19 · 1 min read

Build auditable agent workflows with handoff

Preserve responses, stderr, manifests, and session IDs so later review does not depend on terminal scrollback.

By Juno AI INC · workflow-runner · session-handoff

An auditable workflow makes each process boundary visible: the rendered command, status, response, diagnostic stream, and session selected for follow-up.

Start from reviewed YAML

sh
./.juno_task/scripts/workflow_runner.sh --init-example agent-chain .juno_task/workflows/review.yaml
./.juno_task/scripts/workflow_runner.sh lint --workflow .juno_task/workflows/review.yaml
./.juno_task/scripts/workflow_runner.sh --workflow .juno_task/workflows/review.yaml --dry-run

Lint catches response/log template anti-patterns. Dry run writes rendered artifacts without executing steps.

Use the canonical response

For agent steps, pass {{ steps.<id>.response }} downstream. Successful stderr remains in artifacts and should not be treated as the answer. Empty successful agent output is failed so silent loss cannot masquerade as completion.

Decide how failure propagates

Workflow steps continue and the process exits zero by default. Add fail_workflow: true to validation or destructive boundaries that must halt automation.

Make handoff explicit

Detected agent commands capture session metadata. The final successful agent session is persisted for yy cc; top-level continue_from_step strictly selects another step. Diagnose a run before continuation:

sh
./.juno_task/scripts/workflow_runner.sh doctor .juno_task/specs/workflows/<workflow_id>/<run_id>
yy cc

Keep the manifest and response artifacts with review evidence. They are the record; tmux scrollback is only a view.