fix(triage): defer malformed cloud replies#2415
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 (2)
📝 WalkthroughWalkthroughTriage evaluator now treats malformed classifier JSON replies as retryable cloud failures. Parse errors on both initial and retry cloud arms return ChangesCloud Parse Failure Retry Handling
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 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. Comment |
Summary
TriageOutcome::Deferredwhen no local arm is available.[composio][triage] run_triage failederror events.Problem
Composio trigger triage runs in a background task. The first malformed cloud classifier reply was retried, but a malformed reply on
CloudAfterRetrybecameArmError::Fatal. That returnedErrfromrun_triage, causing the Composio subscriber to emit the Sentry-grouping error log from #2322.Solution
Cloud parse failures are now handled like other retryable cloud failures: retry once, then exhaust the cloud arm and continue to local/Deferred. Local parse failure remains fatal inside the local arm, which the outer chain already converts into a deferred outcome.
Submission Checklist
## Related— N/A: no matrix feature ID touched.Closes #NNNin## Related.Impact
Tests
cargo fmt -- --check— passed.git diff --check— passed.cargo test --lib double_cloud_parse_failure -- --nocapture— attempted; blocked locally by missing libclang forwhisper-rs-sysbefore tests could run.Related
AI Authored PR Metadata (required for Codex/Linear PRs)
Linear Issue
Commit & Branch
codex/2322-composio-triage-guard9caae7a9baf55abcb4e3f6d0033a93b25ac1efedValidation Run
pnpm --filter openhuman-app format:check— N/A: no frontend changes.pnpm typecheck— N/A: no TypeScript changes.cargo test --lib double_cloud_parse_failure -- --nocapture— attempted, blocked by local toolchain dependency below.cargo fmt -- --checkpassed;git diff --checkpassed.Validation Blocked
command:cargo test --lib double_cloud_parse_failure -- --nocaptureerror:Unable to find libclang: couldn't find any valid shared libraries matching: ['clang.dll', 'libclang.dll']; set LIBCLANG_PATHimpact:Local Windows environment cannot buildwhisper-rs-sys; CI should run the focused Rust tests in an environment with libclang available.Behavior Changes
Errafter the retry; they continue to local fallback or deferred outcome.Parity Contract
Duplicate / Superseded PR Handling
Summary by CodeRabbit
Bug Fixes
Tests