R-PG-3
PowerGRYD — Gap & Risk Heatmap
The Gap & Risk Heatmap at /reports/powergryd/heatmap projects every active risk in the platform onto a 5×4 grid of PowerGRYD layer × severity band.
Severity thresholds (scoreToSeverity)
Risk score = likelihood × impact (1–5 scales, max 25). Bands:
- Critical — score ≥ 20
- High — score 12–19
- Medium — score 6–11
- Low — score < 6
These are the same thresholds used by the Risk Register and Risk Treatment Plan modules.
Risk → layer mapping (riskToLayers)
Each risk is placed onto one or more layers based on its parent record:
- AI System risk → L3
- Use Case risk → L3, plus L5 if the use case is agentic (
ai_tech_typeoverlap) - Control risk → L4
Agentic use cases light up both row cells but count once per column to avoid double-counting in totals.
Cell behavior & deep-links
- Non-zero cells show a gold count badge; zero cells render muted.
- Clicking any non-zero cell deep-links to
/risk-register?layer=L{n}&severity={Sev}with both filters pre-applied. - Column TOTAL footer aggregates per-severity counts across all 5 layers.
Export & audits
Export produces RhindonCyber_PowerGRYD-GapHeatmap_*.csv — header + 20 cells + TOTAL footer (CRLF, MM/DD/YYYY HH:MM).
Audits: POWERGRYD_HEATMAP_VIEWED (60-min throttled), POWERGRYD_HEATMAP_EXPORTED. Tier/flag gating: Pro+Ent and feature_flags.powergryd.
