{# One run on the Activity page. The same row markup serves the live queue and the history: what differs is which of its fields the run has recorded yet. A live run carries the stage and progress its own persisted event stream last reported; a run that has stopped carries the cost record's derived speed and its wall-clock duration — a queued run has neither yet, and a running one shows the rate so far. `row` is the dict web/views.py builds once (views.run_row); the header chip is fed from the same reads. #} {% set run = row.run %} {% set live = row.live %}
{{ run.status }} {% if row.meeting_slug %} {{ row.meeting_title }} {% else %}{{ row.meeting_title }}{% endif %} {% if row.project_name %}{{ row.project_name }}{% endif %} {% if row.position %}{{ tr("position {n}", n=row.position) }}{% endif %} {% if live %} {# The stage and progress the run's own event stream last reported. A run the node has not started yet has neither, and says nothing rather than showing an empty slot. #} {% if row.stage %}{{ row.stage }}{% endif %} {% if row.total %}{{ row.index }} / {{ row.total }}{% endif %} {% if row.eta_s is not none %}{{ tr("ETA") }} {{ row.eta_s | round(0) | int }}s{% endif %} {% endif %} {# The run's own id, last: it is what a resume link or a log line names. #} #{{ run.id }}
{% if live and row.total %} {% endif %} {# The facts every row carries: the speed, the model and backend it runs with, the surface that started it, and the machine it is on. A running run has no cost record yet, so its speed is the rate it is sustaining **so far** — a different quantity from a finished run's measured average, and labelled as one. A "-" is the tool's unknown, never a guess. #}
{{ tr("speed") }}
{%- if row.speed_so_far is not none %} {{ format_rate(row.speed_so_far) }}x {{ tr("realtime") }} {{ tr("so far") }} {%- elif row.speed is not none %} {{ format_rate(row.speed) }}x {{ tr("realtime") }} {%- else %} {{ tr("unknown") }}{% endif %}
{% if not live %}
{{ tr("duration") }}
{% if row.wall_s is not none %}{{ format_seconds(row.wall_s) }}s{% else %}{{ tr("unknown") }}{% endif %}
{% endif %}
{{ tr("model") }}
{{ run.model or "-" }} {{ run.backend or "-" }}
{{ tr("origin") }}
{{ run.origin or "-" }}
{{ tr("machine") }}
{{ row.machine or "-" }}
{% if run.resumes_run_id %}
{{ tr("resumed from run {run_id}", run_id=run.resumes_run_id) }}
{% endif %} {% if run.error %}{% endif %}