mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 10:35:51 +00:00
abb6f86aeb
Primary nav moved to platform-first (Proxmox/Docker/K8s/TrueNAS/vSphere) and the standalone Infrastructure/Workloads/Storage/Recovery/Ceph routes were no longer reachable from the UI — they only persisted as deep-link fallbacks and as cross-jump targets for command palette / shortcuts / drawer links. Code: - RuntimeHome and NotFound redirect to /proxmox/overview; kiosk-mode redirect follows the same canonical home. - App.tsx, routing/navigation.ts, routing/routePreload.ts, AppLayout.tsx drop the legacy routes, preloaders, tab IDs, and tab-title entries. - Old page wrappers (Infrastructure/Workloads/Storage/Recovery/Ceph) and the orphan CephServiceIcon and workloadsLink helper are deleted; the underlying feature surfaces (InfrastructurePageSurface, WorkloadsSurface, StorageSurface, RecoverySurface, ProxmoxCephTable) stay embedded inside platform pages. - Command palette and keyboard shortcuts now expose the five platform pages (g p/d/k/n/v) plus Patrol/Alerts/Settings; legacy g i/w/s/b are retired. - K8s Namespaces/Deployments drawer "view pods" buttons route to /kubernetes/pods (the legacy ?context= + ?namespace= filter doesn't carry forward yet — the new sub-tab doesn't consume those params). - Workload-row node-name click, host-row workloads icon, resource correlation/change drilldowns, and the PBS "Open Recovery Events" link render as plain text or are dropped — platform pages already surface the related data in adjacent sub-tabs. Governance: - Subsystem contracts updated to match: storage-recovery and performance-and-scalability drop the retired page wrappers from their Canonical Files lists; ai-runtime, cloud-paid, frontend-primitives, and unified-resources gain Current-State notes describing the platform-first redirect, palette/shortcut re-anchoring, and cross-link affordance removal so future work doesn't resurrect the retired paths. - status.json L8 (First-session & UX polish) evidence: the retired pages/Infrastructure.tsx wrapper is replaced by pages/Proxmox.tsx as the canonical post-redirect landing surface. - registry.json: 18 retired-file entries removed from owned_files, path-policy match_files, and exact_files across the route-shell-and- operations, workload-presentation, storage-recovery, and unified- resources subsystems. Surviving entries continue to cover the proof set — the embedded feature surfaces remain canonical and the retired page wrappers were thin shells with no remaining proof obligation. - canonical_completion_guard_test.py and subsystem_lookup_test.py retargeted: the recovery and storage product-surface fixtures now exercise the canonical components/* surfaces instead of the retired pages/* shells, matching the new registry shape. Tests: typecheck clean. Vitest 5820 pass / 6 pre-existing fail (PageControls.guardrails, useStoragePoolDetailModel, ApprovalSection x3, frontendResourceTypeBoundaries:1018) — all failing on HEAD before this change with clean porcelain on the offending source files. Python canonical_completion_guard_test (141) and subsystem_lookup_test (183) green.