hephaestus/docs/changelog.d/hephd-self-update.feature.md
Erich Blume c321d72e7d
All checks were successful
Build / validate (pull_request) Successful in 5m37s
C2(hephd-self-update): finalize — changelog + mark goal implemented
All eight prerequisite leaves are closed; the daemon-side feature is
implemented and the cargo-install-over-public-HTTPS mechanism is verified
end-to-end. Add the changelog fragment and drop the goal card's
status/branch, noting the one remaining owner check: observing a real
older->newer upgrade on the next release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 14:48:44 -07:00

764 B

Opt-in (default off) hephd self-update: hephd --self-update polls the forge for a newer release on an interval and, when one appears, rebuilds via cargo install from the release tag (anonymous HTTPS clone of the public repo — no credentials) and restarts onto the new binary. Enable it on the managed service with heph daemon start --self-update (which also bakes a cargo-capable PATH into the launchd/systemd unit and switches systemd to Restart=always so a clean self-exit respawns). The install mechanism is verified end-to-end; a live cross-version upgrade is confirmed on the first release after this lands. Also hardens hub resilience: the daemon's HTTP client now has a 30s timeout so a black-hole hub can't stall the sync/self-update loop.