Skip to content

Add offline source-bound OCR proposal review - #211

Merged
silverstein merged 2 commits into
masterfrom
feat/local-ocr-review-20260930
Sep 30, 2026
Merged

silverstein merged 2 commits into
masterfrom
feat/local-ocr-review-20260930

Conversation

@silverstein

Copy link
Copy Markdown
Member

Outcome

Adds a private, offline review screen after successful source-page replay:
the original scan appears beside proposed OCR text, and selecting a word
highlights its source box. This remains an experimental local script, not a
new installed MCP tool.

Safety and scope

The screen uses the same validated in-memory snapshot, escapes recognized
text, embeds the page image, and blocks scripts/remote resources/forms with
Content Security Policy. It never uploads, approves, corrects, replaces native
text or changes the source PDF. A new HTML file is exclusive-written with
mode 0600; existing files and the original retained proposal remain intact.

Evidence

Linux and MSS MacBook: 19/19 standard-library tests. Actual Mac HeadlessChrome
151 checked all 119 observations/boxes, matching selected text and box,
1440px desktop and 390px responsive layouts with no horizontal overflow.
The Apollo example makes a real OCR mistake visible: FLIGIM versus FLIGHT,
despite engine score 1.0. The screen keeps that score uncalibrated.

Separate review of a4f7ca91 found no actionable defects and reran all 19
tests; Mac browser evidence is implementation-lane evidence, not an
independent browser verdict. See docs/evidence/local-ocr-review-2026-09.md.

Bead pdf-toolkit-mcp-478i stays in progress for actual opt-in desktop
integration. No default package, tool inventory, release, provider call,
benchmark or extraction-quality claim changes.

@silverstein
silverstein changed the base branch from feat/local-ocr-replay-20260930 to master September 30, 2026 14:53
@silverstein
silverstein merged commit d073acb into master Sep 30, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant