From 1613a36609b8e706d00ab134dc8dbf32077d5337 Mon Sep 17 00:00:00 2001 From: tannevaled Date: Mon, 12 Oct 2026 10:03:49 +0200 Subject: [PATCH] The pages read back as a document: pdf-to-markdown and prepare-pdf-for-ai parity 75.4% (86/114), pasted from the tool's own output. One verb for both, because they are the same thing twice over: BentoPDF's prepare-pdf-for-ai is per-page MARKDOWN with the document's metadata beside it -- PyMuPDF4LLM's LlamaMarkdownReader -- which is `pdfops markdown -json`, and pdf-to-markdown is the same reading written out as one document. What is claimed is the INFERENCE, not a conversion. A PDF has no headings, and go-pdfkit/document publishes what it will and will not see: ruled lines and multi-column layouts are not read, and that bound is in its README rather than buried. Co-Authored-By: Claude Opus 5 --- README.md | 6 +++--- parity/table.go | 12 ++++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 65d0a63..d5a0c83 100644 --- a/README.md +++ b/README.md @@ -766,9 +766,9 @@ bentoparity -tools ~/src/bentopdf/docs/tools -pdfops ./pdfops -src ~/src/go-pdfk ``` ``` -covered 84 -not covered 30 -parity 73.7% (84/114), every claim verified +covered 86 +not covered 28 +parity 75.4% (86/114), every claim verified ``` ⛔ **It refuses to report a figure if a single claim cannot be checked.** A diff --git a/parity/table.go b/parity/table.go index 429a344..440b09a 100644 --- a/parity/table.go +++ b/parity/table.go @@ -75,6 +75,18 @@ var BentoPDF = []Claim{ // "What it still gets wrong", and in ops's beside the verb. {Tool: "extract-tables", Claim: "verb:tables"}, {Tool: "pdf-to-csv", Claim: "verb:tables"}, + // ⛔ One verb for both of these, because they are the same thing twice + // over: BentoPDF's prepare-pdf-for-ai is per-page MARKDOWN with the + // document's metadata beside it — PyMuPDF4LLM's LlamaMarkdownReader — + // which is `pdfops markdown -json`, and pdf-to-markdown is the same + // reading written out as one document. + // + // What is claimed is the inference, not a conversion: a PDF has no + // headings, and go-pdfkit/document says in its README what it will and + // will not see. Ruled lines and multi-column layouts are NOT read, and + // that bound is published rather than buried. + {Tool: "pdf-to-markdown", Claim: "verb:markdown"}, + {Tool: "prepare-pdf-for-ai", Claim: "verb:markdown"}, {Tool: "extract-images", Claim: "verb:images"}, {Tool: "extract-attachments", Claim: "verb:detach"}, {Tool: "add-attachments", Claim: "verb:attach"},