{% extends "base.html" %}
{% set r = detail.run %}
{% block title %}Run {{ r.id }}{% endblock %}
{% block content %}
{{ r.workflow }} v{{ r.version }}
{{ r.status }}
{{ r.id }} · {{ r.mode }} · started {{ r.started_at[:19] }}{% if r.duration_s is not none %} · {{ "%.1f" | format(r.duration_s) }} s{% endif %}
· inputs {{ r.inputs }}{% if r.stop_kind %} · stopped by {{ r.stop_kind }}: {{ r.stop_detail }}{% endif %}
{{ r.llm_calls }}
llm calls
{{ "{:,}".format(r.llm_input_tokens + r.llm_output_tokens) }}
llm tokens
{{ r.agent_turns }}
agent turns
Steps
| # | tool | status | args | result digest | ms |
{% for s in detail.steps %}
| {{ s.idx + 1 }} | {{ s.tool }} | {{ s.status }} | {{ s.args }} | {{ s.result_digest }} | {{ s.duration_ms }} |
{% else %}| no steps recorded |
{% endfor %}
Guard events
| step | guard | severity | detail |
{% for g in detail.guard_events %}| {{ g.idx + 1 }} | {{ g.guard }} | {{ g.severity }} | {{ g.detail }} |
{% else %}| none |
{% endfor %}
LLM calls
| step | model | in | out | valid | confidence |
{% for l in detail.llm_calls %}| {{ l.step_id }} | {{ l.model }} | {{ l.input_tokens }} | {{ l.output_tokens }} | {{ "yes" if l.valid else "no" }} | {{ "%.2f" | format(l.confidence) if l.confidence is not none else "" }} |
{% else %}| none |
{% endfor %}
Decisions
| ts | decision | reason | actor |
{% for d in detail.decisions %}| {{ d.ts[:19] }} | {{ d.decision }} | {{ d.reason }} | {{ d.actor }} |
{% else %}| none |
{% endfor %}
{% endblock %}