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

lsm / neokai / 25954359365 / 7
81%
dev: 81%

Build:
DEFAULT BRANCH: dev
Ran 16 May 2026 05:57AM UTC
Files 294
Run time 10s
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

16 May 2026 05:54AM UTC coverage: 17.927% (-0.02%) from 17.946%
25954359365.7

push

github

web-flow
feat: warmup SDK binary on daemon startup (#1912)

* feat: warmup SDK binary on daemon startup

Download/resolve Claude Code binary at daemon startup instead of first
query. Logs progress always (not gated by NEOKAI_VERBOSE). Non-fatal
on failure — resolveSDKCliPath() retries on first query.

* fix: defer SDK binary warmup to after server bind

Move warmup to after Bun.serve() so WS server accepts connections
before any potential download (~200MB, ~135s timeout). Add tests for
unsupported platform error path and mutex release behavior.

* fix: guard resolveSDKCliPath against concurrent warmup

Add warmupInProgress check in resolveSDKCliPath() to prevent duplicate
downloads if a query arrives while startup warmup is running.

* fix: add TTL-based negative cache expiry for SDK binary resolution

Negative cache expires after 60s so transient network failures
self-heal without daemon restart. Two new tests: TTL expiry and
recovery after TTL.

* fix: revert negative cache TTL, fix doc CLI flag

Revert negative cache TTL — permanent negative cache avoids periodic
request stalls in offline/firewalled environments. Self-healing on
daemon restart is acceptable. Fix doc: remove nonexistent --warmup-sdk
CLI flag, replace with volume mount and daemon-run guidance.

* docs: increase Docker warmup timeout to 180s

Resolver worst case is 15s metadata + 120s download + overhead.
Previous 120s timeout could kill daemon before download completes.

* fix: move warmup after all startup awaits, remove resolveSDKCliPath guard

Move setTimeout to just before return in createDaemonApp so it can't
fire during neoAgentManager.provision() or other async startup steps.
Remove warmupInProgress guard from resolveSDKCliPath — returning
undefined triggers SDK default resolution which fails in global installs.
Queries should run their own resolution instead.

* fix: move SDK warmup to CLI entry points after Bun.serve

Remove warmup from createDaemonApp — any await after setTimeout
(e... (continued)

14352 of 80060 relevant lines covered (17.93%)

9.35 hits per line

Source Files on job daemon-online-websocket - 25954359365.7
  • Tree
  • List 294
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 25954359365
  • 2438fd7f on github
  • Prev Job for on dev (#25953787248.27)
  • Next Job for on dev (#25954432999.24)
  • 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