{% extends "base.html" %} {% block title %}Run {{ run.run_id[:12] }} - Art-DAG L1{% endblock %} {% block head %} {{ super() }} {% endblock %} {% block content %} {% set status_colors = {'completed': 'green', 'running': 'blue', 'pending': 'yellow', 'failed': 'red'} %} {% set color = status_colors.get(run.status, 'gray') %}
← Runs

{{ run.run_id[:16] }}...

{{ run.status }} {% if run.cached %} Cached {% endif %}
Recipe
{{ run.recipe_name or run.recipe[:16] ~ '...' if run.recipe and run.recipe|length > 16 else run.recipe or 'Unknown' }}
Steps
{{ run.executed or 0 }} / {{ run.total_steps or '?' }} {% if run.cached_steps %} ({{ run.cached_steps }} cached) {% endif %}
Created
{{ run.created_at }}
User
{{ run.username or 'Unknown' }}
{% if plan %}
Click a node to view details
{% for step in plan.steps %} {% set step_color = 'green' if step.status == 'completed' or step.cache_id else ('purple' if step.cached else ('blue' if step.status == 'running' else 'gray')) %}
{{ loop.index }} {{ step.name }} {{ step.type }}
{% if step.cached %} cached {% elif step.status == 'completed' %} completed {% endif %}
{% if step.cache_id %} {% endif %}
{% endfor %}
{% if plan_sexp %}
Recipe (S-expression) {% if recipe_ipfs_cid %} ipfs://{{ recipe_ipfs_cid[:16] }}... {% endif %}
{{ plan_sexp }}
{% endif %} {% else %}

No plan available for this run.

{% endif %}
{% if run.output_cid %}

Output

{# Inline media preview #}
{% if output_media_type and output_media_type.startswith('image/') %} Output {% elif output_media_type and output_media_type.startswith('video/') %} {% elif output_media_type and output_media_type.startswith('audio/') %} {% else %}
?
{{ output_media_type or 'Unknown media type' }}
{% endif %}
{% endif %}
{% endblock %}