Scope
{% if show_cve and show_version_fields %}
CVE and Version Comparison recipes require the fields below. Leave empty to skip those recipes.
{% endif %}
{# For comparison (meta-compare) runs, scope is baked into the axis.
The L/R-override fields below are the real scope control.
Hide the generic project/folder/version pickers to avoid confusion. #}
{% if not show_left_right_override %}
{% if show_project_required %}
Required for Remediation Package
{% endif %}
{% if show_current_version_only %}
{% endif %}
{% endif %}
{# Period + Custom date range — only operational recipes whose pipeline
trims by date (show_period). This also hides them for meta-compare
runs (comparisons aren't period recipes; the engine ignores --period
for them — report_engine._process_axis_compound). #}
{% if show_period %}
{% endif %}
{% if show_component %}
Contains match — partial names work
{# B11 #24: dropped the circular "Recommended for …" hint; those
recipes set requires_component (B4) so show the accurate
Required marker instead (mirrors the card-config back). #}
{% if requires_component %}
Required to run this report
{% endif %}
{% endif %}
{% if show_cve %}
{% endif %}
{% if show_finding_types %}
{% endif %}
{# PR3.3a: Left/Right scope-ref override for comparison (meta-compare) runs.
Rendered only when show_left_right_override is True (axis-bearing CompoundRecipe).
Pre-filled with baked axis defaults; user may override for this run only.
Submitted values are run-only and never persisted (Decision 11). #}
{% if show_left_right_override %}
Overrides the saved Left scope for this run only. Leave as-is to use the saved default.
Overrides the saved Right scope for this run only. Leave as-is to use the saved default.
{% endif %}
{% if show_version_fields %}
{# Comparison mode toggle — see _card_config.html for the rationale.
Initial state derives from whether a saved pair exists; the toggle
has no name= (pure UX over the empty-vs-set-pair semantics). #}
{% set _vc_pair = state.get('baseline_version') and state.get('current_version') %}
On: compare every version of the scoped project (latest vs previous) — the pickers below stay inactive. Off: pick a specific baseline + current pair (works across projects too).
{# B11 #19a: pickers stay VISIBLE (dimmed + inert) when All-versions is
on, so they're discoverable (was `hidden`). #}
{% endif %}
{# Opens for a triage recipe OR any autotriage-capable one: the
VEX-apply control below is inside this block, so gating on
show_triage alone made show_vex_apply dead for Reachability VEX
Coverage (in AUTOTRIAGE_RECIPES, not TRIAGE_TAB_RECIPES). #}
{% if show_triage or show_vex_apply %}
{# Top N / Triage N are TP + Config Analysis Triage only — RVC never
truncates, so don't offer it a row cap it ignores. #}
{% if show_triage %}
Limit output to the top N findings by score. Leave empty or 0 to show all.
Generate VEX recommendations for only the top N findings. Full list is still shown.
{% endif %}
{# tp_gate is Triage-Prioritization-only (show_tp_gate); top / triage
above are shared with Config Analysis Triage. vex_override is gated
separately below — it is meaningful wherever autotriage is. #}
{% if show_tp_gate %}
{% endif %}
{# Reachable wherever autotriage is, not just for Triage Prioritization.
For Reachability VEX Coverage this is the ONLY way to act on the
needs-review class the report reports: those gaps carry a status a
person set, so the applier skips them unless --vex-override. #}
{% if show_tp_gate or show_vex_apply %}
{% endif %}
{# ── SP2: destructive VEX-write apply (autotriage) — every recipe in
AUTOTRIAGE_RECIPES (TP, False Positive Analysis, Reachability VEX
Coverage). Gate on show_vex_apply, never show_triage. ── #}
{% if show_vex_apply %}
Auto-apply writes VEX statuses to the platform when this report runs. Use Dry run first to preview; you'll confirm before any real write. (VEX override, above, only affects in-report recommendations.)
{% endif %}
{% endif %}
{% if show_license %}
{% endif %}
{% if show_open_only %}
{% endif %}
{% if show_baseline_date %}
{% endif %}
{% if show_detailed %}
{% endif %}
{% if show_ai %}