Forced Verification
If the agent loop exhausts all iterations without completing verification (e.g., formatting, linting, type checking, tests), GitAuto forces a verification run as a final step. This ensures no PR ships without at least one quality check.
Why This Exists
An agent might spend all its iterations writing code and fixing issues, never reaching the verification step. The agent gets caught in loops - fixing one test breaks another, fixing that breaks a type check, and so on. Without forced verification, the PR would be created with untested, unformatted, potentially broken code. Users would merge a PR thinking it passed quality checks when none were ever run.
Why Models Skip Verification
There is no guarantee the model will call verification tools at the end of its run. Models tend to forget multi-step workflows - they focus on the immediate task (writing and fixing code) and skip the final verification step. Even with explicit instructions to verify, the model may get caught in fix loops and never reach it, or simply stop after the code looks correct to it. Benchmarks evaluate the generated code directly, not whether the model ran verification. There is no training reward for "I checked my work."
How It Works
GitAuto tracks whether verification has been completed during the agent session. If the iteration counter reaches the limit and verification has not run, GitAuto adds a forced verification step outside the normal iteration count. This step runs the project's formatter, linter, type checker, and test suite. The results are included in the PR description so reviewers can see the verification status, even if some checks failed.
Related Features
- Formatting - one of the verification steps that gets forced
Need Help?
Have questions or suggestions? We're here to help you get the most out of GitAuto.
Contact us with your questions or feedback!