hephaestus/docs/changelog.d
Erich Blume 8c25d114c4
Some checks failed
Build / validate (pull_request) Failing after 2s
hephd: network sync over HTTP — hub + spoke (sync 9a)
Wire the existing merge engine over the network so the everyday config
(local + hub_url) syncs through a hub. Transport ratified = axum HTTP/JSON
(tech-spec §6.1, §12).

- heph-core: SyncCursors model + Store::sync_state/record_sync over the
  sync_state table (per-peer push/pull HLC cursors). Incremental, so each
  exchange transfers only the tail.
- hephd::sync: the hub router (POST /sync/push, GET /sync/pull?after=<hlc>)
  served from the shared LocalStore, and sync_once — a spoke's pull-then-
  merge, then push-tail exchange, advancing the cursors. Idempotent: a
  re-pushed op the hub already has is a no-op.
- Daemon carries optional hub config; sync.now/sync.status handled at the
  daemon (they need the hub transport the store can't reach). conflicts.
  list/resolve now reachable over the unix socket too.
- main: --mode local|server, --hub-url, --http-addr. server mode binds the
  hub HTTP endpoint on the same store; a local+hub_url spoke background-
  syncs on a 30s interval.
- tests/sync_http.rs: two spokes converge through a real-HTTP hub on an
  ephemeral port — node propagation and a divergent-scalar conflict.

Unauthenticated/single-owner for now; OIDC + per-user scoping is slice 10,
client mode + RemoteStore is 9b. 100 tests green; clippy -D warnings + fmt
+ prek clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 15:14:20 -07:00
..
+project-design.doc.md Set up hephaestus from template and add design + tech spec 2026-05-31 09:37:28 -07:00
+template-setup.infra.md Set up hephaestus from template and add design + tech spec 2026-05-31 09:37:28 -07:00
+v1-spec-second-pass.doc.md Fold second-pass design review into v1 spec 2026-05-31 18:08:47 -07:00
.gitkeep Initial commit 2026-05-31 06:13:36 -07:00
v1-prototype.feature.md hephd: network sync over HTTP — hub + spoke (sync 9a) 2026-06-01 15:14:20 -07:00