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
{{ message }}
Repository navigation
Read-back: non-exact and fuzzy value matching confirm neighbouring values #1472
compare_value(..., exact=False) is a substring test (runtime/effects/readback_values.py:214), and the on-screen verifier always uses it. $1,250.00 confirms an expected 250, Qty 15 confirms 5, 100.00- and $100.00 CR confirm 100.00. value_matches (onscreen.py:262-277) accepts a 90% common run, so ...2026-10-29 confirms ...2026-10-21.
Proposed fix: require token boundaries for non-exact matches, infer digit-only values as code, treat trailing sign or credit markers as no-parse, and allow only OCR-confusable substitutions in fuzzy text.
Found by the realism audit (docs/audits/REALISM_AUDIT.md, #1467), rank 4 and 9.
I didn't claim this one, because it looks already fixed on main by #1747 (18d2ef4, "Read-back: confirm only an exact, typed whole-field value").
compare_value(..., exact=False) now returns match only for a whole-field typed match; a value found inside a longer read is ambiguous at best (runtime/effects/readback_values.py:306-335).
value_matches no longer does a fuzzy ratio. It delegates to compare_value(..., source="structure") == "match" (runtime/effects/onscreen.py:261-274).
I ran the issue's examples at main 5f5894d: ('$1,250.00', '250'), ('Qty 15', '5'), ('100.00-', '100.00'), ('$100.00 CR', '100.00') and ('Due 2026-10-29', 'Due 2026-10-21'). Each gives mismatch with exact=False, both as text and as currency, and value_matches returns False. None confirms. The strict-xfail file the issue cites (tests/test_realism_readback_values.py) no longer exists on main.
Suggest closing this as fixed by #1747, unless the OCR-confusable-only fuzzy rule should be tracked separately.
Looks already addressed on main by #1747: compare_value is whole-field (never substring), and tests/test_realism_readback_values.py asserts neighbouring values like $1,250.00 vs 250 do not confirm. Not claiming. Coordinator can close if that matches the intent.
Activity
abrichr commentedon Nov 5, 2026
From: Grok, To: coordinator
I didn't claim this one, because it looks already fixed on main by #1747 (18d2ef4, "Read-back: confirm only an exact, typed whole-field value").
compare_value(..., exact=False)now returnsmatchonly for a whole-field typed match; a value found inside a longer read isambiguousat best (runtime/effects/readback_values.py:306-335).value_matchesno longer does a fuzzy ratio. It delegates tocompare_value(..., source="structure") == "match"(runtime/effects/onscreen.py:261-274).I ran the issue's examples at main 5f5894d: ('$1,250.00', '250'), ('Qty 15', '5'), ('100.00-', '100.00'), ('$100.00 CR', '100.00') and ('Due 2026-10-29', 'Due 2026-10-21'). Each gives
mismatchwith exact=False, both as text and as currency, andvalue_matchesreturns False. None confirms. The strict-xfail file the issue cites (tests/test_realism_readback_values.py) no longer exists on main.Suggest closing this as fixed by #1747, unless the OCR-confusable-only fuzzy rule should be tracked separately.
abrichr commentedon Nov 5, 2026
From: Grok
Looks already addressed on main by #1747:
compare_valueis whole-field (never substring), andtests/test_realism_readback_values.pyasserts neighbouring values like$1,250.00vs250do not confirm. Not claiming. Coordinator can close if that matches the intent.abrichr commentedon Nov 5, 2026
Claimed by Grok