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

lsm / HyperNeo / 32165535261
79%

Build:
DEFAULT BRANCH: dev
Ran 18 Aug 2026 05:27PM UTC
Jobs 0
Files 0
Run time –
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

pending completion
  cancel
32165535261

push

github

web-flow
test(daemon): floor online idle waits at SDK cold-start bound (#2563)

* test(daemon): floor online idle waits at SDK cold-start bound (#1000)

The four one-off online-matrix failures on PR #2549's CI runs (features-b
x2, space-a, sdk; 2026-08-16/17) all shared one signature: "Timeout
waiting for processing state idle" from waitForIdle, on runtime-identical
heads, each clearing on rerun. The daemon logs show why — the wait itself
is condition-based (event + polling fallback), but the mock-mode budgets
callers pass assume warm SDK subprocesses. CI cold starts ran 20.5-29.1s
to first SDK response (sdk shard) with turns in flight 13-14s (space-a),
against per-file idle budgets of 5-15s. The daemon's own startup watchdog
(30s pin) was never the binding constraint; the tests were.

waitForIdle now clamps every budget to a floor of
HYPERNEO_SDK_STARTUP_TIMEOUT_MS + 10s settle margin (40s for test
daemons): a session cannot return to idle before its subprocess
cold-starts and the turn settles, so a tighter budget asserts a timing
the daemon itself does not promise. The floor is a minimum, not a fixed
wait — warm turns still resolve immediately (verified: all nine touched
suites pass with unchanged durations).

Two coherence fixes alongside, both evidence-derived from the failed
runs: mock SETUP_TIMEOUT rises to 20s (teardown of a still-busy daemon
takes up to ~15s — 5s session.delete race + 10s waitForExit race — so
10s hook budgets turned every failed idle wait into a second
hook-timeout failure; task-agent-lifecycle's existing 20s showed no such
double failures), and mock TEST_TIMEOUT rises to 60s (90s for multi-turn
suites) so the vitest bound does not preempt the floored wait.

Also documents the daemon-online flaky-registry policy
(docs/flaky-test-registry.md): keep zero registered entries — retry and
quarantine would hide exactly the load sensitivity these flakes carry —
and record the CI headroom verdict (job-level timeouts were never the
constraint: ... (continued)
Source Files on build 32165535261
Detailed source file information is not available for this build.
  • Back to Repo
  • Github Actions Build #32165535261
  • f214deb3 on github
  • Prev Build on dev (#32141561324)
  • Next Build on dev (#32174920112)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc