Implement page classification test fixtures, integration tests, and reproducibility CI gate for Phase 5.1.5. Fixtures (4 total, 3.6 KB): - vector_pure: Pure text PDF (born-digital) - scanned_single: Image-only PDF (scanned) - brokenvector_pdfa: Invisible text + image - hybrid_header_body: Text header + scanned body Integration tests (crates/pdftract-core/tests/page_classification.rs): - test_page_classification_fixtures: Validates classification correctness - test_page_classification_reproducibility: CI gate for byte-identical JSON - test_fixture_files_exist_and_size: Infrastructure validation - test_expected_json_validity: JSON schema validation Acceptance criteria: - ✅ 4 fixtures present in tests/fixtures/page_class/ - ✅ cargo test page_classification passes (4/4 tests) - ✅ Reproducibility gate fails on perturbation - ✅ Fixtures total < 1 MB (3.6 KB) Refs: pdftract-2zw, plan.md lines 1840-1844 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
54 lines
No EOL
457 B
JSON
54 lines
No EOL
457 B
JSON
{
|
|
"class": "Hybrid",
|
|
"confidence_min": 0.15,
|
|
"hybrid_cells": [
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
21,
|
|
22,
|
|
23,
|
|
24,
|
|
25,
|
|
26,
|
|
27,
|
|
28,
|
|
29,
|
|
30,
|
|
31,
|
|
32,
|
|
33,
|
|
34,
|
|
35,
|
|
36,
|
|
37,
|
|
38,
|
|
39,
|
|
40,
|
|
41,
|
|
42,
|
|
43,
|
|
44,
|
|
45,
|
|
46,
|
|
47,
|
|
48,
|
|
49,
|
|
50,
|
|
51,
|
|
52,
|
|
53,
|
|
54,
|
|
55,
|
|
56,
|
|
57,
|
|
58,
|
|
59,
|
|
60,
|
|
61,
|
|
62,
|
|
63
|
|
]
|
|
} |