{
  "$schema": "./lesson-schema (see LESSONS.md)",
  "version": "0.3.0",
  "arc": "Foundation arc: counting to decimals",
  "notes": "Answers are numeric so items run directly in the demo lesson engine (input type=number). 'diagnosis' strings map wrong answers to the misconception they reveal — this is what makes errors diagnostic data. Each lesson carries a 'funFact' — a topical, historically accurate nugget shown when the learner masters the unit.",
  "lessons": [
    {
      "id": "S034",
      "name": "Counting to 100",
      "strand": "Counting & number sense",
      "prerequisites": [],
      "unlocks": [
        "S077",
        "S204"
      ],
      "objective": "Count forward and backward within 100 from any starting point, including across decade boundaries.",
      "tutorScript": "You already know the counting song — one, two, three. Here's the secret grown-ups never say out loud: after twenty, counting is just a pattern that repeats. Twenty-one, twenty-two… up to twenty-nine, then a new family starts: thirty. Every family works the same way. The only tricky moments are the bridges — the step from twenty-nine to thirty, from thirty-nine to forty. That's where we'll practice, because that's where the pattern jumps. Once you can cross every bridge, you can count forever.",
      "workedExamples": [
        {
          "prompt": "What comes after 39?",
          "thinking": "39 is the end of the thirties family. The next family is the forties, and every family starts at zero: 40.",
          "answer": 40
        },
        {
          "prompt": "Count back: what comes before 70?",
          "thinking": "70 starts the seventies family, so stepping back lands at the end of the sixties: 69.",
          "answer": 69
        }
      ],
      "practice": [
        {
          "prompt": "What comes after 29?",
          "answer": 30,
          "diagnosis": {
            "20": "Restarted the decade — reinforce that families go up, not around.",
            "39": "Jumped a decade — recount 28, 29, 30 aloud."
          }
        },
        {
          "prompt": "What comes after 59?",
          "answer": 60,
          "diagnosis": {
            "50": "Decade restart misconception."
          }
        },
        {
          "prompt": "What comes before 40?",
          "answer": 39,
          "diagnosis": {
            "41": "Counted forward instead of backward."
          }
        },
        {
          "prompt": "What comes after 99?",
          "answer": 100,
          "diagnosis": {
            "90": "Decade restart; show 99 + 1 with bundles of ten."
          }
        },
        {
          "prompt": "Count by tens: 10, 20, 30, … what comes next?",
          "answer": 40,
          "diagnosis": {
            "31": "Counted by ones — re-anchor the tens pattern."
          }
        },
        {
          "prompt": "What comes before 81?",
          "answer": 80,
          "diagnosis": {}
        }
      ],
      "masteryCheck": [
        {
          "prompt": "What comes after 69?",
          "answer": 70
        },
        {
          "prompt": "What comes before 100?",
          "answer": 99
        },
        {
          "prompt": "Count by tens from 30: what is the third number you say after 30?",
          "answer": 60
        }
      ],
      "misconceptions": [
        "Decade restart (…29 → 20)",
        "Bridge skipping (…39 → 50)",
        "Backward counting reverses to forward mid-stream"
      ],
      "funFact": "For centuries in Northern Europe, 'one hundred' often meant 120 — the 'long hundred'. Counting systems are human inventions, and you just mastered the one that won."
    },
    {
      "id": "S077",
      "name": "Number bonds to 20",
      "strand": "Addition & subtraction",
      "prerequisites": [
        "S034"
      ],
      "unlocks": [
        "S118"
      ],
      "objective": "Instantly recall pairs that make 10 and 20, and use them to add within 20.",
      "tutorScript": "Some number pairs are best friends — they always make ten together. 7 and 3. 6 and 4. 9 and 1. Knowing these friends by heart is a superpower, because big additions secretly break into friends-of-ten. 8 + 5? Take 2 from the 5 to finish the ten, then 3 more: 13. That move — make ten, then add the rest — is called bridging, and it's how fast adders actually think. We'll drill the friends until they're instant, then use them to bridge.",
      "workedExamples": [
        {
          "prompt": "7 + ? = 10",
          "thinking": "Seven's best friend is three.",
          "answer": 3
        },
        {
          "prompt": "8 + 6",
          "thinking": "8 needs 2 to make 10. Take 2 from the 6, leaving 4. 10 + 4 = 14.",
          "answer": 14
        }
      ],
      "practice": [
        {
          "prompt": "6 + ? = 10",
          "answer": 4,
          "diagnosis": {
            "5": "Guessing near-doubles — drill the bond pairs."
          }
        },
        {
          "prompt": "? + 9 = 10",
          "answer": 1,
          "diagnosis": {}
        },
        {
          "prompt": "7 + 5",
          "answer": 12,
          "diagnosis": {
            "11": "Off-by-one in counting on — use the bridge instead.",
            "13": "Off-by-one in the bridge remainder."
          }
        },
        {
          "prompt": "9 + 6",
          "answer": 15,
          "diagnosis": {
            "14": "Bridge remainder error: 9 takes 1, leaving 5."
          }
        },
        {
          "prompt": "13 + ? = 20",
          "answer": 7,
          "diagnosis": {
            "3": "Bonded to the nearest ten (13+?=16 confusion) — anchor on 20."
          }
        },
        {
          "prompt": "8 + 8",
          "answer": 16,
          "diagnosis": {}
        }
      ],
      "masteryCheck": [
        {
          "prompt": "? + 4 = 10",
          "answer": 6
        },
        {
          "prompt": "8 + 7",
          "answer": 15
        },
        {
          "prompt": "16 + ? = 20",
          "answer": 4
        }
      ],
      "misconceptions": [
        "Counting-on by ones instead of bridging",
        "Bond pairs to 10 confused with pairs to 20"
      ],
      "funFact": "The story goes that 8-year-old Carl Gauss was told to add every number from 1 to 100 as punishment. He saw the number bonds instantly — 1+100, 2+99, fifty pairs of 101 — and wrote 5,050 in seconds."
    },
    {
      "id": "S118",
      "name": "Subtraction with borrowing",
      "strand": "Addition & subtraction",
      "prerequisites": [
        "S077",
        "S204"
      ],
      "unlocks": [
        "S406"
      ],
      "objective": "Subtract two-digit numbers when the ones digit of the minuend is smaller, by regrouping a ten.",
      "tutorScript": "Try 42 minus 17. Look at the ones: 2 take away 7 — you can't, not without going below zero. Here's the move: a ten is just ten ones in a bundle. Unbundle one. Now 42 is 30 and 12. Twelve take away seven is five. Thirty take away ten is twenty. Twenty-five. That unbundling move is called regrouping — some people say borrowing, but nothing is ever paid back; we just broke a ten into ones. If you remember that a ten is made OF ones, this never feels like a trick.",
      "workedExamples": [
        {
          "prompt": "53 − 28",
          "thinking": "3 < 8, so unbundle: 53 becomes 40 and 13. 13 − 8 = 5. 40 − 20 = 20. Answer 25.",
          "answer": 25
        },
        {
          "prompt": "70 − 36",
          "thinking": "0 < 6, unbundle: 70 becomes 60 and 10. 10 − 6 = 4. 60 − 30 = 30. Answer 34.",
          "answer": 34
        }
      ],
      "practice": [
        {
          "prompt": "42 − 17",
          "answer": 25,
          "diagnosis": {
            "35": "Subtracted smaller-from-larger in the ones column (7−2) — the classic bug. Re-teach unbundling.",
            "15": "Forgot to reduce the tens after regrouping."
          }
        },
        {
          "prompt": "61 − 38",
          "answer": 23,
          "diagnosis": {
            "37": "Smaller-from-larger bug."
          }
        },
        {
          "prompt": "80 − 24",
          "answer": 56,
          "diagnosis": {
            "64": "Smaller-from-larger bug (4−0)."
          }
        },
        {
          "prompt": "55 − 29",
          "answer": 26,
          "diagnosis": {
            "34": "Smaller-from-larger bug.",
            "36": "Tens not reduced after regroup."
          }
        },
        {
          "prompt": "93 − 47",
          "answer": 46,
          "diagnosis": {
            "54": "Smaller-from-larger bug."
          }
        },
        {
          "prompt": "34 − 18",
          "answer": 16,
          "diagnosis": {
            "24": "Smaller-from-larger bug.",
            "26": "Tens not reduced."
          }
        }
      ],
      "masteryCheck": [
        {
          "prompt": "52 − 26",
          "answer": 26
        },
        {
          "prompt": "71 − 45",
          "answer": 26
        },
        {
          "prompt": "60 − 13",
          "answer": 47
        }
      ],
      "misconceptions": [
        "Smaller-from-larger column bug (the single most common subtraction error)",
        "Regrouping without decrementing the tens",
        "'Borrowing' framed as debt rather than unbundling"
      ],
      "funFact": "In the year 628, the Indian mathematician Brahmagupta wrote the first known rules for working with numbers below zero. He called them 'debts' — borrowing has been part of math's story for 1,400 years."
    },
    {
      "id": "S204",
      "name": "Place value: tens & hundreds",
      "strand": "Place value",
      "prerequisites": [
        "S034"
      ],
      "unlocks": [
        "S118",
        "S207",
        "S406"
      ],
      "objective": "Read a digit's value from its position; compose and decompose numbers to 999.",
      "tutorScript": "Why is the 4 in 47 worth more than the 7? Position. Numbers are written in a code where each seat, moving left, is worth ten times more. The right seat counts ones. The next seat counts tens — whole bundles of ten. The next counts hundreds — bundles of bundles. So 347 isn't 'three four seven'; it's three hundreds, four tens, seven ones: 300 + 40 + 7. Once you read seats instead of symbols, big numbers stop being scary — they're just shopping lists of bundles.",
      "workedExamples": [
        {
          "prompt": "What is the value of the 6 in 268?",
          "thinking": "The 6 sits in the tens seat: six bundles of ten.",
          "answer": 60
        },
        {
          "prompt": "What number is 500 + 30 + 9?",
          "thinking": "Five hundreds, three tens, nine ones written together.",
          "answer": 539
        }
      ],
      "practice": [
        {
          "prompt": "What is the value of the 8 in 482?",
          "answer": 80,
          "diagnosis": {
            "8": "Read the digit, not its seat — rebuild with base-10 blocks."
          }
        },
        {
          "prompt": "What is the value of the 3 in 317?",
          "answer": 300,
          "diagnosis": {
            "3": "Digit-only reading."
          }
        },
        {
          "prompt": "What number is 700 + 6?",
          "answer": 706,
          "diagnosis": {
            "76": "Collapsed the empty tens seat — zero holds the seat."
          }
        },
        {
          "prompt": "How many tens are in 90?",
          "answer": 9,
          "diagnosis": {
            "90": "Counted ones, not bundles."
          }
        },
        {
          "prompt": "What number is 4 hundreds, 0 tens, 2 ones?",
          "answer": 402,
          "diagnosis": {
            "42": "Zero seat collapsed."
          }
        },
        {
          "prompt": "What is 10 more than 395?",
          "answer": 405,
          "diagnosis": {
            "396": "Added one, not ten.",
            "495": "Added a hundred."
          }
        }
      ],
      "masteryCheck": [
        {
          "prompt": "Value of the 5 in 451?",
          "answer": 50
        },
        {
          "prompt": "What number is 600 + 70 + 1?",
          "answer": 671
        },
        {
          "prompt": "What is 10 more than 297?",
          "answer": 307
        }
      ],
      "misconceptions": [
        "Reading digits without positional value",
        "Zero-as-placeholder collapsed (706 → 76)",
        "Adding 10 changes the ones digit"
      ],
      "funFact": "The Babylonians built their place value on 60 instead of 10 — and it never died. It's why an hour has 60 minutes, a minute 60 seconds, and a circle 360 degrees."
    },
    {
      "id": "S207",
      "name": "Place value: regrouping past 1,000",
      "strand": "Place value",
      "prerequisites": [
        "S204",
        "S118"
      ],
      "unlocks": [
        "S414"
      ],
      "objective": "Read, compose and adjust four-digit numbers, including carrying across seats when adding or subtracting 10, 100 or 1,000.",
      "tutorScript": "Past a thousand, nothing new happens — the same rule just keeps going. Every seat, moving left, is worth ten of the seat before: ones, tens, hundreds, thousands. The only drama is the rollover. Think of a car odometer: when a seat fills past 9, it snaps to 0 and passes one to the seat on its left. So 100 more than 2,950? The hundreds seat is full — 9 rolls to 0 and hands one to the thousands: 3,050. Watch the rollovers and four-digit numbers behave exactly like two-digit ones, just with more seats.",
      "workedExamples": [
        {
          "prompt": "What is 100 more than 2,950?",
          "thinking": "Add to the hundreds seat: 9 + 1 fills it, so it rolls to 0 and passes 1 to the thousands. 2,950 → 3,050.",
          "answer": 3050
        },
        {
          "prompt": "What number is 3 thousands, 0 hundreds, 4 tens and 6 ones?",
          "thinking": "Fill the seats: 3 | 0 | 4 | 6. The zero must hold its seat: 3,046.",
          "answer": 3046
        }
      ],
      "practice": [
        {
          "prompt": "What is 100 more than 2,950?",
          "answer": 3050,
          "diagnosis": {
            "2050": "The rollover went the wrong way — the hundreds passed one UP to the thousands.",
            "3950": "That added 1,000, not 100."
          }
        },
        {
          "prompt": "What is the value of the 7 in 7,482?",
          "answer": 7000,
          "diagnosis": {
            "7": "Read the seat, not the digit — that 7 sits in the thousands.",
            "700": "One seat off — count the seats from the right."
          }
        },
        {
          "prompt": "What is 1,000 less than 5,200?",
          "answer": 4200,
          "diagnosis": {
            "5100": "That removed 100, not 1,000.",
            "4100": "Two seats changed — only the thousands seat should move."
          }
        },
        {
          "prompt": "What number is 3 thousands, 0 hundreds, 4 tens and 6 ones?",
          "answer": 3046,
          "diagnosis": {
            "346": "The empty hundreds seat collapsed — zero has to hold it open."
          }
        },
        {
          "prompt": "What is 10 more than 4,996?",
          "answer": 5006,
          "diagnosis": {
            "4006": "The rollover chain stopped early — tens fill, pass to hundreds, hundreds fill, pass to thousands.",
            "5096": "One rollover too few in the hundreds."
          }
        },
        {
          "prompt": "How many hundreds are in 1,200?",
          "answer": 12,
          "diagnosis": {
            "2": "That's only the hundreds DIGIT — the thousand holds ten more hundreds inside it."
          }
        }
      ],
      "masteryCheck": [
        {
          "prompt": "What is 100 more than 3,970?",
          "answer": 4070
        },
        {
          "prompt": "What number is 7 thousands, 0 hundreds, 0 tens and 8 ones?",
          "answer": 7008
        },
        {
          "prompt": "What is 1,000 less than 10,400?",
          "answer": 9400
        }
      ],
      "misconceptions": [
        "Rollover (carrying) across seats stops one seat early",
        "Zero-as-placeholder collapsed in larger numbers",
        "Hundreds-in-a-number read as the hundreds digit only"
      ],
      "funFact": "A 'googol' — 1 followed by 100 zeros — was named in 1920 by a mathematician's 9-year-old nephew. It's bigger than the number of atoms in the observable universe."
    },
    {
      "id": "S406",
      "name": "Times tables 2–5",
      "strand": "Multiplication & division",
      "prerequisites": [
        "S118",
        "S204"
      ],
      "unlocks": [
        "S410",
        "S402"
      ],
      "objective": "Fluent recall of multiplication facts for 2, 3, 4 and 5 up to ×10.",
      "tutorScript": "Multiplication is repeated addition wearing a fast costume. 4 × 3 means four threes: 3 + 3 + 3 + 3. But we don't want to add every time — we want the answers to live in your hands like song lyrics. The tables for 2, 3, 4 and 5 have friendly patterns: twos are doubles, fives end in 5 or 0 and march like a clock, fours are doubles doubled. We'll use the patterns first, then drill until the pattern disappears and only the answer is left.",
      "workedExamples": [
        {
          "prompt": "4 × 6",
          "thinking": "Fours are doubles, doubled: 6 doubled is 12, doubled again is 24.",
          "answer": 24
        },
        {
          "prompt": "5 × 7",
          "thinking": "Fives march by five: 5, 10, 15, 20, 25, 30, 35. Seven steps lands on 35 — and it ends in 5, as odd×5 must.",
          "answer": 35
        }
      ],
      "practice": [
        {
          "prompt": "2 × 8",
          "answer": 16,
          "diagnosis": {
            "10": "Added instead of multiplied."
          }
        },
        {
          "prompt": "3 × 7",
          "answer": 21,
          "diagnosis": {
            "10": "Added instead of multiplied.",
            "24": "Slipped to 3×8 — neighbour-fact error."
          }
        },
        {
          "prompt": "4 × 8",
          "answer": 32,
          "diagnosis": {
            "28": "Neighbour-fact (4×7).",
            "36": "Neighbour-fact (4×9)."
          }
        },
        {
          "prompt": "5 × 9",
          "answer": 45,
          "diagnosis": {
            "40": "Neighbour-fact (5×8)."
          }
        },
        {
          "prompt": "3 × 3",
          "answer": 9,
          "diagnosis": {
            "6": "Added instead of multiplied."
          }
        },
        {
          "prompt": "4 × 4",
          "answer": 16,
          "diagnosis": {
            "8": "Added instead of multiplied."
          }
        }
      ],
      "masteryCheck": [
        {
          "prompt": "3 × 8",
          "answer": 24
        },
        {
          "prompt": "4 × 7",
          "answer": 28
        },
        {
          "prompt": "5 × 6",
          "answer": 30
        }
      ],
      "misconceptions": [
        "Multiplying as adding (a×b → a+b)",
        "Neighbour-fact slips (recalling the fact one row over)"
      ],
      "funFact": "Ancient Egyptian scribes multiplied using nothing but doubling — the ×2 table you just mastered. Their 4,000-year-old method is essentially binary, the same idea inside every computer."
    },
    {
      "id": "S410",
      "name": "Times tables 6–9",
      "strand": "Multiplication & division",
      "prerequisites": [
        "S406"
      ],
      "unlocks": [
        "S412"
      ],
      "objective": "Fluent recall of multiplication facts for 6, 7, 8 and 9 up to ×10, using derived-fact strategies as scaffolding.",
      "tutorScript": "The big tables feel hard because schools teach them as 40 random facts. They're not random — every one is a short hop from a fact you already own. 6 × 7 is just 5 × 7 plus one more 7: 35 + 7 = 42. 9 × 8 is 10 × 8 minus one 8: 80 − 8 = 72. Nines have a bonus pattern: their digits always add to nine. We'll learn the hops first — they make you unstuck-able — then drill until the hop isn't needed. Commit to this and the hardest fact in arithmetic is behind you by Friday.",
      "workedExamples": [
        {
          "prompt": "6 × 8",
          "thinking": "Hop from 5 × 8 = 40, plus one more 8: 48.",
          "answer": 48
        },
        {
          "prompt": "9 × 7",
          "thinking": "Hop from 10 × 7 = 70, minus one 7: 63. Check: 6 + 3 = 9. ✓",
          "answer": 63
        }
      ],
      "practice": [
        {
          "prompt": "6 × 7",
          "answer": 42,
          "diagnosis": {
            "36": "Neighbour-fact (6×6).",
            "48": "Neighbour-fact (6×8)."
          }
        },
        {
          "prompt": "7 × 8",
          "answer": 56,
          "diagnosis": {
            "54": "The famous 7×8 slip — anchor with 5678: 56 = 7×8.",
            "49": "Neighbour-fact (7×7)."
          }
        },
        {
          "prompt": "9 × 6",
          "answer": 54,
          "diagnosis": {
            "56": "Neighbour confusion with 7×8.",
            "45": "Neighbour-fact (9×5)."
          }
        },
        {
          "prompt": "8 × 8",
          "answer": 64,
          "diagnosis": {
            "56": "Neighbour-fact (8×7)."
          }
        },
        {
          "prompt": "9 × 9",
          "answer": 81,
          "diagnosis": {
            "72": "Neighbour-fact (9×8)."
          }
        },
        {
          "prompt": "7 × 6",
          "answer": 42,
          "diagnosis": {
            "36": "Neighbour-fact."
          }
        }
      ],
      "masteryCheck": [
        {
          "prompt": "8 × 6",
          "answer": 48
        },
        {
          "prompt": "7 × 9",
          "answer": 63
        },
        {
          "prompt": "8 × 7",
          "answer": 56
        }
      ],
      "misconceptions": [
        "Treating facts as isolated (no derived-fact strategy)",
        "Neighbour-fact slips concentrated in 6–8 region",
        "9s pattern unknown (digit sum = 9)"
      ],
      "funFact": "The nines hide in your hands: hold up ten fingers and fold down finger number n — the fingers on each side of the gap read out 9 × n. Try it with 9 × 7: six and three."
    },
    {
      "id": "S412",
      "name": "Multiplication: multi-digit by one digit",
      "strand": "Multiplication & division",
      "prerequisites": [
        "S410",
        "S204"
      ],
      "unlocks": [
        "S433",
        "S414"
      ],
      "objective": "Multiply a two-digit number by a one-digit number by splitting into tens and ones (distributive thinking).",
      "tutorScript": "Here's where place value and times tables shake hands. 14 × 6 looks new, but you own both halves: 14 is just 10 and 4. Multiply each part — 10 × 6 = 60, 4 × 6 = 24 — and add: 84. That split is called the distributive property, and it's not a school trick: it's how engineers estimate, how mental-math champions work, and the entire reason algebra's a(b + c) = ab + ac will feel obvious in three years. Split, multiply, add. Every time.",
      "workedExamples": [
        {
          "prompt": "13 × 5",
          "thinking": "Split: 10 × 5 = 50 and 3 × 5 = 15. Add: 65.",
          "answer": 65
        },
        {
          "prompt": "17 × 4",
          "thinking": "Split: 10 × 4 = 40 and 7 × 4 = 28. Add: 68.",
          "answer": 68
        }
      ],
      "practice": [
        {
          "prompt": "12 × 6",
          "answer": 72,
          "diagnosis": {
            "66": "Multiplied tens, added ones (10×6 + 6).",
            "26": "Multiplied only the ones digit."
          }
        },
        {
          "prompt": "15 × 4",
          "answer": 60,
          "diagnosis": {
            "45": "Split error: 10×4 + 5.",
            "20": "Ones-only multiplication."
          }
        },
        {
          "prompt": "16 × 3",
          "answer": 48,
          "diagnosis": {
            "33": "Split error.",
            "183": "Digits concatenated, not added."
          }
        },
        {
          "prompt": "14 × 7",
          "answer": 98,
          "diagnosis": {
            "77": "Split error (70+7).",
            "728": "Concatenated partial products."
          }
        },
        {
          "prompt": "18 × 5",
          "answer": 90,
          "diagnosis": {
            "55": "Split error.",
            "405": "Concatenated 40|5 misfire."
          }
        },
        {
          "prompt": "19 × 6",
          "answer": 114,
          "diagnosis": {
            "66": "Split error.",
            "654": "Concatenated partials."
          }
        }
      ],
      "masteryCheck": [
        {
          "prompt": "13 × 7",
          "answer": 91
        },
        {
          "prompt": "16 × 6",
          "answer": 96
        },
        {
          "prompt": "15 × 8",
          "answer": 120
        }
      ],
      "misconceptions": [
        "Multiplying tens then adding (not multiplying) the ones",
        "Concatenating partial products instead of adding",
        "Forgetting the tens are tens (10×6 treated as 1×6)"
      ],
      "funFact": "Until 1960, everyone assumed schoolbook multiplication was the fastest possible. Then 23-year-old Anatoly Karatsuba proved it wasn't — computers still multiply giant numbers with descendants of his split-and-add trick, the same one you just learned."
    },
    {
      "id": "S414",
      "name": "Long multiplication",
      "strand": "Multiplication & division",
      "prerequisites": [
        "S412",
        "S207"
      ],
      "unlocks": [],
      "objective": "Multiply two-digit numbers by two-digit numbers by splitting both factors and adding all the partial products.",
      "tutorScript": "You already split one number to multiply — now we split both. 23 × 14: think of a box with two rooms each way. 23 is 20 and 3; 14 is 10 and 4. Every part of one number must meet every part of the other: 20×10, 20×4, 3×10, 3×4. That's 200 + 80 + 30 + 12 = 322. The trap that catches almost everyone: treating the tens digit like a one. The 1 in 14 is not one — it's ten. Respect the seats, multiply every pair, add it all. That's the whole algorithm, with the mystery removed.",
      "workedExamples": [
        {
          "prompt": "23 × 14",
          "thinking": "Split both: (20 + 3) × (10 + 4). Four meetings: 200, 80, 30, 12. Sum: 322.",
          "answer": 322
        },
        {
          "prompt": "12 × 13",
          "thinking": "Rows: 12 × 10 = 120 and 12 × 3 = 36. Add: 156.",
          "answer": 156
        }
      ],
      "practice": [
        {
          "prompt": "12 × 13",
          "answer": 156,
          "diagnosis": {
            "36": "Only the ones row — the 1 in 13 is ten, and its whole row is missing.",
            "48": "The tens digit got treated as a one: that computed 12×1 + 12×3."
          }
        },
        {
          "prompt": "21 × 14",
          "answer": 294,
          "diagnosis": {
            "84": "Only the ones row (21×4) — the tens row is missing.",
            "105": "Tens treated as ones: 21×1 + 21×4."
          }
        },
        {
          "prompt": "23 × 12",
          "answer": 276,
          "diagnosis": {
            "46": "Only the ones row.",
            "69": "Tens treated as ones: 23×1 + 23×2."
          }
        },
        {
          "prompt": "15 × 15",
          "answer": 225,
          "diagnosis": {
            "75": "Only the ones row (15×5).",
            "90": "Tens treated as ones: 15×1 + 15×5."
          }
        },
        {
          "prompt": "32 × 13",
          "answer": 416,
          "diagnosis": {
            "96": "Only the ones row.",
            "128": "Tens treated as ones: 32×1 + 32×3."
          }
        },
        {
          "prompt": "24 × 21",
          "answer": 504,
          "diagnosis": {
            "24": "Only the ones row (24×1).",
            "72": "Tens treated as ones: 24×2 + 24×1."
          }
        }
      ],
      "masteryCheck": [
        {
          "prompt": "13 × 14",
          "answer": 182
        },
        {
          "prompt": "22 × 16",
          "answer": 352
        },
        {
          "prompt": "31 × 12",
          "answer": 372
        }
      ],
      "misconceptions": [
        "Tens digit multiplied as a one (missing place value in the second factor)",
        "Dropping an entire partial-product row",
        "Adding partial products misaligned by one seat"
      ],
      "funFact": "Your 'box with four rooms' is over 800 years old — medieval mathematicians drew it as a lattice grid, and it travelled from India through the Arab world into Europe with the very numerals you write with."
    },
    {
      "id": "S433",
      "name": "Division as sharing & grouping",
      "strand": "Multiplication & division",
      "prerequisites": [
        "S412"
      ],
      "unlocks": [
        "S502"
      ],
      "objective": "Solve division within the times tables by reading ÷ as 'shared between' or 'how many groups', and connect it to multiplication as the inverse.",
      "tutorScript": "Division isn't a new operation — it's multiplication asked backwards. 24 ÷ 6 asks: six times WHAT makes 24? You already know it's 4; you learned it in the tables. There are two pictures worth keeping: sharing — 24 sweets between 6 friends, how many each? — and grouping — 24 sweets in bags of 6, how many bags? Same answer, different question. When you hit a division you don't know, don't panic downward; flip it upward into the multiplication you already own.",
      "workedExamples": [
        {
          "prompt": "35 ÷ 5",
          "thinking": "Five times what makes 35? From the fives table: 7.",
          "answer": 7
        },
        {
          "prompt": "48 ÷ 6",
          "thinking": "Six times what makes 48? 6 × 8 = 48, so 8.",
          "answer": 8
        }
      ],
      "practice": [
        {
          "prompt": "21 ÷ 3",
          "answer": 7,
          "diagnosis": {
            "18": "Subtracted instead of divided.",
            "63": "Multiplied instead of divided."
          }
        },
        {
          "prompt": "36 ÷ 4",
          "answer": 9,
          "diagnosis": {
            "32": "Subtracted.",
            "8": "Neighbour-fact (32÷4)."
          }
        },
        {
          "prompt": "54 ÷ 6",
          "answer": 9,
          "diagnosis": {
            "8": "Neighbour-fact (48÷6)."
          }
        },
        {
          "prompt": "63 ÷ 7",
          "answer": 9,
          "diagnosis": {
            "8": "Neighbour-fact (56÷7)."
          }
        },
        {
          "prompt": "40 ÷ 8",
          "answer": 5,
          "diagnosis": {
            "32": "Subtracted."
          }
        },
        {
          "prompt": "72 ÷ 9",
          "answer": 8,
          "diagnosis": {
            "7": "Neighbour-fact (63÷9)."
          }
        }
      ],
      "masteryCheck": [
        {
          "prompt": "42 ÷ 6",
          "answer": 7
        },
        {
          "prompt": "56 ÷ 8",
          "answer": 7
        },
        {
          "prompt": "45 ÷ 9",
          "answer": 5
        }
      ],
      "misconceptions": [
        "Division read as subtraction",
        "Division as a fresh fact set instead of inverted multiplication",
        "Sharing vs grouping pictures conflated"
      ],
      "funFact": "The ÷ symbol is younger than the telescope — first used for division in 1659. Mathematicians have mostly abandoned it; international standards now recommend writing division as a fraction instead."
    },
    {
      "id": "S502",
      "name": "Fractions: the idea of equal parts",
      "strand": "Fractions",
      "prerequisites": [
        "S433"
      ],
      "unlocks": [
        "S510",
        "S519"
      ],
      "objective": "Understand a fraction as equal parts of a whole; find how many unit fractions make a whole and compare simple unit fractions.",
      "tutorScript": "A fraction is division you decided to keep. 1 ÷ 4 doesn't fail just because 4 doesn't go into 1 — it becomes one quarter: one whole cut into four EQUAL parts, keeping one. The word that matters is equal — rip a pizza into four random shreds and the big shred isn't 'a quarter'. And here's the bit that breaks most people for years if nobody says it: more pieces means smaller pieces. A fifth is smaller than a third, even though 5 is bigger than 3, because the whole got cut more ways. Hold onto that and fractions stay friendly.",
      "workedExamples": [
        {
          "prompt": "How many quarters make one whole?",
          "thinking": "Quarter means cut into 4 equal parts — so 4 of them rebuild the whole.",
          "answer": 4
        },
        {
          "prompt": "A pizza is cut into 8 equal slices. You eat 8 of them. How many wholes did you eat?",
          "thinking": "8 eighths rebuild exactly one whole pizza.",
          "answer": 1
        }
      ],
      "practice": [
        {
          "prompt": "How many thirds make one whole?",
          "answer": 3,
          "diagnosis": {}
        },
        {
          "prompt": "How many eighths make one whole?",
          "answer": 8,
          "diagnosis": {}
        },
        {
          "prompt": "Which is the bigger piece: cut a cake into 3 equal parts or 5 equal parts? Answer with the number of parts that gives bigger pieces.",
          "answer": 3,
          "diagnosis": {
            "5": "The classic inversion: bigger denominator read as bigger piece. Re-cut the cake visually."
          }
        },
        {
          "prompt": "How many halves make 2 wholes?",
          "answer": 4,
          "diagnosis": {
            "2": "Counted halves in one whole only."
          }
        },
        {
          "prompt": "A chocolate bar has 6 equal squares. How many squares is half the bar?",
          "answer": 3,
          "diagnosis": {
            "6": "Half read as 'all'.",
            "2": "Confused half with a third."
          }
        },
        {
          "prompt": "How many quarters make 3 wholes?",
          "answer": 12,
          "diagnosis": {
            "7": "Added 3+4 instead of multiplying.",
            "4": "One whole only."
          }
        }
      ],
      "masteryCheck": [
        {
          "prompt": "How many fifths make one whole?",
          "answer": 5
        },
        {
          "prompt": "Which gives bigger pieces: cutting into 4 or 6 equal parts? Answer with that number.",
          "answer": 4
        },
        {
          "prompt": "How many halves make 5 wholes?",
          "answer": 10
        }
      ],
      "misconceptions": [
        "Bigger denominator → bigger piece (the central fraction misconception)",
        "Parts need not be equal",
        "Fractions seen as two unrelated whole numbers stacked"
      ],
      "funFact": "Ancient Egyptians refused to write any fraction with a top number bigger than 1 — everything had to be built from unit fractions like 1/2 + 1/4 + 1/8. Legend links the halving series to the Eye of Horus."
    },
    {
      "id": "S510",
      "name": "Fraction notation: the cut and the take",
      "strand": "Fractions",
      "prerequisites": [
        "S502"
      ],
      "unlocks": [
        "S519",
        "S551"
      ],
      "objective": "Read and write fractions: denominator as how the whole is cut, numerator as how many parts are taken.",
      "tutorScript": "A fraction is a tiny sentence with a grammar of exactly two words. The bottom number is the CUT: how many equal parts the whole was sliced into. The top number is the TAKE: how many of those parts you're holding. So 3/4 reads 'cut into four, take three.' Most fraction confusion is just grammar confusion — mixing up which number does which job. Read every fraction aloud as cut-and-take for a week and the grammar becomes instinct.",
      "workedExamples": [
        {
          "prompt": "What is the denominator of 3/4?",
          "thinking": "The denominator is the cut — the bottom number. Cut into 4.",
          "answer": 4
        },
        {
          "prompt": "You take 5 slices of a cake cut into 8 equal slices. What is the numerator of your fraction?",
          "thinking": "The take is 5 — that's the top number of 5/8.",
          "answer": 5
        }
      ],
      "practice": [
        {
          "prompt": "In the fraction 3/4, which number says how many equal parts the whole was cut into? Type that number.",
          "answer": 4,
          "diagnosis": {
            "3": "That's the take (numerator) — the cut lives on the bottom."
          }
        },
        {
          "prompt": "What is the numerator of 5/8?",
          "answer": 5,
          "diagnosis": {
            "8": "That's the cut (denominator) — the take lives on top."
          }
        },
        {
          "prompt": "A pizza is cut into 8 equal slices and you take 3. Type the numerator of your fraction.",
          "answer": 3,
          "diagnosis": {
            "8": "Cut and take swapped — you took 3, so 3 goes on top."
          }
        },
        {
          "prompt": "A fraction means 7 parts taken from 10 equal parts. Type the denominator.",
          "answer": 10,
          "diagnosis": {
            "7": "Cut and take swapped — the whole was cut into 10."
          }
        },
        {
          "prompt": "How many fifths are shaded if the fraction is 4/5?",
          "answer": 4,
          "diagnosis": {
            "5": "The 5 is the cut — the shading count is the take."
          }
        },
        {
          "prompt": "What whole number equals 6/6?",
          "answer": 1,
          "diagnosis": {
            "6": "Six sixths rebuild exactly one whole — count wholes, not parts."
          }
        }
      ],
      "masteryCheck": [
        {
          "prompt": "What is the denominator of 2/9?",
          "answer": 9
        },
        {
          "prompt": "5 of 12 equal parts are shaded. Type the numerator.",
          "answer": 5
        },
        {
          "prompt": "What whole number equals 8/8?",
          "answer": 1
        }
      ],
      "misconceptions": [
        "Numerator and denominator roles swapped",
        "n/n not recognised as one whole",
        "Fraction read top-down as two unrelated counts"
      ],
      "funFact": "The horizontal fraction bar was introduced by al-Hassar, a 12th-century mathematician from Morocco. Fibonacci borrowed it, Europe adopted it, and 800 years later you're still writing fractions his way."
    },
    {
      "id": "S519",
      "name": "Fraction division: how many fit",
      "strand": "Fractions",
      "prerequisites": [
        "S510",
        "S433"
      ],
      "unlocks": [],
      "objective": "Understand dividing by a fraction as asking how many of that fraction fit, and explain why the answer gets bigger.",
      "tutorScript": "Here's the question that breaks people for decades, fixed in one image. 3 ÷ 1/2 does NOT mean 'cut 3 in half.' Division asks how many fit: how many halves live inside 3 wholes? Each whole holds two halves, so three wholes hold six. The answer got BIGGER — and now you know why dividing by a fraction multiplies. That's the entire secret behind invert-and-multiply: it was never a trick, just 'how many fit' written as a shortcut.",
      "workedExamples": [
        {
          "prompt": "How many halves are in 3 wholes?",
          "thinking": "Each whole holds 2 halves. 3 wholes hold 3 × 2 = 6.",
          "answer": 6
        },
        {
          "prompt": "2 ÷ 1/4 = ?",
          "thinking": "How many quarters fit in 2 wholes? Each whole holds 4, so 2 × 4 = 8.",
          "answer": 8
        }
      ],
      "practice": [
        {
          "prompt": "How many halves are in 3 wholes?",
          "answer": 6,
          "diagnosis": {
            "1": "That divided 3 by 2 — but ÷ 1/2 asks how many halves FIT, and each whole holds two."
          }
        },
        {
          "prompt": "How many quarters are in 2 wholes?",
          "answer": 8,
          "diagnosis": {
            "4": "That's the quarters in ONE whole — there are two wholes."
          }
        },
        {
          "prompt": "How many thirds are in 4 wholes?",
          "answer": 12,
          "diagnosis": {
            "3": "Thirds in one whole only — multiply by the 4 wholes."
          }
        },
        {
          "prompt": "3 ÷ 1/2 asks: how many halves fit in 3? Type the answer.",
          "answer": 6,
          "diagnosis": {
            "1": "Dividing by a half doubles — it never halves."
          }
        },
        {
          "prompt": "How many eighths make one half?",
          "answer": 4,
          "diagnosis": {
            "8": "That's the eighths in a WHOLE — a half holds half of them.",
            "16": "Multiplied the wrong way — a half holds fewer eighths than a whole."
          }
        },
        {
          "prompt": "2 ÷ 1/4 = ?",
          "answer": 8,
          "diagnosis": {
            "4": "Quarters in one whole only.",
            "0": "It can't shrink to nothing — ÷ 1/4 asks how many quarters fit, so it grows."
          }
        }
      ],
      "masteryCheck": [
        {
          "prompt": "How many halves are in 5 wholes?",
          "answer": 10
        },
        {
          "prompt": "How many quarters are in 3 wholes?",
          "answer": 12
        },
        {
          "prompt": "How many sixths make one half?",
          "answer": 3
        }
      ],
      "misconceptions": [
        "÷ 1/2 read as 'cut in half'",
        "Counting unit fractions in one whole only",
        "Invert-and-multiply memorised with no 'how many fit' model"
      ],
      "funFact": "Zeno's famous paradox is fraction division in disguise: to cross a room you must first cross half, then half of what's left, forever. Infinitely many pieces fit — and yet you arrive. It took mathematicians 2,000 years to make peace with that."
    },
    {
      "id": "S551",
      "name": "Decimals: tenths",
      "strand": "Decimals",
      "prerequisites": [
        "S510",
        "S204"
      ],
      "unlocks": [
        "S554"
      ],
      "objective": "Read and write tenths as decimals; connect 0.7 to 7/10 and locate decimals between whole numbers.",
      "tutorScript": "Place value never stopped — it just kept going past the ones, heading right. One seat right of the ones lives the tenths: pieces ten times smaller, exactly like every seat before was ten times bigger. The decimal point isn't math; it's a landmark. It marks where the ones seat is, so you never get lost. So 0.7 is seven tenths — the fraction 7/10 wearing travel clothes. Same bundles game you've played since counting, now running in both directions.",
      "workedExamples": [
        {
          "prompt": "Write seven tenths as a decimal.",
          "thinking": "Seven pieces, each one tenth of a whole: 0 ones, 7 tenths → 0.7.",
          "answer": 0.7
        },
        {
          "prompt": "How many tenths are in 0.4?",
          "thinking": "The first seat right of the point counts tenths: 4.",
          "answer": 4
        }
      ],
      "practice": [
        {
          "prompt": "Write 9/10 as a decimal.",
          "answer": 0.9,
          "diagnosis": {
            "9": "Nine tenths is less than one whole — it needs the point: 0.9.",
            "0.09": "That's hundredths — tenths live in the first seat."
          }
        },
        {
          "prompt": "How many tenths are in 0.4?",
          "answer": 4,
          "diagnosis": {
            "40": "That's hundredths — the tenths seat is the first one."
          }
        },
        {
          "prompt": "What is 0.5 + 0.5?",
          "answer": 1,
          "diagnosis": {
            "0.1": "Ten tenths overflow the seat — they bundle into exactly one whole."
          }
        },
        {
          "prompt": "Write three and seven tenths as a decimal.",
          "answer": 3.7,
          "diagnosis": {
            "37": "The point is the landmark between ones and tenths: 3.7."
          }
        },
        {
          "prompt": "What decimal is one tenth less than 1?",
          "answer": 0.9,
          "diagnosis": {
            "0.1": "That's one tenth itself — we want one whole minus one tenth."
          }
        },
        {
          "prompt": "How many tenths make one whole?",
          "answer": 10,
          "diagnosis": {
            "1": "One whole IS the bundle — it takes ten tenths to build it."
          }
        }
      ],
      "masteryCheck": [
        {
          "prompt": "Write 6/10 as a decimal.",
          "answer": 0.6
        },
        {
          "prompt": "How many tenths are in 2 wholes?",
          "answer": 20
        },
        {
          "prompt": "What is 0.8 + 0.2?",
          "answer": 1
        }
      ],
      "misconceptions": [
        "Decimal point dropped (9/10 → 9)",
        "Tenths confused with hundredths",
        "Ten tenths not recognised as one whole"
      ],
      "funFact": "Decimals are surprisingly young: Simon Stevin sold Europe on them in 1585 with a 36-page pamphlet called 'De Thiende' (The Tenth). Before that, even astronomers wrestled with fractions. You just learned in minutes what took civilisation millennia to adopt."
    },
    {
      "id": "S554",
      "name": "Hundredths & comparing decimals",
      "strand": "Decimals",
      "prerequisites": [
        "S551"
      ],
      "unlocks": [
        "S557",
        "S561"
      ],
      "objective": "Read and write hundredths; compare decimals correctly by comparing seats, defeating the 'longer is larger' trap.",
      "tutorScript": "Two seats right of the ones live the hundredths — a hundred of them tile one whole. Now, the trap that catches almost everyone: which is bigger, 0.7 or 0.65? The longer number LOOKS bigger. It isn't. Give them the same seats: 0.7 is 0.70 — seventy hundredths against sixty-five. Longer is not larger; decimals are compared seat by seat, left to right, like words in a dictionary. Beat this one trap and decimal comparison never fools you again.",
      "workedExamples": [
        {
          "prompt": "Which is larger: 0.7 or 0.65? Type the larger one.",
          "thinking": "Same seats: 0.70 vs 0.65 — seventy hundredths beats sixty-five. 0.7 wins.",
          "answer": 0.7
        },
        {
          "prompt": "Write 23/100 as a decimal.",
          "thinking": "Twenty-three hundredths: 2 in the tenths seat, 3 in the hundredths: 0.23.",
          "answer": 0.23
        }
      ],
      "practice": [
        {
          "prompt": "Which is larger: 0.8 or 0.75? Type the larger one.",
          "answer": 0.8,
          "diagnosis": {
            "0.75": "Longer isn't larger — 0.8 is 0.80, and eighty hundredths beats seventy-five."
          }
        },
        {
          "prompt": "Write 4/100 as a decimal.",
          "answer": 0.04,
          "diagnosis": {
            "0.4": "That's 4 tenths — hundredths need the zero holding the tenths seat: 0.04."
          }
        },
        {
          "prompt": "How many hundredths are in 0.3?",
          "answer": 30,
          "diagnosis": {
            "3": "0.3 is 3 tenths — and each tenth holds ten hundredths: 30."
          }
        },
        {
          "prompt": "Which is larger: 0.09 or 0.1? Type the larger one.",
          "answer": 0.1,
          "diagnosis": {
            "0.09": "Nine hundredths against ten hundredths — 0.1 wins by a seat."
          }
        },
        {
          "prompt": "Write twelve hundredths as a decimal.",
          "answer": 0.12,
          "diagnosis": {
            "12": "Twelve hundredths is far less than one — it needs the point: 0.12.",
            "0.012": "That's thousandths — one seat too far."
          }
        },
        {
          "prompt": "How many hundredths are in 0.25?",
          "answer": 25,
          "diagnosis": {
            "2": "Read both seats — 2 tenths and 5 hundredths make 25 hundredths."
          }
        }
      ],
      "masteryCheck": [
        {
          "prompt": "Write 7/100 as a decimal.",
          "answer": 0.07
        },
        {
          "prompt": "Which is larger: 0.5 or 0.45? Type the larger one.",
          "answer": 0.5
        },
        {
          "prompt": "How many hundredths are in 0.9?",
          "answer": 90
        }
      ],
      "misconceptions": [
        "Longer decimal read as larger (the central decimal misconception)",
        "Zero placeholder dropped (4/100 → 0.4)",
        "Tenths and hundredths seats conflated"
      ],
      "funFact": "Every percentage you'll ever meet is a hundredth in costume — 'per cent' is Latin for 'out of one hundred'. Master hundredths and you've quietly mastered percent, interest rates, and statistics' favourite outfit, all at once."
    },
    {
      "id": "S557",
      "name": "Adding & subtracting decimals",
      "strand": "Decimals",
      "prerequisites": [
        "S554",
        "S118"
      ],
      "unlocks": [],
      "objective": "Add and subtract decimals by aligning the decimal point, carrying and borrowing across the point exactly as with whole numbers.",
      "tutorScript": "Here's the entire skill in one sentence: line up the points, and everything you already know does the rest. The decimal point is the landmark for the ones seat — align it and every seat lines up with its own kind: tenths over tenths, hundredths over hundredths. Then add or subtract exactly as you always have, carrying and borrowing across seats, point included. 1.2 + 0.35? Give them the same seats — 1.20 + 0.35 — and it's just 155 hundredths: 1.55. Misaligned points are the only way to get this wrong.",
      "workedExamples": [
        {
          "prompt": "1.2 + 0.35",
          "thinking": "Align the points: 1.20 + 0.35. Hundredths: 0+5. Tenths: 2+3. Ones: 1. → 1.55.",
          "answer": 1.55
        },
        {
          "prompt": "1 − 0.4",
          "thinking": "1 is 1.0 — ten tenths. Take four: six tenths left. 0.6.",
          "answer": 0.6
        }
      ],
      "practice": [
        {
          "prompt": "0.6 + 0.3",
          "answer": 0.9,
          "diagnosis": {
            "9": "Nine tenths, not nine wholes — keep the point."
          }
        },
        {
          "prompt": "1.2 + 0.35",
          "answer": 1.55,
          "diagnosis": {
            "4.7": "The points weren't aligned — 1.2 is 1.20, not 12 tenths against 35 hundredths.",
            "0.47": "Digits added without their seats — align the points first."
          }
        },
        {
          "prompt": "0.75 + 0.25",
          "answer": 1,
          "diagnosis": {
            "0.1": "A hundred hundredths bundle all the way up into exactly one whole."
          }
        },
        {
          "prompt": "1 − 0.3",
          "answer": 0.7,
          "diagnosis": {
            "0.07": "One seat too far — 1.0 minus 3 tenths is 7 tenths."
          }
        },
        {
          "prompt": "2.5 − 1.6",
          "answer": 0.9,
          "diagnosis": {
            "1.1": "The smaller-from-larger bug is back (6−5 in the tenths) — borrow from the ones, just like always."
          }
        },
        {
          "prompt": "0.05 + 0.5",
          "answer": 0.55,
          "diagnosis": {
            "0.1": "Those are different seats — 5 hundredths plus 5 tenths, not 5 plus 5."
          }
        }
      ],
      "masteryCheck": [
        {
          "prompt": "0.4 + 0.45",
          "answer": 0.85
        },
        {
          "prompt": "2 − 0.25",
          "answer": 1.75
        },
        {
          "prompt": "1.3 − 0.8",
          "answer": 0.5
        }
      ],
      "misconceptions": [
        "Decimal points misaligned before adding",
        "Smaller-from-larger bug returning in decimal seats",
        "Carrying across the decimal point treated as special (it isn't)"
      ],
      "funFact": "At the Beijing Olympics, Michael Phelps won gold by 0.01 seconds — a single hundredth. Olympic history, fortunes, and world records live entirely in the decimal seats you just mastered."
    },
    {
      "id": "S561",
      "name": "Multiplying decimals by 10 and 100",
      "strand": "Decimals",
      "prerequisites": [
        "S554"
      ],
      "unlocks": [],
      "objective": "Multiply decimals by 10 and 100 by promoting digits one or two seats leftward; understand that digits move, not the point.",
      "tutorScript": "Multiplying by ten doesn't change a single digit — it promotes every digit one seat to the left, because every seat is worth ten of its neighbour. 0.7 × 10: the 7 marches from the tenths seat into the ones. Seven. Times 100 is two marches. People say 'move the decimal point', and it works, but here's the truer picture: the point is a landmark and landmarks don't move — the digits march past it. Hold that image and you'll never march the wrong way.",
      "workedExamples": [
        {
          "prompt": "0.7 × 10",
          "thinking": "The 7 promotes one seat left: tenths → ones. Answer: 7.",
          "answer": 7
        },
        {
          "prompt": "0.04 × 100",
          "thinking": "Two promotions: hundredths → tenths → ones. Answer: 4.",
          "answer": 4
        }
      ],
      "practice": [
        {
          "prompt": "0.3 × 10",
          "answer": 3,
          "diagnosis": {
            "0.3": "Nothing marched — ×10 promotes every digit one seat left.",
            "30": "Two seats is ×100 — this was one march."
          }
        },
        {
          "prompt": "2.5 × 10",
          "answer": 25,
          "diagnosis": {
            "250": "Two marches is ×100.",
            "2.5": "Nothing marched."
          }
        },
        {
          "prompt": "0.07 × 10",
          "answer": 0.7,
          "diagnosis": {
            "7": "That's two marches (×100) — one march lands in the tenths."
          }
        },
        {
          "prompt": "0.06 × 100",
          "answer": 6,
          "diagnosis": {
            "0.6": "Only one march — ×100 is two seats left.",
            "600": "Four marches! ×100 is exactly two."
          }
        },
        {
          "prompt": "1.25 × 100",
          "answer": 125,
          "diagnosis": {
            "12.5": "One march short — ×100 moves two seats."
          }
        },
        {
          "prompt": "0.9 × 100",
          "answer": 90,
          "diagnosis": {
            "9": "One march short — the second march needs a zero to land on.",
            "900": "One march too many."
          }
        }
      ],
      "masteryCheck": [
        {
          "prompt": "0.8 × 10",
          "answer": 8
        },
        {
          "prompt": "0.03 × 100",
          "answer": 3
        },
        {
          "prompt": "4.7 × 10",
          "answer": 47
        }
      ],
      "misconceptions": [
        "Digits not shifted at all (point imagined as the actor)",
        "×100 shifted one seat instead of two",
        "Trailing-zero landing seat missed (0.9 × 100 → 9)"
      ],
      "funFact": "The metric system was built during the French Revolution precisely so that converting units would be nothing but this seat-march — kilometres to metres is three marches left, no arithmetic at all. You now hold the entire idea behind it."
    }
  ]
}
