Files
felhom.eu/REPORT.md
T
admin 4bd0909f2b hub: restore-test "passed with warnings" visibility (v0.7.5)
Phase B (hub half) of the restore-test warning fix. The agent v0.7.0 now passes a
restore-test that emitted a benign start advisory (systemd-nesting) and carries the
warning text on the wire.

- hostRestoreTest gains warnings + warnings_recognized mirror fields (omitempty;
  absent recognized => false => louder unrecognized path)
- ingest logs [INFO] passed WITH WARNINGS (recognized), [WARN] for unrecognized;
  FAILED still [WARN]
- golden restore_tests[0] gains the keys, byte-identical with felhom-agent (sha256
  e6999d77...); bidirectional key-set contract test round-trips them
- no dashboard widget: no host-domain dashboard surface exists yet (log+persist only,
  as with pbs_snapshots) -- deferred to slice 10

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

3.0 KiB

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.


REPORT — Hub: restore-test "passed with warnings" visibility (v0.7.5) (2026-06-09)

Outcome

Phase B (hub half) of TASK — Restore-test must not false-fail on benign start warnings. The agent (v0.7.0, already deployed + live-validated) now treats a benign guest-start advisory (e.g. WARN: Systemd 257 detected. You may need to enable nesting.) as a PASS — verdict is liveness, not the start-task exitstatus — and carries the warning text on the wire. This is the hub half: ingest those fields and make a passed-with-warnings restore-test visible to the operator instead of indistinguishable from a clean pass.

What landed (hub/internal/api/handler.go, golden, host_test.go)

  • Wire mirror: hostRestoreTest gains warnings []string + warnings_recognized bool (omitempty), matching the agent's hub.RestoreTest field-for-field. An absent warnings_recognizedfalse ⇒ the louder unrecognized path, so a missing flag can only over-notice, never hide a real warning.
  • Ingest behaviour: a passed restore-test that carried warnings now logs [INFO] restore-test passed WITH WARNINGS (recognized) when every warning is the known-benign anchor, escalated to [WARN] … UNRECOGNIZED WARNINGS otherwise (as loud as a failed PBS verify). A FAILED restore-test still logs the existing [WARN] … FAILED.
  • Contract: restore_tests[0] in the host-report golden gains the two keys; the golden stays byte-identical with felhom-agent's copy (sha256 e6999d77…), and the bidirectional key-set contract test round-trips the new keys through hostRestoreTest. go test ./... green.

Scope note — no dashboard widget this slice

The task asked to "surface in the dashboard distinctly from a clean pass." The hub web layer currently renders only controller-report data — there is no host-domain dashboard surface yet (guests/storage/restore_tests/pbs_snapshots are log+persist only; the failed-PBS-verify signal is likewise log-only). Building one is out of scope here; distinct dashboard treatment should land with the host-domain dashboard (slice 10). The operator signal this slice is the log line, consistent with the established failed-PBS-verify precedent.

Backward compatibility

An agent that omits/empties warnings/warnings_recognized is accepted unchanged (the deployed v0.7.4 hub already ignores them). The legacy controller report path is untouched.

Deploy (GitOps)

Build+push gitea.dooplex.hu/admin/felhom-hub:v0.7.5 → bump the image: tag in manifests/hub.yaml → commit → sync the felhom ArgoCD app (auto-sync off). Live-validated after sync: the demo host's restore-test (agent v0.7.0, which passes-with-recognized-warnings on the Debian-13 guest 9999) reflects on the hub as passed WITH WARNINGS (recognized) — not a plain pass and not a FAILED.