{% extends "base.html" %}
{% from "macros.html" import status_badge, cost %}
{% block title %}Job #{{ job.id }} · LLM Admin{% endblock %}
{% block content %}
Job #{{ job.id }}
Status
{{ status_badge(job.status) }}
Progress
{% if job.progress_total %}{{ job.progress_current }}/{{ job.progress_total }}{% else %}—{% endif %}
LLM runs
{{ job.runs_summary.runs or 0 }}
Total cost
{{ cost(job.runs_summary.total_cost) }}
Timeline
| Created | {{ job.created_at }} | Started | {{ job.started_at or '—' }} | Finished | {{ job.finished_at or '—' }} |
| Priority | {{ job.priority }} | Created by | {{ job.created_by or '—' }} | Claimed by | {{ job.claimed_by or '—' }} |
{% if job.error %}
Error
{{ job.error }}
{% endif %}
{% if job.steps %}
Steps
| # | Name | Status | Duration | Started | Finished |
{% for s in job.steps %}
| {{ s.step_index }} |
{{ s.name }} |
{{ status_badge(s.status) }} |
{{ s.duration_ms or 0 }}ms |
{{ s.started_at }} |
{{ s.finished_at or '—' }} |
{% endfor %}
{% endif %}
{% if job.events %}
Events (most recent 200)
| Time | Type | Message |
{% for e in job.events %}
| {{ e.created_at }} |
{{ e.event_type }} |
{{ e.message }} |
{% endfor %}
{% endif %}
View LLM runs for this job →
{% endblock %}