feat(ui): adopt glossary tooltips on jargon-heavy shells [SPRINT-017]

Apply stellaopsGlossaryTooltip directive on vex-hub dashboard, trust-admin,
and policy-decisioning overview with auto-detect mode for security terms
(VEX, CVE, SBOM, DSSE, etc.).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
master
2026-03-08 19:25:04 +02:00
parent 822a92faee
commit d6521923fe
6 changed files with 201 additions and 10 deletions

View File

@@ -0,0 +1,41 @@
# Glossary Tooltip Directive Adoption
Sprint: SPRINT_20260308_017_FE_orphan_glossary_tooltips_adoption
Tasks: FE-OGT-001 through FE-OGT-003
## Summary
Adopted the dormant `stellaopsGlossaryTooltip` directive on three mounted jargon-heavy
shells in policy-decisioning, trust-admin, and vex-hub. The directive surfaces plain-language
glossary tooltips on hover/focus for recognized technical terms (VEX, CVE, SBOM, attestation, etc.).
## Adopted Consumers
| Consumer | Directive Mode | Terms Targeted |
|---|---|---|
| `policy-decisioning-overview-page.component.ts` | `[autoDetect]="true"` on h2 | VEX |
| `policy-decisioning-overview-page.component.ts` | `[autoDetect]="true"` on hero copy | VEX |
| `policy-decisioning-overview-page.component.ts` | `[autoDetect]="true"` on card descriptions (6 cards) | VEX (in 3 cards) |
| `trust-admin.component.ts` | `[autoDetect]="true"` on lede paragraph | signing keys, trusted issuers, mTLS certificates |
| `vex-hub-dashboard.component.ts` | `[term]="'vex'"` on eyebrow span | VEX |
| `vex-hub-dashboard.component.ts` | `[term]="'vex'"` on h1 span | VEX |
| `vex-hub-dashboard.component.ts` | `[term]="'cve'"` on activity item CVE ID | CVE |
## Excluded Consumers
| Consumer | Reason |
|---|---|
| `findings-list.component.html` | All visible text uses `TranslatePipe` (i18n keys). Jargon terms are in data-bound values, not raw template text. |
| `bulk-triage-view.component.ts` | Same: uses i18n pipe for labels. |
## Tests
- `policy-decisioning-overview-page.component.spec.ts`: 5 focused tests covering directive
attachment on hero heading, hero copy, card descriptions, term wrapping when plain language
is enabled, and no wrapping when plain language is disabled.
## Constraints
- Adoption limited to mounted jargon-heavy shells with raw template text.
- Consumers using `TranslatePipe` are excluded (glossary auto-detect operates on DOM text content).
- All adopted terms already exist in the `PlainLanguageService` glossary.