Address round-1 review on PR #914: - Attribute the OCR hop in a fast->structured->ocr inline cascade to from_tier="structured" (not a second "fast" escalation), so astrolabe_document_escalation_total per-tier counts stay accurate. - Add test_inline_fast_structured_ocr_cascade pinning that two-hop path and the metric attribution. - Note in classify_from_text that its doc-level control ratio is over full_text (all pages), not the sampled subset classify_pdf uses. - Clarify that corrupt_glyphs never lands in the suppressed-escalation counter. - Dedupe the glyph-corrupt test string into tests/fixtures/glyph_corruption.py. - Use pytest.approx for the control-char-ratio zero checks (SonarCloud S1244). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
12 lines
540 B
Python
12 lines
540 B
Python
"""Shared test data for the tier-0 glyph-corruption signal.
|
|
|
|
A fast-tier text layer that looks like words -- normal spacing and token lengths,
|
|
so it scores HIGH on ``_text_quality`` -- but leaks C0 control characters: the
|
|
broken-/ToUnicode signature that ``classifier._control_char_ratio`` catches. The
|
|
alphabetic tokens decode to a pangram under a -3 (Caesar) shift.
|
|
|
|
Kept in one place so the classifier and registry tiering tests can't diverge.
|
|
"""
|
|
|
|
GLYPH_CORRUPT_TEXT = "WKH \x0f TXLFN \x10 EURZQ \x11 IRA MXPSV \x0f RYHU \x10 GRJ " * 6
|