Files
claude-foundations/memory/skill-review-loop.md

2.5 KiB

/review-loop Skill

Purpose: Supervised delivery loop for planner-backed projects (agent-runtimes, hatchmate …): verify the item is still real → plan → spec → Sonnet tests → MiniMax code in a worktree → integrate → deploy → verify live, with an independent MiniMax review of every artefact until no CRITICAL/HIGH (cap 4 rounds). Codifies the 2026-09-13 program that shipped WIA-17c..f and PDIV (agent-runtimes item 824222cb holds every round).

Location: custom-claude-skills/skills/review-loop/SKILL.md.

Usage

/review-loop <uuid> [<uuid> …] [--from discover|plan|spec|tests|code|integrate|deploy]

Requires: MiniMax profile, mm-worktree-task and review-loop-run (small-scripts), cp-cli context for the project, gac, cluster access for the deploy stage.

How it works

  • Roles: supervisor (the session) adjudicates and gates; MiniMax verifies/reviews; Sonnet subagents write spec-ahead tests (xfail strict); MiniMax implements in its own git worktree via mm-worktree-task.
  • Gates: spec review clean → tests 0 xpassed / 0 errors → coder branch has an EMPTY git diff main...branch -- tests/ spec/ → target tests pass with --runxfail → MiniMax code review clean → test-merge branch with markers stripped, full suite green → ff main → [CI BUILD] [DEPLOY] → reproduce the original bug live → close the item with evidence.
  • Discovery first: most "open" planner records are stale; a MiniMax code check with cited evidence closes them before any work is planned.

Gotchas (learned the hard way)

  • Reviewers keep reporting "symbol does not exist" on spec-ahead artefacts — reject that class in the prompt or it eats every round.
  • Launch MiniMax detached via setsid nohup <script>; pkill -f 'MiniMax-M3' kills the invoking shell. Build prompts with Python, not sed (paths contain /).
  • A push to main during an in-flight [CI BUILD] run cancels it — re-trigger with an empty deploy commit.
  • Ordering bugs (memoised state created before the lifespan wires a dependency) only show in a test that drives create_app() + the real lifespan; unit tests with a bare app_state pass. Incident aa98d9fe.
  • Local scripts/generate-sdks.sh churns ~77 files from generator-version drift; revert unless a route/schema changed.
  • git worktrees, not subtrees — mm-worktree-task creates .claude/worktrees/mm-<slug> on branch mm/<slug>.

Used by: agent-runtimes (first run 2026-09-13); intended for any project with a cp-cli planner reference in its CLAUDE.md.