Commit graph

21 commits

Author SHA1 Message Date
Codex
b7ef256ebf fix(go-process): update stale coreerr alias to dappco.re/go/log (AX-6)
Updated `coreerr "dappco.re/go/core/log"` → `coreerr "dappco.re/go/log"`
across 12 files (actions.go, daemon.go, errors.go, exec/exec.go,
health.go, pkg/api/provider.go, process.go, process_global.go,
program.go, registry.go, runner.go, service.go). No stale path
remains in .go.

Pre-existing blocker (out of ticket scope): `dappco.re/go/io@v0.4.2`
is 404 from module proxy — affects `go test ./...` but is unrelated
to this import rename.

Closes tasks.lthn.sh/view.php?id=718

Co-authored-by: Codex <noreply@openai.com>
2026-04-24 21:45:29 +01:00
Snider
afcbea305e feat(process): detached-by-default start + RFC API aliases + JSON tags
- service.go + actions.go + runner.go: process.start detached by default through
  named action/task path and RFC HTTP alias
- service.go: managed process IDs use core.ID()
- types.go + service.go + runner.go: JSON tags on execution/pipeline DTOs
- pkg/api/provider.go: Register helper; RFC alias routes /process/list + /process/start
- service_test.go + provider_test.go: detached-startup + RFC alias coverage

NOTE: dev branch had pre-existing compile errors in pidfile.go (undefined processHandle,
currentPID) — these exist independent of this commit. Build remains broken until
those are added, but the feat work here is preserved.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-14 19:01:26 +01:00
Virgil
720104babc feat(process): validate runner dependencies 2026-04-04 07:37:50 +00:00
Virgil
bc2cb6ae9d fix(process): keep runner exit errors nil 2026-04-04 07:33:50 +00:00
Virgil
2461466f55 Handle nil contexts in runner and daemon 2026-04-04 06:48:18 +00:00
Virgil
c7542939c7 fix(process): count skipped runner results as success
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 06:00:52 +00:00
Virgil
04543700bc fix(process): skip unresolved runner dependencies
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 03:24:33 +00:00
Virgil
86f5fadff7 fix(process): treat unresolved runner specs as failures 2026-04-04 03:21:01 +00:00
Virgil
ec2a6838b8 Propagate process exit errors 2026-04-04 02:24:32 +00:00
Virgil
16e5c57fd4 feat(process): skip pending runner specs on cancellation
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 01:16:58 +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
f98bbad5ac fix(process): reject duplicate runner spec names 2026-04-04 00:21:22 +00:00
Virgil
84d07daf19 feat(process): relax runner success semantics 2026-04-04 00:07:48 +00:00
Virgil
1b7431e3a0 feat(process): skip unresolved pipeline specs 2026-04-03 23:47:38 +00:00
Virgil
6fda03d64d feat(process): fail invalid runner dependencies 2026-04-03 23:45:06 +00:00
Virgil
9457694e46 feat(process): preserve runner result order 2026-04-03 23:41:36 +00:00
Virgil
62e7bd7814 Fix runner deadlock handling 2026-04-03 23:22:43 +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
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