feat(hub): v0.57.0 reinstall-of-existing-customer arc — claim/offsite/escrow continuity

F2 claim re-issue on clean-slate re-enroll (ReissueForReenroll, host-enroll mint path,
single-bump, reset code; hub never stores the password so fork B). F3 offsite re-issue on
re-enroll (ReissueOffsiteForCustomer, same machinery as the manual button). 2.3 escrow honesty
(red-proofed): re-issuing offsite marks the escrow stale (MarkEscrowStale), withholds the
mismatched restic hash from auto-confirm, DR checklist shows stale not done. Events:
claim_reissued_reenroll / offsite_reissued / escrow_stale.

Controller + scripts unchanged (source contradicted both premises): the controller reads escrow
prereqs live from the agent; the installer can't know the descriptor-provisioned storage id. F4
root fix is agent-side -> ROADMAP R-22; demo unblocked live (Part 0 ACL grant). VALIDATION doc
F2 erratum + F3/F4 dispositions. Green gate + Scenario-C red-proof pass.
This commit is contained in:
2026-07-16 18:00:13 +02:00
parent dd961a66bb
commit 7747a16ff1
15 changed files with 395 additions and 37 deletions
+13
View File
@@ -3,6 +3,19 @@
> Created with the REUSE.md rollout (2026-07-03). Authoritative history: `hub/CHANGELOG.md` (hub),
> `website/CHANGELOG.md`, `scripts/CHANGELOG.md`; end-of-task detail in `REPORT.md`.
- **2026-07-16 — REINSTALL ARC SHIPPED: hub v0.57.0 (F2/F3/2.3).** The clean-slate
reinstall-of-existing-customer path is now first-class (Peti R-1 prerequisite). On host-enroll's
mint path (single-bump-per-re-enroll): claim re-issue for a claimed customer (`ReissueForReenroll`,
reset code — the hub never stores the password, so fork B not A), offsite re-issue to the fresh box
(`ReissueOffsiteForCustomer`), and escrow-honesty — re-issuing offsite marks the escrow STALE
(`MarkEscrowStale`), withholds the mismatched restic-hash from auto-confirm, and shows "stale" not
"ceremony done" (2.3, red-proofed). **Part 0** unblocked the demo live (ACL grant on
`/storage/felhom-offsite` → PBS-DR converged, `escrow.pbs_storage_id` seeded). **Controller +
scripts unchanged** — both spec premises were contradicted by source (the controller reads escrow
prereqs live from the agent; the installer can't know the descriptor-provisioned storage id). **F4**
root fix is agent-side → **ROADMAP R-22** (agent train: the reconcile pre-check 403 must not abort
before the root-run apply grants the ACL). Detail: `hub/CHANGELOG.md` v0.57.0, `REPORT.md`.
- **2026-07-16 — R-21 PHYSICAL RUN on the demo N100 (`tests/VALIDATION-n100-baremetal-2026-07-16.md`).**
demo-felhom host reinstalled clean-slate from a pipeline-built ISO; first-boot chain reached
**rc-0 on the first attempt on real hardware** (closes slice A's operator-gated boundary),