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

Runs

Execution history, newest first. Review state applies to completed runs.

{% 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. #}
{% else %}

URL ingestion is disabled.

{% endif %}
{% if not page.items %}

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

{% else %} {% for it in page.items %} {% 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
{{ it.run_id.hex[:8] }} {{ it.status }} {% 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 %} {# Source title from the acquisition metadata (issue #36); uploads and pre-capture runs fall back to the media path. #} {% if it.title %}{{ it.title }}
{{ it.source_path }} {% else %}{{ it.source_path }}{% endif %}
{{ it.created_at.strftime("%Y-%m-%d %H:%M") }}
⏱ {{ "%d:%02d" | format(it.snippet.start_seconds // 60, it.snippet.start_seconds % 60) }} — {{ it.snippet.html }}
{% endif %} {% if next_url %}

Older →

{% endif %} {% endblock %}