hephaestus/crates
Erich Blume 9213a943f5 C2(hephd-self-update): impl verify hub-dropout resilience (+ client timeout)
Lock in the base-case guarantee that a self-updating hub (which restarts
under its spokes) relies on. New sync_http test: a spoke whose hub is
unreachable keeps serving + accepting writes, a sync attempt fails fast
(Err, not hang/panic), and when the hub returns the accumulated ops
reconcile with no special recovery.

The verification surfaced one non-graceful path — the daemon's shared
reqwest client had no timeout, so a black-hole hub (connects, never
replies) could stall the sync/self-update loop. Give it a 30s timeout so
'the hub can vanish at any moment' holds even mid-request.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 13:47:26 -07:00
..
heph C2(hephd-self-update): impl systemd Restart=always for clean-exit respawn 2026-06-04 13:44:36 -07:00
heph-core feat: --project arg is case-insensitive / prefix-fuzzy when unambiguous 2026-06-04 10:57:37 -07:00
heph-quickadd style: cargo fmt — normalize earlier hand-committed files 2026-06-03 20:38:44 -07:00
heph-tui feat: heph-tui --version reports version + build SHA 2026-06-04 10:52:52 -07:00
hephd C2(hephd-self-update): impl verify hub-dropout resilience (+ client timeout) 2026-06-04 13:47:26 -07:00