fix(document-processors): inline/external parity when structured tier is absent
Address round-3 review on PR #914: - When a glyph-corrupt doc's structured rung is NOT registered, the inline path now falls through to OCR (with reason corrupt_glyphs), mirroring the external next_available_tier instead of silently keeping the fast result. A structured parse FAILURE remains terminal (tracked via structured_failed), matching the external path which does not escalate a failure. Added a debug log for the unregistered case and "(OCR not attempted)" to the failure warning. - Tests: inline + external glyph-corrupt fallthrough to OCR when structured is unregistered; glyph-corrupt + junk-quality both-flags precedence (structured wins over the bad_text_layer/ocr route). - Note the total_chars>0 mutual-exclusion with the scanned branch in _route_from_signals. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
24c22f19d6
commit
33aadbcf80
@@ -203,6 +203,8 @@ def _route_from_signals(
|
||||
Flags are diagnostic and independent of the verdict (e.g. ``image_heavy``
|
||||
fires on ANY image-heavy page; the OCR route needs a page FRACTION).
|
||||
"""
|
||||
# total_chars > 0 also guarantees this never overlaps the scanned branch
|
||||
# (total_chars == 0), so a doc is never both glyph-corrupt and "scanned".
|
||||
glyph_corrupt = total_chars > 0 and control_ratio > glyph_corruption_ratio
|
||||
|
||||
flags: set[str] = set()
|
||||
|
||||
Reference in New Issue
Block a user