D4 Part 3: hub CHANGELOG v0.30.0 + REPORT (status mapping, red-proof, grep gates, API-freeze proof)

This commit is contained in:
2026-07-02 22:44:57 +02:00
parent fc79a3aeea
commit 3d60b19b89
2 changed files with 106 additions and 72 deletions
+30
View File
@@ -1,5 +1,35 @@
# Felhom Hub — Changelog
## v0.30.0 — TASK-D4: design system v2 re-skin (appearance only) (2026-07-02)
Last surface of the design sprint (controller D0/D1, website D3). The hub leaves its Tailwind-slate
theme for the canonical navy v2 language. **API surface untouched** (`/api/*` ingestion, artifact
manifest, config generation, DR/escrow — `git diff` clean under internal/api + internal/store).
- **Fonts (`internal/web/static/fonts/`, embed.go, server.go):** the 4 vendored woff2 (byte-copied
from felhom-controller; latin-ext for Hungarian customer names in an English UI), embedded and
served at `/static/fonts/` (font/woff2, immutable), mirroring the chart.min.js pattern. No CDN
before or after.
- **`statusColor` semantic remap (server.go):** returns `nominal/warn/crit/neutral` class tokens
instead of raw hex colors — ok→nominal, warn+stale→warn, down+fail→crit, pending+disabled→neutral
(a not-yet-provisioned or deliberately paused customer is a normal fleet state), blocked→warn
(intentional operator cut-off: attention-worthy, not an outage). The inline
`style="color: {{statusColor}}"` pattern is dead (dashboard + customer_unified use class-based
`.status-dot-<token>`); `statusIcon` ("●") retired. Truth-table test red-proven vs the old
implementation; new template-parse test (neither existed for the hub).
- **style.css v2:** navy tokens + @font-face; 2px radius; hairline `--line-soft` table rows
(fleet-NOC density kept); `.status-badge` re-expressed as an outline tag + CSS dot per the
design-system addendum (ok=blue, warn/blocked/stale=amber+dim, down/fail=red+dim,
pending/disabled=quiet neutral with hollow dot); severity badges stay filled amber/red
(exceptions stay loud); config badges = filled informational chips in v2; row tint only for
warn/down. Two-tone brand H1 (`Felhom <span>Hub</span>`) on all pages; 12-symbol Lucide sprite
partial included per page.
- **Charts (app_detail):** avg memory `#2EA8F5`, peak `#8E7CE8` (secondary DATA series — not
status red), catalog-limit line `#E0A93E` (threshold marker); legend/tick/grid → v2 literals.
- customer_unified JS status-message colors → blue-bright/crit; login page inline HTML retinted.
- Grep gate: all slate hexes (`#0f172a #1e293b #334155 #60a5fa #4ade80 #facc15 #f87171 #94a3b8
#64748b #475569 #e2e8f0`) at zero across internal/web (non-test).
## v0.29.0 — Day-0 artifact manifest: version dropdowns + auto-derived sha (2026-07-01)
Removes the hand-copied sha256 from the Day-0 artifact manifest. The operator now **picks a version**