{% if s.artifacts %} {% else %}

No artifacts generated yet.

{% endif %} {% if provider is defined and provider.available %} {% if not s.readiness.ready and s.readiness.blocking %}

Blocking unknowns remain ({{ s.readiness.blocking_labels|join(', ') }}) — a generated document is marked Draft until they are resolved.

{% endif %}
{% for g in s.generatable %}
{% include "_csrf.html" %}
{% endfor %} Generating…

Each is generated from the current model and saved against this revision. The assessment comes first — it bakes its reasoning into the model, so documents generated after it inherit the decisions and challenges, not just the facts.

{% elif provider is defined and not provider.available %}

{{ provider.reason }}

{% endif %}