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

lsm / neokai / 25846753320 / 19
81%
dev: 81%

Build:
DEFAULT BRANCH: dev
Ran 14 May 2026 07:04AM 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

14 May 2026 07:01AM UTC coverage: 18.64% (-0.05%) from 18.692%
25846753320.19

push

github

web-flow
fix: address P2 review comments on process cleanup (#1890) (#1896)

* fix: address P2 review comments on process cleanup (#1890)

Three fixes from post-merge review:

1. Watchdog: signal process groups (via pgid) when killing suspicious
   processes, reaching tool grandchildren that the parent may not have
   forwarded signals to.

2. AgentSession: aggregate no-PID exit promises alongside existing
   numeric-PID promises instead of overwriting processExitedPromise,
   which caused stop() to wait on the wrong promise during restart.

3. SessionManager: preserve exited root PIDs at the manager level when
   sessions are evicted from cache (interruptInMemorySession /
   unregisterSession), preventing ownership attribution loss before the
   15-minute retention window expires.

* fix: preserve live PID retention from actual exit time

Move preserveExitedRootPids to after cleanup() in interruptInMemorySession
so the retention window starts from actual process exit time, not eviction
time. cleanup() awaits process exit, so live PIDs will have transitioned to
the exited set with their real exit timestamps.

* fix: address four P2 review comments on PR #1896

1. Durable no-PID exit promises: store in noPidExitPromises array with
   self-cleaning on resolve; include in updateProcessExitedPromise() so
   later numeric-PID tracking never drops pending no-PID promises.

2. Live vs exited root distinction: SessionManager now maintains
   evictedLiveRootPids (Set) and evictedExitedRootPids (Map). Live PIDs
   are returned as live so collectDescendantPids doesn't skip them as
   PID-reuse false positives. Moved preserveRootPids to after cleanup()
   so retention starts from actual exit time.

3. Group kill error isolation: wrap killProcessGroup in its own try/catch
   so a throwing group killer doesn't prevent the fallback direct-PID
   SIGTERM.

Added regression tests for no-PID-first-then-numeric, multiple no-PID,
evicted live root in snapshot, and throwing killPr... (continued)

14731 of 79030 relevant lines covered (18.64%)

9.75 hits per line

Source Files on job daemon-online-git - 25846753320.19
  • Tree
  • List 294
  • Changed 6
  • Source Changed 6
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 25846753320
  • 2aece9db on github
  • Prev Job for on dev (#25836138429.22)
  • Next Job for on dev (#25867795621.4)
  • 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