6d2edc6753
Remove all local PDF/OCR extraction and quality gate logic from review_service.py, replacing it with calls to the shared-ai-platform document extraction service via the SDK. Removed from review_service.py: - 17 local PDF/OCR methods (_extract_text_from_pdf, _classify_pdf_source, _extract_text_from_pdf_with_ocr, _extract_text_from_image_with_ocr, _evaluate_ocr_quality, _looks_like_platform_review_report, etc.) - All PDF/OCR constants (PDF_TEXT_PATTERN, PDF_NOISE_LINE_PATTERN, REPORT_PDF_MARKERS, OCR_GATE_*, PDF_SOURCE_KIND_*, etc.) - Imports: pdfplumber, pypdfium2, pytesseract, PIL.Image Added: - extract_review_upload_text() now calls shared platform's client.extract_document_text() directly - _detect_upload_type() retained locally for upload validation only - Protocol methods extract_document_text, classify_pdf_source in client Removed from requirements.txt: pdfplumber, pytesseract Added to config: shared_ai_platform_document_extraction_enabled Also includes prior changes: - Model settings and chat history stabilization - Mobile UI polish - Governance launch-closure enhancements Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>