{# Executive — sticky KPI strip (layer 2). Eight tiles in a responsive grid; locked left-to-right order: AIVSS / Band / Findings / Critical / High / Elapsed / Cost / Coverage QA-028 sub-ask 1 + 2 (2026-06-01): - Tile descriptions moved from always-on ```` to a hover/focus popover behind a ``ⓘ`` button — DOM payload is the same (``kpi_descriptions[key]``), only the render mode changed. - Every tile now carries an inline-SVG mini-chart sized to ≤ 64 px tall. Chart data lives in ``kpi_chart_data`` on the view-model so this template stays declarative. Each tile reads from the existing shared payload — Executive does NOT introduce new KPI fields. Anywhere the value can be live-updated by the SSE patcher we mark it with ``data-live``. Icons are inline SVG (Lucide paths, MIT-licensed) so they render on first paint with no JS race window and add ~1.5 KB total vs ~50 KB for a CDN. #} {% macro kpi_info(key) -%} {{ kpi_descriptions[key] }} {%- endmacro %}
AIVSS {{ kpi_info('aivss') }} {{ aivss_label }} {# Mini-chart: semi-circle radial gauge tinted by band_class. #} {% set _pct = kpi_chart_data.aivss_pct | default(0) %} {% set _circ = 88 %}
Band {{ kpi_info('band') }} {{ band_label }} {# Mini-chart: 5-segment horizontal bar (Critical · Poor · Warning · Good · Excellent). #} {% set _seg = kpi_chart_data.band_index | default(-1) %} {% set _seg_classes = ['critical', 'poor', 'warning', 'good', 'excellent'] %}
Findings {{ kpi_info('findings') }} {{ findings_total }} {# Mini-chart: 4-segment stacked horizontal bar coloured by severity. Risk callout: clamp non-zero segments to ≥ 1 px so a 1-critical-vs-20-high scan still shows the critical sliver. #} {% set _mix = kpi_chart_data.severity_mix %} {% set _mix_total = (_mix.critical | int) + (_mix.high | int) + (_mix.medium | int) + (_mix.low | int) %}
Critical {{ kpi_info('critical') }} {{ counts.critical }} {# Mini-chart: small red dot cluster (one dot per critical, capped at 6). #} {% set _crit = counts.critical | int %} {% set _shown = (_crit if _crit <= 6 else 6) %}
High {{ kpi_info('high') }} {{ counts.high }} {% set _high = counts.high | int %} {% set _shown_h = (_high if _high <= 6 else 6) %}
Elapsed {{ kpi_info('elapsed') }} {{ elapsed_label }} {# Mini-chart: progress bar OR "no cap" indicator. #}
Cost {{ kpi_info('cost') }} {{ usd_label }}
Coverage {{ kpi_info('coverage') }} {{ asi_covered }}/10 {# Mini-chart: 10-segment pip row, filled cells = covered ASI categories. #} {% set _covered = kpi_chart_data.coverage_covered | int %}