{# One run's asset block (issue #41): per-kind current asset + generation controls. Included on the run detail page AND served standalone by GET /runs/{id}/assets — the div re-polls itself only while a job is active, so a terminal render stops the polling. #}
Machine-generated from the transcript and source metadata — a starting point, not a verified record.
{% if assets.error %}{{ assets.error }}
{% endif %} {% if not assets.gates_open %}Run assets are off. Turn on Run assets in Settings → Features and LLM transcript enhancement in Settings → LLM — no restart needed.
{% elif assets.source_problem %}{{ assets.source_problem }}
{% else %} {% endif %} {% for entry in assets.kinds %}
Last generation {{ entry.job.status }}
{% if entry.job.finished_at %}at {{ entry.job.finished_at.strftime("%Y-%m-%d %H:%M") }}{% endif %}
{% if entry.job.error %}
{{ entry.job.error }}{% endif %}
Job {{ entry.job.status }} {% if entry.job.started_at %}· started {{ entry.job.started_at.strftime("%Y-%m-%d %H:%M") }} {% else %}· queued {{ entry.job.created_at.strftime("%Y-%m-%d %H:%M") }}{% endif %}
{% endif %} {% if entry.asset %} {% if entry.kind == "summary" %}{{ entry.asset.payload.summary }}
{% elif entry.kind == "topics" %}No entities were grounded in the transcript.
{% endif %} {% if entry.asset.payload.diagnostics.dropped_unlocatable or entry.asset.payload.diagnostics.dropped_out_of_run %}{{ entry.asset.payload.diagnostics.dropped_unlocatable + entry.asset.payload.diagnostics.dropped_out_of_run }} ungrounded span{{ "s" if (entry.asset.payload.diagnostics.dropped_unlocatable + entry.asset.payload.diagnostics.dropped_out_of_run) != 1 }} dropped.
{% endif %} {% endif %}
Generated {{ entry.asset.completed_at.strftime("%Y-%m-%d %H:%M") }}
· {{ entry.asset.model }} · generation {{ entry.asset.generation }}
{% if entry.asset.config and entry.asset.config.truncated %}
· input truncated
{% endif %}
{% if entry.stale %}
The transcript or metadata changed since this was generated — regenerate to refresh.
{% endif %}
Not generated yet.
{% endif %} {% if assets.gates_open and not entry.job_active and not assets.source_problem %} {% endif %}