{% import "macros.html" as m %} {% if not data.catalog %} {{ m.empty('∅', 'No catalog', 'This project hasn’t generated a test catalog yet. Run `testctl catalog` in the project root to publish the gated, freshness-checked test tree.') }} {% elif not data.catalog.categories %} {{ m.empty('∅', 'No tests collected', 'The catalog is present but empty — `pytest --collect-only` found no tests. Add tests, then re-run `testctl catalog`.') }} {% else %}
The real test tree, generated from the project’s runners and freshness-gated — what you see is provably the actual suite. Configs are hidden by default; expand to view or edit (edits ride with this run only, never changing committed defaults).
{% if data.staleness and data.staleness.stale %}