Run the review loop and read status¶
This guide shows how to run the MVP-1 creator/reviewer loop with the fake runner and how to interpret the podcast status output.
1. Run the loop¶
By default, podcast review uses the local Codex/Claude CLIs configured in episode.yaml or
~/.config/podcast-pipeline/config.yaml and writes protocol state under copy/protocol/<asset_id>/.
podcast review \
--workspace ./workspaces/ep_001 \
--episode-id ep_001 \
--asset-id description \
--max-iterations 3
If you do not have the CLIs installed, use the fake runner instead:
podcast review \
--fake-runner \
--workspace ./workspaces/ep_001 \
--episode-id ep_001 \
--asset-id description \
--max-iterations 3
Notes:
--workspacemust not exist; the command creates it.--asset-idmust match^[a-z][a-z0-9_]*$.Agent CLI configuration is documented in
reference/configuration.md.On convergence, the command prints the selected asset path.
Review iterations are written under
copy/reviews/<asset_id>/iteration_XX.<reviewer>.jsonwhen the reviewer label is set.The loop stops only when the reviewer returns
okand the creator reportsdone, or whenmax_iterationsis reached.
2. Inspect loop status¶
podcast status --workspace ./workspaces/ep_001
Example output:
Workspace: /absolute/path/to/workspaces/ep_001
Asset: description
Iteration: 2/3
Verdict: ok
Outcome: converged
Blocking issues: none
Outstanding issues: none
If no protocol state files exist, podcast status reports that no state was found under copy/protocol/.
3. Status fields¶
Asset: the asset id the loop is drafting.Iteration:current/max;0/maxmeans no iterations are recorded yet.Verdict: the latest reviewer verdict (ok,changes_requested,needs_human, ornone).Outcome:in_progress,converged, orneeds_human; a decision reason appears asOutcome: ... (reason=...).Blocking issues: count of issues withseverity=error.Outstanding issues: total issue count plus per-issue lines with severity, message, and optionalcodeorfield.