You know that moment when you're building eligibility rules and realize you've got 15 different checks all mixed together? Identity stuff, financial stuff, contact verification... it's a mess.
We felt that pain too. So we built two features to fix it.
Rule Groups: Stop the Rule Chaos
Here's the thing about eligibility decisions—they're rarely "check everything the same way."
A loan approval needs:
- Identity checks: All must pass (you can't approve someone without proper ID)
- Financial checks: All must pass (they need sufficient income and good credit)
- Contact verification: At least 2 out of 3 methods need to work (we just need to reach them somehow)
Before v1.4.0, you'd list all 15 rules in one giant pile. Good luck explaining to someone why their loan got rejected when 8 different checks got mixed together.
With Rule Groups, you organize related rules into logical buckets with clear logic:
- Identity group? All must pass
- Financial group? All must pass
- Verification group? At least 2 must pass
That's it. Your code now reads like your actual business logic. When someone asks "why was this rejected?" you can point to the group that failed instead of wading through spaghetti.
Plus, you can weight groups differently. Maybe identity is critical, financial is important, but nice-to-haves are just bonus points.
Rule Versioning: Never Lose Track Again
Here's another common headache: "Did we change the credit score requirement last month?"
Rule Versioning solves this by creating snapshots of your rules at key moments. Think of it like Git for your eligibility rules.
When you update your rules, you create a version: "Q4 2025 - Stricter credit requirements"
Now you can:
Look back: "What rules were we using in October?"
Prove it: Auditors ask if a decision was fair? Show them exactly which rules were applied.
Test it: Want to see how people would have qualified under the old rules? Evaluate against version 2 instead of the current version.
Compare changes: See exactly what rules were added, removed, or modified between versions.
This is huge for regulated industries—loan companies, insurance, benefits programs. You're not just making decisions, you're making defensible decisions.
What This Means For You
If you build eligibility systems:
Your code gets cleaner, your decisions get clearer, your audits get easier.
If you work with compliance:
You now have a built-in audit trail. Who changed what? When? What were the rules at decision time? It's all tracked.
If you're managing stakeholders:
Rule Groups make it easy to explain your logic. No more "well, we check 15 things"—you can say "we verify identity, check finances, and confirm contact" and people understand immediately.
Real Talk: A Day in the Life
Let's say you're building a scholarship program.
You need:
- Academic performance (GPA + test scores)
- Financial need
- Citizenship requirements
Instead of one rule list, you set it up like:
Academic group (must pass) → GPA above 3.5 AND test score above 1400
Financial group (weighted importance) → Family income below $150k
Citizenship group (must pass) → Must be citizen or permanent resident
Three groups. Clear intent. Easy to test. Easy to explain. Easy to audit.
Then next year when requirements tighten? Create a new version. Your 2025 rules stay on record.
The Bottom Line
v1.4.0 gives you two superpowers:
- Organization: Rules that make sense to humans, not just computers
- Auditability: A complete history of how decisions were made
Both feel like they should have been there from day one. We're glad they're here now.
Try It Out
composer update cleaniquecoders/eligify
php artisan migrate
That's it. Your existing code still works. Rule Groups are there when you're ready to use them.
Questions? Check the full documentation or read the detailed guides.
Eligify v1.4.0 – Define criteria. Enforce rules. Decide eligibility.


Top comments (0)