fix Β· git:20260827.8888114 Β· 2026-08-27 Β· sha256 2fe5bdfe8daab29e
fix git:20260827.8888114A
Immutable. This exact content never changes and is served at /api/v1/blob/2fe5bdfe8daab29e.
--- name: fix description: Plan-aware auto-fix loop after coding. Runs tests, lint, format, and graph checks. Updates plan task status. Use after execute/tdd. mcp: codebase-memory-mcp --- # /supergraph:fix Plan-aware auto-fix loop. Ensure tests pass, lint clean, format applied, graph risks handled. ## Usage `/supergraph:fix` | `/supergraph:fix plan auth-login` | `/supergraph:fix plan auth-login task 2` ## Steps ### 0. Announce "π§ /supergraph:fix β starting auto-fix loop..." ### 1. Select Plan Context 0 plans β skip | 1 β use | >1 β ask | `plan <slug>` β match. Read `## Environment Context`, fix scoped task or all in-progress/stuck tasks. ### 2. Get Commands Read from plan `## Environment Context` or `.supergraph-env` (set by `/supergraph:scan`). Missing β STOP, run scan first. Missing command β skip phase, report as `SKIP`. ### 3. Get Changed Files `git diff --name-only && git diff --cached --name-only`. Reindex `CBM_PROJECT` if stale (`index_status`β`index_repository`, see `references/codebase-memory-contract.md`) via `codebase-memory-mcp`. ### 3b. Serena pre-loop (optional): See `serena/SKILL.md:Setup`. If scan not run, call `initial_instructions`; `get_diagnostics_for_file` per changed file to catch type errors early. Skip if `SERENA_ACTIVE=false` or unavailable. ### 4. Auto-Fix Loop (max 3 iterations) At iteration start: "π§ Fix iteration N/3 β running tests..." | Phase | Action | |---|---| | Reproduce | Smallest failing cmd + expected vs actual | | Tests | Targeted tests else `$TEST_CMD`; fix source. **Dedup:** if same `HEAD_SHA` and last `PASS <120s` and `git diff` unchanged, reuse evidence; else rerun fresh (respects `verify` freshness guard) | | Serena fix | `get_diagnostics_for_file` + `replace_symbol_body`/`rename_symbol` (see `serena/SKILL.md`) | | Format+Lint | `$FORMAT_CMD`β`$LINT_CMD`; rerun lint if formatted | | Graph | Reindex `CBM_PROJECT` if stale (`index_status`β`index_repository`) β respect `scan: TTL 10m` (skip `index_repository` if fresh per `.supergraph-env`), then `codebase-memory-mcp` recipes `cycles/test-gaps/complexity/cross-boundary` | | Decide | All cleanβbreak else continue | ### 5. Update Plan Status (if plan exists) - Succeeded β `Status: completed` - Failed after 3 β `stuck` + append STUCK log - Never mark completed if tests or lint fail ### 6. Report ``` ## Auto-Fix Report - Iterations: N/3 | Tests: PASS|FAIL|SKIP | Lint: PASS|FAIL|SKIP | Format: PASS|SKIP - Graph: PASS|WARNING|CRITICAL | Plan status: updated|none - Issues: [list or "none"] Next: /supergraph:verify β /supergraph:review ``` ## Rules - Max 3 fix iterations - Never commit broken code - Never use `git add -A` - Never hide failures by weakening tests - Prefer source fixes over test edits - CRITICAL graph findings: fix or escalate - Warnings: fix or report - Prefer `mcp__serena__replace_symbol_body` for body fixes and `mcp__serena__rename_symbol` for renames when Serena is available