Execute a phase from the MMPF plan. Implements tasks with atomic commits, TDD when appropriate, and subagent delegation. Writes DONE.md with verification results on completion. Updates CLAUDE.md and /docs when appropriate. Use --chain to run all remaining phases without pausing. Trigger: "let's execute", "start phase", "build it", "execute all", "/mmpf-execute".
Run a phase from the plan with traceability and best practices.
Use --chain to execute all remaining phases without pausing between them. Each phase still gets full review and verification — chaining skips the pause, not the discipline.
.mmpf/STATE.md must exist with stage: executing or planning.mmpf/phases/If the user specifies a phase number, use that. Otherwise:
Read the phase's PLAN.md. Also read:
.mmpf/REQUIREMENTS.md for the requirements this phase covers.mmpf/RESEARCH.md for relevant context and decisionsPresent a brief summary: "Executing Phase N: <name>. <goal>. <task count> tasks."
Update .mmpf/STATE.md:
stage: executingphase: the phase numberupdated: today's dateFor each task in the PLAN.md:
Before starting the task:
references/testing-heuristic.md)Implement the task:
type[(scope)]: descriptionAfter completing the task:
If something goes wrong:
Spawn a Sonnet subagent to review the code changed during this phase. The subagent receives:
The subagent reviews for:
It classifies each finding by severity: high (likely bug or vulnerability), medium (potential issue), low (style or minor concern).
Handling findings:
When all tasks are complete (or the phase is being closed), create .mmpf/phases/NN-name/DONE.md:
See references/artifact-formats.md for the full format.
Spawn a Sonnet subagent to independently verify each truth from the PLAN.md. The subagent receives:
The subagent's job is to verify each truth through direct observation, not by trusting what DONE.md claims. For each truth, it should:
For each threat in the PLAN.md, the subagent verifies the mitigation is actually present:
The subagent returns its findings. Update DONE.md's "Truths Verified" and "Threats Verified" sections with the subagent's results.
If any truth or threat fails verification, report it to the user. Do not mark the phase as done until all pass or the user explicitly accepts the gap.
After successful execution, consider whether updates are needed to:
Only update these when genuinely appropriate. Do not add temporal entries ("we changed X on this date"). Document the current state, not the history.
Update .mmpf/STATE.md:
stage: executing with Next Step suggesting /mmpf-completeIf --chain was specified and more phases remain, go back to step 1 with the next phase. Do not pause to ask the user — proceed directly.
Stop chaining if:
high severity couldn't be auto-fixedreferences/testing-heuristic.md.