# HTML Quality Probe

These checks are diagnostic and non-gating. A `needs-review` status means the generated artifacts found a likely conversion-quality issue, not that artifact generation failed.

- Status: `needs-review`
- Source PDF: [../source.pdf](../source.pdf)
- Generated HTML: [../semantic-continuous/index.html](../semantic-continuous/index.html)
- Sample notes: Tagged two-page AcroForm with a fingerprint-card grid, sample fingerprint images, and dense instructions. Categories: government-form, forms, tagged-pdf, unusual-layout, vector-heavy. Canonical source: https://www.fbi.gov/file-repository/cjis/fd-258.pdf/view
- Text reference: `pdfbox-net-run-fallback`
- Pages analyzed: 2

## Page Summary

| Page | Status | Source words | HTML words | Token coverage | Long HTML tokens | Foreground delta | Severe color delta | Text/object overlaps |
| --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| 1 | `needs-review` | 149 | 154 | 0.98 | 0 | 0.014 | 0 | 11 |
| 2 | `needs-review` | 1130 | 1044 | 0.875 | 7 | 0.228 | 0.668 | 2 |

## Issue Categories

| Category | Status | Evidence |
| --- | --- | --- |
| Text reconstruction and word boundaries | `needs-review` | 1 page(s) need review; worst token coverage is 0.875 on page 2, with 8 high-confidence adjacent-word join(s). |
| Page geometry and text-run structure | `needs-review` | 1 page dimension check(s) and 1 text-run count check(s) need review; max run-count delta is 1641. |
| Text wrapping around images and vector objects | `needs-review` | 1 text/image overlap(s) and 12 text/vector overlap(s) were found. |
| Visual foreground parity | `needs-review` | Max foreground delta is 0.228; max source-only foreground ratio is 0.411; max HTML-only foreground ratio is 0.187. |
| Visual color parity | `needs-review` | Max mean CIE Lab color delta is 37.672; max severe color-delta ratio is 0.668; minimum compared page-pixel ratio is 0. |
| Source fixture expectations (manual review) | `needs-review` | Captured 3 source-authored acceptance statement(s) across 1 page(s); compare them with the visual evidence before treating the fixture as passed. |
| Probe setup and tool availability | `passed` | The browser probe and available renderers ran. |

## Fixture Expectations

These source-authored statements describe the intended appearance and make the corresponding visual diffs easier to interpret.

- Page 2:
  - DELTAS MUST BE CLEAR Pri
  - ARCHES HAVE NO DELTAS FINGERPRINTS FOR WHICH NO DISQUALIFYING RECORD HAS BEEN FOUND LOCALLY SHOULD BE SUBMITTED FOR FBI SEARCH.
  - 2. IDENTITY OF PRIVATE CONTRACTORS SHOULD BE SHOWN IN SPACE “EMPLOYER AND ADDRESS”. THE

## Current Limitations

- Interactive form and widget appearances are exported visually; editable form semantics are not reconstructed in the generated HTML.
- Text reconstruction did not preserve all word boundaries or reading order on the affected page(s).
- Continuous semantic HTML is evaluated as reflowed content; it may not preserve the original PDF page height, per-glyph run count, or exact page-local geometry.
- Some image-backed content still behaves like fixed-position objects; text may collide with image regions.
- Large vector overlays are not semantically attached to nearby content; review whether these are decorative backgrounds, table rules, clipping masks, or true text/object collisions.
- The visual probe compared at least one page using only the overlapping crop because renderer/browser pixel dimensions differed beyond the probe tolerance.
- Perceptual color differences exceed the severe-corruption threshold on at least one page; inspect the color heatmap for incorrect fills, opacity, blending, or color-space conversion.
- The HTML contains additional foreground pixels compared with the PDF render on at least one page, which often means duplicated glyphs, fallback text, or unmodeled object masks.

## Findings

- Page 1, `text-vector-overlap`: 11 text run(s) overlap large rendered vector boxes.
- Page 2, `page-dimensions`: Browser page dimensions differ from the PDF page dimensions.
- Page 2, `text-run-count`: The browser DOM contains 73 text runs, but the extracted layout contains 1714.
- Page 2, `word-boundaries`: Rendered HTML text appears to have lost word boundaries or token coverage.
- Page 2, `text-image-overlap`: 1 text run(s) overlap rendered image boxes.
- Page 2, `text-vector-overlap`: 1 text run(s) overlap large rendered vector boxes.
- Page 2, `visual-foreground-mask`: PDF render and browser page screenshot have different pixel dimensions; foreground masks were compared across the overlapping region only.
- Page 2, `visual-color-difference`: PDF render and browser page screenshot have different pixel dimensions; color was compared across stable foreground interiors in the overlapping region only.

## Artifacts

- [page-1-html.png](page-1-html.png)
- [page-1-source.png](page-1-source.png)
- [page-1-diff.png](page-1-diff.png)
- [page-1-color-heatmap.png](page-1-color-heatmap.png)
- [page-1-visual-report.html](page-1-visual-report.html)
- [page-2-html.png](page-2-html.png)
- [page-2-source.png](page-2-source.png)
- [page-2-diff.png](page-2-diff.png)
- [page-2-color-heatmap.png](page-2-color-heatmap.png)
- [page-2-visual-report.html](page-2-visual-report.html)
