hub v0.47.0: CHANGELOG + README tab/host-lifecycle/offsite docs + REUSE map + manifest bump to 0.47.0

CONTEXT.md: v0.47.0 arc entry (resolves the 146d165 swept-WIP flag) + the
multi-endpoint-allocation deferral + pre-GitOps stale-template note.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vvz1NCu22p8dGkRCpeX9re
This commit is contained in:
2026-07-11 21:39:44 +02:00
parent 0daddcd1c4
commit 95d71fef2e
5 changed files with 105 additions and 10 deletions
+20 -5
View File
@@ -3,11 +3,26 @@
> 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-11 — hub v0.47.0 host-delete WIP rode along in commit `146d165`** (a docs commit's
`git add -A` swept the uncommitted working tree: `store.go` DeleteHost + `hosts.go` handler +
delete tests + host_detail_body template additions, continuing the `ae950e5` v0.47.0 arc). The
full hub green gate passes on it and NOTHING deployed (manifest still 0.46.0) — but it shipped to
main unreviewed by its author. Review/continue the v0.47.0 arc from there.
- **2026-07-11 — HUB v0.47.0 UI REORGANIZATION SHIPPED** (CHANGELOG v0.47.0; commits `9f29bf3`
`0daddcd` + docs). Five deliverables: **(1)** `.data-table td a:not(.btn)` button-contrast fix;
**(2)** customer page = **8 hash tabs** (`#tab=…`, sticky summary strip, Events error badge,
no-JS graceful degradation — panels hide only via a JS-added body class); **(3)** shared
`host_detail_body` sub-template rendered by `/hosts/{id}` AND the new per-customer **Host tab**
(a list by design; `store.ListHostsByCustomer` + `hostDetailData` builder); **(4)** **stale host
removal** — `GET /hosts/{id}/delete-impact` (counts/booleans only) + `POST /hosts/{id}/delete`
behind type-to-confirm; ONLINE → 409 always (no override), escrow needs an explicit checkbox
(`ErrHostEscrowPresent`, tx never starts), one-tx cascade incl. the bound wg peer (wgsync's 5-min
declarative push converges the endpoint; log bundles die by `scope_id == host_id` only);
**(5)** **/offsite multi-endpoint management UI** — all `wg_endpoints` rows as cards +
add/edit/delete with 409 guards (peers-in-subnet pins subnet + delete). **Deferral (explicit):
peer allocation, the wgsync reconciler push and the desired-state merge stay lowest-endpoint-id
(`GetWGEndpoint` untouched); the future arc is a `wg_peers.endpoint_id` migration + per-endpoint
allocation/reconciler/desired-state.** Five red-proofs ran (online gate, escrow ack, bundle
scope, endpoint-delete guard, subnet-change guard). *Resolved:* the earlier ⚠️ about `146d165`
sweeping the Part-4 WIP — the sweep caught `hosts.go` mid-red-proof (escrow ack bypassed);
`068427a` restored the gate; the arc is now complete and author-reviewed. **Stale-doc note:** the
workspace-root CLAUDE.md's hub deploy wording predates GitOps — deploys are manifest-tag bumps +
deliberate ArgoCD sync, never `kubectl set image`.
- **2026-07-11 — RCA FIXES 1+2+4 SHIPPED + Q1c GREEN (agent v0.84.0 + controller v0.117.0 LIVE on
demo).** Reboot survival: automatic since agent 0.84.0, live-proven 2026-07-11 21:20 (`pct reboot