refactor(parser): extract item rules and selection engine #92
Labels
No labels
area:backend
area:frontend
area:infra
area:ocr
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
phase:M1
phase:M2
phase:M3
phase:M4
phase:M5
phase:M6
phase:M7
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
TJC/bill-splitter#92
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent: #77 (Phase A, step 4). Invariants live in the epic.
Turn item parsing into competing rules behind a selection engine.
Anchors
ReceiptParser.cs:197-209.ExtractQuantity(245-256),StripUnitPrice(261-279),
CleanName(237-243),IsBareCharge(284-285).LeadingQuantity(59),TrailingMoney(30),UnitPriceDetail(55),AtUnitPrice(69),ItemCode(63),LeadingPercent(35).Steps
IReceiptRuleinParsing/Rulesreturning a candidate + confidence.QuantityNamePriceRule,UnitPriceColumnRule,BareChargeRejectRule).so selection reproduces today's output exactly (mirrors the current
first-match order).
Done