{# Audit dashboard - adapted from governor_web/templates/dashboard/index.html @ 19455c57c5a9. Same layout grammar (ui-shell → ui-page-header → stat cards → main grid with cost drivers + active issues panes) so the styling matches governor-web 1:1. The audit package's empty-state redirect lives at the route level, so this template only renders when there is data to show. #} {% extends "layout.html" %} {% block content %}

Dashboard

Configuration & re-scan →
{# ── Headline card - single dollar value that answers "what is Governor telling me to act on?". flagged_spend is the sum of cached job cost across jobs with ≥1 active opportunity, deduped by job_id. The "Review opportunities" CTA turns this from a passive report into an actionable workflow surface. #} {% if totals.flagged_spend and totals.flagged_spend > 0 %}

Optimisable spend

{{ totals.flagged_spend | format_usd }}

{% set _jobs = flagged_jobs_count if flagged_jobs_count is defined else 0 %} Across {{ "{:,}".format(_jobs) }} flagged job{{ "s" if _jobs != 1 else "" }} {% if totals.total_cost_usd and totals.flagged_spend %} · {{ "%.0f" | format(totals.flagged_spend / totals.total_cost_usd * 100) }}% of scanned spend {% endif %}

Review issues & suggestions
{% endif %} {# ── Stat cards (secondary, supporting context to the headline) ── #}
{% include "dashboard/_cost_summary.html" %}
{# ── Main grid: dashboard keeps the high-level cost breakdowns. Dense cost-driver analysis now lives on /cost-analysis. #}
{% include "dashboard/_top_expensive_jobs.html" %} {% include "dashboard/_top_critical_issues.html" %}
{% include "dashboard/_origin_breakdown.html" %} {% include "dashboard/_author_breakdown.html" %}
{# Top Failed Jobs widget removed - failed jobs don't carry direct on-demand BigQuery cost (BigQuery refunds bytes-billed on most failure modes), and a second 10-row table on the dashboard diluted the cost-first narrative. Reliability detail lives on /failures (sidebar nav) where it belongs. #}
{% endblock %}