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>
go-process IS the core.Process primitive implementation, so these
files cannot self-depend on core.* helpers. stdlib fmt, io, os,
os/exec, sync, syscall, strings, context, time are intrinsic to
subprocess management at this layer. Added `// Note: banned-imports
exception:` annotations documenting the self-dependency exception.
Closes tasks.lthn.sh/view.php?id=720
Co-authored-by: Codex <noreply@openai.com>
The coreio.Local.Delete error wraps the underlying os.ErrNotExist
through core.E, so the prior os.IsNotExist check on the registry
Unregister path never matched. Same wrapping broke the daemon
Stop path that relied on pidfile.Release being a no-op for absent
files.
Switch both to coreio.Local.Exists before Delete, which is the
idempotent pattern the callers already assume. Adds coverage for
TestPIDFile_Release_MissingIsNoop and fixes TestRegistry_Unregister
MissingIsNoop.
Co-Authored-By: Virgil <virgil@lethean.io>
- process_handle.go: new file adding processHandle(pid) wrapping os.FindProcess
and currentPID() wrapping os.Getpid — referenced by pidfile.go but never
defined, breaking the build on dev
- pkg/api/provider.go: drop daemonEventPayload entries for entry.Config and
entry.StartedAt — fields don't exist on DaemonEntry (which has Started time.Time)
Unblocks go-process dev build + tests (10s root, 0.9s exec, 7s api).
Co-Authored-By: Virgil <virgil@lethean.io>
- 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>
CodeRabbit finding: RegisterRoutes docstring only listed 4 daemon
routes, omitting 10 process-management routes and 1 pipeline route.
Updated to enumerate all routes verbatim from the implementation.
Co-Authored-By: Virgil <virgil@lethean.io>
Merged github/main into dev to resolve PR #2 conflict. Took github/main
code for all conflicted files (new features: signal, wait, start/run API,
UI streaming, process_global). Resolved go.mod by keeping dappco.re module
paths and using api v0.2.0 (dappco.re-compatible). go mod tidy confirms clean.
Co-Authored-By: Virgil <virgil@lethean.io>
Align ActionProcessExited with the documented contract by keeping the reserved Error field nil for both start failures and normal exits.
Co-Authored-By: Virgil <virgil@lethean.io>