{% extends "generic/object_detail.html" %} {% load helpers %} {% load intent_extras %} {% block extra_breadcrumbs %}
  • Verifications
  • {% endblock extra_breadcrumbs %} {% block content_left_page %} {# ══════════════════════════════════════════════════════════════════════════ #} {# RESULT SUMMARY PANEL #} {# ══════════════════════════════════════════════════════════════════════════ #}
    {% if object.passed %} Verification Passed {% else %} Verification Failed {% endif %} {{ object.intent.intent_id }} · {{ object.verified_at|timesince }} ago

    {{ pass_rate }}%

    Pass Rate

    {{ passed_checks_count }}

    Passed

    {{ failed_checks_count }}

    Failed

    {{ total_checks }}

    Total
    {% if total_checks %}
    {% if failed_checks_count %}
    {% endif %}
    {% endif %}
    {# ══════════════════════════════════════════════════════════════════════════ #} {# FAILED CHECKS (only when failures exist) #} {# ══════════════════════════════════════════════════════════════════════════ #} {% if failed_checks %}
    {{ failed_checks_count }} Failed Check{{ failed_checks_count|pluralize }}
    {% for c in failed_checks %} {% endfor %}
    Device Check Error
    {{ c.device }} {{ c.test_class }} {% if c.params %}
    {{ c.params }} {% endif %}
    {% if c.error_message %} {{ c.error_message }} {% else %} {{ c.outcome|default:"failed" }} {% endif %} {% if c.duration %} {{ c.duration }} {% endif %}
    {% endif %} {# ══════════════════════════════════════════════════════════════════════════ #} {# ALL CHECKS BY DEVICE #} {# ══════════════════════════════════════════════════════════════════════════ #} {% if device_groups %}
    All Checks by Device {{ device_groups|length }} device{{ device_groups|length|pluralize }}
    {% for group in device_groups %} {# ── Device header ── #}
    {% if group.failed %} {% else %} {% endif %} {{ group.device }} {{ group.passed }} passed {% if group.failed %} · {{ group.failed }} failed{% endif %}
    {% if group.failed %}
    {% endif %}
    {# ── Device checks table ── #}
    {% for c in group.checks %} {% with outcome=c.outcome %} {% endwith %} {% endfor %}
    Check Target Result
    {% if c.passed %} {% elif outcome == 'skipped' %} {% else %} {% endif %} {{ c.test_class }} {{ c.params|default:"—" }} {% if c.passed %} Passed {% elif outcome == 'skipped' %} Skipped {% else %} {% if c.error_message %} {{ c.error_message }} {% else %} Failed {% endif %} {% endif %} {% if c.duration %}{{ c.duration }}{% endif %}
    {% endfor %}
    {% elif not enriched_checks %}

    No individual check data recorded for this verification run.

    {% endif %} {# ══════════════════════════════════════════════════════════════════════════ #} {# ESCALATION #} {# ══════════════════════════════════════════════════════════════════════════ #} {% if object.escalation_reason %}
    Escalation Reason
    {{ object.escalation_reason }}
    {% endif %} {% endblock content_left_page %} {% block content_right_page %} {# ══════════════════════════════════════════════════════════════════════════ #} {# RUN DETAILS #} {# ══════════════════════════════════════════════════════════════════════════ #}
    Run Details
    {% if object.total_duration_seconds %} {% endif %} {% if object.measured_latency_ms %} {% endif %}
    Intent {{ object.intent.intent_id }}
    Timestamp {{ object.verified_at|date:"N j, Y H:i:s" }}
    Trigger {{ object.triggered_by|title }}
    Engine {{ object.verification_engine|upper }}
    Duration {{ object.total_duration_seconds }}s
    Latency {{ object.measured_latency_ms }} ms
    {# ══════════════════════════════════════════════════════════════════════════ #} {# BGP HEALTH #} {# ══════════════════════════════════════════════════════════════════════════ #} {% if object.bgp_sessions_expected %}
    BGP Health

    {{ object.bgp_health_pct }}%

    {{ object.bgp_sessions_established }} / {{ object.bgp_sessions_expected }} sessions established {% if object.prefixes_expected %}
    {{ object.prefixes_received }} / {{ object.prefixes_expected }} prefixes received {% endif %}
    {% endif %} {# ══════════════════════════════════════════════════════════════════════════ #} {# DRIFT #} {# ══════════════════════════════════════════════════════════════════════════ #} {% if object.drift_details %}
    Configuration Drift {% if object.remediation_triggered %} Auto-Remediated {% endif %}
    {% for device, diff in object.drift_details.items %} {{ device }}
    {{ diff }}
    {% endfor %} {% if object.github_issue_url %} View GitHub Issue {% endif %}
    {% endif %} {# ══════════════════════════════════════════════════════════════════════════ #} {# PREVIOUS RUNS #} {# ══════════════════════════════════════════════════════════════════════════ #} {% if previous_results %}
    Previous Runs
    {% for prev in previous_results %} {% endfor %}
    {{ prev.verified_at|date:"M j H:i" }} {{ prev.passed_check_count }}/{{ prev.checks|length }} {{ prev.verification_engine|upper }}
    {% endif %} {# ══════════════════════════════════════════════════════════════════════════ #} {# RAW OUTPUT (collapsible) #} {# ══════════════════════════════════════════════════════════════════════════ #} {% if object.nuts_output %}
    Raw Test Output
    {% endif %} {# ══════════════════════════════════════════════════════════════════════════ #} {# ACTIONS #} {# ══════════════════════════════════════════════════════════════════════════ #}
    View Intent All Verifications
    {% endblock content_right_page %}