Fix systemic UI patterns: eyebrow prefixes, duplicate headings, technical names

SYS1 — Remove redundant eyebrow/prefix text from headings (breadcrumb provides context):
- "Security / Supply-Chain Data" → "Supply-Chain Data"
- "Security / Triage" → "Triage"
- "Security / Advisories & VEX" → "Advisories & VEX"
- Certificates: remove "Setup" eyebrow paragraph

SYS2 — Remove duplicate headings inside tab panels (tab label already names the content):
- Supply-Chain Data: remove "SBOM Viewer" h2 inside viewer tab
- Certificates: remove "Signing Keys" h2 inside keys tab
- Environments: remove "Regions & Environments" h1 inside regions tab

SYS3 — Replace internal technical names with user-facing labels:
- "JobEngine" → "Scheduled Jobs" in heading, route title, and breadcrumb
- "JobEngine Quotas" → "Execution Quotas" in route title and breadcrumb

SYS4 — Remove duplicate Refresh button on Certificates signing-key dashboard
(parent trust-admin shell already provides Refresh via page action)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
master
2026-03-27 12:55:47 +02:00
parent 07f8d1d0e4
commit 3e2a0971e6
8 changed files with 8 additions and 15 deletions

View File

@@ -22,7 +22,7 @@ import { OPERATIONS_PATHS } from '../platform/ops/operations-paths';
<a [routerLink]="OPERATIONS_PATHS.jobsQueues" class="jobengine-dashboard__back">
&larr; Back to Jobs & Queues
</a>
<h1>JobEngine</h1>
<h1>Scheduled Jobs</h1>
<p>Execution queues, quotas, dead-letter recovery, and scheduler handoffs.</p>
</div>
<div class="jobengine-dashboard__actions">

View File

@@ -68,7 +68,7 @@ const ADVISORY_TABS: StellaPageTab[] = [
<section class="advisories">
<header class="advisories__header">
<div>
<h1>Security / Advisories & VEX</h1>
<h1>Advisories & VEX</h1>
<p>Intel and attestation workspace for provider health, statement conflicts, and issuer trust.</p>
</div>
<stella-quick-links class="advisories__quick-links" [links]="quickLinks" />

View File

@@ -55,7 +55,7 @@ type EvidenceTab = 'why' | 'sbom' | 'reachability' | 'vex' | 'waiver' | 'policy'
template: `
<section class="triage">
<header>
<h1>Security / Triage</h1>
<h1>Triage</h1>
<p>One operator surface with pivot views and a disposition-first evidence rail.</p>
</header>

View File

@@ -48,7 +48,7 @@ type SupplyChainMode = 'viewer' | 'graph' | 'lake' | 'reachability' | 'coverage'
template: `
<section class="supply-chain">
<header>
<h1>Security / Supply-Chain Data</h1>
<h1>Supply-Chain Data</h1>
<p>SBOM, reachability, and unknowns workspace with capsule-aligned evidence context.</p>
</header>
@@ -72,7 +72,6 @@ type SupplyChainMode = 'viewer' | 'graph' | 'lake' | 'reachability' | 'coverage'
@switch (mode()) {
@case ('viewer') {
<section class="panel">
<h2>SBOM Viewer</h2>
<table>
<thead>
<tr>

View File

@@ -17,7 +17,6 @@ type RegionsView = 'region-first' | 'flat' | 'graph';
<section class="regions-env">
<header class="regions-env__header">
<div>
<h1>Regions & Environments</h1>
<p>Region-first topology inventory with environment posture and drilldowns.</p>
</div>
<div class="regions-env__scope">

View File

@@ -21,7 +21,6 @@ type KeyMutationKind = 'rotate' | 'revoke';
<section class="key-dashboard">
<header class="key-dashboard__header">
<div>
<h2>Signing Keys</h2>
<p>
Rotate and retire signing material with explicit operator confirmation before release evidence is affected.
</p>
@@ -30,9 +29,6 @@ type KeyMutationKind = 'rotate' | 'revoke';
<button type="button" class="btn-secondary" (click)="toggleCreate()" [attr.aria-pressed]="createOpen()">
{{ createOpen() ? 'Close Form' : 'Add Key' }}
</button>
<button type="button" class="btn-secondary" (click)="loadKeys()" [disabled]="loading()">
{{ loading() ? 'Refreshing...' : 'Refresh' }}
</button>
</div>
</header>

View File

@@ -49,7 +49,6 @@ const TRUST_PAGE_TABS: readonly StellaPageTab[] = [
<header class="trust-admin__header">
<div class="trust-admin__title-row">
<div>
<p class="trust-admin__eyebrow">{{ workspaceLabel() }}</p>
<h1>Certificates</h1>
<p class="trust-admin__lede" stellaopsGlossaryTooltip [autoDetect]="true">
Manage signing keys, trusted issuers, and mTLS certificates.

View File

@@ -59,8 +59,8 @@ export const OPERATIONS_ROUTES: Routes = [
},
{
path: 'jobengine',
title: 'JobEngine',
data: { breadcrumb: 'JobEngine' },
title: 'Scheduled Jobs',
data: { breadcrumb: 'Scheduled Jobs' },
canMatch: [requireOrchViewerGuard],
loadComponent: () =>
import('../features/jobengine/jobengine-dashboard.component').then(
@@ -109,8 +109,8 @@ export const OPERATIONS_ROUTES: Routes = [
},
{
path: 'jobengine/quotas',
title: 'JobEngine Quotas',
data: { breadcrumb: 'JobEngine Quotas' },
title: 'Execution Quotas',
data: { breadcrumb: 'Execution Quotas' },
canMatch: [requireOrchQuotaGuard],
loadComponent: () =>
import('../features/jobengine/jobengine-quotas.component').then(