{% extends "base.html" %} {% block title %}Voxint — runs{% endblock %} {% block body %}

Runs{% if show_archived %} · archived{% endif %}

{% if show_archived %} Archived runs — hidden from the default listing and the review queue. ← back to active runs {% else %} Execution history, newest first. Review state applies to completed runs. View archived runs {% endif %}

{% if ytdlp_enabled %}
{# Independent submission id from the upload form's, so the two never collide on a shared source_path; a double-submit of this form stays idempotent. #}
{# Passive, honest notice — NOT a status badge (the app can't prove every private destination is blocked). See docs/operations.md "URL ingestion & egress security". #}

Fetching a URL lets the downloader contact other sites, including ones a link redirects to. If you fetch links you don't fully trust, run the restricted URL-download overlay (compose.ytdlp-egress.yaml) — see the operations guide, “URL ingestion & egress security”.

{% else %}

URL ingestion is disabled.

{% endif %}
{# Preserve the archived view across a filter submit (issue #5). #} {% if show_archived %}{% endif %}
{% if not page.items %}

No runs match these filters{% if filters.q %} and search{% endif %}.

{% else %}
{% for it in page.items %} {# The friendly title in the Media column carries identity; the run id is a uuid with no friendlier form, so it stays a small muted "open" link with the short hex available on hover (issue #56). #} {# Humanized LABEL only — the pill's CSS class stays the raw enum so it keeps its colour (same display-only invariant as the dashboard). #} {% if it.snippet %} {# snippet.html is server-escaped with only our injected — see runs_query._render_headline; transcript text itself is never trusted. #} {% endif %} {% endfor %}
RunStatusReviewMediaCreated
open {{ it.run_id.hex[:8] }}{{ humanize_status(it.status) }} {% if it.archived %}archived{% endif %} {% if it.status == "completed" %} {% if it.label_count == 0 %}no speakers {% elif it.unresolved_count > 0 %}needs ruling ({{ it.unresolved_count }}) {% else %}resolved{% endif %} {% else %}{% endif %} {% if it.claim_live %}claimed{% if it.claimed_by %} · {{ it.claimed_by }}{% endif %}{% endif %} {# Friendly label: acquisition-metadata title (issue #36) else a cleaned filename; the raw path stays muted beneath as ground truth (issue #56). #} {{ friendly_media_label(it.title, it.source_path) }}
{{ it.source_path }}
{{ format_age(it.created_at, now=now) }}
⏱ {{ "%d:%02d" | format(it.snippet.start_seconds // 60, it.snippet.start_seconds % 60) }} — {{ it.snippet.html }}
{% endif %} {% if next_url %}

Older →

{% endif %} {% endblock %}