diff --git a/src/Web/StellaOps.Web/src/app/features/offline-kit/offline-kit.component.ts b/src/Web/StellaOps.Web/src/app/features/offline-kit/offline-kit.component.ts index 1deb5a612..97a120998 100644 --- a/src/Web/StellaOps.Web/src/app/features/offline-kit/offline-kit.component.ts +++ b/src/Web/StellaOps.Web/src/app/features/offline-kit/offline-kit.component.ts @@ -8,6 +8,7 @@ import { ActivatedRoute, NavigationEnd, Router, RouterModule, RouterOutlet } fro import { filter } from 'rxjs'; import { OfflineModeService } from '../../core/services/offline-mode.service'; +import { StellaQuickLinksComponent, type StellaQuickLink } from '../../shared/components/stella-quick-links/stella-quick-links.component'; import { ContextHeaderComponent } from '../../shared/ui/context-header/context-header.component'; import { StellaPageTabsComponent, StellaPageTab } from '../../shared/components/stella-page-tabs/stella-page-tabs.component'; @@ -24,7 +25,7 @@ const PAGE_TABS: readonly StellaPageTab[] = [ @Component({ selector: 'app-offline-kit', - imports: [RouterModule, RouterOutlet, ContextHeaderComponent, StellaPageTabsComponent], + imports: [RouterModule, RouterOutlet, ContextHeaderComponent, StellaPageTabsComponent, StellaQuickLinksComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
@@ -42,12 +43,9 @@ const PAGE_TABS: readonly StellaPageTab[] = [
- +
- +
Run Doctor Audit Log diff --git a/src/Web/StellaOps.Web/src/app/features/platform/ops/platform-ops-overview-page.component.ts b/src/Web/StellaOps.Web/src/app/features/platform/ops/platform-ops-overview-page.component.ts index b8d18a71a..d100354c6 100644 --- a/src/Web/StellaOps.Web/src/app/features/platform/ops/platform-ops-overview-page.component.ts +++ b/src/Web/StellaOps.Web/src/app/features/platform/ops/platform-ops-overview-page.component.ts @@ -50,13 +50,13 @@ export class PlatformOpsOverviewPageComponent { readonly refreshedAt = signal(null); readonly quickNav: readonly StellaQuickLink[] = [ - { label: 'Overview', route: OPERATIONS_PATHS.overview }, - { label: 'Data Integrity', route: OPERATIONS_PATHS.dataIntegrity }, - { label: 'Jobs & Queues', route: OPERATIONS_PATHS.jobsQueues }, - { label: 'Health & SLO', route: OPERATIONS_PATHS.healthSlo }, - { label: 'Quotas & Limits', route: OPERATIONS_PATHS.quotas }, - { label: 'AOC Compliance', route: OPERATIONS_PATHS.aoc }, - { label: 'Pack Registry', route: OPERATIONS_PATHS.packs }, + { label: 'Overview', route: OPERATIONS_PATHS.overview, description: 'Blocking issues and operator actions' }, + { label: 'Data Integrity', route: OPERATIONS_PATHS.dataIntegrity, description: 'Feed freshness and replay backlog' }, + { label: 'Jobs & Queues', route: OPERATIONS_PATHS.jobsQueues, description: 'Execution queues and worker capacity' }, + { label: 'Health & SLO', route: OPERATIONS_PATHS.healthSlo, description: 'Service health and SLO metrics' }, + { label: 'Quotas & Limits', route: OPERATIONS_PATHS.quotas, description: 'Tenant quotas and throttle events' }, + { label: 'AOC Compliance', route: OPERATIONS_PATHS.aoc, description: 'Provenance violation review' }, + { label: 'Pack Registry', route: OPERATIONS_PATHS.packs, description: 'TaskRunner packs and installs' }, ]; readonly blockingCards: readonly BlockingCard[] = [ diff --git a/src/Web/StellaOps.Web/src/app/features/security/security-disposition-page.component.ts b/src/Web/StellaOps.Web/src/app/features/security/security-disposition-page.component.ts index 867577029..85a7ddc63 100644 --- a/src/Web/StellaOps.Web/src/app/features/security/security-disposition-page.component.ts +++ b/src/Web/StellaOps.Web/src/app/features/security/security-disposition-page.component.ts @@ -71,7 +71,7 @@ const ADVISORY_TABS: StellaPageTab[] = [

Advisories & VEX

Intel and attestation workspace for provider health, statement conflicts, and issuer trust.

- +

Environment Signals

- +
@@ -394,10 +394,10 @@ export class TopologyEnvironmentDetailPageComponent { readonly capsuleRows = signal([]); readonly envQuickLinks = computed(() => [ - { label: 'Environment', route: `/setup/topology/environments/${this.environmentId()}` }, - { label: 'Targets', route: '/setup/topology/targets' }, - { label: 'Agents', route: '/setup/topology/agents' }, - { label: 'Runs', route: '/releases/runs' }, + { label: 'Environment', route: `/setup/topology/environments/${this.environmentId()}`, description: 'Environment posture and configuration' }, + { label: 'Targets', route: '/setup/topology/targets', description: 'Deployment targets in this environment' }, + { label: 'Agents', route: '/setup/topology/agents', description: 'Agent fleet and connectivity' }, + { label: 'Runs', route: '/releases/runs', description: 'Deployment runs for this environment' }, ]); readonly healthyTargets = computed(() =>