# Digital PDF table extraction benchmark methodology

Fixture ID: `pdf-table-extractor-v1-matrix-20260804`

1. Generate each valid PDF byte stream from the checked-in fixture builder.
2. Run engine `2026.08.04-rc.3` at the fixed clock `2026-08-04T00:00:00.000Z` with its exact source SHA-256.
3. Compare all 16 expected and observed PASS, BLOCK or INDETERMINATE decisions.
4. Require every unsupported parser, geometry, optional-content or revision surface to suppress candidate cell values from JSON, CSV, XLSX, SVG, Markdown and receipt exports.
5. For PASS scenarios, verify table and row counts, formula-safe CSV/XLSX behavior and exact artifact hashes.
6. Recompute the receipt core and every artifact SHA-256 from exact bytes.
7. Run `node scripts/pdf_table_independent_adversarial_20260804.mjs`; its separate 21-case release matrix must report false PASS 0 and privacy leak 0.
8. Validate representative generated PDFs with Poppler and compare rendered layout separately from parser output.

Reproduce locally:

```text
node scripts/build_pdf_table_benchmark_20260804.mjs
node scripts/pdf_table_product_unit_20260804.mjs
node scripts/pdf_table_product_browser_20260804.mjs
node scripts/pdf_table_independent_adversarial_20260804.mjs
```

This benchmark proves only the checked fixture behavior for the exact source hashes. It does not prove support for every PDF, OCR accuracy, accounting correctness or semantic equivalence with an unseen source.
