[
  {
    "idx": 300,
    "id": 3384,
    "type": 2,
    "verdict": "GOOD",
    "notes": "FIB: 3/5 of 25 = 15. Answer '15' correct. But correct_index=3 is anomalous (index 3 is null); should be 0 or 15."
  },
  {
    "idx": 301,
    "id": 3385,
    "type": 2,
    "verdict": "GOOD",
    "notes": "FIB: 3/4 of 16 = 12. Answer '12' correct."
  },
  {
    "idx": 302,
    "id": 3386,
    "type": 2,
    "verdict": "GOOD",
    "notes": "FIB: 5/7 of 14 = 10. Answer '10' correct."
  },
  {
    "idx": 303,
    "id": 3387,
    "type": 2,
    "verdict": "GOOD",
    "notes": "FIB: 4/5 of 20 = 16. Answer '16' correct."
  },
  {
    "idx": 304,
    "id": 3388,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: 10 fruits, 3 apples, fraction apples = 3/10. correct_index=1 -> answers[1]=3/10. Correct."
  },
  {
    "idx": 305,
    "id": 3389,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: 10 fruits, 3 apples, 7 oranges, fraction oranges = 7/10. correct_index=0. Correct."
  },
  {
    "idx": 306,
    "id": 3390,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: 1kg=1000g, cut 100g, fraction cut = 100/1000 = 1/10. correct_index=3. Correct."
  },
  {
    "idx": 307,
    "id": 3391,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: 1kg=1000g, left=900g, fraction left = 900/1000 = 9/10. correct_index=2. Correct."
  },
  {
    "idx": 308,
    "id": 3392,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: 20 passengers, 12 children, 8 adults. Fraction adults = 8/20 = 2/5. correct_index=1. Correct."
  },
  {
    "idx": 309,
    "id": 3394,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: 12 roses, 2 pink. Fraction pink = 2/12 = 1/6. correct_index=3. Correct."
  },
  {
    "idx": 310,
    "id": 3395,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: 12 roses, 3 yellow. Fraction yellow = 3/12 = 1/4. correct_index=1 -> answers[1]=1/4. Correct."
  },
  {
    "idx": 311,
    "id": 3396,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: 12 roses, 2 pink, 3 yellow, 7 red. Fraction red = 7/12. correct_index=3 -> answers[3]=7/12. Correct."
  },
  {
    "idx": 312,
    "id": 3397,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: 24 fish, 10 mollies, 11 guppies, 3 angel-fish. Fraction angel-fish = 3/24 = 1/8. correct_index=2 -> answers[2]=1/8. Correct."
  },
  {
    "idx": 313,
    "id": 3401,
    "type": 2,
    "verdict": "GOOD",
    "notes": "FIB: 4m fabric, 1/4 used = 1m, left = 3m. Answer '3' correct. Question text references 'Sue' but uses input placeholder; question_id and wording are fine."
  },
  {
    "idx": 314,
    "id": 3404,
    "type": 2,
    "verdict": "GOOD",
    "notes": "FIB: Sevenths in 6 wholes = 6*7 = 42. Answer '42' correct."
  },
  {
    "idx": 315,
    "id": 3405,
    "type": 2,
    "verdict": "GOOD",
    "notes": "FIB: Quarters in 2 1/2 wholes = 2.5*4 = 10. Answer '10' correct."
  },
  {
    "idx": 316,
    "id": 3408,
    "type": 2,
    "verdict": "GOOD",
    "notes": "FIB: 3/7 of fruits = 15 pears. Total = 15 / (3/7) = 15*7/3 = 35. Answer '35' correct."
  },
  {
    "idx": 317,
    "id": 3415,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: 2 3/5 = 13/5 = 26/10 = 26 tenths. correct_index=2 -> answers[2]=26. Correct."
  },
  {
    "idx": 318,
    "id": 3417,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: 40 children, 12 boys, 28 girls. Fraction girls = 28/40 = 7/10. correct_index=0 -> answers[0]=7/10. Correct."
  },
  {
    "idx": 319,
    "id": 3418,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: 5/6 of 18 = 15. correct_index=3 -> answers[3]=15. Correct. Note: option A is 15/6 which is not simplified; distractor works well."
  },
  {
    "idx": 320,
    "id": 3419,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: 7/8 of number = 56. Number = 56*8/7 = 64. correct_index=1 -> answers[1]=64. Correct."
  },
  {
    "idx": 321,
    "id": 3420,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: Image-based (imp4pg082q8.png). Fraction who chose swimming = 1/12 is plausible for a bar chart with 12 parts. correct_index=0. Image exists (4327 bytes). Cannot visually verify without rendering, but answer consistent with typical fraction-of-whole bar-chart questions."
  },
  {
    "idx": 322,
    "id": 3421,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: Image-based (imp4pg082q8.png). Fraction football or basketball = 5/9. correct_index=3. Plausible for a 9-part chart where those two sports occupy 5 parts. Image exists."
  },
  {
    "idx": 323,
    "id": 3422,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: Image-based (imp4pg082q8.png). Sport half as popular as table tennis = Swimming. correct_index=2. If TT has 2 units, swimming has 1 unit. Plausible for a bar chart. Image exists."
  },
  {
    "idx": 324,
    "id": 3423,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: 9 apples + 3 oranges + 6 pears = 18 total. Apples or pears = 9+6=15. Fraction = 15/18 = 5/6. correct_index=0. Correct."
  },
  {
    "idx": 325,
    "id": 3424,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: 45 vehicles, 4/5 are cars = 36 cars, buses = 45-36 = 9. correct_index=1. Correct."
  },
  {
    "idx": 326,
    "id": 3435,
    "type": 2,
    "verdict": "NEEDS_REVISION",
    "notes": "FIB: Fraction '220/1' is garbled. Answer '220' mangosteen trees. Working backwards: if mangosteen=220 and '165 more mangosteen than durian' then durian=55, ratio durian:mangosteen = 55:220 = 1:4. The fraction should be 1/4, not 220/1. Answer value 220 appears to have leaked into the fraction notation. The answer itself is correct (220 mangosteen) but the fraction in the question text is wrong."
  },
  {
    "idx": 327,
    "id": 3436,
    "type": 2,
    "verdict": "NEEDS_REVISION",
    "notes": "FIB: 30 days, rainy = 2/5 of non-rainy. Ratio R:N = 2:5, total 7 units. 30/7 not integer. Difference = 3 units = 90/7 = 12.857. Answer '12' would only be correct if total = 28 (7*4). Either the total 30 should be 28, or the answer should be ~13 (not integer, not allowed for FIB). Math is internally inconsistent."
  },
  {
    "idx": 328,
    "id": 3438,
    "type": 2,
    "verdict": "NEEDS_REVISION",
    "notes": "FIB: 'The number of children was 13/1 of the number of adults.' Fraction '13/1' garbled. 69 children. Answer '897'. If adults = 13*69 = 897, total = 69+897 = 966. But question asks for 'children AND adults at the concert' (total), not just adults. Answer 897 = adults alone. Fraction should likely be 1/13 (children = 1/13 of adults) giving adults=897 and total=966. Either fix question to ask for adults only, or fix answer to 966."
  },
  {
    "idx": 329,
    "id": 3439,
    "type": 2,
    "verdict": "NEEDS_REVISION",
    "notes": "FIB: 'Nellie's brother has $14 more than her. She has 2/3 as much as her brother.' Let N=Nellie, B=brother. B=N+14, N=(2/3)B. N=(2/3)(N+14), 3N=2N+28, N=28. Answer key says '21' which is WRONG. Check: if N=21, B=35, N/B=21/35=3/5 not 2/3. Correct answer is 28 (N=28, B=42, 28/42=2/3, 42-28=14)."
  },
  {
    "idx": 330,
    "id": 3440,
    "type": 2,
    "verdict": "NEEDS_REVISION",
    "notes": "FIB: 'Heidi is 1/5 as old as her mother (45).' Heidi = 9 this year. Then asks 'Last year, HANNAH was ___ years old.' Name mismatch: Heidi vs Hannah. If Hannah=Heidi (typo), answer 8 is correct. If Hannah is a different person, no data given. Name in question text must be fixed to either consistently use Heidi or Hannah."
  },
  {
    "idx": 331,
    "id": 3441,
    "type": 2,
    "verdict": "GOOD",
    "notes": "FIB: Wendy = 2/3 brother. Brother - Wendy = 6. B - 2B/3 = 6, B/3 = 6, B=18, W=12. Next year Wendy = 13. Answer '13' correct."
  },
  {
    "idx": 332,
    "id": 3442,
    "type": 2,
    "verdict": "GOOD",
    "notes": "FIB: Paul=8 this year, Paul=1/7 grandfather. Grandfather=56. When Paul=12 (+4 yrs), grandfather=56+4=60. Answer '60' correct."
  },
  {
    "idx": 333,
    "id": 3451,
    "type": 2,
    "verdict": "NEEDS_REVISION",
    "notes": "FIB: Fraction '45/1' is garbled. Answer '45' for half-full. Working backwards: half=45 -> full=90. If full=90 and '45/1 full' contains 27l: fraction=27/90=3/10. The fraction should be 3/10 not 45/1. Answer value 45 appears to have leaked into the fraction notation (same pattern as id=3435 with 220/1). Answer itself (45 for half-full) is internally consistent."
  },
  {
    "idx": 334,
    "id": 3452,
    "type": 2,
    "verdict": "NEEDS_REVISION",
    "notes": "FIB: John=$28, John=1/13 Kevin -> Kevin=13*28=364. Tim=2*Kevin=728. Total=28+364+728=1120. Answer key says '364' which is Kevin's amount alone, not the total as asked ('Altogether, the three boys have $___'). Either fix answer to 1120 or change question to ask for Kevin's amount."
  },
  {
    "idx": 335,
    "id": 3453,
    "type": 2,
    "verdict": "NEEDS_REVISION",
    "notes": "FIB: 8 adults, girls=4*8=32. Fraction '8/1 as many boys as girls' is garbled. If boys=8*32=256, total=8+32+256=296. Answer '64' does not match. If total=64, boys=24, boys:girls=24:32=3:4, fraction should be 3/4 not 8/1. Fraction notation garbled and answer is wrong."
  },
  {
    "idx": 336,
    "id": 3454,
    "type": 2,
    "verdict": "GOOD",
    "notes": "FIB: Rose=7, Rose=1/5 father -> father=35. Sister=2*7=14. Father-sister=35-14=21. Answer '21' correct."
  },
  {
    "idx": 337,
    "id": 3455,
    "type": 2,
    "verdict": "GOOD",
    "notes": "FIB: Josh=8/9 Alfred, Josh=24kg -> Alfred=24*9/8=27. Rob=3*27=81. Answer '81' correct."
  },
  {
    "idx": 338,
    "id": 3456,
    "type": 2,
    "verdict": "NEEDS_REVISION",
    "notes": "FIB: Fraction '108/1' garbled. Answer '108' total balls. Working backwards: if total=108 and R-B=18, with G:B ratio unknown. Solving: let G:B = k:1. G=kB, R=3kB. R-B=3kB-B=B(3k-1)=18. Total=kB+B+3kB=B(4k+1)=108. Dividing: (4k+1)/(3k-1)=6 -> 4k+1=18k-6 -> 14k=7 -> k=1/2. So G:B=1:2, G=18, B=36, R=54, total=108. The fraction should be 1/2 not 108/1. Answer 108 is correct for total, but fraction notation is garbled."
  },
  {
    "idx": 339,
    "id": 3457,
    "type": 2,
    "verdict": "NEEDS_REVISION",
    "notes": "FIB: Fraction '46/3' garbled. Wife=40. Answer '46' (Lionel next year). Working backwards: Lionel=45 this year. Son=15. Son=fraction*wife -> 15=f*40 -> f=15/40=3/8. The fraction should be 3/8 not 46/3. Answer appears to have leaked into the fraction notation (46 is the answer for next year). Answer itself is correct."
  },
  {
    "idx": 340,
    "id": 3479,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: Image-based compass directions (imp4pg096q3.png). 'Sam standing in middle facing classroom. The ___ is east of Sam.' correct_index=3 -> office. Standard compass: if classroom is north, office would be east. Image exists (5860 bytes). Answer consistent with typical compass rose layout."
  },
  {
    "idx": 341,
    "id": 3482,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: Image-based compass directions (imp4pg096q3.png). 'Joe standing in middle facing classroom. The ___ is north of Joe.' correct_index=3 -> classroom. If Joe faces classroom, classroom is north. Plausible. Note: question has typos 'midle' and 'fotoball field'."
  },
  {
    "idx": 342,
    "id": 3505,
    "type": 2,
    "verdict": "GOOD",
    "notes": "FIB: Minute hand moves 360deg in 60 min. In 45 min: 45/60*360 = 270deg. Answer '270' correct. Question uses degree symbol correctly."
  },
  {
    "idx": 343,
    "id": 3515,
    "type": 2,
    "verdict": "GOOD",
    "notes": "FIB: Image-based robot path (imp4pg108q9.png, Path A). Three blanks: '2 steps forward', '1 step forward', '2 steps forward'. answers=['2','1','2']. Image exists (403920 bytes). Without rendering, cannot verify grid counts, but multi-blank structure is internally consistent. Plural 'steps' adds credibility for 2+2+1=5 total steps in path."
  },
  {
    "idx": 344,
    "id": 3516,
    "type": 2,
    "verdict": "GOOD",
    "notes": "FIB: Image-based robot path (imp4pg108q9.png, Path B). Two blanks: '3 steps forward', '1 step forward'. answers=['3','1']. Note: correct_index=3 is anomalous (index 3 is null); should likely be 0 or encode position differently. Answer values are plausible for a robot path. Image exists."
  },
  {
    "idx": 345,
    "id": 3517,
    "type": 2,
    "verdict": "GOOD",
    "notes": "FIB: Square ABCD, AB=6cm. By definition all sides equal (BC=CD=AD=6) and all angles 90deg. answers=['6','6','6','90'] correct. Image (imp4pg111q2.png, 32550 bytes) confirms square figure."
  },
  {
    "idx": 346,
    "id": 3520,
    "type": 2,
    "verdict": "GOOD",
    "notes": "FIB: Square EFGH, EH=3m. All sides 3m, all angles 90deg. answers=['3','3','3','90'] correct. Image (imp4pg111q5.png, 2774 bytes) confirms square figure."
  },
  {
    "idx": 347,
    "id": 3521,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: Image-based (imp4pg113q1.png). Parallel lines in square WXYZ. correct_index=1 -> WX//ZY (opposite sides). Standard square labeling: W-X-Y-Z in order means WX opposite ZY. Correct. Image exists (2590 bytes)."
  },
  {
    "idx": 348,
    "id": 3522,
    "type": 1,
    "verdict": "GOOD",
    "notes": "MCQ: Image-based (imp4pg113q2.png). Parallel lines in rectangle CDEF. correct_index=0 -> CD//FE (opposite sides). Standard rectangle labeling: C-D-E-F in order means CD opposite FE. Correct. Image exists (3980 bytes)."
  },
  {
    "idx": 349,
    "id": 3525,
    "type": 2,
    "verdict": "GOOD",
    "notes": "FIB: Image-based composite figure (imp4pg114q5.png). Square JLMN + rectangle GHIJ. JN=14cm, ML=14cm. answers=['14','14']. If JLMN is the square, JN and ML are both sides of the square, so they equal 14cm. Plausible. Image exists (3858 bytes). Note: correct_index=14 is anomalous (index 14 out of bounds for 4-element array), but answer values in array are correct."
  }
]
