{# Waivers: what the waiver file did on this run. Rendered by report_builder from waived_by / expired_waivers annotations. #} {% if waiver_summary or waived_findings or expired_waiver_findings %}

Waivers

{% if waiver_summary %} Waived: {{ waiver_summary.waived }} {% for wtype, count in (waiver_summary.waived_by_type or {}).items()|sort %} {{ wtype | replace('_', ' ') | e }}: {{ count }} {% endfor %} {% if waiver_summary.expired_matches %}Expired waivers matched: {{ waiver_summary.expired_matches }}{% endif %} {% if waiver_summary.expiring_matches %}Expiring (grace): {{ waiver_summary.expiring_matches }}{% endif %} {% if waiver_summary.unused_count %}Unused entries: {{ waiver_summary.unused_count }}{% endif %} {% if waiver_summary.deprecated_schema %}Deprecated schema {{ waiver_summary.schema_version }}{% endif %} {% endif %}
{% if waiver_summary and waiver_summary.file %}

Waiver file: {{ waiver_summary.file | e }} (schema {{ waiver_summary.schema_version }})

{% endif %} {% if expired_waiver_findings %}

Expired waivers ({{ expired_waiver_findings|length }})

These findings matched a waiver whose expires_at has passed. They count as active findings again. Re-validate and extend the waiver, or fix the finding.

{% for row in expired_waiver_findings %} {% endfor %}
ToolSeverityRule / IDPathWaiverExpiredReason
{{ row.tool | e }} {{ row.severity | e }} {{ row.rule_id | e }} {{ row.path | e }}{% if row.line %}:{{ row.line }}{% endif %} {{ (row.waiver.fingerprint or row.waiver.pattern) | e }}
{{ row.waiver.type | e }} · {{ row.waiver.ref | e }}
{{ row.waiver.expires_at | e }} {{ row.waiver.reason | default('') | e }}
{% endif %} {% if waived_findings %}
Waived findings ({{ waived_findings|length }})
{% for row in waived_findings %} {% endfor %}
ToolSeverityRule / IDPathTypeReasonExpiresMatched by
{{ row.tool | e }} {{ row.severity | e }} {{ row.rule_id | e }} {{ row.path | e }}{% if row.line %}:{{ row.line }}{% endif %} {{ row.waiver.type | replace('_', ' ') | e }}{% if row.waiver.expiring %} expiring{% endif %} {{ row.waiver.reason | default('') | e }}{% if row.waiver.ticket %} ({{ row.waiver.ticket | e }}){% endif %} {{ row.waiver.expires_at | default('never') | e }} {{ (row.waiver.fingerprint or row.waiver.pattern) | e }}
{{ row.waiver.kind | replace('_', ' ') | e }} · {{ row.waiver.ref | e }}
{% elif waiver_summary %}

No findings were waived on this run.

{% endif %}
{% endif %}