{% extends "_base.html" %} {% block title %}This Week · Cauldron{% endblock %} {% block content %}
// plan · week of {{ week_start.strftime('%b %-d, %Y') }}

{% if is_current_week %}this week {% elif is_past_week %}past week {% else %}future week {% endif %}

{% if plan.locked_at %} locked {% if plan.locked_reason == 'user' and locked_by_display %} by {{ locked_by_display }} {% else %} automatically {% endif %} · {{ plan.locked_at.strftime('%a %-I:%M %p') }} {% elif plan.slots %} generated{% if generated_by_display %} by {{ generated_by_display }}{% endif %}. lock it in when the household has agreed. {% else %} {{ pick_count }} pinned in the pool. summon the planner to build a 7-day plan. {% endif %}

state

{% if plan.locked_at %} {{ 'auto-locked' if plan.locked_reason == 'auto' else 'locked' }} {% elif plan.slots %} generated {% else %} open {% endif %} week of {{ week_start.strftime('%b %-d, %Y') }}
{% if plan.locked_at %}

this week's plan is locked. it'll archive Sunday night and a fresh week opens Monday.

{% if plan.preference_prompt %}
vibe this week: "{{ plan.preference_prompt }}"
{% endif %} {% if plan.targets_label %}
macros: {{ plan.targets_label }}
{% endif %} {% if plan.exclusions_label %}
excluding: {{ plan.exclusions_label }}
{% endif %} {% elif not plan.slots %}

no plan yet. summon claude to build one from the {{ pick_count }} pinned pick{{ '' if pick_count == 1 else 's' }} + the rest of the grimoire.

numeric targets + allergen exclusions (optional)
cal/day g protein/day g carbs/day g fat/day
sonnet · ~30s
{% else %}

plan's set.

{% if plan.preference_prompt %}
vibe this week: "{{ plan.preference_prompt }}"
{% endif %} {% if plan.targets_label %}
macros: {{ plan.targets_label }}
{% endif %} {% if plan.exclusions_label %}
excluding: {{ plan.exclusions_label }}
{% endif %}
{% if plan.generated_by_sub == current_user_sub %} {% endif %} view list →
{% endif %}
{% if plan.slots %}

the week

{{ plan.slots|length }} day{{ '' if plan.slots|length == 1 else 's' }}
{% for s in plan.slots %}
{{ s.day }}
{{ s.recipe_name }}
{% if s.picker_subs %}
{% for sub in s.picker_subs %} 🍄 {{ sub_display.get(sub, 'family') }} {% endfor %}
{% endif %} {% if s.reason %}
{{ s.reason }}
{% endif %}
{% endfor %}
{% endif %} {% endblock %}