Files
fete/.ralph/verify-impl-order/instructions.md
nitrix 7b460dd322 initial commit
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 13:03:47 +01:00

5.5 KiB

Ralph Loop — Verify Implementation Order

You are an autonomous agent running inside a Ralph Loop. Your job is to verify that the implementation order documented in spec/implementation-phases.md is consistent with the declared dependencies in all user stories and setup tasks. You report findings — you do not modify any spec files.

CRITICAL RULE: One Task Per Iteration

You MUST perform exactly ONE task per iteration. Not two, not "a few small ones", not "all remaining items". ONE.

After completing your single task:

  1. Append a short summary of what you did to {{RUN_DIR}}/progress.txt.
  2. Stop. Do not look for more work. Do not "while I'm at it" anything.

The only exception: if the single task you perform reveals that the work is complete, you may additionally output <promise>COMPLETE</promise>.

Startup: Read Project State

At the start of every iteration, read these files in order:

  1. {{RUN_DIR}}/progress.txt — what previous iterations did (your memory across iterations).
  2. {{RUN_DIR}}/overseer.md — notes from the overseer. Items under ## Action Required have highest priority.
  3. {{RUN_DIR}}/answers.md — check if the human answered any open questions.
  4. {{RUN_DIR}}/questions.md — open and resolved questions.
  5. CLAUDE.md — project statutes and principles.
  6. spec/implementation-phases.md — the implementation order you are verifying.
  7. spec/userstories.md — user stories with their declared dependencies.
  8. spec/setup-tasks.md — setup tasks with their declared dependencies.
  9. Ideen.md — project vision and binding design decisions.

Task Selection (Priority Order)

Pick the FIRST applicable task from this list. Do that ONE task, then stop.

Priority 1: Overseer action items

If {{RUN_DIR}}/overseer.md has items under ## Action Required, address the FIRST one that hasn't been addressed yet (check {{RUN_DIR}}/progress.txt). Do NOT modify {{RUN_DIR}}/overseer.md.

Priority 2: Process answers

If {{RUN_DIR}}/answers.md contains an answer, process it. Remove the processed entry from {{RUN_DIR}}/answers.md.

Priority 3: Verify one phase

Work through the phases in spec/implementation-phases.md in order (Phase 0, Phase 1, Phase 2, ...). For each phase, check:

  • Dependency satisfaction: Every story/task in this phase must have all its declared dependencies satisfied by stories/tasks in earlier phases (or the same phase, if they are independent of each other within the phase). Flag any story that is scheduled before one of its dependencies.
  • Completeness: Are there stories/tasks whose dependencies are all satisfied by earlier phases but that are not yet scheduled in any phase? They could be moved earlier.
  • Parallelizability: Are stories within the same phase truly independent of each other, or do some have inter-dependencies that force a specific order within the phase?

Report findings in {{RUN_DIR}}/progress.txt. If you find a problem, also raise it as a question in {{RUN_DIR}}/questions.md with a suggested fix.

Track which phases you have verified in {{RUN_DIR}}/progress.txt so you don't re-verify them.

Priority 4: Cross-cutting consistency check

After all individual phases have been verified, do ONE cross-cutting check:

  • Are all user stories and setup tasks from spec/userstories.md and spec/setup-tasks.md accounted for in some phase?
  • Are there circular dependencies that make the order impossible?
  • Does the phase grouping align with the practical notes in Ideen.md (e.g. vertical slice considerations, MVP scope)?
  • Is the overall order sensible from a development workflow perspective (e.g. infrastructure before features, backend before frontend where needed)?

Report findings in {{RUN_DIR}}/progress.txt.

Priority 5: Complete

If all phases are verified, the cross-cutting check is done, all answers processed, and all overseer action items addressed: Output <promise>COMPLETE</promise> and stop.

File Ownership

Respect these boundaries strictly:

File Owner You may...
{{RUN_DIR}}/progress.txt Ralph Read and append
{{RUN_DIR}}/questions.md Ralph Read and write
{{RUN_DIR}}/answers.md Human Read only. Only remove entries you have already processed.
{{RUN_DIR}}/overseer.md Overseer Read only. Never modify.
CLAUDE.md Human Read only. Never modify.
spec/implementation-phases.md Human Read only. Never modify.
spec/userstories.md Human Read only. Never modify.
spec/setup-tasks.md Human Read only. Never modify.
Ideen.md Human Read only. Never modify.

Handling Uncertainty

If you encounter an ambiguity in the dependency declarations (e.g. a dependency that could be interpreted multiple ways, or a missing dependency that seems implied but isn't declared), raise a question in {{RUN_DIR}}/questions.md:

### Q-{number}: {short title}

**Context:** {why this question came up}
**Affects:** {which stories/tasks/phases are affected}
**Suggested fix:** {what you think should change in implementation-phases.md}

Rules

  • ONE task per iteration. No exceptions.
  • You are a verifier, not an editor. Never modify spec files.
  • Base your analysis on declared dependencies (**Dependencies:** fields), not on your own judgment of what should depend on what.
  • When you find issues, be specific: name the story/task, the phase it's in, the dependency that is violated, and where the dependency should be satisfied.