From f08ad767b760fc86a91f73fb067f20ef0575b73e Mon Sep 17 00:00:00 2001 From: master <> Date: Fri, 27 Mar 2026 14:34:25 +0200 Subject: [PATCH] Restructure sidebar navigation to match product workflows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Major IA restructure based on product-level analysis of Stella Ops core workflows (release lifecycle, policy gates, evidence chain, security posture). New 7-group structure (was 5): - Dashboard: new ungrouped home link (no group header) - Release Control: Deployments, Releases, Environments (moved from Ops) - Security: Vulnerabilities, Security Posture (+children), Scan Image (Reports removed — will merge into Posture in Phase B) - Policy: NEW GROUP — Packs, Governance, Simulation, VEX & Exceptions, Release Gates, Policy Audit (promoted from buried Operations item) - Operations: slimmed from 11→8 items (Hub, Jobs, Scripts, Signals, Diagnostics, Notifications, Feeds, Watchlist) - Audit & Evidence: Overview, Capsules, Replay, Export, Audit Log, Bundles (route fixed to /evidence/bundles), Trust (merged name) - Settings: unchanged Rationale: - Policy is a release-blocking gate with 6 deep sub-workflows — not an ops utility - Environments define the promotion graph — belongs in Release Control - Trust Audit + Trust Analytics merged into single "Trust" item - Reports removed (duplicated Security Posture content) - Versions removed from sidebar (will merge into Releases as tab in Phase C) - Dashboard link ensures users can always navigate home without logo click Co-Authored-By: Claude Opus 4.6 (1M context) --- .../app-sidebar/app-sidebar.component.ts | 120 +++++++++++------- 1 file changed, 74 insertions(+), 46 deletions(-) diff --git a/src/Web/StellaOps.Web/src/app/layout/app-sidebar/app-sidebar.component.ts b/src/Web/StellaOps.Web/src/app/layout/app-sidebar/app-sidebar.component.ts index e6c64fea4..7e066904d 100644 --- a/src/Web/StellaOps.Web/src/app/layout/app-sidebar/app-sidebar.component.ts +++ b/src/Web/StellaOps.Web/src/app/layout/app-sidebar/app-sidebar.component.ts @@ -116,7 +116,7 @@ interface NavSectionGroup { role="group" [attr.aria-label]="group.label" > - @if (!effectiveCollapsed) { + @if (!effectiveCollapsed && group.id !== 'home') {