fix: pulse monitoring loop heartbeat prevents watchdog kill#4587
fix: pulse monitoring loop heartbeat prevents watchdog kill#4587marcusquinn merged 1 commit intomainfrom
Conversation
The wrapper's progress detector kills the pulse session if the log file doesn't grow for 600s. The monitoring loop's sleep 60 produces no output, so the detector sees 'no progress' and kills a productive session. Adding an echo before each sleep keeps the detector happy while the LLM retains full control of dispatch decisions.
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
|
Caution Review failedPull request was closed or merged during review WalkthroughAdds a heartbeat log message to the monitoring loop's sleep step in the pulse script. The log line outputs cycle count, active/total worker counts, and elapsed time before the 60-second sleep interval, providing visibility into monitoring loop health and cadence. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
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 |
🔍 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: Sat Mar 14 04:16:25 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |
|



Summary
The wrapper's progress detector kills the pulse LLM session if the log file doesn't grow for 600s. The monitoring loop's
sleep 60produces no output, so after ~10 minutes of sleeping + checking slots, the detector sees "no progress" and kills a productive session. This causes the batch-and-idle pattern where workers dispatch, finish, and then nothing refills slots until the next full cycle.Fix: Add an
echoheartbeat line before eachsleep 60in the monitoring loop instructions (pulse.md). The LLM writes a one-liner with cycle number, active workers, and elapsed time — giving the watchdog the progress signal it needs while keeping all dispatch intelligence in the LLM.Evidence
Production logs show repeated
Pulse cold-start stalled for 600s — no first output — killingentries, followed byactive 0/24, deficit 100%on the next cycle. The monitoring loop was being killed before it could refill slots.Summary by CodeRabbit