feat(documents): add managed local OCR processing - #283
Conversation
04e324e to
cecac26
Compare
67e18f8 to
f8fc697
Compare
|
OCR completeness audit (2026-08-23): compared the original local OCR implementation commit and all OCR-related commits, tracked paths, and uncommitted paths in this repository against the current PR head. No OCR changes are missing. This PR includes the native PDF/DOCX/PPTX/XLSX processing pipeline, managed PP-OCRv6 runtime and models, CLI/core/media/semantic/history integration, bounded and secure processing hardening, tests, qualification scripts, compatibility/security/performance/migration documentation, and user guidance. The unrelated dirty React/framework changes in the original checkout were intentionally excluded. |
|
Follow-up from the completeness/CI audit: pushed commit 74138ca. It adds the crate/version-scoped BSL-1.0 policy for OAR OCR geometry, records the newly published no-safe-upgrade ttf-parser advisory with a bounded rationale, bundles the exact Boost 1.0 license in releases, and repairs the post-rebase GraphViewModel/Rust 1.97 base-branch compile and lint failures. Local cargo-deny, full workspace Clippy/tests, product boundary, and document OCR fixture qualification all pass. |
Summary
Verification
cargo fmt --all -- --checkcargo test --workspace --lib --bins --lockedcargo test -p compass-files -p compass-ocr -p compass-media --locked(94 passed; installed-model acceptance remains opt-in)cargo test -p compass-cli --test document_cli --locked(5 passed)cargo clippy -p compass-files -p compass-ocr -p compass-media -p compass-core -p compass-cli --lib --bins --all-features --locked -- -D warningscargo clippy -p compass-ocr -p compass-media --all-targets --all-features --locked -- -D warnings./scripts/qualify_document_ocr_v1.sh --fixtures-onlyscripts/check_product_boundary.shTests used a clean worktree and a dedicated
CARGO_TARGET_DIRon/Volumes/Workspace. The CLI link emitted the existing macOS__eh_framesize warning but completed successfully.Qualification status
Plan 022 remains IN PROGRESS rather than DONE. The checked-in qualification manifest explicitly blocks a release quality claim until comparative Tesseract/ocrs measurements, x86_64 equivalence, multilingual/degraded and hostile-corpus measurements, and prerequisite plan review are complete. Extraction is local and usable now, OCR stays off by default, and enabling OCR never silently downloads a model.