docs(review): skip the challenger when there are no findings - #1009
docs(review): skip the challenger when there are no findings#1009guyoron1 wants to merge 5 commits into
Conversation
Functional tests did not runFunctional tests run automatically for org/repo members and collaborators on pull requests. For other contributors, a maintainer must add the |
PR Summary by QodoSkip challenger dispatch when review findings are empty
AI Description
Diagram
High-Level Assessment
Files changed (1)
|
Code Review by Qodo
1.
|
|
Code review by qodo was updated up to the latest commit c302b85 |
|
/review |
PR Reviewer Guide 🔍Warning
Here are some key observations to aid the review process:
|
|
/agentic_review |
|
Code review by qodo was updated up to the latest commit 7cf0f6a |
|
Hello! Could you attach transcripts so we can see how bad it is the challenger? So find multiple no findings reviews and scan their transcripts with the "analyze-transcript" skill on |
waynesun09
left a comment
There was a problem hiding this comment.
Review findings (2 inline comments, both MEDIUM).
|
/agentic_review |
|
Code review by qodo was updated up to the latest commit dfcd074 |
|
/agentic_review |
|
Code review by qodo was updated up to the latest commit c76ba43 |
c76ba43 to
28c2610
Compare
|
/agentic_review |
|
Code review by qodo was updated up to the latest commit 28c2610 |
The challenger is an opus dispatch whose only inputs are the merged findings from steps 6a-6c; on a clean PR it adjudicates an empty list at the cost of a serial opus call and latency segment. Skip the dispatch when the set is empty and proceed straight to the verdict - the empty-findings approval path is unchanged. The skip is noted in the orchestrator's own reasoning for auditability; there is no field for it in the strict agent-result.json schema and it does not belong in the posted review body. Signed-off-by: guy oron <goron@redhat.com>
… sets Address review findings on the challenger-skip change: - The empty-findings branch told the orchestrator to proceed straight to the verdict, bypassing the orchestrator-only checks (6e) that run after the challenger and can add findings on their own (protected paths, scope authorization, PR metadata). Reword so only the challenger dispatch is skipped and the workflow continues through 6e, 6e-1, and 6f; the no-findings approval applies only when the set is still empty after those checks. - The re-review dispatch rule and examples still listed the challenger unconditionally. Clarify that step 6d's condition is the current review's 6a-6c findings — prior findings alone do not qualify it — and mark the example rows accordingly. Signed-off-by: guy oron <goron@redhat.com>
…allenger mention Address round-3 review findings: - The skip rationale cited a sub-agent-failure "info finding below", but the dimension-failure finding is recorded in step 5 above (high for Opus-tier, info for Sonnet-tier) and keeps the 6a-6c set non-empty, so the "regardless of why the set is empty" case was unreachable and the citation pointed at the challenger-failure fallback instead. State it correctly: a failed dimension cannot produce an empty set, and an empty set means every dispatched dimension came back clean. - Remaining unconditional challenger language contradicted the findings-gated rule: qualify the 3c parallelism note and the 6d opener, and define the adjudicated set (challenger output, or the unchanged 6a-6c set on skip or failure fallback) once in 6d so 6e, 6e-1, and 6f no longer presume the challenger ran. Signed-off-by: guy oron <goron@redhat.com>
…inding The adjudicated-set definition said a challenger failure leaves the 6a-6c set unchanged, but 6d step 4's fallback also records an info-level sub-agent-failure finding; as written the definition would drop it before 6e-6f. On failure the adjudicated set is the 6a-6c findings plus that recorded finding. Signed-off-by: guy oron <goron@redhat.com>
28c2610 to
c122fdf
Compare
|
@rh-hemartin Can't produce that from here — I don't have a runner with org access to execute real reviews against fullsend-ai/fullsend, and there's no skill literally named If you can point me at a handful of recent real "no findings" review runs (or grant this a runner), I'll pull and analyze the actual transcripts rather than guess at the challenger's false-positive rate. |
Conflict in skills/pr-review/SKILL.md (3c paragraph): main reworded risk-assessment as composed in 3c-2 among the parallel sub-agents; this branch gates the challenger on step 6d. Kept both. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: guy oron <goron@redhat.com>
Head branch was pushed to by a user without write access
|
Oh, he meant this skill: https://github.com/fullsend-ai/fullsend/tree/main/skills/analyze-transcript (from the fullsend-ai/fullsend repo). You should be able to scrape the gh workflow runs history in this repo and the other one to find cases that support this change - even without org membership. All those logs are public. |
Heyaa : )
Noticed the challenger — a serial opus dispatch whose only inputs are the merged findings — runs even on a clean PR, where it adjudicates an empty list for real money and latency.
Two hunks in
skills/pr-review/SKILL.md:sub-agent-failurefinding. Dispatch mechanics, output parsing, and the fallback-on-failure path are untouched.Verdict logic unchanged — an empty set approved before and approves now. The skip is noted in the orchestrator's own reasoning trace, not the review body: step 7 forbids footers and the result schema is
additionalProperties: false, so there's no honest place for it in the output — auditable in the transcript, invisible to the PR author.One trade-off, disclosed rather than buried: this forfeits the challenger's secondary, explicitly not-owned allowance to flag something it happens to notice while reading the diff. Exercising that on every clean PR would mean re-reading the whole diff each time — exactly the cost this skip exists to remove.
Prompt-only change; the challenger exists only on the claude review path, so this is complete for the only path that has one to skip.
Refs #1144