Skip to content

Fix coupon expiry parsing when OCR omits the end year - #565

Merged
Szer merged 4 commits into
mainfrom
codex/fix-coupon-validity-year
Oct 17, 2026
Merged

Szer merged 4 commits into
mainfrom
codex/fix-coupon-validity-year

Conversation

@Szer

@Szer Szer commented Oct 17, 2026 •

Copy link
Copy Markdown
Owner

When OCR truncates the expiry year in a labelled receipt validity range, the parser falls back to unrelated receipt dates. For example, valid from 24/09/26 to 03/10 can become March 10–October 21 because the receipt also includes a goods-return deadline.

Infer a missing end year from the range's start date, retaining day/month order and handling December-to-January rollover. Add both affected coupons as cached image regression fixtures and coverage for complete dates, separators, punctuation, truncated trailing separators, whitespace, and month-name ranges.

Validation:

  • dotnet test tests/CouponHubBot.Ocr.Tests -c Release: 61 passed.
  • Replayed 2,364 saved OCR responses through the pre-fix and fixed parsers using identical reference times: 2 date ranges corrected, 2,362 results unchanged, and no monetary differences. Both changed coupons were visually confirmed by the owner.
  • Replay covers monetary/date parsing; it excludes native image barcode decoding. The remaining private corpus and comparison results are not included.

No database migration or backfill is included.

@Szer
Szer enabled auto-merge (squash) October 17, 2026 23:37
@Szer
Szer disabled auto-merge October 17, 2026 23:41
@Szer
Szer enabled auto-merge (squash) October 17, 2026 23:43
@Szer
Szer merged commit 848cad9 into main Oct 17, 2026
8 checks passed
@Szer
Szer deleted the codex/fix-coupon-validity-year branch October 17, 2026 23:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant