fix(review): retry when an AI review response is missing its assessment - #7633
Conversation
runWorkersOpinion accepted the first structurally-parseable response even when the required assessment field was empty, so a model that returned valid JSON with blockers/nits but no narrative summary was treated as a success and published with no visible review text. Now a missing-assessment response is retried like a parse failure, with the best incomplete response kept as a last-resort fallback instead of surfacing a null review.
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Warning ⏸️ LoopOver review result - manual review recommendedReview updated: 2026-07-21 05:26:53 UTC
Review summary Nits — 5 non-blocking
Concerns raised — review before merging
📋 Copy for AI agents — paste into your coding agentDecision drivers
Context & advisory signals — never blocks the verdict
Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
Summary
runWorkersOpinionaccepted the first structurally-parseable model response even when the requiredassessmentfield was empty, so a review with blockers/nits but no narrative summary was published with a blank/missing summary instead of being retried.missing_assessmentdiagnostic status and retries exactly like a parse failure, keeping the best incomplete response as a last-resort fallback instead of ever surfacing a null review when budget runs out.Test plan
npx vitest run test/unit/ai-review.test.ts— 207/207 passingsrc/services/ai-review.ts: 100% of changed lines and branches covered (verified via lcovDA/BRDAagainst the diff hunks)npx tsc --noEmitclean