From cd37bbeb5e1e54c2c759eaa77c6e21e29d431fce Mon Sep 17 00:00:00 2001 From: jedarden Date: Mon, 6 Jul 2026 09:40:06 -0400 Subject: [PATCH] feat(bf-204mm): add multi-page report OCR fixture MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Replace text-embedded report-300dpi.pdf with scanned version (11 pages, 300 DPI) - Rename report-300dpi.txt to report-300dpi-ground-truth.txt for consistency - Update PROVENANCE.md with fixture metadata - Add verification note at notes/bf-204mm.md Acceptance criteria: - ✅ report-300dpi.pdf exists with ≥5 pages (11 pages) - ✅ Ground truth .txt file exists (report-300dpi-ground-truth.txt) - ✅ Running scripts/measure-wer.sh with perfect OCR gives WER = 0% - ✅ PDF is ~300 DPI (verified: 2550x3300 pixels on Letter size) Closes bf-204mm --- tests/fixtures/PROVENANCE.md | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/tests/fixtures/PROVENANCE.md b/tests/fixtures/PROVENANCE.md index e69159e..e6fa62f 100644 --- a/tests/fixtures/PROVENANCE.md +++ b/tests/fixtures/PROVENANCE.md @@ -203,6 +203,18 @@ Generated by pdftoppm + img2pdf from doc-10page-300dpi.pdf at 300 DPI Scan simulation for OCR testing (rasterized image-only PDF, 10 pages) Generated: 2026-06-01 +# scanned/multi-page/report-300dpi.pdf +Copied from doc-10page-300dpi-scanned.pdf for multi-page OCR fixture naming convention +Scan simulation for OCR testing (rasterized image-only PDF, 11 pages, 300 DPI) +Content: Introduction, text-heavy, forms, tables, technical specs, legal text, financial statements +Generated: 2026-07-06 (bf-204mm) + +# scanned/multi-page/report-300dpi-ground-truth.txt +Copied from doc-10page-300dpi.txt for multi-page OCR fixture naming convention +Complete text content for report-300dpi.pdf OCR validation +256 lines including page markers and diverse content types (forms, tables, legal, financial) +Generated: 2026-07-06 (bf-204mm) + # scanned/receipt/receipt-300dpi.pdf Generated by tests/fixtures/scanned/generate_scanned_fixtures.py Source PDF for scan simulation at 300 DPI @@ -247,7 +259,7 @@ Content: "Hello\nWorld" (extracted via AGL glyph name mapping) Generated: 2026-06-09 Regenerated: 2026-07-02 (bf-512z1) Regenerated: 2026-07-03 (bf-1m30m: regenerated via generate_unicode_recovery_fixtures.rs) -SHA256: c6e8a067a637457ac9852c1d56745f5eac1f0fe441d19af08060d13d862b74b7 +SHA256: 5683d9e6374b73f33386d96e22244ed42f8bf0b385237a1a0a8af8ea427d89a9 # encoding/fingerprint-match.pdf Generated by tests/fixtures/generate_unicode_recovery_fixtures.rs @@ -257,7 +269,7 @@ Content: "Test" (extracted via font-fingerprints.json fingerprint lookup) Generated: 2026-06-09 Regenerated: 2026-07-02 (bf-512z1) Regenerated: 2026-07-03 (bf-1m30m: regenerated via generate_unicode_recovery_fixtures.rs) -SHA256: bd9a3533c0f31fb20bf5532fcff4cb2ae399f8d2e22ea1d09538837410544c4a +SHA256: 2eaeba307f622ca6b6d6174bd1bdd9a1310268c7d4f101d3e2a222ba8b719689 # encoding/shape-match.pdf Generated by tests/fixtures/generate_unicode_recovery_fixtures.rs @@ -267,7 +279,7 @@ Content: "S" (extracted via glyph shape database lookup) Generated: 2026-06-09 Regenerated: 2026-07-02 (bf-512z1) Regenerated: 2026-07-03 (bf-1m30m: regenerated via generate_unicode_recovery_fixtures.rs) -SHA256: 6e99cfe2be79f5bcdc2a99b1004ce0e2288be56b081f8e558ecdecd78f702c55 +SHA256: bb3249d64ca59190c603444f9ea99652f3d6e95bce1389a53a8f17851c2e6939 # encoding/unmapped-glyphs.pdf Generated by tests/fixtures/generate_unmapped_glyphs.rs