Commit graph

13 commits

Author SHA1 Message Date
Virgil
2461466f55 Handle nil contexts in runner and daemon 2026-04-04 06:48:18 +00:00
Virgil
02e2b3611c fix(process): reorder daemon shutdown teardown
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 03:00:09 +00:00
Virgil
945e760542 fix(process): unregister daemon before health shutdown
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 01:51:39 +00:00
Virgil
b097e0ef0e fix(process): mark daemon not-ready before shutdown
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 01:48:07 +00:00
Virgil
2e5ac4208b feat(process): auto-populate daemon registry metadata
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 01:26:42 +00:00
Virgil
686f1053b3 feat(process): fix daemon stop order 2026-04-04 00:45:40 +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
5142114e89 feat(process): rollback daemon startup on registry failure 2026-04-04 00:11:21 +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
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
81de841903 feat: auto-register/unregister daemons via optional Registry
When Registry is set on DaemonOptions, Start() auto-registers the daemon
(filling PID and Health address) and Stop() auto-unregisters it. Consumers
without a registry are completely unaffected.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 14:49:47 +00:00
Snider
953a95f26f fix: address code review — HTTP client timeout, errors.Join, remove unused OnReload
- WaitForHealth: use http.Client with 2s timeout instead of DefaultClient
- Daemon.Stop: use errors.Join for proper error unwrapping
- Remove unused OnReload field from DaemonOptions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 14:19:10 +00:00
Snider
0696d32042 feat: add Daemon orchestrator for managed process lifecycle
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 14:01:40 +00:00