mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-07-10 00:14:38 +00:00
Document rc.6 frontend IA revert in v6 release docs
rc.1-rc.5 shipped a unified /infrastructure /workloads /storage /recovery top-level layout; rc.6 reverts the frontend to platform- shaped pages (Proxmox / Docker / Kubernetes / TrueNAS / vSphere / Standalone) on the same unified resource backend. Updates the shipped v6 release docs to match: - RELEASE_NOTES_v6.md and V6_CHANGELOG.md rewritten to describe the v6 layout as platform-shaped on a unified backend, with a paragraph in each explaining the rc.6 revert and the operator feedback that drove it. - UPGRADE_v6.md prerelease packet pointer bumped from rc.5 to rc.6. - MIGRATION_UNIFIED_NAV.md gets a top-of-file revert banner that redirects bookmarks targeting the unified routes to their platform- shaped equivalents; the original content is preserved below as a Historical Context section so the 19 tracked references into that doc still resolve. Also adds the rc.6 draft packet: - docs/releases/RELEASE_NOTES_v6_RC6_DRAFT.md - docs/releases/V6_CHANGELOG_RC6_DRAFT.md Validation SHAs in both drafts are left as <populate at packet finalisation> markers; they fill in when the release-control packet runs.
This commit is contained in:
parent
53149ab6c2
commit
df79349368
6 changed files with 701 additions and 65 deletions
|
|
@ -1,30 +1,65 @@
|
|||
# Migration Guide: Unified Navigation
|
||||
|
||||
This guide explains what changed in unified navigation and where legacy pages moved in v6.
|
||||
> **This migration has been reverted as of `v6.0.0-rc.6`.** Pulse v6 ships
|
||||
> with the platform-shaped top-level navigation existing v5 operators
|
||||
> already know (Proxmox, Docker, Kubernetes, TrueNAS, vSphere, Standalone,
|
||||
> plus Alerts, Patrol, and Settings). The unified
|
||||
> `/infrastructure` / `/workloads` / `/storage` / `/recovery` layout that
|
||||
> briefly shipped across `rc.1` through `rc.5` is retired. The unified
|
||||
> resource model and `/api/resources` contract remain on the backend.
|
||||
>
|
||||
> If you have automation, bookmarks, or runbooks targeting the unified
|
||||
> routes, point them at the platform-shaped equivalents instead:
|
||||
>
|
||||
> - `/infrastructure?source=pmg` → `/proxmox/mail-gateway` (or the
|
||||
> relevant Proxmox sub-page)
|
||||
> - `/workloads?type=k8s` → `/kubernetes`
|
||||
> - `/storage` → the platform-shaped Storage views on each platform page
|
||||
> - `/recovery` → the platform-shaped Recovery / Backups views on each
|
||||
> platform page (the underlying `/api/recovery/*` contract is unchanged)
|
||||
>
|
||||
> The keyboard shortcuts follow the platform-shaped shape:
|
||||
>
|
||||
> - `g p` Proxmox, `g d` Docker, `g k` Kubernetes, `g n` TrueNAS,
|
||||
> `g v` vSphere, `g s` Standalone
|
||||
> - `g a` Alerts, `g r` Patrol, `g t` Settings, `?` shortcuts help
|
||||
>
|
||||
> The "Classic shortcuts" bar referenced in the historical content below
|
||||
> is not part of the shipped product; ignore that aid.
|
||||
>
|
||||
> The rest of this document is preserved as historical context for the
|
||||
> `rc.1` through `rc.5` line.
|
||||
|
||||
## What Changed
|
||||
- Navigation is now organized by **task** (Infrastructure, Workloads, Storage, Recovery) instead of by platform.
|
||||
## Historical context (rc.1 through rc.5 only)
|
||||
|
||||
The content below describes the unified-navigation migration that
|
||||
shipped across `rc.1` through `rc.5` and was reverted in `rc.6`. It is
|
||||
kept as a historical record so links from earlier release notes still
|
||||
resolve. None of it describes the shipped product as of `rc.6` or later.
|
||||
|
||||
### What Changed (historical)
|
||||
- Navigation was organized by **task** (Infrastructure, Workloads, Storage, Recovery) instead of by platform.
|
||||
- Legacy pages (Proxmox Overview, Hosts, Docker, Services, Kubernetes) were replaced by unified views.
|
||||
- Global search and keyboard shortcuts make navigation faster across all resources.
|
||||
- Kubernetes is now split by intent:
|
||||
- **Infrastructure** shows Kubernetes clusters and nodes.
|
||||
- **Workloads** shows Kubernetes pods with the same filters/grouping as VMs and containers.
|
||||
- Kubernetes was split by intent:
|
||||
- **Infrastructure** showed Kubernetes clusters and nodes.
|
||||
- **Workloads** showed Kubernetes pods with the same filters/grouping as VMs and containers.
|
||||
|
||||
## Why This Change
|
||||
### Why This Change (historical)
|
||||
- A unified resource model enables one inventory and one search across platforms.
|
||||
- Filters, drawers, and workflows stay consistent, instead of being re-implemented per platform page.
|
||||
- New integrations can be added without expanding the top-level navigation indefinitely.
|
||||
|
||||
## Legacy Aliases and Redirects
|
||||
### Legacy Aliases and Redirects (historical)
|
||||
- Legacy aliases have been fully removed; update bookmarks and runbooks to canonical routes.
|
||||
- Optional migration aid: enable the **Classic shortcuts** bar in the main navigation (Settings → System → General).
|
||||
- Plan automation/bookmarks to use canonical routes now:
|
||||
- `/infrastructure?source=pmg`
|
||||
- `/workloads?type=k8s`
|
||||
|
||||
## Where Old Pages Moved
|
||||
### Where Old Pages Moved (historical)
|
||||
|
||||
| Legacy Page | New Location |
|
||||
| Legacy Page | New Location (rc.1-rc.5) |
|
||||
|------------|--------------|
|
||||
| Proxmox Overview | `/infrastructure` |
|
||||
| Hosts | `/infrastructure` |
|
||||
|
|
@ -37,15 +72,15 @@ This guide explains what changed in unified navigation and where legacy pages mo
|
|||
| Services | `/infrastructure?source=pmg` |
|
||||
| Kubernetes | `/workloads?type=k8s` |
|
||||
|
||||
## New Features to Know
|
||||
### New Features to Know (historical)
|
||||
|
||||
### Global Search
|
||||
#### Global Search
|
||||
- Press `/` to focus search.
|
||||
- Search by name, node, type, tags, or status.
|
||||
- Results navigate directly to the relevant view.
|
||||
- Use `Cmd/Ctrl+K` for the command palette.
|
||||
- Use `Cmd/Ctrl+K` for the command palette.
|
||||
|
||||
### Keyboard Shortcuts
|
||||
#### Keyboard Shortcuts (historical, rc.1-rc.5 shape)
|
||||
- `g i` → Infrastructure
|
||||
- `g w` → Workloads
|
||||
- `g s` → Storage
|
||||
|
|
@ -54,10 +89,10 @@ This guide explains what changed in unified navigation and where legacy pages mo
|
|||
- `g t` → Settings
|
||||
- `?` → Shortcut help
|
||||
|
||||
### Debug Drawer (Optional)
|
||||
#### Debug Drawer (Optional)
|
||||
- Enable with localStorage key `pulse_debug_mode` for raw JSON in resource drawer.
|
||||
|
||||
## Tips
|
||||
### Tips (historical)
|
||||
- If you used Docker and Hosts pages before, start with **Infrastructure** (hosts) and **Workloads** (containers).
|
||||
- If you used the Kubernetes page before, use **Infrastructure** for cluster/node health and **Workloads** for pod-level operations.
|
||||
- The new pages support unified filters, tags, and search across all sources.
|
||||
|
|
|
|||
|
|
@ -9,9 +9,8 @@ For current stable release notes and rollout references, see:
|
|||
|
||||
For the current v6 prerelease packet, see:
|
||||
|
||||
- `docs/releases/RELEASE_NOTES_v6_RC5_DRAFT.md`
|
||||
- `docs/releases/V6_CHANGELOG_RC5_DRAFT.md`
|
||||
- `docs/releases/V6_RC5_OPERATOR_SUPPORT_PACK_DRAFT.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6_RC6_DRAFT.md`
|
||||
- `docs/releases/V6_CHANGELOG_RC6_DRAFT.md`
|
||||
|
||||
## Before You Upgrade
|
||||
|
||||
|
|
|
|||
|
|
@ -3,10 +3,21 @@
|
|||
`v6.0.0` is the first stable release of Pulse v6. It promotes the validated
|
||||
`v6.0.0-rc.1` and `v6.0.0-rc.2` line into the default supported v6 release.
|
||||
|
||||
Pulse v6 reorganizes the product around `Infrastructure`, `Workloads`,
|
||||
`Storage`, and `Recovery`, keeps the governed v5-to-v6 upgrade and Unified Agent
|
||||
continuity path, and ships the corrected self-hosted commercial model that was
|
||||
validated during `rc.2`.
|
||||
Pulse v6 keeps the platform-shaped top-level navigation existing v5 operators
|
||||
already know (Proxmox, Docker, Kubernetes, TrueNAS, vSphere, Standalone, plus
|
||||
Alerts, Patrol, and Settings), rebuilds the runtime behind it on a unified
|
||||
resource model and contract (`/api/resources`), ships first-class vSphere and
|
||||
TrueNAS support, adds the Patrol intelligence and agent-substrate surfaces,
|
||||
keeps the governed v5-to-v6 upgrade and Unified Agent continuity path, and
|
||||
ships the corrected self-hosted commercial model that was validated during
|
||||
`rc.2`.
|
||||
|
||||
The v6 line briefly shipped a unified `Infrastructure` / `Workloads` /
|
||||
`Storage` / `Recovery` top-level layout across `rc.1` through `rc.5`. Operator
|
||||
feedback consistently preferred the platform-shaped navigation v5 already had,
|
||||
so I reverted the frontend information architecture in `rc.6` to platform-
|
||||
shaped pages while keeping the unified resource model on the backend. Same
|
||||
backend, the navigation shape you already know.
|
||||
|
||||
## Pulse v5 Support Transition
|
||||
|
||||
|
|
@ -17,27 +28,47 @@ I publish an explicit exception.
|
|||
|
||||
## What Is In v6.0.0
|
||||
|
||||
### Unified v6 product layout
|
||||
### Platform-shaped frontend on a unified backend
|
||||
|
||||
Pulse v6 changes the default product shape. Authenticated users now land on
|
||||
`Infrastructure`, and the primary surfaces are:
|
||||
The top-level navigation is platform-shaped. Each backing source has its own
|
||||
top-level page (Proxmox, Docker, Kubernetes, TrueNAS, vSphere, Standalone),
|
||||
alongside Alerts, Patrol, and Settings. Behind those pages, Pulse v6 runs on
|
||||
a unified resource model: a single canonical `Resource` type normalising data
|
||||
across the backing sources, served from `/api/resources`. The platform-shaped
|
||||
pages consume that contract and add platform-shaped presentation.
|
||||
|
||||
- `Infrastructure`
|
||||
- `Workloads`
|
||||
- `Storage`
|
||||
- `Recovery`
|
||||
vSphere is a first-class platform in v6, parallel to Proxmox, Docker,
|
||||
Kubernetes, and TrueNAS. The Standalone surface (renamed from Agents during
|
||||
the v6 line) carries Pulse Agent resources as their own top-level page, with
|
||||
native detail UX for IP, disk I/O, RAID, network, and SMART temperature.
|
||||
|
||||
Existing bookmarks, old screenshots, and operator runbooks that assumed the v5
|
||||
Proxmox-first layout should be reviewed during upgrade.
|
||||
### Patrol intelligence and the agent substrate
|
||||
|
||||
### Recovery and infrastructure are first-class
|
||||
`Patrol` is a top-level intelligence surface with in-place verbs on findings
|
||||
(Investigate, Why, Verify fix, Create rule, Mark resolved), structured
|
||||
investigation records that carry operator-facing Impact and rollback, a first-
|
||||
class resolved-finding lifecycle, capacity-forecast action templates, and a
|
||||
reliability finding that fires when an alert starts flapping. Patrol consumes
|
||||
an HTTP alert bridge for PDM (Proxmox Datacenter Manager).
|
||||
|
||||
`Recovery` is now a primary surface rather than a backup-only page family, and
|
||||
infrastructure onboarding is split by ownership:
|
||||
Pulse v6 also exposes a stable HTTP contract for external agents
|
||||
(`/api/agent/capabilities`, `/api/agent/resource-context/{id}`,
|
||||
`/api/agent/fleet-context`, `/api/agent/events`) so Claude Desktop, Claude
|
||||
Code, custom MCP clients, and plain HTTP consumers can drive Pulse with the
|
||||
same situated context Patrol and Assistant have. Worked examples ship in
|
||||
`cmd/pulse-mcp` (MCP adapter) and `cmd/agent-probe` (plain HTTP).
|
||||
|
||||
- `Install on a host` for direct Unified Agent deployment
|
||||
- `Platform connections` for API-backed systems such as Proxmox, TrueNAS, and
|
||||
VMware
|
||||
### Recovery and infrastructure onboarding
|
||||
|
||||
Backup, snapshot, and replication state is served from `/api/recovery/*`
|
||||
(PBS snapshots, ZFS snapshots, replication tasks) and consumed by the
|
||||
platform-shaped pages that present it. Infrastructure onboarding is split by
|
||||
ownership inside Settings:
|
||||
|
||||
- `Settings → Infrastructure → Install on a host` for direct Unified Agent
|
||||
deployment
|
||||
- `Settings → Infrastructure → Platform connections` for API-backed systems
|
||||
such as Proxmox, TrueNAS, and VMware
|
||||
|
||||
### Self-hosted packaging is corrected from the early RC posture
|
||||
|
||||
|
|
@ -94,8 +125,12 @@ hosted product; see the MSP section of the pricing doc.
|
|||
## Upgrade Guidance For Existing v5 Users
|
||||
|
||||
1. Back up the current system and keep direct console access available.
|
||||
2. Re-test navigation, bookmarks, and any saved links that depended on the old
|
||||
route structure.
|
||||
2. Re-test bookmarks and saved links. The platform-shaped top-level pages
|
||||
(`/proxmox`, `/docker`, `/kubernetes`, `/truenas`, `/vmware`, `/standalone`)
|
||||
are the canonical v6 routes. The unified `/infrastructure`, `/workloads`,
|
||||
`/storage`, and `/recovery` routes that briefly shipped across `rc.1`-`rc.5`
|
||||
are retired in `rc.6` and onward; any bookmark or runbook pointing at those
|
||||
should move to the platform-shaped equivalent.
|
||||
3. Re-test custom automation or dashboards that depended on v5-style
|
||||
`/api/state` or websocket payloads.
|
||||
4. Re-test recovery workflows and any backup-era assumptions.
|
||||
|
|
@ -109,4 +144,3 @@ hosted product; see the MSP section of the pricing doc.
|
|||
- `docs/UPGRADE_v6.md`
|
||||
- `docs/releases/V6_CHANGELOG.md`
|
||||
- `docs/PULSE_PRO.md`
|
||||
- `docs/MIGRATION_UNIFIED_NAV.md`
|
||||
|
|
|
|||
236
docs/releases/RELEASE_NOTES_v6_RC6_DRAFT.md
Normal file
236
docs/releases/RELEASE_NOTES_v6_RC6_DRAFT.md
Normal file
|
|
@ -0,0 +1,236 @@
|
|||
# Pulse v6.0.0-rc.6 Draft Release Notes
|
||||
|
||||
_Draft only. Do not treat this as published until the governed
|
||||
`v6.0.0-rc.6` tag and GitHub prerelease exist._
|
||||
|
||||
## What this RC is, and what it is not
|
||||
|
||||
`v6.0.0-rc.6` is a pre-release for testing, not a candidate for general
|
||||
availability. It is published on the existing `rc` channel because the
|
||||
prerelease update path (`internal/updates/version.go`,
|
||||
`internal/config/config.go`) is RC-shaped, but the framing is closer to
|
||||
"come kick the tyres" than "this is days from GA". Pulse v5.1.32 remains
|
||||
the current stable line.
|
||||
|
||||
## Why the frontend looks like v5 again
|
||||
|
||||
`rc.1` through `rc.5` introduced a unified information architecture for
|
||||
v6: `/infrastructure`, `/workloads`, `/storage`, and `/recovery` as
|
||||
top-level pages, with platform names demoted to filters and source
|
||||
badges inside those views. Across five prereleases, the feedback I
|
||||
received was consistent: existing users preferred the platform-shaped
|
||||
navigation from v5. I did not receive feedback that the unified IA was
|
||||
working better than the per-platform pages it replaced.
|
||||
|
||||
With that signal pointing in one direction and no countervailing signal,
|
||||
I reverted the frontend information architecture in `rc.6` to
|
||||
platform-shaped top-level navigation:
|
||||
|
||||
- Proxmox, Docker, Kubernetes, TrueNAS, vSphere, and Standalone are
|
||||
each their own top-level page again.
|
||||
- Alerts, Patrol, and Settings keep their own top-level pages.
|
||||
- The unified resource model is still the backend contract.
|
||||
`/api/resources` remains the canonical read; the platform pages
|
||||
consume it and apply platform-shaped presentation on top.
|
||||
|
||||
In short: v5 navigation, v6 data model. Same backend, the navigation
|
||||
shape you already know.
|
||||
|
||||
The keyboard shortcuts follow the new shape:
|
||||
|
||||
- `g p` Proxmox, `g d` Docker, `g k` Kubernetes, `g n` TrueNAS,
|
||||
`g v` vSphere, `g s` Standalone
|
||||
- `g a` Alerts, `g r` Patrol, `g t` Settings, `?` shortcuts help
|
||||
|
||||
The unified IA pages (`/infrastructure`, `/workloads`, `/storage`,
|
||||
`/recovery`) and their aggregate route aliases are gone. The Command
|
||||
Palette (`Cmd/Ctrl+K`) and global search (`/` to focus) still work and
|
||||
are the fastest way across platforms.
|
||||
|
||||
## Support Stance
|
||||
|
||||
- Pulse v5.1.32 remains the current stable line.
|
||||
- Pulse v6 `rc.6` is an opt-in evaluation build, not the default
|
||||
production recommendation.
|
||||
- Existing v5 users should still prefer staging, lab, or otherwise
|
||||
controlled evaluation first.
|
||||
- If you previously evaluated `rc.1` through `rc.5` on the unified IA
|
||||
and held back because of the navigation, `rc.6` is the build to look
|
||||
at again.
|
||||
- The stable rollback target for this candidate is `v5.1.32`:
|
||||
`./scripts/install.sh --version v5.1.32`
|
||||
|
||||
## What changed since `rc.5`
|
||||
|
||||
### Frontend information architecture reverted to platform-shaped
|
||||
|
||||
The unified `/infrastructure`, `/workloads`, `/storage`, and `/recovery`
|
||||
pages have been retired in favour of per-platform top-level pages. The
|
||||
aggregate route aliases and legacy top-level workspace routes were
|
||||
removed in the same pass, along with the orphaned summary components,
|
||||
aggregate state hooks, and presentation utilities the unified pages
|
||||
relied on. The unified resource model and `/api/resources` contract are
|
||||
retained on the backend; per-platform pages consume that contract and
|
||||
add platform-shaped presentation. Drawer shells, inline detail rows,
|
||||
and per-platform filters were unified across Workloads, Docker, K8s,
|
||||
and host drawers so the platform-shaped pages share their detail
|
||||
surface.
|
||||
|
||||
### vSphere as a first-class platform
|
||||
|
||||
vSphere is a top-level platform in `rc.6`, parallel to Proxmox, Docker,
|
||||
Kubernetes, and TrueNAS. The surface carries vSphere VMs through the
|
||||
shared workloads pipeline, an inventory of vSphere networks, hosts with
|
||||
version and uptime, cluster services, VM hardware configuration, VMware
|
||||
Tools status, vCenter MoRef in the workload ID column, snapshot trees,
|
||||
and a vSphere placement card in the workload drawer. vSphere tables
|
||||
follow the canonical platform-table column alignment helper and the
|
||||
shared platform conventions used by Proxmox and Docker.
|
||||
|
||||
### Standalone surface renamed to Machines, with native detail UX
|
||||
|
||||
The surface previously labelled "Agents" and then "Standalone" is now
|
||||
"Machines". The rename consolidates the IA decision and the landing
|
||||
behaviour into one name. The Machines table gained row identity
|
||||
context, an expansion affordance, IP / disk I/O / RAID / network /
|
||||
temperature detail tooltips, an aggregate disk summary in machine
|
||||
details, SMART temperature fallback, machine discovery promoted into
|
||||
drawer tabs, and a richer agent telemetry view. Machines is now
|
||||
restricted to Pulse Agent resources.
|
||||
|
||||
### TrueNAS native detail surfacing
|
||||
|
||||
TrueNAS got native inline detail rendering across storage, system,
|
||||
service, protection, and health rows, plus a shared TrueNAS detail
|
||||
table extraction. TrueNAS health alerts surface on the overview, and
|
||||
TrueNAS alert detail rows now appear in the drawer.
|
||||
|
||||
### Proxmox backup recovery coverage and tab polish
|
||||
|
||||
Proxmox backup tabs got click-to-sort across all three tabs, visual
|
||||
density alignment with the Storage and Ceph pages, a canonical
|
||||
ProgressBar for metric bars, a Backups column hidden on non-Proxmox
|
||||
workload surfaces, a workload-row backup-age display, a consistency
|
||||
pass on the sub-page conventions, and a coverage view that surfaces
|
||||
which workloads have recent PBS artifacts. The Replication tab is
|
||||
hidden when no replication signals exist.
|
||||
|
||||
### FilterBar adoption and SavedViews wiring
|
||||
|
||||
The Alerts history page, the audit log filter form, and the embedded
|
||||
workloads filter all migrated to the canonical FilterBar pattern with
|
||||
URL-backed filter state and SavedViews wiring. SavedViews are now wired
|
||||
into Storage with a platform-scoped key, and the default-star is always
|
||||
visible. Workloads search and `statusMode` migrated to URL params, and
|
||||
the localStorage backup for `viewMode` and `containerRuntime` was
|
||||
dropped so URL state is the single source of truth.
|
||||
|
||||
### Patrol intelligence: capacity-forecast and reliability findings
|
||||
|
||||
Patrol gained a capacity-forecast action template registry, forecast
|
||||
proposals that attach onto a Patrol `RemediationPlan`, a reliability
|
||||
finding that fires when an alert starts flapping, a PDM (Proxmox
|
||||
Datacenter Manager) HTTP alert bridge that emits and resolves through
|
||||
`FindingsStore.Add`, and a verification-outcome and capability-
|
||||
postcondition substrate for finding lifecycle.
|
||||
|
||||
### Self-hosted commercial posture: free-first, no caps
|
||||
|
||||
Self-hosted commercial framing moved to free-first. The self-hosted
|
||||
trial start route, hosted AI quickstart runtime, self-hosted AI
|
||||
quickstart surfaces, monitored-system handoff prompts, and inactive Pro
|
||||
upsell helpers are retired. Self-hosted guest capacity caps are gone,
|
||||
self-hosted Pro continuity holds with no caps, and the Pulse Pro value
|
||||
copy was aligned to the free-first posture. The Pro upsell path remains
|
||||
opt-in.
|
||||
|
||||
### Install pipeline hardening
|
||||
|
||||
The release pipeline now ships `install.sh` as a GitHub Release asset,
|
||||
gates the release on an end-to-end `install.sh` smoke test against the
|
||||
published release, and self-tests the smoke gate on every workflow
|
||||
edit. The archive install path now requires a `.sshsig` sidecar.
|
||||
Windows agent onboarding moved to a seamless install flow with a
|
||||
corrected installer readiness path.
|
||||
|
||||
### Connection identity and source badges
|
||||
|
||||
The platform source badge is now live and de-duplicates cluster
|
||||
members. A connection-degraded alert fires for wedged platform
|
||||
connections. Platform identity badges were clarified on the
|
||||
infrastructure system rows.
|
||||
|
||||
### Performance and correctness
|
||||
|
||||
Workload charts are faster (TTL cache plus removal of redundant
|
||||
clones). Concurrent `/api/state` and `/api/diagnostics` reads are
|
||||
deduplicated through a singleflight gate. A regression that stripped
|
||||
workloads `runtime` and `namespace` before guest data loaded is fixed.
|
||||
Grouped notification cancellation, mixed quiet-hours notification
|
||||
replay queueing, and resolved notifications after direct alert dispatch
|
||||
are fixed.
|
||||
|
||||
## Validation
|
||||
|
||||
This packet should be audited against the commit range from the
|
||||
published `v6.0.0-rc.5` tag through the validation-risk commit:
|
||||
|
||||
- `v6.0.0-rc.5`: `<populate at packet finalisation>`
|
||||
- validation-risk commit: `<populate at packet finalisation>`
|
||||
- range: `v6.0.0-rc.5..<validation-risk-sha>`
|
||||
|
||||
Expected scope: roughly 600+ commits, with the bulk concentrated in
|
||||
`frontend-modern/src` (information architecture revert, vSphere
|
||||
surface, Machines detail UX), `internal/vmware` (new vSphere
|
||||
collector and inventory), `internal/api` (recovery and resources
|
||||
contract continuity), `internal/ai` (capacity-forecast, PDM bridge,
|
||||
verification substrate), and `.github/workflows` (install.sh smoke
|
||||
gate).
|
||||
|
||||
## Retest Plan
|
||||
|
||||
1. Frontend information architecture: each of Proxmox, Docker,
|
||||
Kubernetes, TrueNAS, vSphere, Standalone (Machines) loads as its
|
||||
own top-level page; no `/infrastructure`, `/workloads`,
|
||||
`/storage`, or `/recovery` aggregate routes remain; Command Palette
|
||||
(`Cmd/Ctrl+K`) navigates across platforms; keyboard shortcuts
|
||||
`g p / g d / g k / g n / g v / g s / g a / g r / g t` work.
|
||||
2. vSphere: VMs through workloads pipeline, network inventory, hosts
|
||||
with version and uptime, cluster services, VM hardware config,
|
||||
VMware Tools status, vCenter MoRef in workload ID column, snapshot
|
||||
trees in drawer, vSphere placement card.
|
||||
3. Machines: row identity, expansion affordance, IP / disk I/O / RAID
|
||||
/ network / temperature detail tooltips, aggregate disk summary,
|
||||
SMART fallback, machine discovery drawer tabs.
|
||||
4. TrueNAS: native storage/system/service/protection details, alert
|
||||
detail rows, overview health alerts.
|
||||
5. Proxmox backups: click-sort across the three tabs, canonical
|
||||
ProgressBar, hidden Replication tab on no-signals, backup-age on
|
||||
workload rows, recovery coverage view.
|
||||
6. FilterBar + SavedViews: Alerts history, audit log filter, embedded
|
||||
workloads filter, Storage SavedViews, default-star visible, URL-
|
||||
backed workload search and `statusMode`.
|
||||
7. Patrol: capacity-forecast action template, forecast proposals on
|
||||
RemediationPlan, flapping-alert reliability finding, PDM HTTP
|
||||
alert bridge.
|
||||
8. Self-hosted commercial: no trial start route, no AI quickstart
|
||||
surfaces, no guest capacity caps, Pro continuity, free-first copy.
|
||||
9. Install pipeline: `install.sh` smoke gate against published
|
||||
release, `.sshsig` sidecar required on archive install path.
|
||||
10. Release artifact download, checksum/signature, and installer
|
||||
paths before broad retesting.
|
||||
|
||||
## Evidence Appendix
|
||||
|
||||
For the code-backed evidence packet that maps these claims to the
|
||||
current release line, see:
|
||||
|
||||
- `docs/release-control/v6/internal/subsystems/api-contracts.json`
|
||||
- `docs/release-control/v6/internal/subsystems/unified-resources.json`
|
||||
- `docs/release-control/v6/internal/subsystems/monitoring.json`
|
||||
- `docs/release-control/v6/internal/subsystems/patrol-intelligence.json`
|
||||
- `docs/release-control/v6/internal/subsystems/ai-runtime.json`
|
||||
- `frontend-modern/src/features/platformPage/columnAlignment.ts`
|
||||
- `frontend-modern/src/App.tsx` (top-level route shape)
|
||||
- `frontend-modern/src/hooks/useKeyboardShortcuts.ts` (platform-keyed
|
||||
shortcuts)
|
||||
|
|
@ -6,34 +6,66 @@ _This changelog describes the shipped stable `v6.0.0` release compared with
|
|||
|
||||
## What v6 changes at a high level
|
||||
|
||||
Pulse v6 changes both the shape of the product and the shape of the runtime
|
||||
behind it. Pulse v5 was organized mainly around Proxmox and separate
|
||||
platform-specific views. Pulse v6 is organized around the primary operational
|
||||
surfaces: `Infrastructure`, `Workloads`, `Storage`, and `Recovery`.
|
||||
Pulse v6 keeps the platform-shaped top-level navigation existing v5 operators
|
||||
already know (Proxmox, Docker, Kubernetes, TrueNAS, vSphere, Standalone, plus
|
||||
Alerts, Patrol, and Settings) and rebuilds the runtime behind it on a unified
|
||||
resource model. The default top-level shape is the same shape v5 had; the
|
||||
data flowing into those pages is the v6 unified `Resource` contract served
|
||||
from `/api/resources`.
|
||||
|
||||
For existing Pulse v5 operators, this is not just a visual refresh. The
|
||||
default routes change, the main live-state contract changes, install and
|
||||
onboarding are split differently, and self-hosted commercial posture now
|
||||
revolves around core monitoring included for self-hosted installs plus paid
|
||||
convenience, history, and AI/admin surfaces rather than capped monitored-system
|
||||
volume.
|
||||
For existing Pulse v5 operators, this is not just a visual refresh. The live-
|
||||
state contract changes, install and onboarding are split differently inside
|
||||
Settings, self-hosted commercial posture now revolves around core monitoring
|
||||
included for self-hosted installs plus paid convenience, history, and AI/admin
|
||||
surfaces rather than capped monitored-system volume, and there are new top-
|
||||
level pages (vSphere, Standalone, Patrol).
|
||||
|
||||
The v6 line briefly shipped a unified `Infrastructure` / `Workloads` /
|
||||
`Storage` / `Recovery` layout across `rc.1` through `rc.5`. Operator feedback
|
||||
consistently preferred the platform-shaped navigation v5 already had, so I
|
||||
reverted the frontend information architecture in `rc.6` to platform-shaped
|
||||
pages while keeping the unified resource model on the backend. Same backend,
|
||||
the navigation shape you already know.
|
||||
|
||||
## Major product and workflow changes
|
||||
|
||||
- **The top-level product layout is different.** Opening Pulse no longer drops
|
||||
directly into a Proxmox overview. The v6 default route lands on
|
||||
`Infrastructure`, with separate primary views for `Workloads`, `Storage`, and
|
||||
`Recovery`.
|
||||
- **The top-level product layout stays platform-shaped, on a unified
|
||||
backend.** Proxmox, Docker, Kubernetes, TrueNAS, vSphere, and Standalone
|
||||
are each their own top-level page, alongside Alerts, Patrol, and Settings.
|
||||
Behind those pages, Pulse v6 runs on a unified `Resource` contract
|
||||
(`/api/resources`) and per-platform pages consume that contract.
|
||||
|
||||
- **Recovery is a first-class surface.** In v5, backup-related behavior was
|
||||
centered on backup-specific pages and route families. In v6, recovery is
|
||||
treated as its own primary surface, and `Recovery` replaces the older
|
||||
backup-first page model.
|
||||
- **vSphere is a first-class platform.** vSphere has a top-level page
|
||||
parallel to Proxmox, Docker, Kubernetes, and TrueNAS, with VMs through
|
||||
the shared workloads pipeline, network inventory, hosts with version and
|
||||
uptime, cluster services, VM hardware config, VMware Tools status,
|
||||
vCenter MoRef on the workload ID, snapshot trees, and a vSphere placement
|
||||
card in the workload drawer.
|
||||
|
||||
- **Infrastructure setup is split by ownership.** `Install on a host` is the
|
||||
path for machines that should run the Unified Agent directly. `Platform
|
||||
connections` is the path for API-backed systems such as Proxmox, TrueNAS,
|
||||
and VMware.
|
||||
- **Patrol is a first-class intelligence surface.** Patrol findings carry
|
||||
in-place verbs (Investigate, Why, Verify fix, Create rule, Mark resolved),
|
||||
structured investigation records with operator-facing Impact and rollback,
|
||||
and a first-class resolved-finding lifecycle. Capacity-forecast action
|
||||
templates and a reliability finding for flapping alerts are part of the
|
||||
shipped surface.
|
||||
|
||||
- **An external agent substrate ships.** `/api/agent/capabilities`,
|
||||
`/api/agent/resource-context/{id}`, `/api/agent/fleet-context`, and
|
||||
`/api/agent/events` give external agents (Claude Desktop, Claude Code,
|
||||
custom MCP clients, plain HTTP consumers) the same situated context
|
||||
Patrol and Assistant have. Worked examples ship in `cmd/pulse-mcp` and
|
||||
`cmd/agent-probe`.
|
||||
|
||||
- **Recovery is served as a backend contract.** `/api/recovery/*` aggregates
|
||||
PBS snapshots, ZFS snapshots, and replication tasks. The platform-shaped
|
||||
pages consume that contract; there is no top-level Recovery page in the
|
||||
shipped frontend.
|
||||
|
||||
- **Infrastructure onboarding is split by ownership inside Settings.**
|
||||
`Settings → Infrastructure → Install on a host` is the path for machines
|
||||
that should run the Unified Agent directly. `Settings → Infrastructure →
|
||||
Platform connections` is the path for API-backed systems such as Proxmox,
|
||||
TrueNAS, and VMware.
|
||||
|
||||
- **Adding infrastructure is more structured.** The shipped v6 line includes
|
||||
cluster agent deployment workflows with candidate discovery, preflights,
|
||||
|
|
@ -57,7 +89,7 @@ volume.
|
|||
|
||||
## What existing Pulse v5 users should re-test first
|
||||
|
||||
1. **Navigation and bookmarks.** Re-test saved links, runbooks, screenshots, and operator habits that assumed the old Proxmox-first route structure.
|
||||
1. **Navigation and bookmarks.** The platform-shaped top-level pages (`/proxmox`, `/docker`, `/kubernetes`, `/truenas`, `/vmware`, `/standalone`) are the canonical v6 routes. The unified `/infrastructure`, `/workloads`, `/storage`, and `/recovery` routes that briefly shipped across `rc.1`-`rc.5` are retired in `rc.6` and onward; any bookmark or runbook pointing at those should move to the platform-shaped equivalent.
|
||||
|
||||
2. **Any custom automation that reads Pulse state.** If there are scripts, dashboards, browser extensions, or internal tooling that depended on v5-style `/api/state` or websocket payloads, re-test those before anything else.
|
||||
|
||||
|
|
@ -76,7 +108,7 @@ volume.
|
|||
|
||||
## Breaking or compatibility-sensitive changes
|
||||
|
||||
- **The default route and settings structure changed.** Existing links to old primary pages should be reviewed, even where legacy redirects still exist.
|
||||
- **The settings structure changed.** Settings is reorganised in v6; existing links into specific settings sub-pages should be reviewed. The platform-shaped top-level routes match the v5 shape, so most navigation bookmarks will continue to resolve; bookmarks into the briefly-shipped unified routes (`/infrastructure`, `/workloads`, `/storage`, `/recovery`) are retired and need to move to the platform-shaped equivalents.
|
||||
|
||||
- **The v5 live-state contract is not the v6 contract.** If custom code depends on `nodes`, `vms`, `containers`, `dockerHosts`, `hosts`, `storage`, or `backups` in `/api/state` or websocket payloads, it should be treated as migration work.
|
||||
|
||||
|
|
|
|||
300
docs/releases/V6_CHANGELOG_RC6_DRAFT.md
Normal file
300
docs/releases/V6_CHANGELOG_RC6_DRAFT.md
Normal file
|
|
@ -0,0 +1,300 @@
|
|||
# Pulse v6.0.0-rc.6 Draft Changelog
|
||||
|
||||
_Draft only. This changelog describes the current `pulse/v6-release` delta
|
||||
since the published `v6.0.0-rc.5` tag. Do not treat it as published until
|
||||
the governed `v6.0.0-rc.6` prerelease exists._
|
||||
|
||||
## What `rc.6` changes compared with `rc.5`
|
||||
|
||||
`v6.0.0-rc.6` is the frontend-reset RC. It is published on the `rc`
|
||||
update channel for continuity with the existing prerelease pipe, but
|
||||
its purpose is closer to "open this for testing under the new
|
||||
navigation shape" than to "this is days from GA". It does not reopen
|
||||
the `rc.2` commercial model or replace `v5.1.32` as the stable line.
|
||||
|
||||
The headline change is the revert of the unified information
|
||||
architecture introduced across `rc.1` through `rc.5`. The unified
|
||||
`/infrastructure`, `/workloads`, `/storage`, and `/recovery` pages,
|
||||
their aggregate route aliases, and the orphaned summary components,
|
||||
aggregate state hooks, and presentation utilities that fed them are
|
||||
removed. The frontend top level is platform-shaped again: Proxmox,
|
||||
Docker, Kubernetes, TrueNAS, vSphere, Standalone (Machines), plus
|
||||
Alerts, Patrol, and Settings. The unified resource model and
|
||||
`/api/resources` contract are retained on the backend; the per-
|
||||
platform pages consume that contract and add platform-shaped
|
||||
presentation.
|
||||
|
||||
Beyond the IA revert, `rc.6` carries the new vSphere first-class
|
||||
platform surface, the Standalone-to-Machines surface evolution with
|
||||
native detail UX, TrueNAS native detail rendering, Proxmox backup
|
||||
recovery coverage and tab polish, FilterBar adoption with SavedViews,
|
||||
Patrol capacity-forecast and reliability-finding work, the free-first
|
||||
self-hosted commercial posture, and `install.sh` release-pipeline
|
||||
hardening.
|
||||
|
||||
## Commit Coverage Audit
|
||||
|
||||
The changelog should be audited against every feature/runtime commit
|
||||
in the exact code-backed release-validation range for the current
|
||||
candidate:
|
||||
|
||||
- `v6.0.0-rc.5`: `<populate at packet finalisation>`
|
||||
- validation-risk commit: `<populate at packet finalisation>`
|
||||
- range: `v6.0.0-rc.5..<validation-risk-sha>`
|
||||
- expected commit count: 600+
|
||||
- expected changed scope: 1300+ files, 130000+ insertions, 65000+
|
||||
deletions
|
||||
|
||||
Those commits are grouped in this changelog rather than listed one by
|
||||
one. The range carries: the frontend information architecture revert
|
||||
to platform-shaped navigation, the vSphere first-class platform
|
||||
surface, the Standalone-to-Machines rename and native detail UX, the
|
||||
TrueNAS native detail rendering pass, Proxmox backup recovery
|
||||
coverage and tab polish, FilterBar adoption with SavedViews wiring on
|
||||
Alerts history / audit log / embedded workloads / Storage, Patrol
|
||||
capacity-forecast action templates and forecast proposals on
|
||||
RemediationPlan, the PDM HTTP alert bridge and reliability finding
|
||||
for flapping alerts, the free-first self-hosted commercial posture
|
||||
with trial and AI quickstart retirement, `install.sh` release-asset
|
||||
shipping with end-to-end smoke gate and `.sshsig` sidecar requirement,
|
||||
Windows agent onboarding rework, connection-degraded alerting and
|
||||
live platform source badges, drawer shell unification across
|
||||
Workloads / Docker / host detail drawers, and a set of correctness
|
||||
fixes around workloads runtime/namespace stripping, grouped
|
||||
notification cancellation, quiet-hours notification replay, and
|
||||
resolved notifications after direct alert dispatch.
|
||||
|
||||
## Major Changes
|
||||
|
||||
### 1. Frontend information architecture reverted to platform-shaped navigation
|
||||
|
||||
The unified Infrastructure / Workloads / Storage / Recovery pages
|
||||
introduced across `rc.1`-`rc.5` are removed. The frontend top level is
|
||||
platform-shaped again:
|
||||
|
||||
- Proxmox, Docker, Kubernetes, TrueNAS, vSphere, and Standalone
|
||||
(Machines) are each their own top-level page.
|
||||
- Alerts, Patrol, and Settings keep their own top-level pages.
|
||||
- Aggregate top-level workspace routes and legacy infrastructure
|
||||
route aliases are retired; aggregate route-state path builders are
|
||||
removed.
|
||||
- Orphaned summary components, aggregate state hooks, and
|
||||
presentation utilities are deleted as part of the same pass.
|
||||
- Drawer shells are unified across Workloads, Docker, K8s, and host
|
||||
detail drawers so the platform pages share their detail surface.
|
||||
- Keyboard shortcuts moved to platform keys: `g p` Proxmox, `g d`
|
||||
Docker, `g k` Kubernetes, `g n` TrueNAS, `g v` vSphere, `g s`
|
||||
Standalone, `g a` Alerts, `g r` Patrol, `g t` Settings.
|
||||
|
||||
The unified resource model and `/api/resources` contract are retained
|
||||
on the backend; the platform-shaped pages consume that contract and
|
||||
apply platform-shaped presentation on top.
|
||||
|
||||
This is the reason `rc.6` exists. Across `rc.1`-`rc.5` the feedback on
|
||||
the unified IA was consistently in favour of the platform-shaped
|
||||
navigation v5 already had, with no countervailing signal in favour of
|
||||
the unified shape. `rc.6` realigns the frontend to the navigation
|
||||
operators already had a mental model for, while keeping the v6
|
||||
backend.
|
||||
|
||||
### 2. vSphere as a first-class platform
|
||||
|
||||
vSphere is a top-level platform in `rc.6`, parallel to Proxmox, Docker,
|
||||
Kubernetes, and TrueNAS:
|
||||
|
||||
- vSphere VMs route through the shared Workloads pipeline (the legacy
|
||||
`VsphereVirtualMachinesTable` is deleted).
|
||||
- vSphere networks inventory.
|
||||
- vSphere Hosts table with version and uptime columns.
|
||||
- vSphere VM uptime and guest disk usage.
|
||||
- vSphere cluster services.
|
||||
- vSphere VM hardware config.
|
||||
- VMware Tools status carried into the workload row.
|
||||
- vCenter MoRef shown in the workload ID column.
|
||||
- vSphere snapshot trees.
|
||||
- vSphere placement card in the workload drawer.
|
||||
- vSphere tables follow the canonical platform-table column-alignment
|
||||
helper and the shared platform conventions used by Proxmox and
|
||||
Docker.
|
||||
- Guest OS column lights up for Proxmox and vSphere workloads in
|
||||
unison.
|
||||
|
||||
### 3. Standalone surface renamed to Machines with native detail UX
|
||||
|
||||
The surface previously labelled "Agents" and then "Standalone" is now
|
||||
"Machines". The IA decision and landing behaviour are consolidated
|
||||
into one name and the surface is restricted to Pulse Agent resources:
|
||||
|
||||
- Row identity context.
|
||||
- Row expansion affordance.
|
||||
- IP, disk I/O, RAID, network, and temperature detail tooltips.
|
||||
- Aggregate disk summary in machine details.
|
||||
- SMART temperature fallback.
|
||||
- Richer agent telemetry preserved in the Machines table.
|
||||
- Machine discovery promoted into drawer tabs.
|
||||
- Machine facts promoted in drawer rows.
|
||||
|
||||
### 4. TrueNAS native detail rendering
|
||||
|
||||
TrueNAS gained native inline detail rendering across the row types:
|
||||
|
||||
- Native storage details, system details, service detail rows,
|
||||
protection detail rows.
|
||||
- Shared TrueNAS detail table extraction (single rendering path).
|
||||
- TrueNAS health alerts on the overview.
|
||||
- TrueNAS alert detail rows in the drawer.
|
||||
|
||||
### 5. Proxmox backup recovery coverage and tab polish
|
||||
|
||||
The three Proxmox Backups tabs got:
|
||||
|
||||
- Click-to-sort across all three tabs.
|
||||
- Visual density alignment with the Storage and Ceph pages.
|
||||
- A consistency pass on sub-page conventions.
|
||||
- Canonical `ProgressBar` for metric bars.
|
||||
- A coverage view that surfaces which workloads have recent PBS
|
||||
artifacts.
|
||||
- Backup-age display on workload rows.
|
||||
- A Backups column hidden on non-Proxmox workload surfaces.
|
||||
- The Replication tab is hidden when no replication signals exist.
|
||||
- A backup artifact surface fix on the PBS path.
|
||||
- A simplification pass on Proxmox backup recovery navigation.
|
||||
|
||||
### 6. FilterBar adoption with SavedViews
|
||||
|
||||
The canonical FilterBar pattern (chips plus `+ Filter`) expanded:
|
||||
|
||||
- Alerts history converted to FilterBar with URL-backed filter state.
|
||||
- Audit log filter form converted to FilterBar with SavedViews.
|
||||
- Embedded workloads filter wired to `savedViewsKey`.
|
||||
- Storage wired to SavedViews with a platform-scoped key.
|
||||
- SavedViews default-star always visible.
|
||||
- Workloads search and `statusMode` moved to URL params; the
|
||||
localStorage backup for `viewMode` and `containerRuntime` is
|
||||
dropped. URL state is now the single source of truth.
|
||||
- Audit filters moved to URL with live-apply.
|
||||
|
||||
### 7. Patrol intelligence additions
|
||||
|
||||
Patrol gained:
|
||||
|
||||
- Capacity-forecast action template registry.
|
||||
- Forecast proposals attached onto Patrol `RemediationPlan`.
|
||||
- Reliability finding emitted when an alert starts flapping.
|
||||
- PDM (Proxmox Datacenter Manager) HTTP alert source and bridge,
|
||||
emitting and resolving through `FindingsStore.Add`.
|
||||
- Verification-outcome and capability-postcondition substrate for
|
||||
finding lifecycle.
|
||||
- A connection-degraded alert for wedged platform connections.
|
||||
- Patrol approval-section assertions and shipped CONFIGURATION docs
|
||||
synced after the changes landed.
|
||||
|
||||
A storage-growth-planner runway widget was prototyped and removed in
|
||||
the same range; it is not present in `rc.6`.
|
||||
|
||||
### 8. Self-hosted commercial posture: free-first
|
||||
|
||||
Self-hosted commercial framing moved to free-first:
|
||||
|
||||
- Self-hosted trial start route, trial signup control plane, trial
|
||||
activation callback, and trial-expired purchase handoff retired.
|
||||
- Self-hosted AI quickstart surfaces and hosted AI quickstart runtime
|
||||
retired.
|
||||
- Hosted quickstart backend retired (the inactive Pro upsell helper
|
||||
and self-hosted Pro upsell copy are gone).
|
||||
- Self-hosted guest capacity caps removed; self-hosted Pro continuity
|
||||
holds with no caps. A self-hosted commercial continuity proof is
|
||||
shipped.
|
||||
- Monitored-system handoffs routed to usage review.
|
||||
- Self-hosted Pro prompts remain opt-in; trial starts are kept out of
|
||||
feature gates.
|
||||
- Pulse Pro v6 value copy aligned to the new posture.
|
||||
- Stripped self-hosted monitoring upsell copy and stale Relay
|
||||
onboarding price copy.
|
||||
- A relationship-first monitoring v2 prototype with platform-layer
|
||||
filters is in the range; it is exploratory and not the shipped
|
||||
product surface in `rc.6`.
|
||||
|
||||
### 9. Install pipeline hardening
|
||||
|
||||
The release pipeline now treats `install.sh` as a release-blocking
|
||||
artifact:
|
||||
|
||||
- `install.sh` is shipped as a GitHub Release asset alongside the
|
||||
binaries.
|
||||
- An end-to-end `install.sh` smoke gate runs against the published
|
||||
release on every workflow edit and on every create-release run.
|
||||
- Archive install path requires a `.sshsig` sidecar.
|
||||
- Installer extraction is hardened.
|
||||
- Manual systemd install snippet binary path fixed.
|
||||
- Windows agent onboarding moved to a seamless install flow with a
|
||||
corrected installer readiness path.
|
||||
- Proxmox install command tokens bound on first use.
|
||||
- `publish-helm-chart` triggered via `workflow_call` from
|
||||
`create-release`.
|
||||
- Helm chart `agent.enabled` routed through the main pulse image.
|
||||
|
||||
### 10. Connection identity, source badges, and notifications
|
||||
|
||||
- Platform source badge is live and de-duplicates cluster members.
|
||||
- Connection-degraded alert for wedged platform connections.
|
||||
- Platform identity badges clarified on infrastructure system rows.
|
||||
- `/api/state` and `/api/diagnostics` concurrent reads deduplicated
|
||||
through a singleflight gate.
|
||||
- Monitor reload skipped on no-op auto-register.
|
||||
- Auto-register refresh notifications fixed.
|
||||
- Grouped notification cancellation fixed.
|
||||
- Mixed quiet-hours notification replay queueing fixed; quiet-hours
|
||||
alert notifications now replay.
|
||||
- Resolved notifications after direct alert dispatch fixed.
|
||||
|
||||
### 11. Performance and correctness fixes
|
||||
|
||||
- Workload charts use a TTL cache and skip redundant clones.
|
||||
- Workloads `runtime` and `namespace` no longer stripped before guest
|
||||
data loads.
|
||||
- Table-only workload filtered empty state fixed.
|
||||
- vSphere workload-type toolbar fix.
|
||||
- Kubernetes nodes table reworked with Kubelet, runtime, and capacity
|
||||
columns.
|
||||
- Ceph drawer capacity bars use canonical metric color tokens.
|
||||
|
||||
### 12. Documentation and accessibility
|
||||
|
||||
- Notification and settings switches labelled.
|
||||
- Alert schedule toggles labelled by section.
|
||||
- Alert schedule and notification form labels bound.
|
||||
- Patrol configuration toggles labelled.
|
||||
- Four customer-facing doc drift findings fixed (RBAC, OIDC, helm,
|
||||
webhooks).
|
||||
- LLM markdown renderer DOMPurify config tightened.
|
||||
|
||||
## Validation
|
||||
|
||||
This range should be re-validated against the GitHub release pipeline
|
||||
before `rc.6` is published:
|
||||
|
||||
- Release artifact download, checksum, and signature verification.
|
||||
- `install.sh` end-to-end smoke gate against the published release.
|
||||
- Helm chart publication path.
|
||||
- Frontend route inventory (no `/infrastructure`, `/workloads`,
|
||||
`/storage`, `/recovery` top-level routes; per-platform routes
|
||||
present).
|
||||
- API route inventory (`/api/resources`, `/api/recovery/*` still
|
||||
served).
|
||||
- Keyboard shortcut surface matches `useKeyboardShortcuts.ts`
|
||||
platform-keyed shape.
|
||||
- Subsystem proofs across api-contracts, unified-resources,
|
||||
monitoring, patrol-intelligence, and ai-runtime.
|
||||
|
||||
## Evidence Appendix
|
||||
|
||||
- `docs/release-control/v6/internal/subsystems/api-contracts.json`
|
||||
- `docs/release-control/v6/internal/subsystems/unified-resources.json`
|
||||
- `docs/release-control/v6/internal/subsystems/monitoring.json`
|
||||
- `docs/release-control/v6/internal/subsystems/patrol-intelligence.json`
|
||||
- `docs/release-control/v6/internal/subsystems/ai-runtime.json`
|
||||
- `frontend-modern/src/App.tsx` (top-level route shape)
|
||||
- `frontend-modern/src/hooks/useKeyboardShortcuts.ts`
|
||||
- `frontend-modern/src/features/platformPage/columnAlignment.ts`
|
||||
- `frontend-modern/src/features/platformPage/sharedPlatformPage.tsx`
|
||||
Loading…
Add table
Add a link
Reference in a new issue