| name | roborev:fix |
| description | Fix multiple review findings in one pass by discovering unaddressed reviews and addressing them all |
roborev:fix
Fix all unaddressed review findings in one pass.
Usage
$roborev:fix [job_id...]
Instructions
When the user invokes $roborev:fix [job_id...]:
1. Discover reviews
If job IDs are provided, use those. Otherwise, discover unaddressed reviews:
roborev fix --unaddressed --list
This prints one line per unaddressed job with its ID, commit SHA, agent, and summary. Collect the job IDs from the output.
If no unaddressed reviews are found, inform the user there is nothing to fix.
2. Fetch all reviews
For each job ID, fetch the full review:
roborev show --job <job_id>
3. Fix all findings
Parse findings from all reviews. Collect every finding with its severity, file path, and line number. Then:
- Group findings by file to minimize context switches
- Fix issues by priority (high severity first)
- If the same file has findings from multiple reviews, fix them all together
4. Run tests
Run the project's test suite to verify all fixes work:
go test ./...
Or whatever test command the project uses.
5. Record comments and mark addressed
For each job that was addressed, record a summary comment and mark it as addressed:
roborev comment --job <job_id> "<summary of changes>"
roborev address <job_id>
6. Ask to commit
Ask the user if they want to commit all the changes together.
Example
User: $roborev:fix
Agent:
- Runs
roborev fix --unaddressed --list and finds 2 unaddressed reviews: job 1019 and job 1021
- Fetches both reviews with
roborev show --job 1019 and roborev show --job 1021
- Fixes all 3 findings across both reviews, prioritizing by severity
- Runs tests to verify
- Records comments and marks addressed:
roborev comment --job 1019 "Fixed null check and added error handling" then roborev address 1019
roborev comment --job 1021 "Fixed missing validation" then roborev address 1021
- Asks: "I've addressed 3 findings across 2 reviews. Tests pass. Would you like me to commit these changes?"