{% extends "base.html" %} {% block title %}Dashboard — dvad{% endblock %} {% block content %} {% macro readiness_popover(mode_key) %} {% set ms = mode_readiness.get(mode_key) %} {% if ms %} {% if ms.ready %} Ready - required roles assigned {% else %} Not ready - missing roles:
{% for role in ms.roles %} {% if role.required and not role.assigned %} - {{ role.label }}
{% endif %} {% endfor %} {% endif %}
{% endif %} {% endmacro %} {% if has_config_errors %}
Setup incomplete — {{ config_error_summary }}. Models and API keys must be configured before running reviews. Open Settings
{% endif %} {# ── Mode Selector Cards ───────────────────────────────────────────── #}
{# ── Review Settings Box ──────────────────────────────────────────── #}
Plan file + up to 5 reference files
Validates inputs and builds the command without calling any models
{% if role_assignments %}

Role Assignments

{% for r in role_assignments %}
{{ r.label }}: {% if r.model %} {{ r.model }} {% else %} unassigned {% endif %}
{% endfor %}
{% endif %}
{# ── Interstitial — Command Preview ───────────────────────────────── #} {# ── Reviews Table ─────────────────────────────────────────────────── #}
{% for r in reviews %} {% endfor %} {% if not reviews %} {% endif %}
Review ID Project Result Mode Date Points Groups Escalated Cost
{{ r.review_id[:20] }} {{ r.get('project', '—') }} {% set res = r.get('result', 'success') %} {% if res == 'success' %}Success {% elif res == 'complete' %}Success {% elif res == 'completed' %}Completed {% elif res == 'dry_run' %}Dry Run {% elif res == 'cost_exceeded' %}Cost Exceeded {% elif res == 'cost_aborted' %}Cost Aborted {% elif res == 'failed' %}Failed {% else %}{{ res }} {% endif %} {{ r.mode }} {{ r.timestamp|human_date }} {{ r.total_points }} {{ r.get('total_groups', '—') }} {{ r.get('escalated', '—') }} ${{ "%.4f"|format(r.total_cost) }}
No reviews found.
{% if total_pages > 1 %} {% endif %}
{# ── Validation Modal ─────────────────────────────────────────────── #} {# ── File Picker Modal ────────────────────────────────────────────── #} {% endblock %} {% block scripts %} {% endblock %}