Overview
Thepipeline 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.
--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.