FA-62976 / Insurance premium rating / Open access
Square-root credibility rate indication: The complement of credibility is dropped · case 01
Thin books are pulled toward no change instead of toward the complement.
ROOT CAUSE
The (1-Z) weighted complement term is omitted.
VERIFIED REPAIR
Add (1000-Z)*complement.
Unsuccessful approach: Weighting the complement by Z instead of 1-Z gives it weight exactly where it should have none.
Case contract
Input claims n, full_standard, observed and complement changes (per mille), cap. n<0 or full<=0 -> 'invalid'. Z (per mille) = min(1000, isqrt(n*10^6 // full)). Indication = floor((Z*obs+(1000-Z)*comp)/1000+1/2), then clamped to [-cap, cap]. Return [Z, indication].
Why this case matters
Credibility weighting decides how far a rate change follows thin experience versus the complement.
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):
n=x['claims']; full=x['full_standard']
if n<0 or full<=0: return 'invalid'
z=min(1000, math.isqrt(n*1000000//full))
ind=Fraction(z*x['observed'],1000)
ind=math.floor(ind+Fraction(1,2))
cap=x['cap']
ind=max(-cap,min(cap,ind))
return [z,ind]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['partial credibility', {'claims': 468, 'full_standard': 1082, 'observed': 177, 'complement': 60, 'cap': 150}, [657, 137]], ['small volume', {'claims': 43, 'full_standard': 1082, 'observed': 77, 'complement': 53, 'cap': 150}, [199, 58]], ['above full standard', {'claims': 1951, 'full_standard': 1082, 'observed': -79, 'complement': 43, 'cap': 150}, [1000, -79]], ['exactly full standard', {'claims': 1082, 'full_standard': 1082, 'observed': 28, 'complement': 29, 'cap': 150}, [1000, 28]], ['zero claims uses complement', {'claims': 0, 'full_standard': 1082, 'observed': -82, 'complement': -23, 'cap': 150}, [0, -23]], ['capped increase', {'claims': 898, 'full_standard': 1082, 'observed': 400, 'complement': 50, 'cap': 150}, [911, 150]], ['capped decrease', {'claims': 774, 'full_standard': 1082, 'observed': -400, 'complement': -20, 'cap': 150}, [845, -150]], ['negative claims rejected', {'claims': -3, 'full_standard': 1082, 'observed': -107, 'complement': -1, 'cap': 150}, 'invalid'], ['moderate volume', {'claims': 673, 'full_standard': 1082, 'observed': 49, 'complement': -23, 'cap': 150}, [788, 34]]], [['partial credibility', {'claims': 239, 'full_standard': 1082, 'observed': -28, 'complement': -25, 'cap': 150}, [469, -26]], ['small volume', {'claims': 23, 'full_standard': 1082, 'observed': -82, 'complement': 40, 'cap': 150}, [145, 22]], ['above full standard', {'claims': 1972, 'full_standard': 1082, 'observed': 21, 'complement': 2, 'cap': 150}, [1000, 21]], ['exactly full standard', {'claims': 1082, 'full_standard': 1082, 'observed': -116, 'complement': 58, 'cap': 150}, [1000, -116]], ['zero claims uses complement', {'claims': 0, 'full_standard': 1082, 'observed': 137, 'complement': -12, 'cap': 150}, [0, -12]], ['capped increase', {'claims': 802, 'full_standard': 1082, 'observed': 400, 'complement': 50, 'cap': 150}, [860, 150]], ['capped decrease', {'claims': 894, 'full_standard': 1082, 'observed': -400, 'complement': -20, 'cap': 150}, [908, -150]], ['negative claims rejected', {'claims': -3, 'full_standard': 1082, 'observed': -45, 'complement': 36, 'cap': 150}, 'invalid'], ['moderate volume', {'claims': 317, 'full_standard': 1082, 'observed': 154, 'complement': 46, 'cap': 150}, [541, 104]]], [['partial credibility', {'claims': 431, 'full_standard': 1082, 'observed': 31, 'complement': 31, 'cap': 150}, [631, 31]], ['small volume', {'claims': 7, 'full_standard': 1082, 'observed': 142, 'complement': 9, 'cap': 150}, [80, 20]], ['above full standard', {'claims': 1564, 'full_standard': 1082, 'observed': 48, 'complement': 19, 'cap': 150}, [1000, 48]], ['exactly full standard', {'claims': 1082, 'full_standard': 1082, 'observed': -29, 'complement': -12, 'cap': 150}, [1000, -29]], ['zero claims uses complement', {'claims': 0, 'full_standard': 1082, 'observed': 136, 'complement': 56, 'cap': 150}, [0, 56]], ['capped increase', {'claims': 914, 'full_standard': 1082, 'observed': 400, 'complement': 50, 'cap': 150}, [919, 150]], ['capped decrease', {'claims': 737, 'full_standard': 1082, 'observed': -400, 'complement': -20, 'cap': 150}, [825, -150]], ['negative claims rejected', {'claims': -3, 'full_standard': 1082, 'observed': -49, 'complement': 60, 'cap': 150}, 'invalid'], ['moderate volume', {'claims': 343, 'full_standard': 1082, 'observed': -32, 'complement': 32, 'cap': 150}, [563, -4]]], [['partial credibility', {'claims': 220, 'full_standard': 1082, 'observed': 10, 'complement': 36, 'cap': 150}, [450, 24]], ['small volume', {'claims': 46, 'full_standard': 1082, 'observed': 76, 'complement': -15, 'cap': 150}, [206, 4]], ['above full standard', {'claims': 1760, 'full_standard': 1082, 'observed': -79, 'complement': -7, 'cap': 150}, [1000, -79]], ['exactly full standard', {'claims': 1082, 'full_standard': 1082, 'observed': 138, 'complement': -10, 'cap': 150}, [1000, 138]], ['zero claims uses complement', {'claims': 0, 'full_standard': 1082, 'observed': 173, 'complement': 37, 'cap': 150}, [0, 37]], ['capped increase', {'claims': 760, 'full_standard': 1082, 'observed': 400, 'complement': 50, 'cap': 150}, [838, 150]], ['capped decrease', {'claims': 990, 'full_standard': 1082, 'observed': -400, 'complement': -20, 'cap': 150}, [956, -150]], ['negative claims rejected', {'claims': -3, 'full_standard': 1082, 'observed': 78, 'complement': 46, 'cap': 150}, 'invalid'], ['moderate volume', {'claims': 268, 'full_standard': 1082, 'observed': 127, 'complement': 57, 'cap': 150}, [497, 92]]], [['partial credibility', {'claims': 185, 'full_standard': 1082, 'observed': 50, 'complement': -6, 'cap': 150}, [413, 17]], ['small volume', {'claims': 26, 'full_standard': 1082, 'observed': 115, 'complement': 36, 'cap': 150}, [155, 48]], ['above full standard', {'claims': 1435, 'full_standard': 1082, 'observed': 127, 'complement': 35, 'cap': 150}, [1000, 127]], ['exactly full standard', {'claims': 1082, 'full_standard': 1082, 'observed': -88, 'complement': 21, 'cap': 150}, [1000, -88]], ['zero claims uses complement', {'claims': 0, 'full_standard': 1082, 'observed': -119, 'complement': 7, 'cap': 150}, [0, 7]], ['capped increase', {'claims': 843, 'full_standard': 1082, 'observed': 400, 'complement': 50, 'cap': 150}, [882, 150]], ['capped decrease', {'claims': 747, 'full_standard': 1082, 'observed': -400, 'complement': -20, 'cap': 150}, [830, -150]], ['negative claims rejected', {'claims': -3, 'full_standard': 1082, 'observed': -70, 'complement': 10, 'cap': 150}, 'invalid'], ['moderate volume', {'claims': 721, 'full_standard': 1082, 'observed': -26, 'complement': 48, 'cap': 150}, [816, -12]]]]
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 |
|---|---|---|---|
| partial credibility | [657, 116] | [657, 137] | Failed |
| small volume | [199, 15] | [199, 58] | Failed |
| above full standard | [1000, -79] | [1000, -79] | Passed |
| exactly full standard | [1000, 28] | [1000, 28] | Passed |
| zero claims uses complement | [0, 0] | [0, -23] | Failed |
| capped increase | [911, 150] | [911, 150] | Passed |
| capped decrease | [845, -150] | [845, -150] | Passed |
| negative claims rejected | invalid | invalid | Passed |
| moderate volume | [788, 39] | [788, 34] | Failed |
SHA-256 / 47ff987799159e7c283d1dc483e7892d7c42a45877e7297be8394a9364c74d43
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):
n=x['claims']; full=x['full_standard']
if n<0 or full<=0: return 'invalid'
z=min(1000, math.isqrt(n*1000000//full))
ind=Fraction(z*x['observed']+z*x['complement'],1000)
ind=math.floor(ind+Fraction(1,2))
cap=x['cap']
ind=max(-cap,min(cap,ind))
return [z,ind]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['partial credibility', {'claims': 468, 'full_standard': 1082, 'observed': 177, 'complement': 60, 'cap': 150}, [657, 137]], ['small volume', {'claims': 43, 'full_standard': 1082, 'observed': 77, 'complement': 53, 'cap': 150}, [199, 58]], ['above full standard', {'claims': 1951, 'full_standard': 1082, 'observed': -79, 'complement': 43, 'cap': 150}, [1000, -79]], ['exactly full standard', {'claims': 1082, 'full_standard': 1082, 'observed': 28, 'complement': 29, 'cap': 150}, [1000, 28]], ['zero claims uses complement', {'claims': 0, 'full_standard': 1082, 'observed': -82, 'complement': -23, 'cap': 150}, [0, -23]], ['capped increase', {'claims': 898, 'full_standard': 1082, 'observed': 400, 'complement': 50, 'cap': 150}, [911, 150]], ['capped decrease', {'claims': 774, 'full_standard': 1082, 'observed': -400, 'complement': -20, 'cap': 150}, [845, -150]], ['negative claims rejected', {'claims': -3, 'full_standard': 1082, 'observed': -107, 'complement': -1, 'cap': 150}, 'invalid'], ['moderate volume', {'claims': 673, 'full_standard': 1082, 'observed': 49, 'complement': -23, 'cap': 150}, [788, 34]]], [['partial credibility', {'claims': 239, 'full_standard': 1082, 'observed': -28, 'complement': -25, 'cap': 150}, [469, -26]], ['small volume', {'claims': 23, 'full_standard': 1082, 'observed': -82, 'complement': 40, 'cap': 150}, [145, 22]], ['above full standard', {'claims': 1972, 'full_standard': 1082, 'observed': 21, 'complement': 2, 'cap': 150}, [1000, 21]], ['exactly full standard', {'claims': 1082, 'full_standard': 1082, 'observed': -116, 'complement': 58, 'cap': 150}, [1000, -116]], ['zero claims uses complement', {'claims': 0, 'full_standard': 1082, 'observed': 137, 'complement': -12, 'cap': 150}, [0, -12]], ['capped increase', {'claims': 802, 'full_standard': 1082, 'observed': 400, 'complement': 50, 'cap': 150}, [860, 150]], ['capped decrease', {'claims': 894, 'full_standard': 1082, 'observed': -400, 'complement': -20, 'cap': 150}, [908, -150]], ['negative claims rejected', {'claims': -3, 'full_standard': 1082, 'observed': -45, 'complement': 36, 'cap': 150}, 'invalid'], ['moderate volume', {'claims': 317, 'full_standard': 1082, 'observed': 154, 'complement': 46, 'cap': 150}, [541, 104]]], [['partial credibility', {'claims': 431, 'full_standard': 1082, 'observed': 31, 'complement': 31, 'cap': 150}, [631, 31]], ['small volume', {'claims': 7, 'full_standard': 1082, 'observed': 142, 'complement': 9, 'cap': 150}, [80, 20]], ['above full standard', {'claims': 1564, 'full_standard': 1082, 'observed': 48, 'complement': 19, 'cap': 150}, [1000, 48]], ['exactly full standard', {'claims': 1082, 'full_standard': 1082, 'observed': -29, 'complement': -12, 'cap': 150}, [1000, -29]], ['zero claims uses complement', {'claims': 0, 'full_standard': 1082, 'observed': 136, 'complement': 56, 'cap': 150}, [0, 56]], ['capped increase', {'claims': 914, 'full_standard': 1082, 'observed': 400, 'complement': 50, 'cap': 150}, [919, 150]], ['capped decrease', {'claims': 737, 'full_standard': 1082, 'observed': -400, 'complement': -20, 'cap': 150}, [825, -150]], ['negative claims rejected', {'claims': -3, 'full_standard': 1082, 'observed': -49, 'complement': 60, 'cap': 150}, 'invalid'], ['moderate volume', {'claims': 343, 'full_standard': 1082, 'observed': -32, 'complement': 32, 'cap': 150}, [563, -4]]], [['partial credibility', {'claims': 220, 'full_standard': 1082, 'observed': 10, 'complement': 36, 'cap': 150}, [450, 24]], ['small volume', {'claims': 46, 'full_standard': 1082, 'observed': 76, 'complement': -15, 'cap': 150}, [206, 4]], ['above full standard', {'claims': 1760, 'full_standard': 1082, 'observed': -79, 'complement': -7, 'cap': 150}, [1000, -79]], ['exactly full standard', {'claims': 1082, 'full_standard': 1082, 'observed': 138, 'complement': -10, 'cap': 150}, [1000, 138]], ['zero claims uses complement', {'claims': 0, 'full_standard': 1082, 'observed': 173, 'complement': 37, 'cap': 150}, [0, 37]], ['capped increase', {'claims': 760, 'full_standard': 1082, 'observed': 400, 'complement': 50, 'cap': 150}, [838, 150]], ['capped decrease', {'claims': 990, 'full_standard': 1082, 'observed': -400, 'complement': -20, 'cap': 150}, [956, -150]], ['negative claims rejected', {'claims': -3, 'full_standard': 1082, 'observed': 78, 'complement': 46, 'cap': 150}, 'invalid'], ['moderate volume', {'claims': 268, 'full_standard': 1082, 'observed': 127, 'complement': 57, 'cap': 150}, [497, 92]]], [['partial credibility', {'claims': 185, 'full_standard': 1082, 'observed': 50, 'complement': -6, 'cap': 150}, [413, 17]], ['small volume', {'claims': 26, 'full_standard': 1082, 'observed': 115, 'complement': 36, 'cap': 150}, [155, 48]], ['above full standard', {'claims': 1435, 'full_standard': 1082, 'observed': 127, 'complement': 35, 'cap': 150}, [1000, 127]], ['exactly full standard', {'claims': 1082, 'full_standard': 1082, 'observed': -88, 'complement': 21, 'cap': 150}, [1000, -88]], ['zero claims uses complement', {'claims': 0, 'full_standard': 1082, 'observed': -119, 'complement': 7, 'cap': 150}, [0, 7]], ['capped increase', {'claims': 843, 'full_standard': 1082, 'observed': 400, 'complement': 50, 'cap': 150}, [882, 150]], ['capped decrease', {'claims': 747, 'full_standard': 1082, 'observed': -400, 'complement': -20, 'cap': 150}, [830, -150]], ['negative claims rejected', {'claims': -3, 'full_standard': 1082, 'observed': -70, 'complement': 10, 'cap': 150}, 'invalid'], ['moderate volume', {'claims': 721, 'full_standard': 1082, 'observed': -26, 'complement': 48, 'cap': 150}, [816, -12]]]]
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 |
|---|---|---|---|
| partial credibility | [657, 150] | [657, 137] | Failed |
| small volume | [199, 26] | [199, 58] | Failed |
| above full standard | [1000, -36] | [1000, -79] | Failed |
| exactly full standard | [1000, 57] | [1000, 28] | Failed |
| zero claims uses complement | [0, 0] | [0, -23] | Failed |
| capped increase | [911, 150] | [911, 150] | Passed |
| capped decrease | [845, -150] | [845, -150] | Passed |
| negative claims rejected | invalid | invalid | Passed |
| moderate volume | [788, 20] | [788, 34] | Failed |
SHA-256 / 6fc84f028ee8fb87e49042a2c6208c98b9c3bd35d105a38c847b1962ecd4ce13
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):
n=x['claims']; full=x['full_standard']
if n<0 or full<=0: return 'invalid'
z=min(1000, math.isqrt(n*1000000//full))
ind=Fraction(z*x['observed']+(1000-z)*x['complement'],1000)
ind=math.floor(ind+Fraction(1,2))
cap=x['cap']
ind=max(-cap,min(cap,ind))
return [z,ind]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['partial credibility', {'claims': 468, 'full_standard': 1082, 'observed': 177, 'complement': 60, 'cap': 150}, [657, 137]], ['small volume', {'claims': 43, 'full_standard': 1082, 'observed': 77, 'complement': 53, 'cap': 150}, [199, 58]], ['above full standard', {'claims': 1951, 'full_standard': 1082, 'observed': -79, 'complement': 43, 'cap': 150}, [1000, -79]], ['exactly full standard', {'claims': 1082, 'full_standard': 1082, 'observed': 28, 'complement': 29, 'cap': 150}, [1000, 28]], ['zero claims uses complement', {'claims': 0, 'full_standard': 1082, 'observed': -82, 'complement': -23, 'cap': 150}, [0, -23]], ['capped increase', {'claims': 898, 'full_standard': 1082, 'observed': 400, 'complement': 50, 'cap': 150}, [911, 150]], ['capped decrease', {'claims': 774, 'full_standard': 1082, 'observed': -400, 'complement': -20, 'cap': 150}, [845, -150]], ['negative claims rejected', {'claims': -3, 'full_standard': 1082, 'observed': -107, 'complement': -1, 'cap': 150}, 'invalid'], ['moderate volume', {'claims': 673, 'full_standard': 1082, 'observed': 49, 'complement': -23, 'cap': 150}, [788, 34]]], [['partial credibility', {'claims': 239, 'full_standard': 1082, 'observed': -28, 'complement': -25, 'cap': 150}, [469, -26]], ['small volume', {'claims': 23, 'full_standard': 1082, 'observed': -82, 'complement': 40, 'cap': 150}, [145, 22]], ['above full standard', {'claims': 1972, 'full_standard': 1082, 'observed': 21, 'complement': 2, 'cap': 150}, [1000, 21]], ['exactly full standard', {'claims': 1082, 'full_standard': 1082, 'observed': -116, 'complement': 58, 'cap': 150}, [1000, -116]], ['zero claims uses complement', {'claims': 0, 'full_standard': 1082, 'observed': 137, 'complement': -12, 'cap': 150}, [0, -12]], ['capped increase', {'claims': 802, 'full_standard': 1082, 'observed': 400, 'complement': 50, 'cap': 150}, [860, 150]], ['capped decrease', {'claims': 894, 'full_standard': 1082, 'observed': -400, 'complement': -20, 'cap': 150}, [908, -150]], ['negative claims rejected', {'claims': -3, 'full_standard': 1082, 'observed': -45, 'complement': 36, 'cap': 150}, 'invalid'], ['moderate volume', {'claims': 317, 'full_standard': 1082, 'observed': 154, 'complement': 46, 'cap': 150}, [541, 104]]], [['partial credibility', {'claims': 431, 'full_standard': 1082, 'observed': 31, 'complement': 31, 'cap': 150}, [631, 31]], ['small volume', {'claims': 7, 'full_standard': 1082, 'observed': 142, 'complement': 9, 'cap': 150}, [80, 20]], ['above full standard', {'claims': 1564, 'full_standard': 1082, 'observed': 48, 'complement': 19, 'cap': 150}, [1000, 48]], ['exactly full standard', {'claims': 1082, 'full_standard': 1082, 'observed': -29, 'complement': -12, 'cap': 150}, [1000, -29]], ['zero claims uses complement', {'claims': 0, 'full_standard': 1082, 'observed': 136, 'complement': 56, 'cap': 150}, [0, 56]], ['capped increase', {'claims': 914, 'full_standard': 1082, 'observed': 400, 'complement': 50, 'cap': 150}, [919, 150]], ['capped decrease', {'claims': 737, 'full_standard': 1082, 'observed': -400, 'complement': -20, 'cap': 150}, [825, -150]], ['negative claims rejected', {'claims': -3, 'full_standard': 1082, 'observed': -49, 'complement': 60, 'cap': 150}, 'invalid'], ['moderate volume', {'claims': 343, 'full_standard': 1082, 'observed': -32, 'complement': 32, 'cap': 150}, [563, -4]]], [['partial credibility', {'claims': 220, 'full_standard': 1082, 'observed': 10, 'complement': 36, 'cap': 150}, [450, 24]], ['small volume', {'claims': 46, 'full_standard': 1082, 'observed': 76, 'complement': -15, 'cap': 150}, [206, 4]], ['above full standard', {'claims': 1760, 'full_standard': 1082, 'observed': -79, 'complement': -7, 'cap': 150}, [1000, -79]], ['exactly full standard', {'claims': 1082, 'full_standard': 1082, 'observed': 138, 'complement': -10, 'cap': 150}, [1000, 138]], ['zero claims uses complement', {'claims': 0, 'full_standard': 1082, 'observed': 173, 'complement': 37, 'cap': 150}, [0, 37]], ['capped increase', {'claims': 760, 'full_standard': 1082, 'observed': 400, 'complement': 50, 'cap': 150}, [838, 150]], ['capped decrease', {'claims': 990, 'full_standard': 1082, 'observed': -400, 'complement': -20, 'cap': 150}, [956, -150]], ['negative claims rejected', {'claims': -3, 'full_standard': 1082, 'observed': 78, 'complement': 46, 'cap': 150}, 'invalid'], ['moderate volume', {'claims': 268, 'full_standard': 1082, 'observed': 127, 'complement': 57, 'cap': 150}, [497, 92]]], [['partial credibility', {'claims': 185, 'full_standard': 1082, 'observed': 50, 'complement': -6, 'cap': 150}, [413, 17]], ['small volume', {'claims': 26, 'full_standard': 1082, 'observed': 115, 'complement': 36, 'cap': 150}, [155, 48]], ['above full standard', {'claims': 1435, 'full_standard': 1082, 'observed': 127, 'complement': 35, 'cap': 150}, [1000, 127]], ['exactly full standard', {'claims': 1082, 'full_standard': 1082, 'observed': -88, 'complement': 21, 'cap': 150}, [1000, -88]], ['zero claims uses complement', {'claims': 0, 'full_standard': 1082, 'observed': -119, 'complement': 7, 'cap': 150}, [0, 7]], ['capped increase', {'claims': 843, 'full_standard': 1082, 'observed': 400, 'complement': 50, 'cap': 150}, [882, 150]], ['capped decrease', {'claims': 747, 'full_standard': 1082, 'observed': -400, 'complement': -20, 'cap': 150}, [830, -150]], ['negative claims rejected', {'claims': -3, 'full_standard': 1082, 'observed': -70, 'complement': 10, 'cap': 150}, 'invalid'], ['moderate volume', {'claims': 721, 'full_standard': 1082, 'observed': -26, 'complement': 48, 'cap': 150}, [816, -12]]]]
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 |
|---|---|---|---|
| partial credibility | [657, 137] | [657, 137] | Passed |
| small volume | [199, 58] | [199, 58] | Passed |
| above full standard | [1000, -79] | [1000, -79] | Passed |
| exactly full standard | [1000, 28] | [1000, 28] | Passed |
| zero claims uses complement | [0, -23] | [0, -23] | Passed |
| capped increase | [911, 150] | [911, 150] | Passed |
| capped decrease | [845, -150] | [845, -150] | Passed |
| negative claims rejected | invalid | invalid | Passed |
| moderate volume | [788, 34] | [788, 34] | Passed |
SHA-256 / 956b89544f6f8fad15dd3306e7257d00d98986ba31e1d63f6d8205666a4e79bb
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:09.852702+00:00.
Case digest / fa91b6d942577578762720df9a3d4bb6ee44d424e96d9f4a0c3dd6ad465c3382