Commit graph

17 commits

Author SHA1 Message Date
Virgil
c31f3faa2b Tighten process package API contracts 2026-04-04 03:17:30 +00:00
Virgil
e85abe1ee6 feat(process): add ManagedProcess alias 2026-04-04 03:14:25 +00:00
Virgil
a8c193d07c feat(process): report live duration snapshots 2026-04-04 02:53:12 +00:00
Virgil
26af69d87b fix(process): kill process groups on shutdown 2026-04-04 02:10:35 +00:00
Virgil
1028e31ae5 Fix process group signal escalation 2026-04-04 01:32:43 +00:00
Virgil
90ce26a1b7 feat(api): expose managed process routes
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 01:03:42 +00:00
Virgil
eb6a7819e7 feat(process): emit kill action immediately 2026-04-04 01:00:27 +00:00
Virgil
2255ade57e feat(process): harden process group signalling 2026-04-04 00:42:46 +00:00
Virgil
cdc8bfe502 feat(process): add readiness accessors and AX examples
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 00:39:27 +00:00
Virgil
2bc6eb70d7 fix(process): copy info slices defensively 2026-04-04 00:04:54 +00:00
Virgil
f5a940facd feat(process): add running flag to process info 2026-04-04 00:01:22 +00:00
Virgil
e58f376e4c feat(process): signal process groups 2026-04-03 23:53:19 +00:00
Claude
a09ca4f408
chore: migrate to dappco.re vanity import path
Module path: forge.lthn.ai/core/go-process -> dappco.re/go/core/process

Import path updates:
- forge.lthn.ai/core/go-log -> dappco.re/go/core/log
- forge.lthn.ai/core/go-io -> dappco.re/go/core/io
- forge.lthn.ai/core/go-ws -> dappco.re/go/core/ws
- forge.lthn.ai/core/go-process (self) -> dappco.re/go/core/process
- forge.lthn.ai/core/api left as-is (not yet migrated)

Local replace directives added until vanity URL server is configured.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 23:49:08 +00:00
Snider
1a015ed6ba feat: add Timeout, GracePeriod, KillGroup, Shutdown to RunOptions
- RunOptions.Timeout: auto-kills after duration (SIGTERM → SIGKILL)
- RunOptions.GracePeriod: time between SIGTERM and SIGKILL
- RunOptions.KillGroup: kills entire process group (child processes too)
- Process.Shutdown(): graceful SIGTERM → wait → SIGKILL
- OnShutdown uses Shutdown() instead of Kill() for graceful stops
- Runner circular deps now count as Failed, not Skipped
- Tests for all new features

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 17:44:37 +00:00
Snider
d73dfa3d73 refactor(process): replace fmt.Errorf and errors.New with coreerr.E()
Replace all 27 instances of fmt.Errorf/errors.New in production code
with coreerr.E() from forge.lthn.ai/core/go-log for structured error
context (op, message, cause). Promote go-log from indirect to direct
dependency in go.mod.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 20:38:08 +00:00
Snider
4fc5c3b0e5 fix: correct Signal to use os.Signal, return errors instead of panicking
Signal() now properly forwards to cmd.Process.Signal() instead of
calling Kill(). SetDefault(nil) returns error instead of panicking.
Wait() returns descriptive errors with process context.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 08:26:00 +00:00
Snider
8095807ad6 feat: extract process package from core/go pkg/process
Process management with Core IPC integration, output streaming via
ring buffer, exec wrapper with logging, and dependency-aware runner.

Moved from forge.lthn.ai/core/go/pkg/process to standalone module.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 12:50:09 +00:00