Repository navigation
fix(parse): accept a minimal review object (no summary) as a clean review - #63
Conversation
…view
A reviewer on monorepo #7104 failed with "Harness output is not a review"
because glm-5.3, having nothing to report, emitted `{"highlights":[],
"diagram":""}` — a review-shaped object with no `summary`. The parser
hard-required a string `summary` and rejected the whole review, failing
the reviewer.
Loosen "recognizable review" to: an object carrying at least one review
key (summary/findings/concerns/highlights/diagram). A missing summary
defaults to "" (schema already defaults the arrays), so a minimal object
is an empty clean review. Unrelated JSON like {"status":"done"} carries
no review key and still fails; a non-string summary still fails.
task check green (494 tests, +5 parse cases).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
🔍 Loupe reviewcode✅ no issues · 1 file Relaxes parseReviewOutput's shape gate from 'string summary required' to 'at least one review key present', defaulting a missing summary to "" Run details
Last reviewed commit: docs✅ no issues · 1 file · This PR relaxes Run details
Last reviewed commit: Use |
Why
A reviewer on monorepo #7104 failed with
⚠️ ... Harness output is not a review. The harness (glm-5.3), having nothing to report, emitted:{"highlights":[],"diagram":""}a review-shaped object with no
summary. The parser hard-required a stringsummaryand rejected the whole thing, failing the reviewer instead of treating it as an empty clean review.Fix
"Recognizable review" now means an object carrying at least one review key (summary/findings/concerns/highlights/diagram). A missing
summarydefaults to""(the schema already defaults the arrays), so a minimal object = empty clean review. Guardrails kept: unrelated JSON like{"status":"done"}(no review key) still fails, and a non-stringsummarystill fails.task checkgreen (494 tests, +5 parse cases). Consumers get it via@main.🤖 Generated with Claude Code