{% extends "base.html" %} {% block content %}

Audit diff · drift detection

Comparing {{ a_hostname }} ({{ a_name }}, {{ a_meta.saved_at }}) vs {{ b_hostname }} ({{ b_name }}, {{ b_meta.saved_at }}). Both re-audited against the current catalog.

← Back to history
{{ new_fail|length }}
New FAIL
{{ resolved|length }}
Resolved
{{ changed|length }}
Other change
{{ unchanged_pass }}
Unchanged PASS
{{ unchanged_fail }}
Unchanged FAIL
{{ unchanged_manual }}
Unchanged MANUAL
{% macro vrow(a, b, label) %} {% set f = b or a %}
{{ f.severity }} {{ label }} {{ f.check_id }} {% if f.stig_cat %}CAT {{ f.stig_cat }}{% endif %}
{{ f.title }}
Before: {{ (a.status if a else '—') }}  →  After: {{ (b.status if b else '—') }}
{% if b and b.is_fail and b.deviation %}
Expected: {{ b.deviation.expected }}
Actual: {{ b.deviation.actual }}
{% endif %}
{% endmacro %} {% if new_fail %}

NEW FAIL — {{ new_fail|length }}

{% for a, b in new_fail %}{{ vrow(a, b, "NEW FAIL") }}{% endfor %}
{% endif %} {% if resolved %}

RESOLVED — {{ resolved|length }}

{% for a, b in resolved %}{{ vrow(a, b, "RESOLVED") }}{% endfor %}
{% endif %} {% if changed %}

OTHER STATUS CHANGES — {{ changed|length }}

{% for a, b in changed %}{{ vrow(a, b, "CHANGED") }}{% endfor %}
{% endif %} {% endblock %}