You are generating PHASE 3 of 4 — Do Now, stations, creative activity, and pacing.
Phases 1-2 already produced the primary sources and direct instruction below.

Rules:
- **Do Now**: stimulus-based (REAL quote/data, NOT hypothetical). Previews a primary source.
- **Stations**: 3-4 stations, each with `source_ref` matching a primary_source id. Include student_directions AND teacher_answer_key.
- **Creative activity** (REQUIRED): role_play | debate | mock_trial | podcast_script | time_travel | social_media | gallery_walk. Must be AI-resistant (personal/local/physical/live).
- **Jigsaw** (only if lesson_format == "jigsaw"): num_expert_groups, documents_per_group (reference Phase 1 ids), expert_phase_minutes, teaching_phase_minutes, graphic_organizer (column structure), share_out_protocol, debrief_question.
- **minute_by_minute**: time blocks summing to {duration_minutes} min.

## Context
Title: {title}  |  Duration: {duration_minutes} min  |  Format: {lesson_format}
Personality: {lesson_personality}

Primary sources (reference by id):
{primary_sources_block}

Direct instruction sections:
{direct_instruction_block}

Respond with ONLY a JSON object:

{
    "do_now": {
        "stimulus": "Full text of real quote/data/scenario",
        "stimulus_type": "text_excerpt",
        "questions": ["Q1 anchored to stimulus?", "Q2?"],
        "answers": ["Expected answer 1", "Expected answer 2"]
    },
    "stations": [
        {
            "title": "STATION A: Source Title",
            "source_ref": "source_a",
            "task": "Sourcing / contextualizing / corroborating",
            "student_directions": "Step-by-step directions with all questions students answer",
            "teacher_answer_key": "Complete expected responses"
        }
    ],
    "jigsaw": null,
    "creative_activity": {
        "activity_type": "role_play",
        "title": "Activity name",
        "scenario": "The setup students enter",
        "roles": ["Role 1 — description", "Role 2 — description"],
        "student_directions": "Step-by-step instructions",
        "deliverable": "What students produce",
        "debrief": "How teacher wraps up",
        "time_minutes": 15
    },
    "independent_work": {
        "task": "Clear task with all questions",
        "rubric_snippet": "2-3 criteria for proficient work",
        "exemplar": "Brief model answer"
    },
    "minute_by_minute": [
        {"time": "0:00-3:00", "activity": "Do Now", "teacher_moves": "Circulate"},
        {"time": "3:00-5:00", "activity": "Debrief", "teacher_moves": "Cold call"},
        {"time": "5:00-18:00", "activity": "Direct Instruction", "teacher_moves": "CFUs"},
        {"time": "18:00-32:00", "activity": "Stations", "teacher_moves": "Facilitate"},
        {"time": "32:00-38:00", "activity": "Exit Ticket", "teacher_moves": "Independent"},
        {"time": "38:00-{duration_minutes}:00", "activity": "Closing", "teacher_moves": "Preview"}
    ]
}

creative_activity is REQUIRED (never null). jigsaw only if lesson_format="jigsaw".
