From c7c758e3b9732dbcf7d62b19a3b9becca37ed727 Mon Sep 17 00:00:00 2001 From: master <> Date: Fri, 27 Mar 2026 12:06:20 +0200 Subject: [PATCH] Fix navigation structure, verbose descriptions, and naming mismatches MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Navigation: - Move Diagnostics and Notifications from Settings to Operations sidebar group (routes are /ops/operations/*) - Policy: skip redundant Overview tab, land directly on Packs (the first actionable tab) - Policy: remove "Ops / Policy" eyebrow prefix (breadcrumb already shows this) Naming: - Audit Log: "Unified Audit Log" → "Audit Log" to match sidebar label - Evidence: "Evidence & Audit" → "Evidence Overview" to match sidebar label Verbose descriptions trimmed: - Policy shell: single-line subtitle, remove default contextNote - Evidence overview: remove second paragraph about Operator/Auditor modes - Operations hub: trim to "Platform health, execution control, diagnostics, and airgap workflows." - Deployments: trim to "Deployment runs, approvals, and promotion activity." - Integrations Hub tab: remove duplicate heading (parent shell already provides it) Co-Authored-By: Claude Opus 4.6 (1M context) --- .../audit-log-dashboard.component.ts | 2 +- .../evidence-audit-overview.component.ts | 7 +- .../integration-hub.component.ts | 24 ++- .../platform-ops-overview-page.component.html | 3 +- .../policy-decisioning-shell.component.ts | 11 +- .../policy-decisioning.routes.ts | 2 +- .../releases/releases-activity.component.ts | 2 +- .../app-sidebar/app-sidebar.component.ts | 190 +++++++++++------- 8 files changed, 137 insertions(+), 104 deletions(-) diff --git a/src/Web/StellaOps.Web/src/app/features/audit-log/audit-log-dashboard.component.ts b/src/Web/StellaOps.Web/src/app/features/audit-log/audit-log-dashboard.component.ts index 96d1354b0..a6209e307 100644 --- a/src/Web/StellaOps.Web/src/app/features/audit-log/audit-log-dashboard.component.ts +++ b/src/Web/StellaOps.Web/src/app/features/audit-log/audit-log-dashboard.component.ts @@ -41,7 +41,7 @@ const AUDIT_TABS: StellaPageTab[] = [ template: `
diff --git a/src/Web/StellaOps.Web/src/app/features/evidence-audit/evidence-audit-overview.component.ts b/src/Web/StellaOps.Web/src/app/features/evidence-audit/evidence-audit-overview.component.ts index edd15342d..789b3cb29 100644 --- a/src/Web/StellaOps.Web/src/app/features/evidence-audit/evidence-audit-overview.component.ts +++ b/src/Web/StellaOps.Web/src/app/features/evidence-audit/evidence-audit-overview.component.ts @@ -38,12 +38,9 @@ type EvidenceHomeMode = 'normal' | 'degraded' | 'empty';
-

Evidence & Audit

+

Evidence Overview

- Retrieve, verify, export, and audit evidence for every release, bundle, environment, and approval decision. -

-

- Operator mode keeps the action path concise. Auditor mode expands provenance and proof detail for formal review. + Retrieve, verify, export, and audit evidence for every release decision.

diff --git a/src/Web/StellaOps.Web/src/app/features/integration-hub/integration-hub.component.ts b/src/Web/StellaOps.Web/src/app/features/integration-hub/integration-hub.component.ts index 8b07d450e..a0eb92dc8 100644 --- a/src/Web/StellaOps.Web/src/app/features/integration-hub/integration-hub.component.ts +++ b/src/Web/StellaOps.Web/src/app/features/integration-hub/integration-hub.component.ts @@ -2,6 +2,7 @@ import { Component, inject, OnDestroy, signal } from '@angular/core'; import { ActivatedRoute, Router, RouterModule } from '@angular/router'; import { PageActionService } from '../../core/services/page-action.service'; +import { PageActionOutletComponent } from '../../shared/components/page-action-outlet/page-action-outlet.component'; import { IntegrationService } from './integration.service'; import { IntegrationType } from './integration.models'; @@ -18,19 +19,16 @@ interface IntegrationHubStats { @Component({ selector: 'app-integration-hub', standalone: true, - imports: [RouterModule], + imports: [RouterModule, PageActionOutletComponent], template: `
-
-

Integrations

-

- Connect the external systems Stella Ops depends on, then verify them from the same setup surface. -

-
-
- {{ configuredConnectorCount() }} - configured connectors +
+ +
+ {{ configuredConnectorCount() }} + configured connectors +
@@ -147,6 +145,12 @@ interface IntegrationHubStats { max-width: 58ch; } + .hub-header__right { + display: flex; + align-items: center; + gap: 1rem; + } + .hub-summary { display: grid; gap: 0.1rem; diff --git a/src/Web/StellaOps.Web/src/app/features/platform/ops/platform-ops-overview-page.component.html b/src/Web/StellaOps.Web/src/app/features/platform/ops/platform-ops-overview-page.component.html index cdd088d12..a0a9887ad 100644 --- a/src/Web/StellaOps.Web/src/app/features/platform/ops/platform-ops-overview-page.component.html +++ b/src/Web/StellaOps.Web/src/app/features/platform/ops/platform-ops-overview-page.component.html @@ -3,8 +3,7 @@

Operations

- Consolidated operator shell for blocking platform issues, execution control, diagnostics, - and airgap workflows. Topology and agent ownership remain under Setup. + Platform health, execution control, diagnostics, and airgap workflows.

diff --git a/src/Web/StellaOps.Web/src/app/features/policy-decisioning/policy-decisioning-shell.component.ts b/src/Web/StellaOps.Web/src/app/features/policy-decisioning/policy-decisioning-shell.component.ts index 99f80c994..e44cd3f49 100644 --- a/src/Web/StellaOps.Web/src/app/features/policy-decisioning/policy-decisioning-shell.component.ts +++ b/src/Web/StellaOps.Web/src/app/features/policy-decisioning/policy-decisioning-shell.component.ts @@ -27,7 +27,6 @@ import { import { StellaPageTabsComponent, StellaPageTab } from '../../shared/components/stella-page-tabs/stella-page-tabs.component'; type DecisioningPrimaryTab = - | 'overview' | 'packs' | 'governance' | 'simulation' @@ -57,7 +56,6 @@ interface DecisioningShellState { } const PAGE_TABS: readonly StellaPageTab[] = [ - { id: 'overview', label: 'Overview', icon: 'M3 3h7v7H3z|||M14 3h7v7h-7z|||M14 14h7v7h-7z|||M3 14h7v7H3z' }, { id: 'packs', label: 'Packs', icon: 'M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z|||M3.27 6.96L12 12.01l8.73-5.05|||M12 22.08V12' }, { id: 'governance', label: 'Governance', icon: 'M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z' }, { id: 'simulation', label: 'Simulation', icon: 'M5 3l14 9-14 9V3z' }, @@ -78,7 +76,7 @@ const PAGE_TABS: readonly StellaPageTab[] = [ template: `
@@ -173,7 +172,7 @@ export class PolicyDecisioningShellComponent { case 'evidence': return 'Trace evidence, gate posture, and policy or VEX actions from a single canonical route.'; default: - return 'One canonical shell for policy packs, governance, simulation, VEX, exceptions, release gates, and audit.'; + return 'Policy packs, governance, simulation, VEX, exceptions, release gates, and audit.'; } }); @@ -192,7 +191,7 @@ export class PolicyDecisioningShellComponent { case 'evidence': return 'Evidence context is non-owning: Decisioning Studio stays focused on gates, policy, and VEX actions.'; default: - return 'Use the primary tabs to move between policy packs, governance, simulation, release gates, VEX, and audit.'; + return null; } }); @@ -420,7 +419,7 @@ function resolvePrimaryTab(currentUrl: string): DecisioningPrimaryTab { return 'audit'; } - return 'overview'; + return 'packs'; } function coerceString(value: unknown): string | null { diff --git a/src/Web/StellaOps.Web/src/app/features/policy-decisioning/policy-decisioning.routes.ts b/src/Web/StellaOps.Web/src/app/features/policy-decisioning/policy-decisioning.routes.ts index 256762e0d..3846af9b5 100644 --- a/src/Web/StellaOps.Web/src/app/features/policy-decisioning/policy-decisioning.routes.ts +++ b/src/Web/StellaOps.Web/src/app/features/policy-decisioning/policy-decisioning.routes.ts @@ -12,7 +12,7 @@ export const policyDecisioningRoutes: Routes = [ { path: '', pathMatch: 'full', - redirectTo: 'overview', + redirectTo: 'packs', }, { path: 'overview', diff --git a/src/Web/StellaOps.Web/src/app/features/releases/releases-activity.component.ts b/src/Web/StellaOps.Web/src/app/features/releases/releases-activity.component.ts index dfdcc032e..72ad94d7b 100644 --- a/src/Web/StellaOps.Web/src/app/features/releases/releases-activity.component.ts +++ b/src/Web/StellaOps.Web/src/app/features/releases/releases-activity.component.ts @@ -69,7 +69,7 @@ function deriveOutcomeIcon(status: string): string {

Deployments

-

Deployment activity across timeline/table/correlations with lane and operability filtering.

+

Deployment runs, approvals, and promotion activity.

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 33e687270..e6c64fea4 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 @@ -107,23 +107,6 @@ interface NavSectionGroup {
- - -