fix(prioritize): CSMA/CD rate-limit resilience for post-prioritize - #1487
Conversation
ceaaa26 to
a5a1981
Compare
Introduce a shared gh rate-limit helper and use it in post-prioritize.sh so project field updates and comment posting back off on 429/secondary limits. Co-authored-by: Cursor <cursoragent@cursor.com> Signed-off-by: Barak Korren <bkorren@redhat.com>
a5a1981 to
5aa5eb8
Compare
waynesun09
left a comment
There was a problem hiding this comment.
Review Squad Report — 6-agent review
Agents: 2x claude-coder, 2x claude-researcher, gemini-code-review, cursor-code-review
Verified findings: 1 CRITICAL, 3 HIGH, 6 MEDIUM (inline), plus 4 LOW / 3 INFO (not inline)
False positives removed: 7
Key finding
The cat "${combined}" bug (lines 201, 242, 279) silently swallows all non-retryable error output — confirmed by 4/6 agents. This should be fixed before merge.
LOW / INFO (not posted inline)
- LOW:
$RANDOMhas 15-bit entropy — parallel CI runners with sequential PIDs may produce identical jitter sequences - LOW: Shebang on sourced library is misleading (file is mode 100644, designed to be
sourced) - LOW:
>/dev/nullon fullsend post-comment suppresses debug output - LOW: Tests don't verify RICE score computation or that CSMA was actually invoked
- INFO: Other post-scripts (triage, code, retro) are unprotected — follow-up work
- INFO: CSMA/CD analogy is closer to CSMA/CA (WiFi 802.11) — implementation is sound regardless
- INFO: Test
BACKOFF_CAP_SEC=1prevents exercising real backoff math
Fix error emission, rate-limit detection, backoff timing, and run_cmd resource parameter; remove redundant slot calls; expand tests. Signed-off-by: Barak Korren <bkorren@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Site previewPreview: https://ec3d15e8-site.fullsend-ai.workers.dev Commit: |
ReviewFindingsNo findings. The CSMA/CD library is well-implemented with proper carrier-sense quota checks, inter-call jitter, and exponential backoff with rate-limit reset awareness. The three wrapper functions ( The integration into Test coverage is solid: unit tests for Scaffold bookkeeping is correct: |
waynesun09
left a comment
There was a problem hiding this comment.
All 8 review findings addressed in the fix commit. LGTM.
Summary
scripts/lib/github-api-csma.shwith carrier-sense quota checks, inter-call jitter, and exponential backoff on GitHub 429/secondary rate limits.post-prioritize.shfor project field updates and sticky comment posting.post-prioritize-test.shand register it inmake script-test.Test plan
bash internal/scaffold/fullsend-repo/scripts/post-prioritize-test.shmake script-testgo test ./internal/scaffold/... -run TestFullsendRepoFilesMade with Cursor