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

this week

{% 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 when ready — first to lock takes the week. {% else %} {{ pick_count }} pinned in the pool. summon the planner to build a 7-day plan, then race to lock. {% 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.locked_reason == 'user' and plan.locked_by_sub == current_user_sub %}

🏆 you locked this one in.

{% 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.

sonnet · ~30s
{% else %}

plan's set. lock it in to claim the week — first to lock wins.

{% 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 %}

scoreboard

picks landed · weeks won
{% if streak and streak.count >= 2 %}

🔥 {{ streak.display_name }} on a {{ streak.count }}-week run.

{% endif %} {% if scoreboard and scoreboard|selectattr("points")|list or scoreboard and scoreboard|selectattr("wins")|list %} {% for s in scoreboard %} {% endfor %}
member pts wins last
{{ loop.index }}. {{ s.display_name or s.email.split('@')[0] }} {% if s.sub == current_user_sub %}· you{% endif %} {{ s.points or 0 }} {{ s.wins or 0 }} {{ s.last_win.strftime('%b %-d') if s.last_win else '—' }}
{% else %}

nobody's locked or generated yet. be the first.

{% endif %}
{% endblock %}