fix: Phase 3 error visibility in supervisor pulse (t265)#1061
fix: Phase 3 error visibility in supervisor pulse (t265)#1061marcusquinn merged 1 commit intomainfrom
Conversation
- Replace 2>/dev/null with 2>>$SUPERVISOR_LOG for visibility - Wrap process_post_pr_lifecycle and process_verify_queue in if-blocks - Log error message before || true suppresses exit code - Phase 5 summary already runs unconditionally due to || true pattern
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
🔍 Code Quality Report�[0;35m[MONITOR]�[0m Code Review Monitoring Report �[0;34m[INFO]�[0m Latest Quality Status: �[0;34m[INFO]�[0m Recent monitoring activity: 📈 Current Quality Metrics
Generated on: Wed Feb 11 02:27:14 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |
|
WalkthroughThe supervisor helper script's Phase 3 and Phase 3b now explicitly handle and log errors from Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
No actionable comments were generated in the recent review. 🎉 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 |
…ntly swallows all errors. When Phase 3 crashes (e.g., infinite loop, DB error), the pulse produces no output after the header and exits with code 1, but the error is invisible. Fix: redirect stderr to `$SUPERVISOR_LOG` instead of `/dev/null`, and add a trap or wrapper that logs the error before `|| true` suppresses it. Also ensure Phase 5 (summary) always runs even if Phase 3 fails. #bugfix #supervisor #observability #auto-dispatch ~30m (ai:20m test:10m) model:sonnet ref:GH#1041 logged:2026-02-11|#1061)



Summary
Fixes #1041 — Phase 3 error visibility in supervisor pulse cycle.
Problem
When
process_post_pr_lifecycleorprocess_verify_queuefailed in Phase 3/3b of the pulse cycle, errors were silently swallowed by2>/dev/null || true. This made debugging impossible when Phase 3 crashed (e.g., infinite loop, DB error) — the pulse would exit with code 1 but produce no output after the header.Solution
2>/dev/nullwith2>>"$SUPERVISOR_LOG"for both Phase 3 and Phase 3bif ! ... then log_errorblocks to log failure messages before exit codes are suppressedif ! ... thenpattern (without early exit) ensures Phase 5 summary always executes even if Phase 3 failsChanges
.agents/scripts/supervisor-helper.sh: Modified Phase 3 and Phase 3b error handling (lines 9594-9606)Testing
Created and ran test script that simulates Phase 3 failure:
$SUPERVISOR_LOGinstead of/dev/nullImpact
Summary by CodeRabbit