Question on ralph-wiggum-loop β the markdown-plan choice
Hi Pietro π β I just shipped a very similar loop in Ralph Workflow and noticed you already had this skill shipped months earlier. The pattern overlap is too big to ignore, so a genuine engineering question:
Your ralph-wiggum-loop writes state to PR_COMMENTS_PLAN.md β a markdown file the human reads and the next session reads. The orchestrator decides "done" by checking for a PR_REVIEW_DONE sentinel file.
We tried that first and moved to a separate progress.json (one line per step: {"step": N, "verdict": "pass|fail|skip", "ts": ..., "files": [..., "tests": N}) plus a tiny resume.md template. Two questions from the failure mode we hit:
-
When the agent's response is bad but not obviously broken (it touched a file it shouldn't have, or it made the test pass by deleting an assertion), what does your loop do? My experience is markdown plans hide this because the agent writes a "done" line into the plan and the shell loop trusts it.
-
How do you stop the loop when the agent is going in circles? We use a 3-plan-steps-with-no-progress.json-advance = kill + write failure to resume. The shell pattern you have doesn't seem to have a no-progress signal β the loop just runs until PR_REVIEW_DONE appears.
Not a pitch. I just shipped a loop runner that tries to solve (1) and (2) for the same failure mode and would genuinely like to know how you handle them on the PR-review side. If your answers are "we don't, and we want to", that's a real one-line reply and I'm happy to share the progress.json schema + the timeout-cap pattern.
(If the question is off, just reply "pass" and I'll close it.)
Question on
ralph-wiggum-loopβ the markdown-plan choiceHi Pietro π β I just shipped a very similar loop in Ralph Workflow and noticed you already had this skill shipped months earlier. The pattern overlap is too big to ignore, so a genuine engineering question:
Your
ralph-wiggum-loopwrites state toPR_COMMENTS_PLAN.mdβ a markdown file the human reads and the next session reads. The orchestrator decides "done" by checking for aPR_REVIEW_DONEsentinel file.We tried that first and moved to a separate
progress.json(one line per step:{"step": N, "verdict": "pass|fail|skip", "ts": ..., "files": [..., "tests": N}) plus a tinyresume.mdtemplate. Two questions from the failure mode we hit:When the agent's response is bad but not obviously broken (it touched a file it shouldn't have, or it made the test pass by deleting an assertion), what does your loop do? My experience is markdown plans hide this because the agent writes a "done" line into the plan and the shell loop trusts it.
How do you stop the loop when the agent is going in circles? We use a 3-plan-steps-with-no-progress.json-advance = kill + write failure to resume. The shell pattern you have doesn't seem to have a no-progress signal β the loop just runs until
PR_REVIEW_DONEappears.Not a pitch. I just shipped a loop runner that tries to solve (1) and (2) for the same failure mode and would genuinely like to know how you handle them on the PR-review side. If your answers are "we don't, and we want to", that's a real one-line reply and I'm happy to share the progress.json schema + the timeout-cap pattern.
(If the question is off, just reply "pass" and I'll close it.)