FA-63131 / Insurance premium rating / Open access
Multi-policy discount stacking: Total discount cap is ignored · case 01
Stacked discounts exceed the maximum allowed discount.
ROOT CAUSE
The combined discount is not compared with the cap.
VERIFIED REPAIR
Cap the combined discount at cap/1000.
Unsuccessful approach: Reading the cap as a percentage makes it ten times too loose.
Case contract
Input premium, discounts [[group, code, per mille]], cap per mille, min_premium. A code repeated within a group counts once at its largest value; codes within a group add; groups combine multiplicatively; the total discount 1-product is capped; net = premium*(1-d) rounded half-up, then floored at min_premium.
Why this case matters
Premium rating engines apply ordered tabular rules where one misplaced boundary or step silently misprices policies.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(x):
groups={}
for g,code,v in x['discounts']:
groups.setdefault(g,{})
groups[g][code]=max(groups[g].get(code,0),v)
f=Fraction(1)
for g in sorted(groups):
f*=1-Fraction(sum(groups[g].values()),1000)
d=1-f
net=math.floor(x['premium']*(1-d)+Fraction(1,2))
return max(net,x['min_premium'])
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['two groups multiply', {'premium': 179834, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 51], ['driver', 'student', 40]], 'cap': 350, 'min_premium': 20000}, 147122], ['duplicate discount code', {'premium': 83536, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 350, 'min_premium': 20000}, 72676], ['duplicate code rising value', {'premium': 216432, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 300, 'min_premium': 20000}, 199377], ['cap binds', {'premium': 295817, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 221863], ['single group', {'premium': 83079, 'discounts': [['vehicle', 'abs', 45], ['vehicle', 'alarm', 25]], 'cap': 350, 'min_premium': 20000}, 77263], ['minimum premium binds', {'premium': 22100, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 300, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 114606, 'discounts': [], 'cap': 350, 'min_premium': 20000}, 114606]], [['two groups multiply', {'premium': 259533, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 52], ['driver', 'student', 40]], 'cap': 300, 'min_premium': 20000}, 212090], ['duplicate discount code', {'premium': 222796, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 350, 'min_premium': 20000}, 193833], ['duplicate code rising value', {'premium': 264635, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 300, 'min_premium': 20000}, 243782], ['cap binds', {'premium': 274466, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 205850], ['single group', {'premium': 122187, 'discounts': [['vehicle', 'abs', 48], ['vehicle', 'alarm', 51]], 'cap': 350, 'min_premium': 20000}, 110090], ['minimum premium binds', {'premium': 22200, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 300, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 67195, 'discounts': [], 'cap': 300, 'min_premium': 20000}, 67195]], [['two groups multiply', {'premium': 246480, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 53], ['driver', 'student', 40]], 'cap': 300, 'min_premium': 20000}, 201202], ['duplicate discount code', {'premium': 212077, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 350, 'min_premium': 20000}, 184507], ['duplicate code rising value', {'premium': 239143, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 300, 'min_premium': 20000}, 220299], ['cap binds', {'premium': 260788, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 195591], ['single group', {'premium': 76428, 'discounts': [['vehicle', 'abs', 25], ['vehicle', 'alarm', 25]], 'cap': 350, 'min_premium': 20000}, 72607], ['minimum premium binds', {'premium': 22300, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 350, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 231596, 'discounts': [], 'cap': 300, 'min_premium': 20000}, 231596]], [['two groups multiply', {'premium': 234855, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 54], ['driver', 'student', 40]], 'cap': 300, 'min_premium': 20000}, 191501], ['duplicate discount code', {'premium': 62000, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 300, 'min_premium': 20000}, 53940], ['duplicate code rising value', {'premium': 164924, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 350, 'min_premium': 20000}, 151928], ['cap binds', {'premium': 160428, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 120321], ['single group', {'premium': 150010, 'discounts': [['vehicle', 'abs', 53], ['vehicle', 'alarm', 34]], 'cap': 350, 'min_premium': 20000}, 136959], ['minimum premium binds', {'premium': 22400, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 350, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 64059, 'discounts': [], 'cap': 350, 'min_premium': 20000}, 64059]], [['two groups multiply', {'premium': 70322, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 55], ['driver', 'student', 40]], 'cap': 350, 'min_premium': 20000}, 57277], ['duplicate discount code', {'premium': 120452, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 300, 'min_premium': 20000}, 104793], ['duplicate code rising value', {'premium': 89846, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 350, 'min_premium': 20000}, 82766], ['cap binds', {'premium': 116342, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 87257], ['single group', {'premium': 214086, 'discounts': [['vehicle', 'abs', 20], ['vehicle', 'alarm', 44]], 'cap': 300, 'min_premium': 20000}, 200384], ['minimum premium binds', {'premium': 22500, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 350, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 211453, 'discounts': [], 'cap': 300, 'min_premium': 20000}, 211453]]]
for label, args, expected in fixtures[N-1]:
check(label, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| two groups multiply | 147122 | 147122 | Passed |
| duplicate discount code | 72676 | 72676 | Passed |
| duplicate code rising value | 199377 | 199377 | Passed |
| cap binds | 181669 | 221863 | Failed |
| single group | 77263 | 77263 | Passed |
| minimum premium binds | 20000 | 20000 | Passed |
| capped policy at minimum | 20000 | 20000 | Passed |
| no discounts | 114606 | 114606 | Passed |
SHA-256 / d1466b239d35f5561e2d8597fa602ac14ca38db54d0bca61049dee2855b43daf
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(x):
groups={}
for g,code,v in x['discounts']:
groups.setdefault(g,{})
groups[g][code]=max(groups[g].get(code,0),v)
f=Fraction(1)
for g in sorted(groups):
f*=1-Fraction(sum(groups[g].values()),1000)
d=min(Fraction(x['cap'],100),1-f)
net=math.floor(x['premium']*(1-d)+Fraction(1,2))
return max(net,x['min_premium'])
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['two groups multiply', {'premium': 179834, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 51], ['driver', 'student', 40]], 'cap': 350, 'min_premium': 20000}, 147122], ['duplicate discount code', {'premium': 83536, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 350, 'min_premium': 20000}, 72676], ['duplicate code rising value', {'premium': 216432, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 300, 'min_premium': 20000}, 199377], ['cap binds', {'premium': 295817, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 221863], ['single group', {'premium': 83079, 'discounts': [['vehicle', 'abs', 45], ['vehicle', 'alarm', 25]], 'cap': 350, 'min_premium': 20000}, 77263], ['minimum premium binds', {'premium': 22100, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 300, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 114606, 'discounts': [], 'cap': 350, 'min_premium': 20000}, 114606]], [['two groups multiply', {'premium': 259533, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 52], ['driver', 'student', 40]], 'cap': 300, 'min_premium': 20000}, 212090], ['duplicate discount code', {'premium': 222796, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 350, 'min_premium': 20000}, 193833], ['duplicate code rising value', {'premium': 264635, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 300, 'min_premium': 20000}, 243782], ['cap binds', {'premium': 274466, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 205850], ['single group', {'premium': 122187, 'discounts': [['vehicle', 'abs', 48], ['vehicle', 'alarm', 51]], 'cap': 350, 'min_premium': 20000}, 110090], ['minimum premium binds', {'premium': 22200, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 300, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 67195, 'discounts': [], 'cap': 300, 'min_premium': 20000}, 67195]], [['two groups multiply', {'premium': 246480, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 53], ['driver', 'student', 40]], 'cap': 300, 'min_premium': 20000}, 201202], ['duplicate discount code', {'premium': 212077, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 350, 'min_premium': 20000}, 184507], ['duplicate code rising value', {'premium': 239143, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 300, 'min_premium': 20000}, 220299], ['cap binds', {'premium': 260788, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 195591], ['single group', {'premium': 76428, 'discounts': [['vehicle', 'abs', 25], ['vehicle', 'alarm', 25]], 'cap': 350, 'min_premium': 20000}, 72607], ['minimum premium binds', {'premium': 22300, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 350, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 231596, 'discounts': [], 'cap': 300, 'min_premium': 20000}, 231596]], [['two groups multiply', {'premium': 234855, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 54], ['driver', 'student', 40]], 'cap': 300, 'min_premium': 20000}, 191501], ['duplicate discount code', {'premium': 62000, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 300, 'min_premium': 20000}, 53940], ['duplicate code rising value', {'premium': 164924, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 350, 'min_premium': 20000}, 151928], ['cap binds', {'premium': 160428, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 120321], ['single group', {'premium': 150010, 'discounts': [['vehicle', 'abs', 53], ['vehicle', 'alarm', 34]], 'cap': 350, 'min_premium': 20000}, 136959], ['minimum premium binds', {'premium': 22400, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 350, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 64059, 'discounts': [], 'cap': 350, 'min_premium': 20000}, 64059]], [['two groups multiply', {'premium': 70322, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 55], ['driver', 'student', 40]], 'cap': 350, 'min_premium': 20000}, 57277], ['duplicate discount code', {'premium': 120452, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 300, 'min_premium': 20000}, 104793], ['duplicate code rising value', {'premium': 89846, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 350, 'min_premium': 20000}, 82766], ['cap binds', {'premium': 116342, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 87257], ['single group', {'premium': 214086, 'discounts': [['vehicle', 'abs', 20], ['vehicle', 'alarm', 44]], 'cap': 300, 'min_premium': 20000}, 200384], ['minimum premium binds', {'premium': 22500, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 350, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 211453, 'discounts': [], 'cap': 300, 'min_premium': 20000}, 211453]]]
for label, args, expected in fixtures[N-1]:
check(label, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| two groups multiply | 147122 | 147122 | Passed |
| duplicate discount code | 72676 | 72676 | Passed |
| duplicate code rising value | 199377 | 199377 | Passed |
| cap binds | 181669 | 221863 | Failed |
| single group | 77263 | 77263 | Passed |
| minimum premium binds | 20000 | 20000 | Passed |
| capped policy at minimum | 20000 | 20000 | Passed |
| no discounts | 114606 | 114606 | Passed |
SHA-256 / 4b4ef4edebabc9df92d7eb9251a7bf516eaa425de5ec32ab50ac7928a925365d
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(x):
groups={}
for g,code,v in x['discounts']:
groups.setdefault(g,{})
groups[g][code]=max(groups[g].get(code,0),v)
f=Fraction(1)
for g in sorted(groups):
f*=1-Fraction(sum(groups[g].values()),1000)
d=min(Fraction(x['cap'],1000),1-f)
net=math.floor(x['premium']*(1-d)+Fraction(1,2))
return max(net,x['min_premium'])
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['two groups multiply', {'premium': 179834, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 51], ['driver', 'student', 40]], 'cap': 350, 'min_premium': 20000}, 147122], ['duplicate discount code', {'premium': 83536, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 350, 'min_premium': 20000}, 72676], ['duplicate code rising value', {'premium': 216432, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 300, 'min_premium': 20000}, 199377], ['cap binds', {'premium': 295817, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 221863], ['single group', {'premium': 83079, 'discounts': [['vehicle', 'abs', 45], ['vehicle', 'alarm', 25]], 'cap': 350, 'min_premium': 20000}, 77263], ['minimum premium binds', {'premium': 22100, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 300, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 114606, 'discounts': [], 'cap': 350, 'min_premium': 20000}, 114606]], [['two groups multiply', {'premium': 259533, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 52], ['driver', 'student', 40]], 'cap': 300, 'min_premium': 20000}, 212090], ['duplicate discount code', {'premium': 222796, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 350, 'min_premium': 20000}, 193833], ['duplicate code rising value', {'premium': 264635, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 300, 'min_premium': 20000}, 243782], ['cap binds', {'premium': 274466, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 205850], ['single group', {'premium': 122187, 'discounts': [['vehicle', 'abs', 48], ['vehicle', 'alarm', 51]], 'cap': 350, 'min_premium': 20000}, 110090], ['minimum premium binds', {'premium': 22200, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 300, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 67195, 'discounts': [], 'cap': 300, 'min_premium': 20000}, 67195]], [['two groups multiply', {'premium': 246480, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 53], ['driver', 'student', 40]], 'cap': 300, 'min_premium': 20000}, 201202], ['duplicate discount code', {'premium': 212077, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 350, 'min_premium': 20000}, 184507], ['duplicate code rising value', {'premium': 239143, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 300, 'min_premium': 20000}, 220299], ['cap binds', {'premium': 260788, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 195591], ['single group', {'premium': 76428, 'discounts': [['vehicle', 'abs', 25], ['vehicle', 'alarm', 25]], 'cap': 350, 'min_premium': 20000}, 72607], ['minimum premium binds', {'premium': 22300, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 350, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 231596, 'discounts': [], 'cap': 300, 'min_premium': 20000}, 231596]], [['two groups multiply', {'premium': 234855, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 54], ['driver', 'student', 40]], 'cap': 300, 'min_premium': 20000}, 191501], ['duplicate discount code', {'premium': 62000, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 300, 'min_premium': 20000}, 53940], ['duplicate code rising value', {'premium': 164924, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 350, 'min_premium': 20000}, 151928], ['cap binds', {'premium': 160428, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 120321], ['single group', {'premium': 150010, 'discounts': [['vehicle', 'abs', 53], ['vehicle', 'alarm', 34]], 'cap': 350, 'min_premium': 20000}, 136959], ['minimum premium binds', {'premium': 22400, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 350, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 64059, 'discounts': [], 'cap': 350, 'min_premium': 20000}, 64059]], [['two groups multiply', {'premium': 70322, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 55], ['driver', 'student', 40]], 'cap': 350, 'min_premium': 20000}, 57277], ['duplicate discount code', {'premium': 120452, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 300, 'min_premium': 20000}, 104793], ['duplicate code rising value', {'premium': 89846, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 350, 'min_premium': 20000}, 82766], ['cap binds', {'premium': 116342, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 87257], ['single group', {'premium': 214086, 'discounts': [['vehicle', 'abs', 20], ['vehicle', 'alarm', 44]], 'cap': 300, 'min_premium': 20000}, 200384], ['minimum premium binds', {'premium': 22500, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 350, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 211453, 'discounts': [], 'cap': 300, 'min_premium': 20000}, 211453]]]
for label, args, expected in fixtures[N-1]:
check(label, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| two groups multiply | 147122 | 147122 | Passed |
| duplicate discount code | 72676 | 72676 | Passed |
| duplicate code rising value | 199377 | 199377 | Passed |
| cap binds | 221863 | 221863 | Passed |
| single group | 77263 | 77263 | Passed |
| minimum premium binds | 20000 | 20000 | Passed |
| capped policy at minimum | 20000 | 20000 | Passed |
| no discounts | 114606 | 114606 | Passed |
SHA-256 / f98e14812180ea94dbb4d2c9ce412cfab2f5a2868e3a23cf11a4c348598344ed
Verification & scope
A deterministic bounded teaching model of a stipulated toy rating contract. Amounts are integer cents and factors exact rationals; it makes no claim of conformance with any filed rating plan, bureau manual or jurisdiction. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.
Observations recorded using Python 3.12.14 at 2026-09-29T14:47:11.455573+00:00.
Case digest / 18ce464e7e4cefeaa11f82d0547f423d96b8b937878d91812bca854cc90ce574