{{ deck.deck_type | replace('_', ' ') | title }}{{ deck.theme | replace('_', ' ') | title }}
{% if deck.tone %}
{{ deck.tone | replace('_', ' ') | title }} Tone
{% endif %}
{% if deck.occasion %}
{{ deck.occasion | truncate(40) }}
{% endif %}
{% if deck.status == 'completed' or deck.status == 'auto' %}
{{ deck.status | title }}
{% elif deck.status == 'degraded' %}
⚠ Degraded
{% elif deck.status == 'template' %}
⚠ Template
{% elif deck.status == 'failed' %}
Failed
{% else %}
{{ deck.status | title }}
{% endif %}
{{ deck.slide_count }} slides
{% if deck.target_audience %}
Audience: {{ deck.target_audience }}
{% endif %}
{% if deck.status in ('completed', 'auto', 'degraded', 'template') %}
↓ PPTX
{% if 'pdf' in deck.output_formats %}
↓ PDF
{% endif %}
{% if 'html' in deck.output_formats %}
↓ HTML
{% endif %}
{% endif %}
{% if deck.status in ('completed', 'auto', 'degraded', 'template') %}
▶ Present
{% endif %}
+ New Deck
{% if deck.error_message %}
Generation Error: {{ deck.error_message }}
{% endif %}
{# Honesty banner: degraded/template decks must not masquerade as fully generated. #}
{% if deck.status == 'template' %}
⚠ Template deck. The AI outline planner was unavailable, so this
deck uses a canned static structure. Slide titles and layout are boilerplate — not
generated from your sources. Regenerate when an LLM provider is configured for a
real deck.
{% elif deck.status == 'degraded' %}
⚠ Degraded deck. Some content could not be generated by the AI and
fell back to canned placeholders (flagged Fallback on each affected slide
below). Where research was requested but unavailable, no summary or citations were
invented. Review flagged slides before using this deck.