{
  "audit": "r6_g0",
  "source": "_work_barmodels/chunk_prod_image.json",
  "indices": "0-63",
  "total": 64,
  "good": 59,
  "needs_revision": 5,
  "minor_notes": 2,
  "entries": [
    {"index":0,"id":50,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=1. Image 800x800, valid."},
    {"index":1,"id":51,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=6. Image 800x800, valid."},
    {"index":2,"id":52,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=5. Image 300x300, valid."},
    {"index":3,"id":53,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=4. Image 300x300, valid."},
    {"index":4,"id":54,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=1. Image 300x300, valid."},
    {"index":5,"id":55,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=3. Image 300x300, valid."},
    {"index":6,"id":56,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=6. Image 800x800, valid."},
    {"index":7,"id":57,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=4. Image 800x800, valid."},
    {"index":8,"id":58,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=1. Image 300x300, valid."},
    {"index":9,"id":59,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=3. Image 800x800, valid."},
    {"index":10,"id":60,"type":1,"judgment":"GOOD","note":"Number bond MCQ. correct_index=0 -> '1, 3, 4'. Image valid."},
    {"index":11,"id":61,"type":1,"judgment":"GOOD","note":"Number bond MCQ. correct_index=2 -> '3, 5, 8' (3+5=8). Image valid."},
    {"index":12,"id":62,"type":1,"judgment":"GOOD","note":"Number bond MCQ. correct_index=3 -> '8, 1, 9' (8+1=9). Image valid."},
    {"index":13,"id":63,"type":1,"judgment":"GOOD","note":"Number bond MCQ. correct_index=1 -> '1, 7, 8' (1+7=8). Image valid."},
    {"index":14,"id":64,"type":1,"judgment":"GOOD","note":"Number bond MCQ. correct_index=3 -> '5, 5, 10' (5+5=10). Image valid."},
    {"index":15,"id":65,"type":1,"judgment":"GOOD","note":"Number bond MCQ (4-part). correct_index=2 -> '2, 1, 3, 6'. Image valid."},
    {"index":16,"id":66,"type":1,"judgment":"GOOD","note":"Number bond MCQ (4-part). correct_index=3 -> '2, 3, 4, 9'. Image valid."},
    {"index":17,"id":68,"type":1,"judgment":"GOOD","note":"Number bond MCQ (4-part). correct_index=0 -> '5, 4, 1, 10'. Image valid."},
    {"index":18,"id":69,"type":1,"judgment":"GOOD","note":"Number bond MCQ (4-part). correct_index=1 -> '2, 1, 1, 4'. Image 360x360, valid."},
    {"index":19,"id":75,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=3. Image 800x800, valid."},
    {"index":20,"id":76,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=3. Image 800x800, valid."},
    {"index":21,"id":77,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=1. Image 800x800, valid."},
    {"index":22,"id":78,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=3. Image 800x800, valid."},
    {"index":23,"id":79,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=5. Image 800x800, valid."},
    {"index":24,"id":80,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=2. Image 800x800, valid."},
    {"index":25,"id":84,"type":1,"judgment":"GOOD","note":"Number bond MCQ. correct_index=2 -> '1, 3, 6'. Only 3 options (4th is NULL) — minor, but 3 valid options suffice."},
    {"index":26,"id":85,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=4. Image 278x342, valid."},
    {"index":27,"id":86,"type":1,"judgment":"GOOD","note":"Missing-number MCQ. correct_index=2 -> 'A is 2, B is 1'. Image 274x301, valid."},
    {"index":28,"id":88,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=4. Image 400x400, valid."},
    {"index":29,"id":91,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=6. Image 302x124, valid."},
    {"index":30,"id":92,"type":1,"judgment":"GOOD","note":"Addition equation MCQ. correct_index=0 -> '3 + 3 = 6'. Image valid."},
    {"index":31,"id":93,"type":1,"judgment":"GOOD","note":"Subtraction equation MCQ. correct_index=2 -> '10 - 3 = 7'. Image valid."},
    {"index":32,"id":95,"type":1,"judgment":"GOOD","note":"Number bond MCQ. correct_index=2 -> '10'. Image valid."},
    {"index":33,"id":96,"type":1,"judgment":"GOOD","note":"Number bond MCQ. correct_index=3 -> '5'. Image valid."},
    {"index":34,"id":97,"type":1,"judgment":"GOOD","note":"Number bond MCQ. correct_index=2 -> '7'. Image valid."},
    {"index":35,"id":125,"type":1,"judgment":"GOOD","note":"Subtraction equation MCQ. correct_index=0 -> '8 - 2 = 6'. Image valid."},
    {"index":36,"id":126,"type":1,"judgment":"GOOD","note":"Addition equation MCQ. correct_index=1 -> '8 + 1 = 9'. Image valid."},
    {"index":37,"id":127,"type":1,"judgment":"GOOD","note":"Subtraction equation MCQ. correct_index=3 -> '9 - 5 = 4'. Image valid."},
    {"index":38,"id":130,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=5. Image 400x400, valid."},
    {"index":39,"id":131,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=4. Image 400x400, valid."},
    {"index":40,"id":132,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=2. Image 300x300, valid."},
    {"index":41,"id":139,"type":1,"judgment":"GOOD","note":"Shape ID MCQ. correct_index=0 -> 'circle'. Image valid."},
    {"index":42,"id":140,"type":1,"judgment":"GOOD","note":"Shape ID MCQ. correct_index=1 -> 'rectangle'. Image valid."},
    {"index":43,"id":141,"type":1,"judgment":"GOOD","note":"Shape ID MCQ. correct_index=2 -> 'triangle'. Image valid."},
    {"index":44,"id":142,"type":1,"judgment":"GOOD","note":"Shape ID MCQ. correct_index=1 -> 'square'. Image valid."},
    {"index":45,"id":143,"type":1,"judgment":"GOOD","note":"Shape ID MCQ. correct_index=2 -> 'triangle'. Image valid."},
    {"index":46,"id":144,"type":1,"judgment":"GOOD","note":"Shape ID MCQ. correct_index=3 -> 'diamond'. Image analysis confirms diamond (fill_ratio=0.50, aspect=1.00, corners_empty=4). Local DB has stale correct_answer=1 (square); chunk data is CORRECT."},
    {"index":47,"id":145,"type":1,"judgment":"GOOD","note":"Shape ID MCQ. correct_index=1 -> 'rectangle'. Image valid."},
    {"index":48,"id":146,"type":1,"judgment":"GOOD","note":"Shape ID MCQ. correct_index=2 -> 'triangle'. Image valid."},
    {"index":49,"id":147,"type":1,"judgment":"GOOD","note":"Shape ID MCQ. correct_index=1 -> 'rectangle'. Image valid."},
    {"index":50,"id":148,"type":1,"judgment":"GOOD","note":"Shape ID MCQ. correct_index=2 -> 'triangle'. Image valid."},
    {"index":51,"id":149,"type":1,"judgment":"GOOD","note":"Shape ID MCQ. correct_index=2 -> 'triangle'. Image valid."},
    {"index":52,"id":150,"type":1,"judgment":"GOOD","note":"Shape ID MCQ. correct_index=1 -> 'rectangle'. Image valid."},
    {"index":53,"id":151,"type":1,"judgment":"GOOD","note":"Shape ID MCQ. correct_index=1 -> 'rectangle'. Image valid."},
    {"index":54,"id":152,"type":1,"judgment":"GOOD","note":"Shape ID MCQ. correct_index=0 -> 'circle'. Image valid."},
    {"index":55,"id":154,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=2. Image 800x800, valid."},
    {"index":56,"id":155,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=3. Image 800x800, valid."},
    {"index":57,"id":156,"type":2,"judgment":"NEEDS_REVISION","note":"Counting FIB. Answer=2. IMAGE IS CORRUPT — 295x41 px (1587 bytes). This is a tiny sliver, not a proper question image. Replace/re-export the image from source."},
    {"index":58,"id":157,"type":2,"judgment":"GOOD","note":"Counting FIB. Answer=2. Image 800x800, valid."},
    {"index":59,"id":158,"type":1,"judgment":"GOOD","note":"Shape pattern MCQ. correct_index=0 -> 'triangle, rectangle, square'. Only 3 options (4th is NULL) — minor."},
    {"index":60,"id":159,"type":1,"judgment":"NEEDS_REVISION","note":"Shape pattern 'What is the missing shape?'. ALL answer options are NULL [None,None,None,None]. correct_index=1 has nothing to point to. Image 800x800 exists. Populate answer options from pattern analysis."},
    {"index":61,"id":160,"type":1,"judgment":"NEEDS_REVISION","note":"Shape pattern 'What is the missing shape?'. ALL answer options are NULL [None,None,None,None]. correct_index=0 has nothing to point to. Image 800x800 exists. Populate answer options from pattern analysis."},
    {"index":62,"id":161,"type":1,"judgment":"NEEDS_REVISION","note":"Shape pattern 'What is the missing shape?'. ALL answer options are NULL [None,None,None,None]. correct_index=1 has nothing to point to. Image 300x300 exists. Populate answer options from pattern analysis."},
    {"index":63,"id":162,"type":1,"judgment":"NEEDS_REVISION","note":"Shape pattern 'What is the missing shape?'. ALL answer options are NULL [None,None,None,None]. Image is CORRUPT (298x38, 376 bytes) — tiny sliver. Need both a valid image AND populated answer options."}
  ],
  "needs_revision_summary": [
    {"id":156,"reason":"Corrupt image (295x41, 1587B). Replace image."},
    {"id":159,"reason":"Null answer array — shape options not populated."},
    {"id":160,"reason":"Null answer array — shape options not populated."},
    {"id":161,"reason":"Null answer array — shape options not populated."},
    {"id":162,"reason":"Corrupt image (298x38, 376B) AND null answer array."}
  ],
  "needs_manual_verification_summary": [
    {"id":144,"reason":"Local DB has correct_answer=1 (square) but chunk has correct_index=3 (diamond). Pixel analysis confirms diamond (fill_ratio=0.50 vs 0.79 for circle, 1.00 for square). Chunk is correct; local DB is stale. Included here for awareness."}
  ],
  "methodology": "Downloaded all 64 question images from production CDN. Verified image validity (PNG header, dimensions, file size). Cross-referenced chunk correct_index against local MySQL questions.correct_answer for all 64 entries. Analyzed shape images with PIL pixel-level feature extraction (aspect ratio, corner emptiness, fill ratio, quadrant symmetry). Number bonds checked for arithmetic consistency. Only one chunk/DB discrepancy found (id=144, resolved in favor of chunk via image analysis)."
}
