docs: customer-claim arc — REPORT/CONTEXT, G9 supersede, tester-agreement claim step, day0 D.3/D.4 gate, drill F-4/F-5 RESOLVED
Claude-Session: https://claude.ai/code/session_01NptTCFtu7dz2Ru89qHRagN
This commit is contained in:
+12
@@ -3,6 +3,18 @@
|
||||
> 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-12 — HUB v0.50.0 SHIPPED + LIVE: customer-claim password arc (closes DRILL-day0-vm
|
||||
F-4/F-5).** The customer OWNS the dashboard password via a one-time claim code the hub emails to
|
||||
the registered address (`bcrypt(code)` stored, plaintext only in the send). `internal/claim`
|
||||
engine (EnsureIssued idempotent Day-0/live-box issue+email, Resend, RequestReset 3/day,
|
||||
MarkClaimed set-only) + `store.customer_claims` (RotateClaimCode bumps generation + preserves
|
||||
claimed_at) + delivery (config bake `web.claim_code_*`, report-ACK `claim` object, `POST
|
||||
/api/v1/claim/reset-request`) + Setup-tab chip/resend + 3 Hungarian emails. Pairs with controller
|
||||
**v0.122.0** (the gate). **LIVE-proven on drill box demo-vm-felhom: gate ON via the real edge (/ →
|
||||
302 claim page, /api → 401); code emailed to the registered address.** Deployed felhom-hub:0.50.0
|
||||
(ArgoCD synced/healthy). Floor raise 0.120→0.122 = operator's supervised LAST step. Observed: the
|
||||
hub issues a claim code for EVERY reporting customer on first report (benign for pre-0.122 boxes —
|
||||
no gate, ACK ignored). Report: documentation/audits/DRILL-day0-vm-2026-07-12.md (F-4/F-5 RESOLVED).
|
||||
- **2026-07-12 — HUB v0.49.0 SHIPPED: Edit tab merge (edit-a) + scoped auto-refresh + riders**
|
||||
(CHANGELOG v0.49.0; commits `e740147` → `2e03de1` → `1d94b1a` + docs/manifest). The standalone
|
||||
customer edit page merged into the customer page's **Edit** tab (renamed from Settings): shared
|
||||
|
||||
Reference in New Issue
Block a user