hub v0.13.1 — DR recipe v1 drive-shape sync (test-data + regression guard only)
Tracks felhom-agent v0.39.0, which dropped role + restic_repo_coord from the host-half drives[]. Hub reads drives as json.RawMessage (verbatim passthrough) → no store/handler change needed. Dropped role from the store golden + drHostHalf fixture; re-synced the api host-report golden byte-identical with the agent copy (it previously lacked dr_recipe entirely). Added TestAssembleDRRecipe_V1DriveShape regression guard (demonstrated to fail when the fixture re-adds role, then reverted). No behavior change; redeploy optional. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,22 @@
|
||||
# Felhom Hub — Changelog
|
||||
|
||||
## v0.13.1 — DR recipe v1 drive-shape sync: test-data + regression guard only (2026-06-16)
|
||||
|
||||
**No behavior change — redeploy optional.** Tracks the agent's v0.39.0 v1 host-half drive shape (which
|
||||
dropped `role` + `restic_repo_coord` from `drives[]`). Because the hub reads drives as `json.RawMessage`
|
||||
(verbatim passthrough), no store/handler/struct change was needed — only test-data + a regression guard.
|
||||
|
||||
- `internal/store/testdata/dr-recipe.golden.json` + the `drHostHalf` test fixture: dropped the `role`
|
||||
key from `drives[0]` to match the v1 shape the agent now emits.
|
||||
- `internal/api/testdata/host-report.golden.json`: re-synced to be **byte-identical** with the agent's
|
||||
`internal/hub/testdata/host-report.golden.json` (sha256 `57f2a5e7…18b2f2b5`). The hub copy previously
|
||||
lacked the `dr_recipe` section entirely; it is now a verbatim copy, so the cross-repo golden truly
|
||||
matches and POSTing it through `/host-report` exercises the `SaveDRRecipeHostHalf` ingest path.
|
||||
- New `TestAssembleDRRecipe_V1DriveShape` — the regression guard: a stored host half whose `drives[]`
|
||||
carry NEITHER dropped field but WHICH HAS a `pbs` block assembles cleanly (pbs carried through, drives
|
||||
passed through verbatim, neither `role` nor `restic_repo_coord` present). Demonstrated to FAIL when the
|
||||
fixture re-adds `role`, then reverted.
|
||||
|
||||
## v0.13.0 — DR recipe: assemble + store + view the secret-free reconstruction recipe (2026-06-16)
|
||||
|
||||
**DR recipe slice (hub half)** — the assemble-store-view side of the secret-free reconstruction recipe
|
||||
|
||||
Reference in New Issue
Block a user