#13 · more-itertools all_equal edge case
GitHubReference label SAFE · Model signal LOWER · Ranked a safe change as lower review priority.

ML evaluation · Developer tool
Coding-agent patches can look plausible while missing requirements or breaking adjacent code. PatchCheck tests whether a small verifier can help reviewers decide which PRs to inspect first.
Actual product
These five PRs demonstrate that the GitHub Action and Modal integration work in a real review flow. They are deployment examples, not a separate benchmark of generalization performance.
Reference label SAFE · Model signal LOWER · Ranked a safe change as lower review priority.

Reference label UNSAFE · Model signal HIGH · Ranked a risky change for immediate review.

Reference label SAFE · Model signal LOWER · Ranked a safe change as lower review priority.

A coding-agent patch can look reasonable while solving only part of an issue or breaking an adjacent path. Instead of calling a larger LLM again, I tested whether a small model that sees only the issue and candidate diff could provide a useful review-order signal.
A familiar held-out score does not describe a production review tool. I evaluated new repositories, unseen agent families, size-matched SAFE and UNSAFE pairs, and external data with the same protocol. The model does not decide correctness or automatically approve PRs.
A QLoRA adapter is trained on Qwen2.5-Coder-7B-Instruct with the issue description and candidate diff as its only input. Zero-shot predictions from the same frozen 7B model provide the control for measuring the effect of fine-tuning.
The verifier converts the sequence-likelihood difference between PASS and REVIEW into a risk percentile. A separate CPU analyzer checks API, authentication, dependency, exception, secret-like, and test-coverage changes. GitHub Actions runs the CPU checks, while a maintainer-gated Modal endpoint performs GPU inference.
Prompt, tokenizer, and score definition remain fixed. This isolates the change introduced by fine-tuning instead of comparing unrelated models.
The 1,000 same-task SAFE and UNSAFE pairs have similar changed-file counts and patch sizes. The score cannot rely only on treating larger patches as more dangerous.
A learned ranking signal and a deterministic code finding carry different meanings. They remain separate in the review UI instead of being presented as one correctness probability.
ROC-AUC decreased from familiar data to new repositories and new agents. Shortcut-controlled hard cases measured 0.5972 and the external set measured 0.6540. Every split exceeded the frozen zero-shot control, but the external unsafe PR-AUC confidence interval included zero, so the improvement is not presented as conclusive.
Uncertainty uses 10,000 paired nonparametric bootstrap samples over frozen seed-17 predictions. It describes evaluation-sample uncertainty, not training-seed variance.