Skip to main content

Overview

The pipeline commands work directly against the authoritative .rstack run state — no Business Hub, no host framework required. The harness never calls models itself: run and loop advance every model-free step (validation, retries, stage bookkeeping) and stop with an explicit reason whenever an agent or a human is needed.
All three accept --project <path> (defaults to the current directory) and --run-id <runId> (defaults to the latest run).

Commands

pipeline status

Show pipeline status for the latest or selected run, with one recommended next action.

pipeline run

Advance the run from current state: skip DONE work, validate active contracts, re-claim retryable failures, and stop at every human gate.
Exit codes: 0 when the run stopped on complete, dry_run, missing_contract (a builder packet awaits agent execution), or max_steps. Any other stop — a pending approval, a question for a human, a blocked retry policy — exits 1, so CI can distinguish “needs a human” from “complete”.

pipeline loop

Bounded goal loop: advance the run, evaluate the goal after each pass, reset only the recommended stages, and go again — until the goal PASSes, a human gate stops it, or a bound is spent.
The loop checks the run budget before every iteration and stops with an explicit reason: complete (goal met), pending_approval, ask_user, blocked, blocked_retry_policy, missing_contract, max_iterations, no_progress, budget_exhausted, or evaluation_error. Exit codes: 0 only when the goal was met (complete) or on --dry-run. Every other stop means the goal is unmet or a human is needed, and exits 1. Goal definitions and ready-made recipes: docs/loop-recipes.md. Run state, contracts, and guardrail internals: docs/HARNESS.md.