# felhom.eu — task reports > **Overwrite** this file with a summary of the most recent task only (uniform with the other repos; not cumulative). The cumulative hub history lives in [hub/CHANGELOG.md](hub/CHANGELOG.md). --- # REPORT — Hub: ingest agent backups + restore_tests (v0.7.3) (2026-06-09) ## Outcome **Code committed + pushed (changelogged as `v0.7.3`); image build/deploy deferred to an operator decision.** The felhom-agent slice-6 Phase A work populates the host-report's `backups` + `restore_tests`. This change is the hub half: accept + persist them. Minimal — the authoritative backup policy is hub-owned (slice 10); this mirrors what the agent reports. ## What landed (`hub/internal/api/handler.go`, `host_test.go`, golden) - `hostReportPayload` gains `hostBackup` / `hostRestoreTest` mirror structs matching the agent's `hub.Backup` / `hub.RestoreTest` field-for-field. - Persistence via the existing `report_json` column (no schema change). The handler logs a **FAILED restore-test prominently** (`[WARN]` — the loudest DR signal) and a failed backup; the host-report info line counts backups + restore-tests. - The shared `testdata/host-report.golden.json` now carries a populated `backups[0]` / `restore_tests[0]`, **byte-identical** with felhom-agent's copy. - `TestHostBackup_GoldenContract` / `TestHostRestoreTest_GoldenContract` are the hub half of the bidirectional key-set test. `go test ./internal/api/ ./internal/store/` is green. ## Backward compatibility An agent that omits/empties `backups`/`restore_tests` is accepted unchanged. The legacy controller report path is untouched (frozen until the slice-10 cutover). ## Deploy > Per the GitOps flow (`CLAUDE.md`): build+push `gitea.dooplex.hu/admin/felhom-hub:v0.7.3`, > bump `manifests/hub.yaml`, commit, then sync the `felhom` ArgoCD app. **Deferred** at this > checkpoint — the change is backward-compatible, so the live hub (v0.7.2) keeps ingesting > host-reports fine until then.