Files
felhom.eu/REPORT.md
T
admin 3e949bc513 DRILL-day0-vm 2026-07-12: full report + runbook corrections (F-4/F-6 headline findings)
Audit doc for the Day-0 VM drill: appliance install, floor-at-first-report,
escrow ceremony + auto-confirm FIRST LIVE FIRING (~7.5 min, zero clicks),
offsite backup + restore round-trip, PBS-DR/WG fork (Peti-sequence rehearsal).
Corrects day0-install.md A.2 (git creds optional since v1.11.2, anonymous
fetch is the normal shape) and RUNBOOK-escrow-ceremony.md (identity-only mode
does NOT exist — F-6; age prereq — F-10). REPORT.md overwritten; CONTEXT.md
one-liner added.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NptTCFtu7dz2Ru89qHRagN
2026-07-12 17:16:25 +02:00

2.7 KiB
Raw Blame History

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; the scripts history lives in scripts/CHANGELOG.md.

DRILL — Day-0 on the Demo-VM (nested PVE) + escrow/auto-confirm first firing — 2026-07-12

Full report: documentation/audits/DRILL-day0-vm-2026-07-12.md. Supervised drill (Viktor + CC), ~15:1517:09 CEST, on a throwaway nested PVE 9.2.2 VM (qm 300 on felhom-pve) against hub customer demo-vm-felhom / enkisfelhom.hu. No code changes; two runbook docs corrected (day0-install.md A.2 anonymous-fetch wording; RUNBOOK-escrow-ceremony.md's false "identity-only ≥0.80.0" claim + age prereq).

Headlines

  • The whole arc ran to completion on a fresh box: appliance-mode Day-0 (agent 0.85.0 + golden 0.120.0, both sha-verified, "Day-0 provision SUCCESS"), guest at floor 0.120.0 at FIRST report with zero manual steps, ActualBudget deployed through the tunnel, escrow ceremony sealed (R with Viktor only), AUTO-CONFIRM FIRST LIVE FIRING: pending → escrowed in ~7.5 min with zero clicks, offsite backup (1 snapshot, 14 s) and the verification-restore round-trip proven (48K payload decrypted back from the Storage Box).
  • F-4 (HIGH): G10 is unclosable — no operator-set dashboard password path exists in shipped code (hub has no per-customer password_hash UI/API; controller's open-state page defers to the operator; Day-0 preseeded setup skips the wizard's password form). Every fresh box's dashboard stays OPEN on the internet. Blocks the tester onboarding gate.
  • F-6 (HIGH): identity-only escrow ceremony was never implemented — on a no-PBS box (the documented appliance standard) the offsite escrow chain can never complete. Mid-drill fork (Viktor): attached the PBS DR tier (ep0) instead, which live-rehearsed Peti's exact pending sequence — wrapper+age prep → wg_tunnel.enabled → hands-free WG peer registration → hub PBS-DR enable (WG-first dependency guard works) → apply-bridge fresh path (consume-once → K born → escrow seed) → ceremony → auto-confirm.
  • Fresh-box installer gaps found live: felhom-pbs-apply binary not shipped (F-7), age not installed (F-10), root-owned guests/ parents break the non-root agent's lanresolver (F-3, live-fixed; demo host likely has the same latent state), silent root@pam rotation surprises the operator (F-8), version strings disagree ×3 (F-1).
  • Snapshots on qm 300 for re-drills: pre-day0-clean / post-install / post-drill. Demo 9201, Peti's hub entry, demo offbox untouched.