Skip to content

fix(pid-recycling): detect recycled PIDs + add dev infrastructure#3

Merged
c-h- merged 1 commit into
mainfrom
fix/pid-recycling-and-ci
Feb 18, 2026
Merged

fix(pid-recycling): detect recycled PIDs + add dev infrastructure#3
c-h- merged 1 commit into
mainfrom
fix/pid-recycling-and-ci

Conversation

@c-h-

@c-h- c-h- commented Feb 18, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • BUG-1 fix: agent-ctl list showed stale sessions as "running" due to macOS PID recycling. Fixed by capturing process start time via ps -p <pid> -o lstart= and verifying it against session creation time — a process that started before a session was created can't be running that session.
  • Biome linting: Added @biomejs/biome with npm run lint / lint:fix / format
  • CI pipeline: GitHub Actions workflow running lint → typecheck → build → test on push/PR to main
  • Dev tooling: vitest config (excludes dist/), npm run typecheck, pre-push hook, release script, CLAUDE.md with project conventions

Test plan

  • 5 new PID recycling tests: recycled PID by cwd, recycled PID by args, legitimate match, missing startTime fallback, multi-session same project
  • All 37 tests pass (19 claude-code + 18 openclaw)
  • Lint clean, typecheck clean, build clean
  • Pre-push hook fires and passes

🤖 Generated with Claude Code

… dev infrastructure

BUG-1: Sessions showed as "running" when macOS recycled PIDs. Fixed by
capturing process start time (`ps -p <pid> -o lstart=`) and verifying it
against session creation time. A process that started before the session
was created cannot be running that session.

Also adds:
- Biome linting (check + format)
- `npm run typecheck` (tsc --noEmit)
- GitHub Actions CI (lint → typecheck → build → test)
- Vitest config excluding dist/ from test discovery
- Pre-push hook (.githooks/pre-push) running full CI checks
- Release script (scripts/release.sh)
- CLAUDE.md with project conventions and workflow docs

Co-Authored-By: Charlie Hulcher <charlie@kindo.ai>
@c-h- c-h- merged commit cc4a6cd into main Feb 18, 2026
1 check passed
@c-h- c-h- deleted the fix/pid-recycling-and-ci branch February 18, 2026 16:52
c-h- added a commit that referenced this pull request Feb 20, 2026
… dev infrastructure (#3)

BUG-1: Sessions showed as "running" when macOS recycled PIDs. Fixed by
capturing process start time (`ps -p <pid> -o lstart=`) and verifying it
against session creation time. A process that started before the session
was created cannot be running that session.

Also adds:
- Biome linting (check + format)
- `npm run typecheck` (tsc --noEmit)
- GitHub Actions CI (lint → typecheck → build → test)
- Vitest config excluding dist/ from test discovery
- Pre-push hook (.githooks/pre-push) running full CI checks
- Release script (scripts/release.sh)
- CLAUDE.md with project conventions and workflow docs

Co-authored-by: Doink (OpenClaw) <charlie+doink@kindo.ai>
c-h- pushed a commit that referenced this pull request Apr 4, 2026
Update actions/checkout and actions/setup-node from @v4 to @v6
in ci.yml, aligning with the publish workflow which already uses @v6.

Closes #2

Co-authored-by: Marshall (OpenClaw) <marshall@openclaw.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant