-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Problem
When sweeper finishes a run with unfixed issues remaining, it exits with code 1 and prints:
Results: 68 fixed, 99 failed (1 rounds).
Summary: 2114 issues found, 68 fixed, 99 tasks failed
This looks like an error, especially when running inside other tools (e.g., Claude Code reports it as "failed with exit code 1"). There's no indication of why tasks failed or where to look for details.
Suggestion
- Distinguish partial success from actual errors in the exit summary. Something like:
Sweep complete: 68/116 tasks fixed (59% success rate), 99 tasks had unfixable issues.
Round 1: 2114 issues found, 68 resolved.
- Print the telemetry log path so users know where to find per-file error details:
Details: .sweeper/telemetry/2026-03-19.jsonl
The JSONL log already captures per-task errors (malformed patches, failed hunks, etc.) but there's no pointer to it in the CLI output. This is especially important for users running with alternative providers/models (e.g., --provider ollama) where failure rates may be higher and understanding why tasks failed helps inform model selection.
- Consider exit code 0 for partial success (or a separate exit code like 2 for "completed with remaining issues" vs 1 for "sweeper itself errored"). This would make it easier to distinguish "sweeper ran fine but couldn't fix everything" from "sweeper crashed."
Context
Ran sweeper run --provider ollama --model minimax-m2.7:cloud -- npm run lint on a TypeScript/React project with 2114 ESLint issues. The 99 failures were mostly malformed patches from the smaller model, which is expected behavior — but the CLI output made it look like sweeper itself failed.