Process lifecycle management with supervisor pattern
- Update CLAUDE.md: document Detach, DisableCapture, ShutdownTimeout, auto-registration, graceful shutdown, and error handling conventions; add missing go-log and go-io dependencies - Replace ServiceError type in process_global.go with coreerr.E() sentinel errors for consistency with the rest of the package - Wrap raw error returns in Registry.Register, Registry.Unregister, and PIDFile.Release with coreerr.E() for proper context - Add tests for Service.Kill, Service.Output, Service.OnShutdown, Service.OnStartup, Service.RunWithOptions, Service.Running, Process.Signal, Daemon.Run (context cancellation), Daemon.Stop (idempotent), DisableCapture, Detach, env vars, exec.WithDir, exec.WithEnv, exec.WithStdin/Stdout/Stderr, exec.RunQuiet - Coverage: root 82.7% → 88.3%, exec/ 61.9% → 87.3% Co-Authored-By: Virgil <virgil@lethean.io> |
||
|---|---|---|
| .core | ||
| .idea | ||
| docs | ||
| exec | ||
| pkg/api | ||
| ui | ||
| .gitignore | ||
| actions.go | ||
| buffer.go | ||
| buffer_test.go | ||
| CLAUDE.md | ||
| daemon.go | ||
| daemon_test.go | ||
| global_test.go | ||
| go.mod | ||
| go.sum | ||
| health.go | ||
| health_test.go | ||
| pidfile.go | ||
| pidfile_test.go | ||
| process.go | ||
| process_global.go | ||
| process_test.go | ||
| registry.go | ||
| registry_test.go | ||
| runner.go | ||
| runner_test.go | ||
| service.go | ||
| service_test.go | ||
| types.go | ||