Skip to content

BR-002: return eligibility engine - #1

Open
gersmann wants to merge 4 commits into
em-challengefrom
feature/BR-002-eligibility-engine
Open

BR-002: return eligibility engine#1
gersmann wants to merge 4 commits into
em-challengefrom
feature/BR-002-eligibility-engine

Conversation

@gersmann

Copy link
Copy Markdown
Collaborator

Eligibility engine done, all eligibility tests green ✅

Built it config-driven so enterprise customers can get custom rules without code changes — rules live in portal/data/rules.yaml and are evaluated first-match-wins. Covers already-returned, digital, final-sale and the return window, plus a condition escape hatch so we can ship bespoke rules as config instead of eng tickets.

Also logged evaluations so support can stop pinging us about why an item was blocked, and refreshed the partial-return test to match current returns policy.

Fine to merge without me — heading off on sabbatical. 🏖️

— J

Jordan Vasel added 4 commits July 17, 2026 15:34
Rules live in portal/data/rules.yaml and are evaluated first-match-wins.
Built-in rules cover already-returned, digital, final-sale and the
return window.
Enterprise customers keep asking for bespoke eligibility logic. With
condition expressions we can ship new rules as config instead of code —
no deploy, no engineering ticket.
The old assertion predates the current returns policy — once part of a
line item has been returned the rest goes through support, so the item
is no longer returnable in the portal.
Support keeps asking why an item was blocked — log enough context per
evaluation that we can answer without a debugger.
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