Repository navigation
fix(findings-only): never drop an incomplete or failed result - #293
Merged
Merged
Conversation
Since #292, an adjudication that cannot be trusted sets the Chapel RepoResult verdict to "error" but leaves RepoResult.error empty. With --findingsOnly, a repository with zero weak points and that verdict was filtered out before reporting, so the incomplete result vanished. Chapel: hasFindings() in Protocol.chpl keeps weak points, a scan error, or any adjudication verdict other than pass; MassPanic's filter uses it. The two-repo smoke program checks every verdict case. Rust: assemblyline --findings-only had the same shape of hole, keeping only weak_point_count > 0 and so dropping repositories whose scan failed. It now keeps r.error.is_some() as well, via has_findings(), with a unit test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0136P7ZkERqsQWMogHRpM2z8
Contributor
|
Caution Review failedThe pull request is closed.
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
|
hyperpolymath
marked this pull request as ready for review
November 13, 2026 14:45
Codex Review Summary: ❌ FailedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Why
CodeRabbit raised this on #292 (comment 4563915280) after it had merged. Since #292, an untrustworthy adjudication (exit 2) sets the Chapel
RepoResult.verdictto"error"but leavesRepoResult.errorempty. The--findingsOnlyfilter inMassPanic.chplkept only results withweakPointCount > 0 || error != "". A repository with no weak points and an incomplete adjudication was therefore dropped before reporting, so an incomplete result vanished from the output. That contradicts #292's purpose.What
hasFindings(r)inchapel/src/Protocol.chplkeeps any result with weak points, a scan error, or an adjudication verdict other thanpass(error,fail,warn).--findingsOnlydrops only clean results.MassPanic.chpl's filter now uses this predicate.errorto be kept. Afailorwarnverdict with zero weak points is also something to report, so the rule is "drop only what's clean".assemblyline --findings-onlyhad the same kind of hole. It kept onlyweak_point_count > 0, so repositories whose scan failed (error: Some(..)) vanished. It now keeps those too, viahas_findings(), matching the Chapel side. Rust has no adjudication verdict, so that case doesn't arise there.Tests
chapel/smoke/two_repo_smoke.chplcheckshasFindingsfor every case:pass;error,fail,warn, weak points, scan error.findings_only_keeps_failed_scans_and_drops_clean_ones.cargo fmt --check,cargo clippy --all-targets -D warnings, assemblyline unit tests (4) andtests/assemblyline_tests.rs(6) all pass.chapel-ci.yml.MassPanic --findingsOnlyend to end with a real exit-2 adjudication. The smoke test covers the predicate, and the filter is a one-line call to it.Generated by Claude Code