OCR Jitter

March 6, 2026 · View on GitHub

🧭 Quick Return to Map

You are in a sub-page of MemoryLongContext.
To reorient, go back here:

Think of this page as a desk within a ward.
If you need the full triage and all prescriptions, return to the Emergency Room lobby.

When OCR engines process scanned text with inconsistent spacing, width variants, or mixed character forms,
the output may look visually correct but introduces false token differences that destabilize retrieval and reasoning.


Symptoms

  • OCR transcript looks fine to the eye, but semantic retrieval drifts.
  • Words alternate between half-width / full-width forms.
  • Invisible characters (zero-width joiners, non-breaking spaces) trigger token mismatches.
  • Capitalization inconsistent across the same word in long transcripts.
  • Citations fail even though the snippet visually matches the source.

Root causes

  • OCR confidence below threshold but output still accepted.
  • Normalization skipped (NFC vs NFD forms mixed).
  • Scanner artifacts (speckles, warped lines) inject invisible characters.
  • Language-specific width forms (CJK fullwidth vs ASCII halfwidth) untreated.
  • No post-processing pass to unify tokens before embedding.

Fix in 60 seconds

  1. Gate by confidence

    • Drop lines with OCR confidence < 0.85.
    • Flag low-confidence tables and equations for manual review.
  2. Normalize Unicode

    • Convert to NFC form.
    • Replace non-breaking spaces with plain space.
    • Strip zero-width characters.
  3. Unify width and case

    • Map fullwidth and halfwidth characters consistently.
    • Apply case-folding for ASCII text.
  4. Re-stamp clean snippets

    • After normalization, reassign line numbers.
    • Ensure section_id | start_line | end_line | citation schema updated.
  5. Verify joins

    • Run ΔS across adjacent chunks.
    • If join ΔS ≥ 0.50, suspect hidden jitter — repeat normalization.

Copy-paste diagnostic prompt

You have TXTOS and the WFGY Problem Map.

Task: Detect and repair OCR jitter.

Protocol:
1. Normalize all snippets:
   - Unicode NFC
   - Strip zero-width, NBSP
   - Map fullwidth → halfwidth
   - Apply case-fold
2. Drop snippets with OCR confidence < 0.85.
3. Re-stamp Snippet Table with {section_id, start_line, end_line, citation}.
4. Measure ΔS across adjacent chunks:
   - Target ≤ 0.50 at each join.
5. Report ΔS(question, retrieved) and λ states.

Acceptance targets

  • OCR confidence ≥ 0.85 for all retained lines.
  • No mixed width or hidden characters in final text.
  • ΔS(question, retrieved) ≤ 0.45 and joins ≤ 0.50.
  • λ remains convergent across three paraphrases.
  • Snippets traceable and citations reproducible.

🔗 Quick-Start Downloads (60 sec)

ToolLink3-Step Setup
WFGY 1.0 PDFEngine Paper1️⃣ Download · 2️⃣ Upload to your LLM · 3️⃣ Ask “Answer using WFGY + <your question>”
TXT OS (plain-text OS)TXTOS.txt1️⃣ Download · 2️⃣ Paste into any LLM chat · 3️⃣ Type “hello world” — OS boots instantly

Explore More

LayerPageWhat it’s for
⭐ ProofWFGY Recognition MapExternal citations, integrations, and ecosystem proof
⚙️ EngineWFGY 1.0Original PDF tension engine and early logic sketch (legacy reference)
⚙️ EngineWFGY 2.0Production tension kernel for RAG and agent systems
⚙️ EngineWFGY 3.0TXT based Singularity tension engine (131 S class set)
🗺️ MapProblem Map 1.0Flagship 16 problem RAG failure taxonomy and fix map
🗺️ MapProblem Map 2.0Global Debug Card for RAG and agent pipeline diagnosis
🗺️ MapProblem Map 3.0Global AI troubleshooting atlas and failure pattern map
🧰 AppTXT OS.txt semantic OS with fast bootstrap
🧰 AppBlah Blah BlahAbstract and paradox Q&A built on TXT OS
🧰 AppBlur Blur BlurText to image generation with semantic control
🏡 OnboardingStarter VillageGuided entry point for new users

If this repository helped, starring it improves discovery so more builders can find the docs and tools.
GitHub Repo stars