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

29 lines
2.5 KiB
Markdown

# /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.