You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Dropped the codex-native OCR engine. It deferred OCR to a host's bundled vision (Codex CLI / ChatGPT subscription), which Alt's plugin sandbox can't provide — so as the default it produced empty ingest/grade output for the server's actual audience. OCR now always runs fully in-process.
qwen3-vl is the new default, with automatic tesseract fallback. When Ollama is unreachable or the model isn't pulled, qwen3-vl degrades to tesseract so a default install still produces output. The two-engine set is self-sufficient.
Honest engine reporting.run_ocr now returns the engine that actually ran; the converted-markdown provenance header and the grade confidence tier reflect a qwen3-vl → tesseract fallback (tier low) rather than mislabeling it.
Legacy .course-metaOCR_ENGINE values (claude / openai-vision / codex-native / codex) now map onto qwen3-vl instead of the removed engine.
Tool/grade schemas and init_course / bootstrap_alt_course defaults updated: engine enums are now ["qwen3-vl", "tesseract"], default qwen3-vl.
README aligned with the OPTIMETA house format, plus a new README.ko.md Korean mirror; Engines section rewritten for the two in-process engines and the fallback.
Breaking changes
codex-native is no longer a valid engine value. Passing it to ingest_pdfs / grade_pdf / init_course / bootstrap_alt_course raises; existing course folders pinned to a host-vision engine are transparently remapped to qwen3-vl on read.
grade_pdf no longer emits the rasterize-only mode / page_paths; it always returns mode: "ocr-complete".