pub const DEFAULT_FLOW: &str = "stages:\n - name: build\n # An agent action takes its prompt from the ticket, never from here.\n action: agent\n # `commits` passes only when the process exits 0 *and* Sloop observes a\n # new commit on the run branch: an agent is never trusted to grade its\n # own work by exiting cleanly.\n result_check: { builtin: commits }\n - name: review\n # `reported` keeps SLOOP_SOCKET/SLOOP_TOKEN in the reviewer\'s environment so\n # it can call `sloop verdict`; without it the stage would pass whenever the\n # command exits 0, which `claude --print` always does.\n result_check: reported\n # `--allowedTools Bash` lets the reviewer run tests and `sloop verdict`;\n # without it `claude --print` cannot run any command. It deliberately omits\n # Write/Edit, so the reviewer can read and run but not rewrite the work.\n # `--` ends the variadic tool list so the prompt stays a positional.\n action:\n exec:\n - claude\n - --print\n - --allowedTools\n - Bash\n - --\n - \"Read .agents/sloop/prompts/review.md and follow its instructions.\"\n - name: merge\n # The merge builtin\'s own outcome is its verdict, so it takes no check.\n action: { builtin: merge }\n result_check: none\n";