{
  "merge-pdf": {
    "status": "generated",
    "input_sha256": "ba25e389e64acf08dbd31e39a44752530dce2a10d6b492ecdaa07ec60b76fbfd",
    "output_sha256": "99861e0f287f944d7f0fef1cc31d28526c326757280619267ba7e4aa06bfbe84",
    "caption": "Real editor export: 4 pages; 2308 input bytes, 2356 output bytes. The same two-page input was uploaded twice; preview shows the first three output pages."
  },
  "compress-pdf": {
    "status": "generated",
    "input_sha256": "ba25e389e64acf08dbd31e39a44752530dce2a10d6b492ecdaa07ec60b76fbfd",
    "output_sha256": "8428d693bdd67f16f8c5ad7c69a1645cde326f1a8b8dfada8c4604b7ffd94bf4",
    "caption": "Real editor export: 2 pages; 2308 input bytes, 1573 output bytes. This text-only fixture becomes smaller. Other PDFs may grow; compare the actual result."
  },
  "split-pdf": {
    "status": "generated",
    "input_sha256": "ba25e389e64acf08dbd31e39a44752530dce2a10d6b492ecdaa07ec60b76fbfd",
    "output_sha256": "e3fdf37faeb5d7fbc006b6e75b1f0d428f7c34a724782ecd13d15f239e1fadb6",
    "caption": "Two-page source split into a ZIP with two PDFs. After shows the first extracted part."
  },
  "edit-pdf": {
    "status": "generated",
    "input_sha256": "ba25e389e64acf08dbd31e39a44752530dce2a10d6b492ecdaa07ec60b76fbfd",
    "output_sha256": "e78af720c9b2fe5ef32b746d9aaa6d2315b5b2137b692567672475de031ee101",
    "caption": "Real editor export: 2 pages; 2308 input bytes, 29755 output bytes."
  },
  "sign-pdf": {
    "status": "generated",
    "input_sha256": "ba25e389e64acf08dbd31e39a44752530dce2a10d6b492ecdaa07ec60b76fbfd",
    "output_sha256": "c4e5938df0bd93d2c43f760759bfb17262170a17894e9cb653e93dc961ce82de",
    "caption": "Real editor export: 2 pages; 2308 input bytes, 37787 output bytes."
  },
  "encrypt-pdf": {
    "status": "generated",
    "input_sha256": "ba25e389e64acf08dbd31e39a44752530dce2a10d6b492ecdaa07ec60b76fbfd",
    "output_sha256": "6051808cf8c59b9b94ff43d7c71a87724da6ba664d48db64beaa8b493c382738",
    "caption": "AES-256 output: the after preview was opened with the synthetic password sample-open. Pages look unchanged; encryption was also checked in the PDF structure."
  },
  "remove-pdf-password": {
    "status": "generated",
    "input_sha256": "6051808cf8c59b9b94ff43d7c71a87724da6ba664d48db64beaa8b493c382738",
    "output_sha256": "81c9ffed6fa0200af003a54b4a8f77a1fc1212b9d3bb9a09d4419edd4edc3b60",
    "caption": "Input password: sample-open. The output opens without a password; page text was checked."
  },
  "pdf-to-markdown": {
    "status": "generated",
    "input_sha256": "ba25e389e64acf08dbd31e39a44752530dce2a10d6b492ecdaa07ec60b76fbfd",
    "output_sha256": "6a34c9d79fbc2d7b04132212576750d710104be8eba8dac144fe043c9cbd4768",
    "caption": "Text view of the actual Markdown output: the sample page headings are omitted and the table-like rows become prose. Review against the source."
  },
  "pdf-to-html": {
    "status": "generated",
    "input_sha256": "ba25e389e64acf08dbd31e39a44752530dce2a10d6b492ecdaa07ec60b76fbfd",
    "output_sha256": "a4f7da8bf9dd49f2f440da7d201af28363bf1be5df9d70eb9213c870ec123530",
    "caption": "Actual HTML output rendered by Chromium to a PDF layout capture. Headings remain; table-like rows become prose."
  },
  "pdf-to-images": {
    "status": "generated",
    "input_sha256": "ba25e389e64acf08dbd31e39a44752530dce2a10d6b492ecdaa07ec60b76fbfd",
    "output_sha256": "cf930519e23146e7af1666265879422afa01eb6f0f33bbb64577d37fcbf27709",
    "caption": "Page 1 rendered as JPG. Image output no longer contains selectable PDF text."
  },
  "email-to-pdf": {
    "status": "generated",
    "input_sha256": "c2b489740a8518ca92d7db032bd6fb1d4a4a401f0f957d64bb43549a712269c6",
    "output_sha256": "7d3cbce18c88e3ba08ff3409de0d0dc6ccd34f835ccc92b3b254fe593af85ff1",
    "caption": "Real conversion of a synthetic EML message."
  },
  "pdf-to-word": {
    "status": "generated",
    "input_sha256": "ba25e389e64acf08dbd31e39a44752530dce2a10d6b492ecdaa07ec60b76fbfd",
    "output_sha256": "32746f4a67fdadf53ad013c630b6af71e62cbca56f9e33f3ec444e0a2a28e4d6",
    "caption": "LibreOffice layout capture: both source pages flow onto one page; table-like rows remain text. Quality hold remains.",
    "notes": []
  },
  "pdf-to-excel": {
    "status": "generated",
    "input_sha256": "ba25e389e64acf08dbd31e39a44752530dce2a10d6b492ecdaa07ec60b76fbfd",
    "output_sha256": "ce1ec50e98f46e29479e8cfa654eb6c92e42ae3613b224e89575a60d81b0b974",
    "caption": "Actual Office output opened by LibreOffice and rendered to PDF for this layout capture; inspect in your target Office application too. The unruled sample rows were not detected as a table; the workbook reports No tables found.",
    "notes": []
  },
  "pdf-to-powerpoint": {
    "status": "generated",
    "input_sha256": "ba25e389e64acf08dbd31e39a44752530dce2a10d6b492ecdaa07ec60b76fbfd",
    "output_sha256": "237fb3e2c3d3531686e197ac8272aacd9fcb2527fc149439614ba3c633cfcebd",
    "caption": "LibreOffice layout capture: two slides retain headings and text rows; this does not establish fidelity for other documents.",
    "notes": []
  },
  "pdf-to-reflowed-pdf": {
    "status": "generated",
    "input_sha256": "ba25e389e64acf08dbd31e39a44752530dce2a10d6b492ecdaa07ec60b76fbfd",
    "output_sha256": "40f5ee8ba340733b2c313f4dbc781c0d5530a0f64f323c7d2686dd6a3ab56b2d",
    "caption": "Real PDF output from the synthetic fixture. Inspect the downloaded result and notes. ",
    "notes": []
  },
  "office-to-pdf": {
    "status": "generated",
    "input_sha256": "4bca08115581525124fc09d2601e5e871dee716e5d0e6fafcabe0efe766ed6c3",
    "output_sha256": "f6e4560bbc2aa4aec0c34feb2f2c32055cc46f7eb4e464d626f20718653b3fd0",
    "caption": "Real PDF output from the synthetic fixture. Inspect the downloaded result and notes. ",
    "notes": []
  },
  "html-to-pdf": {
    "status": "generated",
    "input_sha256": "eca49c1fc2f32dca5cdb0a12aaa260bbaefa63f260743a5eb824a873da388bf9",
    "output_sha256": "da8cb0e2c625354eacf0e04a92570b1d719733eec405d779ab5cef293633d4e7",
    "caption": "Real PDF output from the synthetic fixture. Inspect the downloaded result and notes. ",
    "notes": []
  },
  "webpage-to-pdf": {
    "status": "generated",
    "input_sha256": "c3327d4c26a7517edbf71a80d2df19fd5e8217a8695899afe546f0975dcadb30",
    "output_sha256": "70631898386594f2fece970c8dab3cdea8c3d82f137e0c83e95429038b4b2f87",
    "caption": "Real public-URL capture of deterministic plain-text synthetic content. Before is the exact response text; after is the Chromium PDF render. This minimal fixture does not establish complex website fidelity.",
    "fixture_url": "https://httpbingo.org/base64/U3ludGhldGljIHByb2plY3Qgbm90ZQpQdWJsaWMgdGVzdCBmaXh0dXJlLiBObyBjdXN0b21lciBpbmZvcm1hdGlvbi4K",
    "notes": [
      "Laid out at the site's 1280 pixel desktop width and printed at 56% so that width fits the page.",
      "Captured as the page looks in a browser, with its own background colours and images.",
      "The page was scrolled to the bottom and back, then given time to finish loading its pictures and fonts and to stop changing. Anything still animating was moved to where it was going, so nothing is printed halfway through appearing."
    ]
  },
  "extract-tables": {
    "status": "generated",
    "input_sha256": "ba25e389e64acf08dbd31e39a44752530dce2a10d6b492ecdaa07ec60b76fbfd",
    "output_sha256": "2b44b39b8f8e91882d242d9384e33d5b3dfc03946a4c8880e17846e7e8879be1",
    "caption": "Literal data/text view extracted from the real output, not an Office/browser layout screenshot. The unruled sample rows were not detected; the JSON tables array is empty.",
    "notes": []
  },
  "ocr-searchable-pdf": {
    "status": "generated",
    "input_sha256": "19798d66fc3b59889d32a218b98fa3727bd60f1a2561a83cc335084e7c11ff07",
    "output_sha256": "c110404d1fbd16ab91e650cd25e4fe5928626b2a5e1ad19f747ce16a30119713",
    "caption": "Actual searchable PDF from a synthetic raster scan. The image remains, but the hidden text layer has recognition errors: Synthetic was read as Syptnaic. Review copied/searchable text before use; the OCR quality hold remains.",
    "notes": []
  },
  "ocr-export": {
    "status": "generated",
    "input_sha256": "19798d66fc3b59889d32a218b98fa3727bd60f1a2561a83cc335084e7c11ff07",
    "output_sha256": "fba108633b120b845a00b0b909d164c76732cab7ef7999c07a5f4eba6cb88736",
    "caption": "Literal JSON excerpt from real OCR output, including recognized tokens and bounding boxes; this is a data output, not a formatted document.",
    "notes": []
  },
  "sanitize-pdf": {
    "status": "generated",
    "input_sha256": "ba25e389e64acf08dbd31e39a44752530dce2a10d6b492ecdaa07ec60b76fbfd",
    "output_sha256": "2464374233f4b751d7df4e9020ca9dd8f8974562892dd985eb458cc4b36d31d5",
    "caption": "Real PDF output from the synthetic fixture. Inspect the downloaded result and notes. Source metadata was removed; page appearance is unchanged. This does not demonstrate removal of visible sensitive content.",
    "notes": [
      "Removed: the title, author, subject and producer recorded in the file.",
      "Written as a single revision, so earlier versions kept inside an edited file, and objects nothing points at any more, were not carried over.",
      "The pages themselves were left alone, so text stays selectable and a form stays fillable. Content hidden by being drawn underneath something else is still there; redrawing the pages as images is what removes that."
    ]
  },
  "flatten-pdf": {
    "status": "generated",
    "input_sha256": "de2c351c2363439efc2c8702d9507b3ebae32954db8db30ea8a91b511b575dae",
    "output_sha256": "4a04c8600573599e1ceeab485c2f242c543cc862060332b84c1eca2e732fc5df",
    "caption": "Real PDF output from the synthetic fixture. Inspect the downloaded result and notes. The input has one fillable text field; the output has no interactive fields. This run used the renderer fallback.",
    "notes": []
  },
  "certificate-sign": {
    "status": "generated",
    "input_sha256": "ba25e389e64acf08dbd31e39a44752530dce2a10d6b492ecdaa07ec60b76fbfd",
    "output_sha256": "5f7f8963322f6027a69125fca691ff51d8673833deedcbc3b8276b3b36715d05",
    "caption": "Real PDF output from the synthetic fixture. Inspect the downloaded result and notes. The signature is invisible, so pages look unchanged. Only the public certificate is in this output; private test key material is not saved.",
    "notes": []
  },
  "verify-pdf-signature": {
    "status": "generated",
    "input_sha256": "5f7f8963322f6027a69125fca691ff51d8673833deedcbc3b8276b3b36715d05",
    "output_sha256": "ecd87774bf93c077e1461903edfcc7edc60534237968d8ca29e725dadf7bb568",
    "caption": "Literal data/text view extracted from the real output, not an Office/browser layout screenshot. One intact, cryptographically valid signature is reported, with trusted=false and no timestamp. This synthetic certificate is self-signed.",
    "notes": []
  }
}
