Brutal Infinite Fix Loop
Run an uncapped material-correctness loop. “Infinite” removes arbitrary pass and
no-progress caps; it does not require polishing MINOR/NIT findings forever.
Source Skills
Read ../brutal-pr-review/SKILL.md and
../brutal-pr-finding-fixer/SKILL.md before starting. Follow their safety and
provider rules.
Convergence Contract
- Review every pass for CRITICAL, MAJOR, MINOR, and NIT findings.
- Continue while the fresh pass contains at least one CRITICAL or MAJOR.
- When material findings exist, publish and drain all four severities from that
pass. Lower-severity findings are worth fixing while a material cycle is
already required.
- Stop successfully when a fresh pass has zero CRITICAL and zero MAJOR.
- No findings at all:
completion_kind: zero_findings.
- MINOR/NIT only:
completion_kind: materially_clean. Put the residuals in
the review summary and task record; do not create actionable finding
comments for them.
- Do not impose a pass, elapsed-time, token, cost, commit, or no-progress limit.
- A hard source-skill guard stops
blocked; user interruption stops canceled.
Managed Phase Mode
Do not run the whole loop inside one Codex thread. Obey the supervisor's phase
snapshot and perform only that phase:
review: run one fresh material-convergence review and return a checkpoint
with base/head snapshot, review id, counts by severity, queue counts, and
residual MINOR/NIT findings.
fix: drain the complete generated queue for that review occurrence, verify,
push, and return a checkpoint.
The supervisor derives review -> fix when CRITICAL+MAJOR is nonzero and
review -> handoff otherwise. Never choose or request the next phase yourself.
Return the exact managed result and exit. Same-thread resume is only for an
interrupted attempt in the same phase.
Standalone Or Native Mode
- Reuse validated integrations and the exact open pull request when supplied;
otherwise resolve them through BRUTAL.md.
- Run one fresh
brutal-pr-review material-convergence pass.
- If CRITICAL+MAJOR is zero, stop with the appropriate completion kind.
- Drain every generated severity with
brutal-pr-finding-fixer until no
unhandled occurrence remains or a hard guard blocks.
- Re-resolve the pull request and latest head, even if no commit was made, and
return to step 2.
Progress updates contain only pass, base/head snapshot, severity counts,
fixed/skipped totals, commits, verification status, and blocker state. Redirect
verbose test, diff, and provider output to run-local temporary logs. Report
status and duration; on failure include only the last 200 lines or 16 KiB,
whichever is smaller.
Final Response
Report integrations, pull request, final base/head snapshot, total passes,
completion kind, counts fixed/skipped by severity, residual MINOR/NIT findings,
commits, verification, and final review id. On a hard stop, include the exact
blocker and remaining generated occurrences; never describe it as clean.
1---2name: brutal-inf-fix-loop3description: Review and fix an open pull request without a pass limit until a fresh review has no CRITICAL or MAJOR findings. When material findings exist, drain every severity opportunistically; a final MINOR/NIT-only pass is materially clean and may stop.4---56# Brutal Infinite Fix Loop78Run an uncapped material-correctness loop. “Infinite” removes arbitrary pass and9no-progress caps; it does not require polishing MINOR/NIT findings forever.1011## Source Skills1213Read `../brutal-pr-review/SKILL.md` and14`../brutal-pr-finding-fixer/SKILL.md` before starting. Follow their safety and15provider rules.1617## Convergence Contract1819- Review every pass for CRITICAL, MAJOR, MINOR, and NIT findings.20- Continue while the fresh pass contains at least one CRITICAL or MAJOR.21- When material findings exist, publish and drain all four severities from that22 pass. Lower-severity findings are worth fixing while a material cycle is23 already required.24- Stop successfully when a fresh pass has zero CRITICAL and zero MAJOR.25 - No findings at all: `completion_kind: zero_findings`.26 - MINOR/NIT only: `completion_kind: materially_clean`. Put the residuals in27 the review summary and task record; do not create actionable finding28 comments for them.29- Do not impose a pass, elapsed-time, token, cost, commit, or no-progress limit.30- A hard source-skill guard stops `blocked`; user interruption stops `canceled`.3132## Managed Phase Mode3334Do not run the whole loop inside one Codex thread. Obey the supervisor's phase35snapshot and perform only that phase:3637- `review`: run one fresh material-convergence review and return a checkpoint38 with base/head snapshot, review id, counts by severity, queue counts, and39 residual MINOR/NIT findings.40- `fix`: drain the complete generated queue for that review occurrence, verify,41 push, and return a checkpoint.4243The supervisor derives `review -> fix` when CRITICAL+MAJOR is nonzero and44`review -> handoff` otherwise. Never choose or request the next phase yourself.45Return the exact managed result and exit. Same-thread resume is only for an46interrupted attempt in the same phase.4748## Standalone Or Native Mode49501. Reuse validated integrations and the exact open pull request when supplied;51 otherwise resolve them through BRUTAL.md.522. Run one fresh `brutal-pr-review` material-convergence pass.533. If CRITICAL+MAJOR is zero, stop with the appropriate completion kind.544. Drain every generated severity with `brutal-pr-finding-fixer` until no55 unhandled occurrence remains or a hard guard blocks.565. Re-resolve the pull request and latest head, even if no commit was made, and57 return to step 2.5859Progress updates contain only pass, base/head snapshot, severity counts,60fixed/skipped totals, commits, verification status, and blocker state. Redirect61verbose test, diff, and provider output to run-local temporary logs. Report62status and duration; on failure include only the last 200 lines or 16 KiB,63whichever is smaller.6465## Final Response6667Report integrations, pull request, final base/head snapshot, total passes,68completion kind, counts fixed/skipped by severity, residual MINOR/NIT findings,69commits, verification, and final review id. On a hard stop, include the exact70blocker and remaining generated occurrences; never describe it as clean.