{
  "engine_version": "0.1.1",
  "example": {
    "certificate_id": null,
    "condition": "office_jpeg",
    "crop": [
      304,
      888,
      520,
      960
    ],
    "declared": [
      336,
      904,
      488,
      944
    ],
    "detectors": [
      {
        "bbox": [
          1152,
          3264,
          1216,
          3328
        ],
        "detector": "ela",
        "localisation_auc": 0.9449689672486834,
        "reason": "",
        "score": 12.773012161254883,
        "status": "ok"
      },
      {
        "bbox": [
          2432,
          448,
          2480,
          512
        ],
        "detector": "jpeg_ghost",
        "localisation_auc": 0.7739047829999242,
        "reason": "",
        "score": 6.253271579742432,
        "status": "ok"
      },
      {
        "bbox": [
          2048,
          3456,
          2112,
          3508
        ],
        "detector": "quantisation",
        "localisation_auc": 0.9718863079376076,
        "reason": "",
        "score": 3.1435234546661377,
        "status": "ok"
      },
      {
        "bbox": [
          2240,
          256,
          2304,
          320
        ],
        "detector": "block_grid",
        "localisation_auc": 0.8369304283661345,
        "reason": "",
        "score": 6.437917709350586,
        "status": "ok"
      },
      {
        "bbox": [
          2432,
          1152,
          2480,
          1216
        ],
        "detector": "noise",
        "localisation_auc": 0.7380112596846201,
        "reason": "",
        "score": 4.518814563751221,
        "status": "ok"
      },
      {
        "bbox": [
          1408,
          704,
          1472,
          768
        ],
        "detector": "resampling",
        "localisation_auc": 0.24528744702181102,
        "reason": "",
        "score": 8.967734336853027,
        "status": "ok"
      },
      {
        "bbox": [
          1408,
          1728,
          1472,
          1792
        ],
        "detector": "edges",
        "localisation_auc": 0.7835074956429852,
        "reason": "",
        "score": 367.397705078125,
        "status": "ok"
      },
      {
        "bbox": [
          832,
          256,
          896,
          320
        ],
        "detector": "copy_move",
        "localisation_auc": 0.49811571254679665,
        "reason": "",
        "score": 3.0,
        "status": "ok"
      },
      {
        "bbox": [
          192,
          256,
          256,
          320
        ],
        "detector": "illumination",
        "localisation_auc": 0.7255351140895894,
        "reason": "",
        "score": 60.12943649291992,
        "status": "ok"
      },
      {
        "bbox": null,
        "detector": "bitonal",
        "localisation_auc": null,
        "reason": "No aligned one-bit source image is available.",
        "score": null,
        "status": "not_applicable"
      }
    ],
    "dpi": 300,
    "edit_kind": "word_replace",
    "find": "amber",
    "findability": 0.9718863079376076,
    "fonts": {
      "files": [
        {
          "name": "LiberationMono-Bold.ttf",
          "sha256": "626655e94dd82f3f42549daf995c921b0915fa8ab1f4b839559e8892ea41d240"
        },
        {
          "name": "LiberationMono-BoldItalic.ttf",
          "sha256": "15eb161953e3ecc7fc05a3fec8a59e0f4e0a54a4e375736adf8e98d65981f813"
        },
        {
          "name": "LiberationMono-Italic.ttf",
          "sha256": "a71b2c25c89da05cf0e7c4dbba8d473fdead0b181ae56165217747d2c1f39215"
        },
        {
          "name": "LiberationMono-Regular.ttf",
          "sha256": "395fa5ab8d40c8eba390ced528744ea75a7f69aabf3e68b6f925ca0e39a27370"
        },
        {
          "name": "LiberationSans-Bold.ttf",
          "sha256": "3973aa5054fb467dd5627245d3dc82e37bf16fe075756156a570455871351582"
        },
        {
          "name": "LiberationSans-BoldItalic.ttf",
          "sha256": "c80fa7f2ffa0e01d4d8dcd6a6d1e43eda665222d1b4db597dde1174c456006cf"
        },
        {
          "name": "LiberationSans-Italic.ttf",
          "sha256": "830c5fa600505fb4c1a271b4271c53c44bae43f492b2a240d0e98a3a7a380121"
        },
        {
          "name": "LiberationSans-Regular.ttf",
          "sha256": "4659bc0c58c5028dd488ec928d41d9265db43d9b669fc14ca8b0832daca7b144"
        },
        {
          "name": "LiberationSerif-Bold.ttf",
          "sha256": "9e66c25e20868756bf12eb24a520a4552727c9cd108f577f7ae33e3c0110e39c"
        },
        {
          "name": "LiberationSerif-BoldItalic.ttf",
          "sha256": "379010e87421a883f7bbfa7936d23dfe0257a54ce850819b74556e9f2c615a8a"
        },
        {
          "name": "LiberationSerif-Italic.ttf",
          "sha256": "eaeaf7f2b12544ecde64290c1fa7ec403ff70fd58b313637b265400b20249242"
        },
        {
          "name": "LiberationSerif-Regular.ttf",
          "sha256": "705903ae1382f0150f115d6f10a30f5b2f3d6ade649c474afe6366c39174fb65"
        },
        {
          "name": "UnifrakturCook-Bold.ttf",
          "sha256": "ea002fa9c65f1a612af100e00d87ab65f16381f450020ec3d021f3dbf79a6dcd"
        },
        {
          "name": "UnifrakturMaguntia-Book.ttf",
          "sha256": "d64afc0547059dd2e4a78da48bda0aba0a9901be58c7f8c201a8b2b6b4492cc8"
        }
      ],
      "sha256": "4072ddbbf8c18e3524d8fd0110e3ecf4abeb9beaba4e88b3f65e57755301cb86"
    },
    "images": {
      "after.png": {
        "file": "after.png",
        "height": 72,
        "sha256": "d6630164855f2f936043fa1ea6ac04ebc299f15b406ae6451f99c9b8fd156c5b",
        "width": 216
      },
      "before.png": {
        "file": "before.png",
        "height": 72,
        "sha256": "fe60982321d790118ca0f614b027caa240512636eed0b83f3c3612d8e1807bcc",
        "width": 216
      },
      "difference.png": {
        "file": "difference.png",
        "height": 72,
        "sha256": "fb46217aa7592baf387fc9bda8dfb001f07bc4c7f7b4abc16ab18059ef0994e8",
        "width": 216
      },
      "page.png": {
        "file": "page.png",
        "height": 453,
        "sha256": "8b7582005b86fcecc32ac168a91bd7148fce77292eacbe02638828f74187f462",
        "width": 320
      }
    },
    "page_size": [
      2480,
      3508
    ],
    "perceptual": {
      "patch_box": [
        336,
        904,
        488,
        944
      ],
      "ring_box": [
        184,
        864,
        640,
        984
      ],
      "sharpness_noise_ratio": 1.9377589972014533,
      "ssim": 0.28696369435699626
    },
    "record": {
      "attachment": "provenance.json",
      "bbox_pdf": [
        80.64,
        216.96,
        117.12,
        226.56
      ],
      "bbox_render": [
        336,
        904,
        488,
        944
      ],
      "edit_id": "8db6baa4cc4d1502",
      "engine_version": "0.1.1",
      "page_index": 0,
      "render_dpi": 300,
      "target_method": "visual",
      "text_after": "umber",
      "text_before": "amber",
      "tier_name": "glyph_synth",
      "verification": {
        "declared": [
          {
            "box": [
              336,
              904,
              488,
              944
            ],
            "page": 0,
            "reason": "tier 2 synthesis of 'umber' at (340, 910, 480, 941); new ink is drawn inside this region and nowhere else, and the line's tail moves 6 px right; declared as whole 8x8 JPEG blocks of the stored scan (4:4:4), 152x40 px around the 146x31 px the correction needed, re-encoded with the scan's own quantisation tables"
          }
        ],
        "pages": [
          {
            "changed_pixels": 4776,
            "identical": false,
            "outside_pixels": 0,
            "page": 0
          }
        ],
        "passed": true
      },
      "visibility_cost": "synthetic_ink"
    },
    "replace": "umber",
    "rule": "a word replaced, which is the correction the tool exists for, on the scan condition whose word-replacement row is nearest the benchmark's overall figure; and, within that row, the page the benchmark's own evidence inspects, which is the accepted correction a detector found most easily",
    "seed": 73132,
    "target": [
      339,
      910,
      474,
      942
    ],
    "template": "letter",
    "tier_name": "glyph_synth",
    "verification": {
      "changed_pixels": 4776,
      "ok": true,
      "outside_pixels": 0
    },
    "visibility_cost": "synthetic_ink"
  },
  "eye_test": {
    "committed": "2026-09-21",
    "conditions": {
      "colour_letterhead": {
        "correct": 4,
        "hit_rate": 0.8,
        "total": 5
      },
      "fax_bitonal": {
        "correct": 5,
        "hit_rate": 1.0,
        "total": 5
      },
      "office_jpeg": {
        "correct": 3,
        "hit_rate": 0.6,
        "total": 5
      },
      "phone": {
        "correct": 5,
        "hit_rate": 1.0,
        "total": 5
      }
    },
    "correct": 17,
    "hit_rate": 0.85,
    "pairs": 20,
    "schema": "pdfsurgeon.eyes.v1.result",
    "source": "docs/engine/eye-test-result.json"
  },
  "schema": "pdfsurgeon.proof.v1",
  "scoreboard": {
    "committed": "2026-09-24",
    "conditions": [
      {
        "accepted": 28,
        "condition": "phone",
        "findability": 0.9837457094983633,
        "refusals": 24
      },
      {
        "accepted": 31,
        "condition": "office_jpeg",
        "findability": 0.8811688292747419,
        "refusals": 21
      },
      {
        "accepted": 42,
        "condition": "fax_bitonal",
        "findability": 0.990977418296544,
        "refusals": 6
      },
      {
        "accepted": 43,
        "condition": "colour_letterhead",
        "findability": 0.8693605122971755,
        "refusals": 5
      }
    ],
    "config": {
      "conditions": [
        "phone",
        "office_jpeg",
        "fax_bitonal",
        "colour_letterhead"
      ],
      "edit_kinds": [
        "word_replace",
        "number_change",
        "deletion",
        "insertion"
      ],
      "pages": 200,
      "seed": 73000
    },
    "overall": {
      "accepted": 144,
      "findability": 0.9296157442410039,
      "outside_pixels": 0,
      "pages": 200,
      "refusals": 56
    },
    "rows": [
      {
        "accepted": 10,
        "condition": "phone",
        "edit_kind": "word_replace",
        "findability": 0.9896970065609138,
        "outside_pixels": 0,
        "pages": 13,
        "refusals": 3,
        "sharpness_noise_ratio": 1.5225683731858668,
        "ssim": 0.3896407717307301,
        "tiers": {
          "glyph_synth": 10
        }
      },
      {
        "accepted": 12,
        "condition": "phone",
        "edit_kind": "number_change",
        "findability": 0.9782199499903057,
        "outside_pixels": 0,
        "pages": 13,
        "refusals": 1,
        "sharpness_noise_ratio": 2.5453841233754377,
        "ssim": 0.25390337836980365,
        "tiers": {
          "glyph_synth": 12
        }
      },
      {
        "accepted": 2,
        "condition": "phone",
        "edit_kind": "deletion",
        "findability": 0.9652640733353521,
        "outside_pixels": 0,
        "pages": 13,
        "refusals": 11,
        "sharpness_noise_ratio": 1.8159855870636559,
        "ssim": 0.3016017600678026,
        "tiers": {
          "erase_shift": 2
        }
      },
      {
        "accepted": 4,
        "condition": "phone",
        "edit_kind": "insertion",
        "findability": 0.9946855634476653,
        "outside_pixels": 0,
        "pages": 13,
        "refusals": 9,
        "sharpness_noise_ratio": 2.176740276384331,
        "ssim": 0.025023416598029296,
        "tiers": {
          "glyph_synth": 4
        }
      },
      {
        "accepted": 7,
        "condition": "office_jpeg",
        "edit_kind": "word_replace",
        "findability": 0.9080664696083963,
        "outside_pixels": 0,
        "pages": 13,
        "refusals": 6,
        "sharpness_noise_ratio": 1.9165623162698489,
        "ssim": 0.3686415516513701,
        "tiers": {
          "glyph_synth": 7
        }
      },
      {
        "accepted": 13,
        "condition": "office_jpeg",
        "edit_kind": "number_change",
        "findability": 0.9164673269891149,
        "outside_pixels": 0,
        "pages": 13,
        "refusals": 0,
        "sharpness_noise_ratio": 3.2043008494424967,
        "ssim": 0.40325592044611336,
        "tiers": {
          "glyph_synth": 13
        }
      },
      {
        "accepted": 11,
        "condition": "office_jpeg",
        "edit_kind": "deletion",
        "findability": 0.8223357426727028,
        "outside_pixels": 0,
        "pages": 13,
        "refusals": 2,
        "sharpness_noise_ratio": 1.7763553340342342,
        "ssim": 0.23918343766257139,
        "tiers": {
          "erase_shift": 9,
          "glyph_synth": 2
        }
      },
      {
        "accepted": 0,
        "condition": "office_jpeg",
        "edit_kind": "insertion",
        "findability": null,
        "outside_pixels": 0,
        "pages": 13,
        "refusals": 13,
        "sharpness_noise_ratio": null,
        "ssim": null,
        "tiers": {}
      },
      {
        "accepted": 11,
        "condition": "fax_bitonal",
        "edit_kind": "word_replace",
        "findability": 0.9857306127714078,
        "outside_pixels": 0,
        "pages": 12,
        "refusals": 1,
        "sharpness_noise_ratio": 2.4330893124574287,
        "ssim": 0.38603646666419017,
        "tiers": {
          "glyph_synth": 11
        }
      },
      {
        "accepted": 12,
        "condition": "fax_bitonal",
        "edit_kind": "number_change",
        "findability": 0.9984656524230907,
        "outside_pixels": 0,
        "pages": 12,
        "refusals": 0,
        "sharpness_noise_ratio": 6.118150150199283,
        "ssim": 0.30287786524289884,
        "tiers": {
          "glyph_synth": 12
        }
      },
      {
        "accepted": 11,
        "condition": "fax_bitonal",
        "edit_kind": "deletion",
        "findability": 0.9826379854445301,
        "outside_pixels": 0,
        "pages": 12,
        "refusals": 1,
        "sharpness_noise_ratio": 2.514951061230598,
        "ssim": 0.2711441363356094,
        "tiers": {
          "erase_shift": 11
        }
      },
      {
        "accepted": 8,
        "condition": "fax_bitonal",
        "edit_kind": "insertion",
        "findability": 0.9984261448753049,
        "outside_pixels": 0,
        "pages": 12,
        "refusals": 4,
        "sharpness_noise_ratio": 4.356211312015951,
        "ssim": 0.01222396633753555,
        "tiers": {
          "glyph_synth": 8
        }
      },
      {
        "accepted": 11,
        "condition": "colour_letterhead",
        "edit_kind": "word_replace",
        "findability": 0.8323619418084534,
        "outside_pixels": 0,
        "pages": 12,
        "refusals": 1,
        "sharpness_noise_ratio": 1.7160375547940538,
        "ssim": 0.3585278532760325,
        "tiers": {
          "glyph_synth": 11
        }
      },
      {
        "accepted": 12,
        "condition": "colour_letterhead",
        "edit_kind": "number_change",
        "findability": 0.9088352720138126,
        "outside_pixels": 0,
        "pages": 12,
        "refusals": 0,
        "sharpness_noise_ratio": 2.102209798064203,
        "ssim": 0.4340164550059955,
        "tiers": {
          "glyph_synth": 12
        }
      },
      {
        "accepted": 9,
        "condition": "colour_letterhead",
        "edit_kind": "deletion",
        "findability": 0.8075917823341437,
        "outside_pixels": 0,
        "pages": 12,
        "refusals": 3,
        "sharpness_noise_ratio": 1.6165588733610456,
        "ssim": 0.19869816017306458,
        "tiers": {
          "erase_shift": 8,
          "glyph_synth": 1
        }
      },
      {
        "accepted": 11,
        "condition": "colour_letterhead",
        "edit_kind": "insertion",
        "findability": 0.913833760337501,
        "outside_pixels": 0,
        "pages": 12,
        "refusals": 1,
        "sharpness_noise_ratio": 2.2388331888061006,
        "ssim": 0.010076796257981187,
        "tiers": {
          "glyph_synth": 11
        }
      }
    ],
    "runtime": {
      "peak_rss_mib": 2714.3,
      "seconds": 1325.0
    },
    "schema": "pdfsurgeon.bench.v1",
    "source": "ENHANCEMENT-ROADMAP/SCOREBOARD.md"
  }
}