{% extends "base.html" %} {% block title %}Workflows{% endblock %} {% block content %}

Workflows

{{ workflows|length }} registered. {% if allow_run %} Click Run to execute one. Output streams below. {% else %} Read-only mode — restart without --read-only to run from the dashboard. {% endif %}

{% if workflows %} {% if allow_run %}{% endif %} {% if allow_run %}{% endif %} {% for w in workflows %} {% if allow_run %} {% endif %} {% endfor %}
Name Stages Tier map DescriptionScopeAction
{{ w.name }} {{ w.stages }} {% for stage, tier in w.tier_map.items() %} {{ stage }}: {{ tier }} {% endfor %} {{ w.description }}
{% if supports_path[w.name] %} {% else %} n/a {% endif %}
{% else %}

No workflows are visible. Make sure attune-ai is installed in the same venv as attune-ops.

{% endif %} {% endblock %} {% block scripts %} {# runner.js is loaded unconditionally so the recent-runs strip renders in both run and read-only modes. The script's DOMContentLoaded handler queries for run-button / scope-picker elements that only exist when allow_run is True, so the read-only page sees a no-op for those features. #} {% endblock %}