t1157: fix rc=1 pipeline errors from concurrent supervisor pulse cycles#1781
t1157: fix rc=1 pipeline errors from concurrent supervisor pulse cycles#1781marcusquinn merged 1 commit intomainfrom
Conversation
…e rc=1 errors (t1157)
Root cause: when two supervisor pulse cycles overlap, the concurrency guard in
run_ai_reasoning() returns 0 with empty stdout. run_ai_actions_pipeline() then
tries to parse the empty string as a JSON array, fails with 'expected array, got',
and returns rc=1 — logged as a pipeline error in the self-reflection context.
Fixes:
- ai-reason.sh: concurrency guard now outputs JSON sentinel
{"skipped":"concurrency_guard","actions":[]} instead of empty string
- ai-actions.sh: add defensive empty-output check before JSON type validation;
handle skipped sentinel as rc=0 (not rc=1); restructure error/skip detection
to use jq type check first, avoiding the 'expected array' false error
- ai-context.sh: improve pipeline error reporting with timestamps and context
so AI can distinguish historical vs. current errors
The 2 rc=1 errors in the self-reflection were caused by concurrent pulse cycles
(two runs starting at the same second: 16:40:11, 17:15:16, 17:31:15, 18:42:36).
This fix makes concurrent runs silently succeed (rc=0) instead of failing (rc=1).
Not a duplicate of t1125 (jq JSON parsing in action executor) — different code path.
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ✨ Finishing Touches🧪 Generate unit tests (beta)
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: Wed Feb 18 19:28:29 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |
|



Summary
run_ai_reasoning(), which returned 0 with empty stdout;run_ai_actions_pipeline()then failed to parse the empty string as JSON, returning rc=1Changes
{"skipped":"concurrency_guard","actions":[]}instead of empty stringRef #1739