{# Per-process client token; mutating fetches echo it as the X-Attune-Client header (see static/js/client_token.js and docs/specs/ops-mutating-endpoint-auth/). #} {% block title %}attune ops{% endblock %} · attune ops {# Release-keyed cache-bust: version pinning lets browsers cache the file BETWEEN requests within a release while busting reliably on upgrade. Replaces the previous ``random`` dev-iteration hack (which busted every page render and defeated browser caching in production). For dev work where the random buster was useful, Cmd+Shift+R / DevTools "Disable cache" still does the job. #}
attune ops v{{ attune_version }}
{% if current_run %} {# data-tooltip + data-tooltip-position=bottom: fast CSS tooltip positioned below the topbar so it doesn't render above the viewport. aria-label keeps the cue accessible to screen readers. #} running {{ current_run.workflow }} {% endif %}
project {# project_name reads ``[project].name`` from ``/pyproject.toml`` so worktree-launched dashboards display the package name (``attune-ai``) instead of the worktree directory's slug (``reverent-brown-937823``). Falls back to the basename when no pyproject is present. Tooltip + aria-label still expose the full path for users who need it. #} {{ project_name }}
{% block content %}{% endblock %}
{# Loaded before per-page scripts so every mutating fetch can read the client token (window.attuneClientHeaders). #} {% block scripts %}{% endblock %}