Files
felhom.eu/REPORT.md
T
admin 41f2d2b5da hub v0.7.3: ingest agent backups + restore_tests (slice 6 Phase A)
Accept + persist the now-populated host-report backups/restore_tests. Mirror structs in
hostReportPayload; persisted via report_json (no schema change); a FAILED restore-test is
logged prominently (loudest DR signal). Shared golden updated byte-identical with
felhom-agent; bidirectional key-set tests added. Build/deploy deferred (backward-compatible).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 13:56:18 +02:00

39 lines
1.9 KiB
Markdown

# 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.