function ConditionalWorkflow() {
const [status, setStatus] = createSignal("running");
return (
<Ralph maxIterations={10}>
{status() === "running" && (
<Claude
onFinished={(result) => {
if (result.output.includes("CRITICAL")) {
setStatus("error");
} else if (result.output.includes("DONE")) {
setStatus("complete");
}
}}
>
Process the task.
</Claude>
)}
{status() === "error" && (
<Stop reason="Critical error detected" />
)}
{status() === "complete" && (
<Stop reason="Task completed" />
)}
</Ralph>
);
}