{
  "python": "3.11.14",
  "date": "2026-10-27",
  "tools": {
    "markovo": {
      "version": "2026-09-19.v3-media-unified",
      "device": null,
      "elapsed_s": 0.0,
      "error": null
    },
    "pandoc": {
      "version": "3.11",
      "device": "cpu",
      "elapsed_s": 0.0,
      "error": null,
      "skipped": [
        "deck",
        "equation",
        "mixed",
        "prose-single",
        "rotated-header",
        "scan-image",
        "sheet",
        "table-merged-header",
        "table-simple",
        "two-column"
      ]
    },
    "docling": {
      "version": "2.133.0",
      "device": "mps",
      "elapsed_s": 0.0,
      "error": null,
      "skipped": [
        "book"
      ]
    },
    "marker": {
      "version": "2.0.0",
      "device": "mps",
      "elapsed_s": 0.0,
      "error": null,
      "skipped": [
        "article",
        "book",
        "deck",
        "report",
        "sheet"
      ]
    },
    "pdfplumber": {
      "version": "0.11.10",
      "device": "cpu",
      "elapsed_s": 0.1116,
      "error": null
    },
    "markitdown": {
      "version": "0.1.8",
      "device": "cpu",
      "elapsed_s": 0.2795,
      "error": null
    },
    "pymupdf4llm": {
      "version": "1.28.2",
      "device": "cpu",
      "elapsed_s": 1.9602,
      "error": null
    },
    "pdfplumber-columns": {
      "version": "0.11.10",
      "device": "cpu",
      "configuration": "fixed midpoint crop, left then right; deliberately applied to all selected PDFs to retain negative controls"
    }
  },
  "results": [
    {
      "tool": "pandoc",
      "sample": "article",
      "output": "pandoc/article.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "pandoc",
      "sample": "book",
      "output": "pandoc/book.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "pandoc",
      "sample": "report",
      "output": "pandoc/report.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "docling",
      "sample": "article",
      "output": "docling/article.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "docling",
      "sample": "deck",
      "output": "docling/deck.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "docling",
      "sample": "equation",
      "output": "docling/equation.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "docling",
      "sample": "mixed",
      "output": "docling/mixed.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "docling",
      "sample": "prose-single",
      "output": "docling/prose-single.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "docling",
      "sample": "report",
      "output": "docling/report.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "docling",
      "sample": "rotated-header",
      "output": "docling/rotated-header.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "docling",
      "sample": "scan-image",
      "output": "docling/scan-image.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "docling",
      "sample": "sheet",
      "output": "docling/sheet.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "docling",
      "sample": "table-merged-header",
      "output": "docling/table-merged-header.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "docling",
      "sample": "table-simple",
      "output": "docling/table-simple.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "docling",
      "sample": "two-column",
      "output": "docling/two-column.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "marker",
      "sample": "equation",
      "output": "marker/equation.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "marker",
      "sample": "mixed",
      "output": "marker/mixed.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "marker",
      "sample": "prose-single",
      "output": "marker/prose-single.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "marker",
      "sample": "rotated-header",
      "output": "marker/rotated-header.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "marker",
      "sample": "scan-image",
      "output": "marker/scan-image.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "marker",
      "sample": "table-merged-header",
      "output": "marker/table-merged-header.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "marker",
      "sample": "table-simple",
      "output": "marker/table-simple.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "marker",
      "sample": "two-column",
      "output": "marker/two-column.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "markovo",
      "sample": "article",
      "output": "markovo/article.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "markovo",
      "sample": "book",
      "output": "markovo/book.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "markovo",
      "sample": "deck",
      "output": "markovo/deck.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "markovo",
      "sample": "equation",
      "output": "markovo/equation.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "markovo",
      "sample": "mixed",
      "output": "markovo/mixed.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "markovo",
      "sample": "prose-single",
      "output": "markovo/prose-single.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "markovo",
      "sample": "report",
      "output": "markovo/report.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "markovo",
      "sample": "rotated-header",
      "output": "markovo/rotated-header.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "markovo",
      "sample": "scan-image",
      "output": "markovo/scan-image.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "markovo",
      "sample": "sheet",
      "output": "markovo/sheet.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "markovo",
      "sample": "table-merged-header",
      "output": "markovo/table-merged-header.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "markovo",
      "sample": "table-simple",
      "output": "markovo/table-simple.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "markovo",
      "sample": "two-column",
      "output": "markovo/two-column.md",
      "elapsed_s": 0.0,
      "error": null
    },
    {
      "tool": "pdfplumber",
      "sample": "columns-with-table",
      "output": "pdfplumber/columns-with-table.md",
      "elapsed_s": 0.0199,
      "error": null
    },
    {
      "tool": "pdfplumber",
      "sample": "equation",
      "output": "pdfplumber/equation.md",
      "elapsed_s": 0.0032,
      "error": null
    },
    {
      "tool": "pdfplumber",
      "sample": "mixed",
      "output": "pdfplumber/mixed.md",
      "elapsed_s": 0.0122,
      "error": null
    },
    {
      "tool": "pdfplumber",
      "sample": "prose-single",
      "output": "pdfplumber/prose-single.md",
      "elapsed_s": 0.0084,
      "error": null
    },
    {
      "tool": "pdfplumber",
      "sample": "rotated-header",
      "output": "pdfplumber/rotated-header.md",
      "elapsed_s": 0.0038,
      "error": null
    },
    {
      "tool": "pdfplumber",
      "sample": "scan-image",
      "output": "pdfplumber/scan-image.md",
      "elapsed_s": 0.0005,
      "error": null
    },
    {
      "tool": "pdfplumber",
      "sample": "table-merged-header",
      "output": "pdfplumber/table-merged-header.md",
      "elapsed_s": 0.0039,
      "error": null
    },
    {
      "tool": "pdfplumber",
      "sample": "table-simple",
      "output": "pdfplumber/table-simple.md",
      "elapsed_s": 0.0081,
      "error": null
    },
    {
      "tool": "pdfplumber",
      "sample": "two-column",
      "output": "pdfplumber/two-column.md",
      "elapsed_s": 0.016,
      "error": null
    },
    {
      "tool": "pdfplumber",
      "sample": "wide-columns",
      "output": "pdfplumber/wide-columns.md",
      "elapsed_s": 0.016,
      "error": null
    },
    {
      "tool": "pdfplumber",
      "sample": "wide-columns-with-table",
      "output": "pdfplumber/wide-columns-with-table.md",
      "elapsed_s": 0.0196,
      "error": null
    },
    {
      "tool": "markitdown",
      "sample": "columns-with-table",
      "output": "markitdown/columns-with-table.md",
      "elapsed_s": 0.0728,
      "error": null
    },
    {
      "tool": "markitdown",
      "sample": "equation",
      "output": "markitdown/equation.md",
      "elapsed_s": 0.0118,
      "error": null
    },
    {
      "tool": "markitdown",
      "sample": "mixed",
      "output": "markitdown/mixed.md",
      "elapsed_s": 0.0204,
      "error": null
    },
    {
      "tool": "markitdown",
      "sample": "prose-single",
      "output": "markitdown/prose-single.md",
      "elapsed_s": 0.0215,
      "error": null
    },
    {
      "tool": "markitdown",
      "sample": "rotated-header",
      "output": "markitdown/rotated-header.md",
      "elapsed_s": 0.0106,
      "error": null
    },
    {
      "tool": "markitdown",
      "sample": "scan-image",
      "output": "markitdown/scan-image.md",
      "elapsed_s": 0.0072,
      "error": null
    },
    {
      "tool": "markitdown",
      "sample": "table-merged-header",
      "output": "markitdown/table-merged-header.md",
      "elapsed_s": 0.0139,
      "error": null
    },
    {
      "tool": "markitdown",
      "sample": "table-simple",
      "output": "markitdown/table-simple.md",
      "elapsed_s": 0.0105,
      "error": null
    },
    {
      "tool": "markitdown",
      "sample": "two-column",
      "output": "markitdown/two-column.md",
      "elapsed_s": 0.0356,
      "error": null
    },
    {
      "tool": "markitdown",
      "sample": "wide-columns",
      "output": "markitdown/wide-columns.md",
      "elapsed_s": 0.0338,
      "error": null
    },
    {
      "tool": "markitdown",
      "sample": "wide-columns-with-table",
      "output": "markitdown/wide-columns-with-table.md",
      "elapsed_s": 0.0414,
      "error": null
    },
    {
      "tool": "pymupdf4llm",
      "sample": "columns-with-table",
      "output": "pymupdf4llm/columns-with-table.md",
      "elapsed_s": 0.2867,
      "error": null
    },
    {
      "tool": "pymupdf4llm",
      "sample": "equation",
      "output": "pymupdf4llm/equation.md",
      "elapsed_s": 0.1249,
      "error": null
    },
    {
      "tool": "pymupdf4llm",
      "sample": "mixed",
      "output": "pymupdf4llm/mixed.md",
      "elapsed_s": 0.2825,
      "error": null
    },
    {
      "tool": "pymupdf4llm",
      "sample": "prose-single",
      "output": "pymupdf4llm/prose-single.md",
      "elapsed_s": 0.1308,
      "error": null
    },
    {
      "tool": "pymupdf4llm",
      "sample": "rotated-header",
      "output": "pymupdf4llm/rotated-header.md",
      "elapsed_s": 0.1501,
      "error": null
    },
    {
      "tool": "pymupdf4llm",
      "sample": "scan-image",
      "output": "pymupdf4llm/scan-image.md",
      "elapsed_s": 0.1871,
      "error": null
    },
    {
      "tool": "pymupdf4llm",
      "sample": "table-merged-header",
      "output": "pymupdf4llm/table-merged-header.md",
      "elapsed_s": 0.1511,
      "error": null
    },
    {
      "tool": "pymupdf4llm",
      "sample": "table-simple",
      "output": "pymupdf4llm/table-simple.md",
      "elapsed_s": 0.1507,
      "error": null
    },
    {
      "tool": "pymupdf4llm",
      "sample": "two-column",
      "output": "pymupdf4llm/two-column.md",
      "elapsed_s": 0.1472,
      "error": null
    },
    {
      "tool": "pymupdf4llm",
      "sample": "wide-columns",
      "output": "pymupdf4llm/wide-columns.md",
      "elapsed_s": 0.1432,
      "error": null
    },
    {
      "tool": "pymupdf4llm",
      "sample": "wide-columns-with-table",
      "output": "pymupdf4llm/wide-columns-with-table.md",
      "elapsed_s": 0.2059,
      "error": null
    },
    {
      "tool": "pdfplumber-columns",
      "sample": "prose-single",
      "format": "pdf",
      "elapsed_s": 0.0133,
      "output": "pdfplumber-columns/prose-single.md",
      "error": null
    },
    {
      "tool": "pdfplumber-columns",
      "sample": "table-simple",
      "format": "pdf",
      "elapsed_s": 0.0049,
      "output": "pdfplumber-columns/table-simple.md",
      "error": null
    },
    {
      "tool": "pdfplumber-columns",
      "sample": "table-merged-header",
      "format": "pdf",
      "elapsed_s": 0.0051,
      "output": "pdfplumber-columns/table-merged-header.md",
      "error": null
    },
    {
      "tool": "pdfplumber-columns",
      "sample": "two-column",
      "format": "pdf",
      "elapsed_s": 0.0383,
      "output": "pdfplumber-columns/two-column.md",
      "error": null
    },
    {
      "tool": "pdfplumber-columns",
      "sample": "scan-image",
      "format": "pdf",
      "elapsed_s": 0.0007,
      "output": "pdfplumber-columns/scan-image.md",
      "error": null
    },
    {
      "tool": "pdfplumber-columns",
      "sample": "mixed",
      "format": "pdf",
      "elapsed_s": 0.0178,
      "output": "pdfplumber-columns/mixed.md",
      "error": null
    },
    {
      "tool": "pdfplumber-columns",
      "sample": "equation",
      "format": "pdf",
      "elapsed_s": 0.0043,
      "output": "pdfplumber-columns/equation.md",
      "error": null
    },
    {
      "tool": "pdfplumber-columns",
      "sample": "rotated-header",
      "format": "pdf",
      "elapsed_s": 0.0051,
      "output": "pdfplumber-columns/rotated-header.md",
      "error": null
    },
    {
      "tool": "pdfplumber-columns",
      "sample": "columns-with-table",
      "format": "pdf",
      "elapsed_s": 0.0277,
      "output": "pdfplumber-columns/columns-with-table.md",
      "error": null
    },
    {
      "tool": "pdfplumber-columns",
      "sample": "wide-columns",
      "format": "pdf",
      "elapsed_s": 0.0231,
      "output": "pdfplumber-columns/wide-columns.md",
      "error": null
    },
    {
      "tool": "pdfplumber-columns",
      "sample": "wide-columns-with-table",
      "format": "pdf",
      "elapsed_s": 0.0468,
      "output": "pdfplumber-columns/wide-columns-with-table.md",
      "error": null
    }
  ]
}
