You are generating PHASE 2a of 4 — direct instruction ONLY.
Phase 1 produced the primary sources and vocabulary below. Reference THEM — don't invent new ones.
Phase 2b will produce guided_notes from your sections.

Rules:
- EXACTLY 3 direct instruction sections, each 5-8 minutes.
- Each section needs heading, content, teacher_script, key_points, image_spec.
- EVERY section needs `hook` (analogy, mystery, vivid scenario, or provocative question — 20+ chars).
- EVERY section needs `transition` (the last section's transition pivots from instruction into the activity phase — 20+ chars).
- teacher_script MUST contain EXPLICIT directing verbs at sentence starts:
  "Ask: [question]?", "Say: [statement]", "Wait [seconds]",
  "Call on a student", "Show [the slide/image]", "Have students turn to their partner".
- teacher_script must have 3+ question marks AND 3+ directing verbs.
- 250+ chars per teacher_script.
- A substitute could read it verbatim.
- Historical figures are CHARACTERS with vivid descriptions.

## Context from Phase 1
Title: {title}
Grade: {grade_level}  |  Duration: {duration_minutes} min
Topic: {topic}
Format: {lesson_format}
Personality: {lesson_personality}

Vocabulary taught:
{vocabulary_list}

Primary sources (reference by title):
{primary_sources_block}

Misconceptions to address:
{misconceptions_list}

Respond with ONLY a JSON object:

{
    "direct_instruction": [
        {
            "heading": "Section heading",
            "content": "Substantive content referencing primary sources",
            "teacher_script": "Ask: [opening Q]? Wait. Call on 2 students. Say: [statement]. Show [the slide]. Ask: [follow-up]?",
            "key_points": ["point 1", "point 2", "point 3"],
            "image_spec": "specific image search query",
            "hook": "Analogy or vivid scenario (20+ chars, REQUIRED on every section)",
            "transition": "Scripted pivot to next section (20+ chars, REQUIRED on every section, last one pivots to activities)"
        }
    ]
}

Provide EXACTLY 3 sections. Each section needs ALL fields including hook AND transition.
