{% extends "base.html" %}
{% block title %}{{ run.workflow }} — run {{ run.id[:8] }}{% endblock %}
{% block content %}
{# data-exclude-run-id filters this strip down to OTHER runs of the
same workflow. Without it, the current run would appear as one
of its own "Recent" siblings (P1-5 in the 2026-05-14 QA punch list). #}
{# Phase 5 — structured recommendation cards. Workflows emit
ATTUNE_REC {{ run.workflow }}
run {{ run.id[:12] }}
{# Copy-report button — copies the full report text (the contents) to the clipboard. Lives in the H1 so it
sits near the run identity, where users naturally look when
they want to share/save a report. Disabled gracefully when
navigator.clipboard is unavailable. #}
Sources
{% for src in ["bug-predict", "dependency-check", "doc-audit", "pattern-scan", "perf-audit", "security-audit", "test-audit"] %}
{{ src }}
{% for line in server_rendered_lines %}{{ line }}
{% endfor %}
{# Phase 3a — collapsible raw stderr from the underlying claude CLI
subprocess when an SDK-backed workflow fails. Default-collapsed so
the page stays scannable; one click expands the redacted stderr.
Block is omitted entirely when sdk_stderr is None (no SDK failure
was captured, or the run predates the Phase 3a schema). See
docs/specs/sdk-error-message-fidelity/. #}
{% if run.sdk_stderr %}
{{ run.sdk_stderr }}