{
  "schemaVersion": 2,
  "generatedAt": "2026-09-21T15:50:02.769Z",
  "method": {
    "parser": "pdf-parse 1.1.1 default text extraction",
    "fixtureTools": "ReportLab 4.4.9 and Pillow 12.3.0",
    "scope": "Native PDF text layer only; no OCR, ATS test, or resume field inference.",
    "linkScope": "Visible link text is measured. Link annotation destinations are present in the fixture but are not evaluated by pdf-parse.",
    "productionDifference": "This controlled parser test does not exercise or make claims about the refresh.cv production importer.",
    "baseline": "/research/pdf-extraction/native-text-results-v1.json",
    "reproductionFiles": [
      "/research/pdf-extraction/generate-fixtures.py.txt",
      "/research/pdf-extraction/measure-native-text.mjs.txt"
    ]
  },
  "results": [
    {
      "id": "singleColumn",
      "file": "synthetic-single-column.pdf",
      "layout": "single-column text layer",
      "bytes": 1912,
      "sha256": "f73043edc406f1e7e9c56a1829712fd4926dd87ac7b4ef16c6a16803929501d1",
      "pages": 1,
      "extractedCharacters": 378,
      "expectedAnchorCount": 10,
      "foundAnchorCount": 10,
      "missingAnchors": [],
      "expectedAnchorOrder": [
        "single-contact",
        "SUMMARY",
        "single-summary",
        "EXPERIENCE",
        "single-role",
        "single-impact",
        "EDUCATION",
        "single-school",
        "SKILLS",
        "single-skills"
      ],
      "observedAnchorOrder": [
        "single-contact",
        "SUMMARY",
        "single-summary",
        "EXPERIENCE",
        "single-role",
        "single-impact",
        "EDUCATION",
        "single-school",
        "SKILLS",
        "single-skills"
      ],
      "anchorOrderMatches": true,
      "expectedLinkTargets": [],
      "extractedText": "ALEX RIVERA - SYNTHETIC RESUME\nsingle-contact synthetic@example.invalid\nSUMMARY\nsingle-summary Builds accessible data tools for small teams.\nEXPERIENCE\nsingle-role Product Engineer | Example Lab | 2023-2026\nsingle-impact Reduced report setup time from 40 to 12 minutes.\nEDUCATION\nsingle-school Example Institute | 2023\nSKILLS\nsingle-skills TypeScript, SQL, accessibility testing"
    },
    {
      "id": "twoColumn",
      "file": "synthetic-two-column.pdf",
      "layout": "two-column text layer",
      "bytes": 1848,
      "sha256": "1172f9536380a0419cb3f5a5220ae023674587010c75151a9c9214c98d5d47f7",
      "pages": 1,
      "extractedCharacters": 287,
      "expectedAnchorCount": 10,
      "foundAnchorCount": 10,
      "missingAnchors": [],
      "expectedAnchorOrder": [
        "LEFT-SUMMARY",
        "left-focus",
        "LEFT-EXPERIENCE",
        "left-role",
        "left-result",
        "RIGHT-SKILLS",
        "right-skill SQL",
        "right-skill Forecasting",
        "RIGHT-EDUCATION",
        "right-school"
      ],
      "observedAnchorOrder": [
        "LEFT-SUMMARY",
        "left-focus",
        "LEFT-EXPERIENCE",
        "left-role",
        "left-result",
        "RIGHT-SKILLS",
        "right-skill SQL",
        "right-skill Forecasting",
        "RIGHT-EDUCATION",
        "right-school"
      ],
      "anchorOrderMatches": true,
      "expectedLinkTargets": [],
      "extractedText": "MORGAN LEE - SYNTHETIC TWO-COLUMN RESUME\nLEFT-SUMMARY\nleft-focus Operations analyst\nLEFT-EXPERIENCE\nleft-role Analyst | Sample Works\nleft-result Cut weekly review time by 25 percent.\nRIGHT-SKILLS\nright-skill SQL\nright-skill Forecasting\nRIGHT-EDUCATION\nright-school Demo University | 2022"
    },
    {
      "id": "korean",
      "file": "synthetic-korean.pdf",
      "layout": "Korean native text layer",
      "bytes": 13212,
      "sha256": "075a01cf7c97d71fa832015f63855bc37d7926b67da79759478f595918af7f60",
      "pages": 1,
      "extractedCharacters": 140,
      "expectedAnchorCount": 7,
      "foundAnchorCount": 7,
      "missingAnchors": [],
      "expectedAnchorOrder": [
        "한글-이름",
        "한글-연락처",
        "경력",
        "한글-직무",
        "한글-성과",
        "기술",
        "한글-기술"
      ],
      "observedAnchorOrder": [
        "한글-이름",
        "한글-연락처",
        "경력",
        "한글-직무",
        "한글-성과",
        "기술",
        "한글-기술"
      ],
      "anchorOrderMatches": true,
      "expectedLinkTargets": [],
      "extractedText": "한글-이름 김새로\n한글-연락처 kim\u0000example.invalid\n경력\n한글-직무 제품 엔지니어 | 예시 연구소 | 2023-2026\n한글-성과 보고서 작성 시간을 40분에서 12분으로 줄였습니다.\n기술\n한글-기술 타입스크립트, SQL, 접근성 테스트"
    },
    {
      "id": "mixedLanguage",
      "file": "synthetic-mixed-language.pdf",
      "layout": "Korean and English native text layer",
      "bytes": 11239,
      "sha256": "4ac96be6bfe62496fd700c2cca795b392a819af21fd3b85f8bd1ba431b1f8a11",
      "pages": 1,
      "extractedCharacters": 193,
      "expectedAnchorCount": 7,
      "foundAnchorCount": 7,
      "missingAnchors": [],
      "expectedAnchorOrder": [
        "혼합-이름",
        "mixed-contact",
        "EXPERIENCE 경력",
        "mixed-role",
        "혼합-성과",
        "SKILLS 기술",
        "mixed-skills"
      ],
      "observedAnchorOrder": [
        "혼합-이름",
        "mixed-contact",
        "EXPERIENCE 경력",
        "mixed-role",
        "혼합-성과",
        "SKILLS 기술",
        "mixed-skills"
      ],
      "anchorOrderMatches": true,
      "expectedLinkTargets": [],
      "extractedText": "혼합-이름 JIHO PARK 박지호\nmixed-contact jiho\u0000example.invalid\nEXPERIENCE 경력\nmixed-role Product Designer 제품 디자이\u0000\n혼합-성과 Improved completion rate 완료율 18% 향상\nSKILLS 기술\nmixed-skills Figma, research, 사용자 조사"
    },
    {
      "id": "tableLinks",
      "file": "synthetic-table-links.pdf",
      "layout": "table with visible URL and labeled link",
      "bytes": 2282,
      "sha256": "79e2996ebe8f20c8335a53a2c1500c92dc2a59f3d501bfbb462bfe8fac6350cb",
      "pages": 1,
      "extractedCharacters": 218,
      "expectedAnchorCount": 9,
      "foundAnchorCount": 9,
      "missingAnchors": [],
      "expectedAnchorOrder": [
        "table-header-year",
        "table-header-role",
        "table-year-2024",
        "table-role Research lead",
        "table-year-2022",
        "table-role Analyst",
        "link-visible",
        "https://example.invalid/portfolio",
        "link-label"
      ],
      "observedAnchorOrder": [
        "table-header-year",
        "table-header-role",
        "table-year-2024",
        "table-role Research lead",
        "table-year-2022",
        "table-role Analyst",
        "link-visible",
        "https://example.invalid/portfolio",
        "link-label"
      ],
      "anchorOrderMatches": true,
      "expectedLinkTargets": [
        "https://example.invalid/portfolio",
        "https://example.invalid/case-study"
      ],
      "extractedText": "TAYLOR CHEN - TABLE AND LINKS\ntable-header-yeartable-header-role\ntable-year-2024table-role Research lead\ntable-year-2022table-role Analyst\nlink-visible Portfolio: https://example.invalid/portfolio\nlink-label Case study"
    },
    {
      "id": "imageOnly",
      "file": "synthetic-scanned-image.pdf",
      "layout": "image-only scan negative control",
      "bytes": 30051,
      "sha256": "1d6ab6a84364a0becd27f546ea9cbc807c52492cf5a9f60f37767f940af65fff",
      "pages": 1,
      "extractedCharacters": 0,
      "expectedAnchorCount": 6,
      "foundAnchorCount": 0,
      "missingAnchors": [
        "scan-contact",
        "EXPERIENCE",
        "scan-role",
        "scan-result",
        "SKILLS",
        "scan-skills"
      ],
      "expectedAnchorOrder": [
        "scan-contact",
        "EXPERIENCE",
        "scan-role",
        "scan-result",
        "SKILLS",
        "scan-skills"
      ],
      "observedAnchorOrder": [],
      "anchorOrderMatches": null,
      "expectedLinkTargets": [],
      "extractedText": ""
    }
  ]
}
