fix(review): mark judge infra failures inconclusive#240
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (7)
📜 Recent review details🔇 Additional comments (7)
WalkthroughThis PR unifies the treatment of "failed", "missing", and "unavailable" judge statuses as unavailable states throughout the judge panel rendering and decision logic. A new Possibly related PRs
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
Summary
COMMENTwithINCONCLUSIVE: judge infrastructure unavailablewhen available judges approve but expected judges fail or miss.REQUEST_CHANGESonly when an available judge actually rejects the code.Root cause
Cube treated missing judge decision files as a review rejection. That made infra failures look like code failures and turned partial approval panels into noisy
REQUEST_CHANGESreviews.Validation
pytest -q tests-> 512 passedpytest -q tests/cli tests/core tests/automation-> 511 passedpytest -q tests/cli/test_auto_approve_gate.py tests/cli/test_panel_summary.py tests/cli/test_peer_review_branch_summary.py-> 20 passedpytest -q tests/core/test_judge_panel_skip_approved.py tests/core/test_session_reset_on_stale.py tests/cli/test_auto_approve_gate.py tests/cli/test_panel_summary.py tests/cli/test_peer_review_branch_summary.py-> 61 passedruff checkon touched files -> no issuesmypyon touched runtime files -> no issuespython -m compileall -q python/cube-> passedgit diff --check-> passedOverview
Distinguishes infrastructure failures from code review rejections by treating missing/failed judge decisions as availability issues rather than code rejections. When expected judges are unavailable but available judges approve, the system posts an
INCONCLUSIVEcomment instead ofREQUEST_CHANGES.Key Changes
Judge Infrastructure Handling
"unavailable"status toJudgeRunStatustypefailed,missing, andunavailablestates uniformly in status renderingUNAVAILABLE (FAILED),UNAVAILABLE (MISSING), etc.Review Verdict Logic
_available_review_rejected()distinguishes actual code rejections from infrastructure failuresINCONCLUSIVE(COMMENT) when expected judges are missing but no available judge has rejectedREQUEST_CHANGESis only returned when an available judge explicitly rejects the codeBranch Review Alignment
_branch_review_decision_and_summary()helperPanel Summary Display
_is_unavailable_result()helper centralises unavailable state detection"inconclusive"branch for availability issuesTesting
INCONCLUSIVEbehaviour