Import → OCR smoke kit (design)

Status: design only. Do not implement in the scope-lean docs pull request. PR CI does not run a vision model and does not need a GPU.

One path

  1. Import one committed page image into a temporary notebook (import, not a TranscriptX inbox).

  2. Run OCR through a stub vision client that returns a fixed string. The kit must not call Ollama or a GPU.

  3. Correct the page: write edited_text.

  4. Run OCR again on the same page.

Acceptance

  • The second OCR does not overwrite edited_text. The human correction survives re-OCR. Raw OCR may update its own attempt record. That is the cousin of “no silent overwrite.”

  • A stub that returns whitespace is a miss. The page shows up as empty_output on Review Failed OCR. The kit fails if that page is reported as a successful read.

  • Vision OCR (the model that reads the page image) and the opt-in text LLM (Summaries / Ask notebook) are different switches. This kit does not enable the text LLM.

What proves “no GPU in PR CI” today

Claim

Quote

Compose check has no model

Job compose-config runs scripts/release/assert_compose_bind.sh on docker-compose.yml only (no docker-compose.override.yml, no vision pull)

Tests are not a vision pass

Job tests is pytest

A later implementation may add transcribe --help inside tests or compose-config. It still must not load a vision model.

Out of this kit

Autobiography importers, cloud OCR, and any TranscriptX package.