{
  "task": "task-2403-fix3",
  "description": "28 PNG OCR verification (7 scenarios x 4 device/mode combos)",
  "total_images": 28,
  "rendered_ok": 28,
  "ocr_pass_count": 0,
  "ocr_fail_count": 28,
  "ocr_engine": "rapidocr-onnxruntime",
  "ocr_limitation": "RapidOCR uses Chinese-trained PPOCR model. Korean Hangul characters are recognized as Chinese ideographs. Zero Korean keywords matched by OCR engine.",
  "html_source_all_keywords_verified": true,
  "scenario_summary": {
    "signup_step1": {
      "html_source_verified": true,
      "ocr_matched": "0/28 — RapidOCR cannot read Hangul (outputs Chinese ideographs)",
      "rendering_ok": true
    },
    "signup_step2": {
      "html_source_verified": true,
      "ocr_matched": "0/28 — RapidOCR cannot read Hangul (outputs Chinese ideographs)",
      "rendering_ok": true
    },
    "signup_step3": {
      "html_source_verified": true,
      "ocr_matched": "0/28 — RapidOCR cannot read Hangul (outputs Chinese ideographs)",
      "rendering_ok": true
    },
    "dashboard": {
      "html_source_verified": true,
      "ocr_matched": "0/28 — RapidOCR cannot read Hangul (outputs Chinese ideographs)",
      "rendering_ok": true
    },
    "insurance_compare": {
      "html_source_verified": true,
      "ocr_matched": "0/28 — RapidOCR cannot read Hangul (outputs Chinese ideographs)",
      "rendering_ok": true
    },
    "cardnews_publish": {
      "html_source_verified": true,
      "ocr_matched": "0/28 — RapidOCR cannot read Hangul (outputs Chinese ideographs)",
      "rendering_ok": true
    },
    "ai_analysis": {
      "html_source_verified": true,
      "ocr_matched": "0/28 — RapidOCR cannot read Hangul (outputs Chinese ideographs)",
      "rendering_ok": true
    }
  },
  "details": [
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/signup_step1_iphone15pro_light.png",
      "scenario": "signup_step1",
      "device": "iphone15pro",
      "mode": "light",
      "file_size_bytes": 56961,
      "status": "FAIL",
      "extracted_text": "9:41 可lYH能品 是 010-1234-5678",
      "matched_keywords": [],
      "missing_keywords": [
        "전화번호",
        "휴대폰",
        "인증번호"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/signup_step1_iphone15pro_dark.png",
      "scenario": "signup_step1",
      "device": "iphone15pro",
      "mode": "dark",
      "file_size_bytes": 52608,
      "status": "FAIL",
      "extracted_text": "9:41        亮芒 世京 010-1234-5678",
      "matched_keywords": [],
      "missing_keywords": [
        "전화번호",
        "휴대폰",
        "인증번호"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/signup_step1_pixel9pro_light.png",
      "scenario": "signup_step1",
      "device": "pixel9pro",
      "mode": "light",
      "file_size_bytes": 56614,
      "status": "FAIL",
      "extracted_text": "9:41 010-1234-5678",
      "matched_keywords": [],
      "missing_keywords": [
        "전화번호",
        "휴대폰",
        "인증번호"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/signup_step1_pixel9pro_dark.png",
      "scenario": "signup_step1",
      "device": "pixel9pro",
      "mode": "dark",
      "file_size_bytes": 52195,
      "status": "FAIL",
      "extracted_text": "9:41 亮叫芒 世京 010-1234-5678",
      "matched_keywords": [],
      "missing_keywords": [
        "전화번호",
        "휴대폰",
        "인증번호"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/signup_step2_iphone15pro_light.png",
      "scenario": "signup_step2",
      "device": "iphone15pro",
      "mode": "light",
      "file_size_bytes": 55932,
      "status": "FAIL",
      "extracted_text": "9:41 可lY立H能品 3 8 2 7 5 人02是47",
      "matched_keywords": [],
      "missing_keywords": [
        "인증번호",
        "다시",
        "확인"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/signup_step2_iphone15pro_dark.png",
      "scenario": "signup_step2",
      "device": "iphone15pro",
      "mode": "dark",
      "file_size_bytes": 51566,
      "status": "FAIL",
      "extracted_text": "9:41 3 8 2 7 5 人02是47",
      "matched_keywords": [],
      "missing_keywords": [
        "인증번호",
        "다시",
        "확인"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/signup_step2_pixel9pro_light.png",
      "scenario": "signup_step2",
      "device": "pixel9pro",
      "mode": "light",
      "file_size_bytes": 56037,
      "status": "FAIL",
      "extracted_text": "9:41 3 8 2 7 5 9 0247",
      "matched_keywords": [],
      "missing_keywords": [
        "인증번호",
        "다시",
        "확인"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/signup_step2_pixel9pro_dark.png",
      "scenario": "signup_step2",
      "device": "pixel9pro",
      "mode": "dark",
      "file_size_bytes": 51597,
      "status": "FAIL",
      "extracted_text": "9:41 3 8 2 7 5 9 人02是47",
      "matched_keywords": [],
      "missing_keywords": [
        "인증번호",
        "다시",
        "확인"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/signup_step3_iphone15pro_light.png",
      "scenario": "signup_step3",
      "device": "iphone15pro",
      "mode": "light",
      "file_size_bytes": 75976,
      "status": "FAIL",
      "extracted_text": "9:41 Holo号 HloY [] [] [] ",
      "matched_keywords": [],
      "missing_keywords": [
        "약관",
        "동의",
        "필수"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/signup_step3_iphone15pro_dark.png",
      "scenario": "signup_step3",
      "device": "iphone15pro",
      "mode": "dark",
      "file_size_bytes": 69819,
      "status": "FAIL",
      "extracted_text": "9:41  I后   lo lY []  [] []   ",
      "matched_keywords": [],
      "missing_keywords": [
        "약관",
        "동의",
        "필수"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/signup_step3_pixel9pro_light.png",
      "scenario": "signup_step3",
      "device": "pixel9pro",
      "mode": "light",
      "file_size_bytes": 75773,
      "status": "FAIL",
      "extracted_text": "9:41 Hol号l n   lo lY [ []  [到]",
      "matched_keywords": [],
      "missing_keywords": [
        "약관",
        "동의",
        "필수"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/signup_step3_pixel9pro_dark.png",
      "scenario": "signup_step3",
      "device": "pixel9pro",
      "mode": "dark",
      "file_size_bytes": 69558,
      "status": "FAIL",
      "extracted_text": "9:41 [ [  ] []",
      "matched_keywords": [],
      "missing_keywords": [
        "약관",
        "동의",
        "필수"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/dashboard_iphone15pro_light.png",
      "scenario": "dashboard",
      "device": "iphone15pro",
      "mode": "light",
      "file_size_bytes": 183819,
      "status": "FAIL",
      "extracted_text": "9:41 可 百后 否 00' 00'89 AI本 百百品 5000 32,800/30",
      "matched_keywords": [],
      "missing_keywords": [
        "보험",
        "월",
        "원",
        "추천"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/dashboard_iphone15pro_dark.png",
      "scenario": "dashboard",
      "device": "iphone15pro",
      "mode": "dark",
      "file_size_bytes": 182901,
      "status": "FAIL",
      "extracted_text": "9:41 百后 否 12,400 007'89百 AI 百百品 5000 32,800/30",
      "matched_keywords": [],
      "missing_keywords": [
        "보험",
        "월",
        "원",
        "추천"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/dashboard_pixel9pro_light.png",
      "scenario": "dashboard",
      "device": "pixel9pro",
      "mode": "light",
      "file_size_bytes": 184685,
      "status": "FAIL",
      "extracted_text": "9:41 可 百后 否 00' 否 00'89 AI i百百品 5000 32,800/30",
      "matched_keywords": [],
      "missing_keywords": [
        "보험",
        "월",
        "원",
        "추천"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/dashboard_pixel9pro_dark.png",
      "scenario": "dashboard",
      "device": "pixel9pro",
      "mode": "dark",
      "file_size_bytes": 183903,
      "status": "FAIL",
      "extracted_text": "9:41 百后 12,400 否 00'89 AI 百百品 5000 32,800/30",
      "matched_keywords": [],
      "missing_keywords": [
        "보험",
        "월",
        "원",
        "추천"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/insurance_compare_iphone15pro_light.png",
      "scenario": "insurance_compare",
      "device": "iphone15pro",
      "mode": "light",
      "file_size_bytes": 84111,
      "status": "FAIL",
      "extracted_text": "9:41 30·20265 DB 芒邑百 14,800 12,400 15,600 居 30叶 30叶 25 居品 5,000 居品000'S 居品000' 20% 20% 30% 1L 3 200",
      "matched_keywords": [],
      "missing_keywords": [
        "보험료",
        "비교",
        "현대해상"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/insurance_compare_iphone15pro_dark.png",
      "scenario": "insurance_compare",
      "device": "iphone15pro",
      "mode": "dark",
      "file_size_bytes": 68402,
      "status": "FAIL",
      "extracted_text": "9:41 30·20265 DB早 芒邑百 14,800 12,400 15,600 居 30叶 居品 5,000号是 20% i008'8y",
      "matched_keywords": [],
      "missing_keywords": [
        "보험료",
        "비교",
        "현대해상"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/insurance_compare_pixel9pro_light.png",
      "scenario": "insurance_compare",
      "device": "pixel9pro",
      "mode": "light",
      "file_size_bytes": 84493,
      "status": "FAIL",
      "extracted_text": "9:41 30·20265 DB 芒邑百居 14,800 12,400 15,600 30 品 25 居品000'S 居品000'S 居品000'S 20% 20% 30% 3 28800",
      "matched_keywords": [],
      "missing_keywords": [
        "보험료",
        "비교",
        "현대해상"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/insurance_compare_pixel9pro_dark.png",
      "scenario": "insurance_compare",
      "device": "pixel9pro",
      "mode": "dark",
      "file_size_bytes": 69001,
      "status": "FAIL",
      "extracted_text": "9:41 30·20265 DB 芒邑百居 14,800 12,400 15,600 品 居品000'S 20% 200",
      "matched_keywords": [],
      "missing_keywords": [
        "보험료",
        "비교",
        "현대해상"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/cardnews_publish_iphone15pro_light.png",
      "scenario": "cardnews_publish",
      "device": "iphone15pro",
      "mode": "light",
      "file_size_bytes": 324109,
      "status": "FAIL",
      "extracted_text": "9:41 ·2026.05 P007 InsuWiki· 号 2,4000 12,800 loll 引三",
      "matched_keywords": [],
      "missing_keywords": [
        "카드뉴스",
        "발행",
        "미리보기"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/cardnews_publish_iphone15pro_dark.png",
      "scenario": "cardnews_publish",
      "device": "iphone15pro",
      "mode": "dark",
      "file_size_bytes": 369414,
      "status": "FAIL",
      "extracted_text": "9:41 ·2026.05 002 InsuWiki· 号 2,4000 8 12,800 引三",
      "matched_keywords": [],
      "missing_keywords": [
        "카드뉴스",
        "발행",
        "미리보기"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/cardnews_publish_pixel9pro_light.png",
      "scenario": "cardnews_publish",
      "device": "pixel9pro",
      "mode": "light",
      "file_size_bytes": 346317,
      "status": "FAIL",
      "extracted_text": "9:41 ·2026.05 P007 InsuWiki· 刘号 000 8 12,800 引三",
      "matched_keywords": [],
      "missing_keywords": [
        "카드뉴스",
        "발행",
        "미리보기"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/cardnews_publish_pixel9pro_dark.png",
      "scenario": "cardnews_publish",
      "device": "pixel9pro",
      "mode": "dark",
      "file_size_bytes": 398202,
      "status": "FAIL",
      "extracted_text": "9:41 ·2026.05 2,400 InsuWiki· 号 000 8 12,800 引三",
      "matched_keywords": [],
      "missing_keywords": [
        "카드뉴스",
        "발행",
        "미리보기"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/ai_analysis_iphone15pro_light.png",
      "scenario": "ai_analysis",
      "device": "iphone15pro",
      "mode": "light",
      "file_size_bytes": 188092,
      "status": "FAIL",
      "extracted_text": "9:41 否台·2026.05.03是 AI是 87 12%· 百 92 78 65 上亭 否川 88 AI 5000 32,80095",
      "matched_keywords": [
        "AI"
      ],
      "missing_keywords": [
        "분석",
        "점수"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/ai_analysis_iphone15pro_dark.png",
      "scenario": "ai_analysis",
      "device": "iphone15pro",
      "mode": "dark",
      "file_size_bytes": 200006,
      "status": "FAIL",
      "extracted_text": "9:41 台·2026.05.03 是 AI是 87 合 12%· 百 92 78 65 上亭 否川 88 AI 5000 32,80095",
      "matched_keywords": [
        "AI"
      ],
      "missing_keywords": [
        "분석",
        "점수"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/ai_analysis_pixel9pro_light.png",
      "scenario": "ai_analysis",
      "device": "pixel9pro",
      "mode": "light",
      "file_size_bytes": 193358,
      "status": "FAIL",
      "extracted_text": "9:41 否·2026.05.03是 AI是 87 召 12%· 92 百品Y 78 · 65 上亭 否 88 AI 000百品       ，32,80095",
      "matched_keywords": [
        "AI"
      ],
      "missing_keywords": [
        "분석",
        "점수"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    },
    {
      "file": "/home/jay/workspace/skills/mobile-prototype-ko/outputs/ai_analysis_pixel9pro_dark.png",
      "scenario": "ai_analysis",
      "device": "pixel9pro",
      "mode": "dark",
      "file_size_bytes": 204611,
      "status": "FAIL",
      "extracted_text": "9:41 ·2026.05.03是 AI是 87 召 12%· 92 78 · 65 上亭 否 88 AI 000百品       32,80095",
      "matched_keywords": [
        "AI"
      ],
      "missing_keywords": [
        "분석",
        "점수"
      ],
      "html_source_verified": true,
      "ocr_note": "RapidOCR outputs Chinese chars for Korean Hangul — Korean language not supported by this model. HTML source confirms all keywords present."
    }
  ]
}