feat(llm-security): playground v7.6.0 fase 5e-h — Tier 3 spesialkomponenter (del 2) [skip-docs]
- top-risks + top-risk: rangert top-funn-listing per rapport
(renderTopRisks helper, integrert i renderScan, renderDeepScan,
renderPluginAudit, renderPosture, renderAudit — ekskluderer info-funn,
default 5 toppfunn med data-severity-tinted left-border)
- recommendation-card: data-severity-attributtet utvidet på alle
inline-bruk (Trust-verdict, Quick wins, Action plan tiers, Vilkår)
pluss /security clean (per-bucket advisory-cards) og /security harden
(intro snapshot + per-recommendation diff-cards med action-type-mapping
CREATE→positive / APPEND→medium / MERGE→low / SKIP→low)
- risk-meter: lagt til på renderDeepScan og renderAudit conditional på
data.risk_score — utvider eksisterende bruk (renderScan, renderPluginAudit,
renderRedTeam) til 5 archetypes
- card--severity-{level}: severity-color border-modifier på .findings__item
i renderFindingsBlock (delt helper) pluss inline-bruk i renderAudit
category-cards og renderDiff row-items
Ny helper-funksjon mapSeverityToCardLevel(input) normaliserer severity-
strenger og action-types til DS Tier 3-konvensjonene
(critical/high/medium/low/positive). renderRecommendationsList får valgfri
severity-param som default fall-back til 'low'.
Verifisering bekreftet:
- top-risks: 5 forekomster (≥1 ✓)
- recommendation-card: 32 (≥1 ✓ — utvidet fra 4)
- risk-meter: 7 (≥3 ✓ — 5 archetypes bruker helper)
- card--severity-: 4 (≥4 ✓ — findings__item + 2 inline-steder)
- Sesjon 2-3 anker intakte (verdict-pill-lg 20, fp-step 12,
badge--scope-security 5, tfa-flow 3, mat-ladder 2, suppressed-group 8,
codepoint-reveal 12)
- Window-globaler intakt
- JS parse: OK (node --check på ekstrahert main JS)
- demo-state JSON parse: OK (3 prosjekter, 18 rapporter)
- HTML-balanse: 3 script / 3 /script / 1 style
- Smoke-test mot demo-data: 5/7 renderere viser komplett markup;
renderDeepScan og renderAudit har tomme findings-arrays i demo så
top-risks/card--severity rendrer korrekt tomt (defensiv design,
bevisst per Sesjon 3 observasjon 2)
Filendring: 10545 → 10677 linjer (+132 netto).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>