{% comment %} Full-width, chronological agent trajectory timeline for one repetition. Context: rep (see infra.ui._rep_view). Renders only when rep.agentic_timeline is present; every row anchor is unique even for repeated span ids (suffixes -2, -3, …), and finding/judge jump links resolve through them. The "Focus" button toggles a wide mode that pushes the app chrome aside. {% endcomment %} {% if rep.agentic_timeline %}

Trajectory timeline

{% if rep.agentic_timeline.captured > rep.agentic_timeline.total %}{{ rep.agentic_timeline.total }} of {{ rep.agentic_timeline.captured }} captured spans (judge evidence subset){% else %}{{ rep.agentic_timeline.total }} step{{ rep.agentic_timeline.total|pluralize }}{% endif %}, in execution order · click a step for its arguments and result

    {% for s in rep.agentic_timeline.rows %}
  1. {{ s.icon }} {% if not forloop.last %}{% endif %}
    {{ s.kind|default:"STEP" }} {{ s.name }} {% if s.tool_name %}· {{ s.tool_name }}{% endif %} {% if s.kb_sources %} 📚 {{ s.kb_sources|join:", " }} {% endif %} {% if s.offset_ms is not None %}+{{ s.offset_ms }} ms{% endif %} {% if s.duration_ms > 0 %}{{ s.duration_ms }} ms{% endif %}
    {% if s.content_blocks %} {% for label, value in s.content_blocks %}

    {{ label }}

    {{ value }}
    {% endfor %} {% else %}

    No tool arguments or result were captured for this step.

    {% endif %}
    Raw span JSON
    {{ s.raw_json }}
  2. {% endfor %}
{% endif %}