Skip to content

Question on the ralph-wiggum-loop skill: markdown-plan vs JSON state, and the going-in-circles caseΒ #2

@mistlight

Description

@mistlight

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:

  1. 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.

  2. 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.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions