• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

lsm / neokai / 27851418725 / 27
82%
dev: 82%

Build:
DEFAULT BRANCH: dev
Ran 19 Jun 2026 10:36PM UTC
Files 354
Run time 9s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

19 Jun 2026 10:33PM UTC coverage: 18.825% (-0.05%) from 18.879%
27851418725.27

push

github

web-flow
feat(github): rate-limit-aware polling and gate-hook retry (#2119)

* feat(github): rate-limit-aware polling and gate-hook retry

Github event extension polling now parses X-RateLimit-Remaining/Reset on
every response, defers the next poll past the reset window when remaining
drops below 10 or GitHub returns 403/429, and aborts the current cycle so
additional budget is not burned against an exhausted quota. The next poll
is scheduled via a new scheduleNextPollAfter helper that takes the reset
delay into account.

pr-ready validator classifies gh CLI failures by stderr pattern. Rate-limit
errors trigger a follow-up gh api /rate_limit probe to derive retryAfterMs
and return retryable_block, so the workflow engine backs off instead of
re-running the validator on every action dispatch. Non-rate-limit failures
still hard-block.

gate-script-executor surfaces a rateLimited flag on GateScriptResult when
stderr matches the rate-limit patterns; gate-evaluator propagates it on
GateEvalResult so callers can react to GitHub budget exhaustion.

Adds shared rate-limit-detector util for stderr pattern matching and
retry-after computation, with unit tests for each layer.

* feat(github): wire rateLimited consumer end-to-end

Propagate the rateLimited signal through the full delivery path so bash
gate scripts that hit GitHub HTTP 403 no longer cause agent retry storms.

- gate-script-executor sets retryAfterMs (defaults to RATE_LIMIT_MIN_BACKOFF_MS)
  alongside the existing rateLimited flag
- gate-evaluator forwards both onto GateEvalResult
- channel-router canDeliver / deliverMessage thread rateLimited + retryAfterMs
  through GateResult and ChannelGateBlockedError
- agent-message-router result includes rateLimited + retryAfterMs on
  ChannelGateBlockedError catch
- send_message tool surfaces explicit retry guidance in error text and
  structured rateLimited / retryAfterMs fields so agents can back off
  instead of re-dispatching on the next tick

Also addresses revi... (continued)

20254 of 107592 relevant lines covered (18.82%)

9.84 hits per line

Source Files on job daemon-online-rpc-1 - 27851418725.27
  • Tree
  • List 354
  • Changed 13
  • Source Changed 12
  • Coverage Changed 13
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 27851418725
  • 439cf8f6 on github
  • Prev Job for on dev (#27848419266.13)
  • Next Job for on dev (#27853891521.1)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc