{"abstract":"A net credit raises the premium.","category":"Insurance premium rating","checks":9,"contract":"Input premium, items [[category, per mille; negative is a credit]], caps {category: max abs per mille}, max_credit, max_debit. Unknown category -> 'unknown category <name>'. Items are summed per category, each category clamped to its cap, the total clamped to [-max_credit, max_debit], and premium*(1000+total)/1000 rounded half-up. Return [total, premium].","contract_signature":"x","evaluation_group":"w2-insurance_premium_rating-schedule-rating","failed_approach":"Dividing by the modifier inverts its effect only approximately.","family":"w2-insurance_premium_rating-schedule-rating-credit-sign","id":"FA-63056","implementations":{"attempt":{"sha256":"6e2abb41deff2f257538cbe2ac80302bb26dcf0489413cfe37b69acd2b232a2b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    per={}\n    for cat,v in x['items']:\n        if cat not in x['caps']: return 'unknown category '+cat\n        per[cat]=per.get(cat,0)+v\n    tot=0\n    for cat,v in sorted(per.items()):\n        c=x['caps'][cat]\n        tot+=max(-c,min(c,v))\n    tot=max(-x['max_credit'],min(x['max_debit'],tot))\n    return [tot, math.floor(x['premium']*Fraction(1000,1000+tot)+Fraction(1,2))]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['split credits in one category', {'premium': 589010, 'items': [['management', -50], ['management', -45], ['premises', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-60, 553669]], ['category cap binds on debit', {'premium': 872720, 'items': [['equipment', 30], ['equipment', 26], ['employees', -10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [30, 898902]], ['overall credit cap binds', {'premium': 194515, 'items': [['premises', -50], ['employees', -60], ['management', -80], ['equipment', -40], ['premises', -5]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 200, 'max_debit': 150}, [-200, 155612]], ['overall debit cap binds', {'premium': 730552, 'items': [['premises', 50], ['employees', 60], ['management', 60]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 120}, [120, 818218]], ['unknown credit category', {'premium': 820316, 'items': [['weather', -20], ['premises', 10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['unknown debit category', {'premium': 179351, 'items': [['weather', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['mixed small items', {'premium': 275874, 'items': [['premises', -7], ['employees', -2], ['management', -17]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-26, 268701]], ['no items', {'premium': 289888, 'items': [], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [0, 289888]], ['credit within caps', {'premium': 802858, 'items': [['management', -31], ['employees', -7]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-38, 772349]]], [['split credits in one category', {'premium': 366527, 'items': [['management', -50], ['management', -45], ['premises', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-60, 344535]], ['category cap binds on debit', {'premium': 688814, 'items': [['equipment', 30], ['equipment', 27], ['employees', -10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [30, 709478]], ['overall credit cap binds', {'premium': 391467, 'items': [['premises', -50], ['employees', -60], ['management', -80], ['equipment', -40], ['premises', -5]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 200, 'max_debit': 150}, [-200, 313174]], ['overall debit cap binds', {'premium': 605730, 'items': [['premises', 50], ['employees', 60], ['management', 60]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 120}, [120, 678418]], ['unknown credit category', {'premium': 554487, 'items': [['weather', -20], ['premises', 10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['unknown debit category', {'premium': 377083, 'items': [['weather', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['mixed small items', {'premium': 645018, 'items': [['premises', 12], ['employees', -6], ['management', 11]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [17, 655983]], ['no items', {'premium': 197679, 'items': [], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [0, 197679]], ['credit within caps', {'premium': 746783, 'items': [['management', -30], ['employees', -7]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-37, 719152]]], [['split credits in one category', {'premium': 149318, 'items': [['management', -50], ['management', -45], ['premises', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-60, 140359]], ['category cap binds on debit', {'premium': 776580, 'items': [['equipment', 30], ['equipment', 28], ['employees', -10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [30, 799877]], ['overall credit cap binds', {'premium': 205836, 'items': [['premises', -50], ['employees', -60], ['management', -80], ['equipment', -40], ['premises', -5]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 200, 'max_debit': 150}, [-200, 164669]], ['overall debit cap binds', {'premium': 685528, 'items': [['premises', 50], ['employees', 60], ['management', 60]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 120}, [120, 767791]], ['unknown credit category', {'premium': 672687, 'items': [['weather', -20], ['premises', 10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['unknown debit category', {'premium': 231208, 'items': [['weather', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['mixed small items', {'premium': 466715, 'items': [['premises', -26], ['employees', 7], ['management', 25]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [6, 469515]], ['no items', {'premium': 280573, 'items': [], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [0, 280573]], ['credit within caps', {'premium': 847372, 'items': [['management', -15], ['employees', -5]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-20, 830425]]], [['split credits in one category', {'premium': 259668, 'items': [['management', -50], ['management', -45], ['premises', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-60, 244088]], ['category cap binds on debit', {'premium': 544757, 'items': [['equipment', 30], ['equipment', 29], ['employees', -10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [30, 561100]], ['overall credit cap binds', {'premium': 105294, 'items': [['premises', -50], ['employees', -60], ['management', -80], ['equipment', -40], ['premises', -5]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 200, 'max_debit': 150}, [-200, 84235]], ['overall debit cap binds', {'premium': 228463, 'items': [['premises', 50], ['employees', 60], ['management', 60]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 120}, [120, 255879]], ['unknown credit category', {'premium': 336609, 'items': [['weather', -20], ['premises', 10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['unknown debit category', {'premium': 528562, 'items': [['weather', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['mixed small items', {'premium': 111054, 'items': [['premises', -5], ['employees', -3], ['management', -26]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-34, 107278]], ['no items', {'premium': 432026, 'items': [], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [0, 432026]], ['credit within caps', {'premium': 578818, 'items': [['management', -23], ['employees', -10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-33, 559717]]], [['split credits in one category', {'premium': 838683, 'items': [['management', -50], ['management', -45], ['premises', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-60, 788362]], ['category cap binds on debit', {'premium': 190937, 'items': [['equipment', 30], ['equipment', 30], ['employees', -10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [30, 196665]], ['overall credit cap binds', {'premium': 878341, 'items': [['premises', -50], ['employees', -60], ['management', -80], ['equipment', -40], ['premises', -5]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 200, 'max_debit': 150}, [-200, 702673]], ['overall debit cap binds', {'premium': 467322, 'items': [['premises', 50], ['employees', 60], ['management', 60]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 120}, [120, 523401]], ['unknown credit category', {'premium': 352112, 'items': [['weather', -20], ['premises', 10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['unknown debit category', {'premium': 280978, 'items': [['weather', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['mixed small items', {'premium': 150014, 'items': [['premises', 12], ['employees', -23], ['management', 12]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [1, 150164]], ['no items', {'premium': 788931, 'items': [], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [0, 788931]], ['credit within caps', {'premium': 263345, 'items': [['management', -19], ['employees', -17]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-36, 253865]]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"c90e17f5beb90c9bbf212eb622f9520102f33642a95d579bac39c39eb0e22ce5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    per={}\n    for cat,v in x['items']:\n        if cat not in x['caps']: return 'unknown category '+cat\n        per[cat]=per.get(cat,0)+v\n    tot=0\n    for cat,v in sorted(per.items()):\n        c=x['caps'][cat]\n        tot+=max(-c,min(c,v))\n    tot=max(-x['max_credit'],min(x['max_debit'],tot))\n    return [tot, math.floor(x['premium']*Fraction(1000-tot,1000)+Fraction(1,2))]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['split credits in one category', {'premium': 589010, 'items': [['management', -50], ['management', -45], ['premises', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-60, 553669]], ['category cap binds on debit', {'premium': 872720, 'items': [['equipment', 30], ['equipment', 26], ['employees', -10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [30, 898902]], ['overall credit cap binds', {'premium': 194515, 'items': [['premises', -50], ['employees', -60], ['management', -80], ['equipment', -40], ['premises', -5]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 200, 'max_debit': 150}, [-200, 155612]], ['overall debit cap binds', {'premium': 730552, 'items': [['premises', 50], ['employees', 60], ['management', 60]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 120}, [120, 818218]], ['unknown credit category', {'premium': 820316, 'items': [['weather', -20], ['premises', 10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['unknown debit category', {'premium': 179351, 'items': [['weather', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['mixed small items', {'premium': 275874, 'items': [['premises', -7], ['employees', -2], ['management', -17]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-26, 268701]], ['no items', {'premium': 289888, 'items': [], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [0, 289888]], ['credit within caps', {'premium': 802858, 'items': [['management', -31], ['employees', -7]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-38, 772349]]], [['split credits in one category', {'premium': 366527, 'items': [['management', -50], ['management', -45], ['premises', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-60, 344535]], ['category cap binds on debit', {'premium': 688814, 'items': [['equipment', 30], ['equipment', 27], ['employees', -10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [30, 709478]], ['overall credit cap binds', {'premium': 391467, 'items': [['premises', -50], ['employees', -60], ['management', -80], ['equipment', -40], ['premises', -5]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 200, 'max_debit': 150}, [-200, 313174]], ['overall debit cap binds', {'premium': 605730, 'items': [['premises', 50], ['employees', 60], ['management', 60]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 120}, [120, 678418]], ['unknown credit category', {'premium': 554487, 'items': [['weather', -20], ['premises', 10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['unknown debit category', {'premium': 377083, 'items': [['weather', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['mixed small items', {'premium': 645018, 'items': [['premises', 12], ['employees', -6], ['management', 11]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [17, 655983]], ['no items', {'premium': 197679, 'items': [], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [0, 197679]], ['credit within caps', {'premium': 746783, 'items': [['management', -30], ['employees', -7]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-37, 719152]]], [['split credits in one category', {'premium': 149318, 'items': [['management', -50], ['management', -45], ['premises', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-60, 140359]], ['category cap binds on debit', {'premium': 776580, 'items': [['equipment', 30], ['equipment', 28], ['employees', -10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [30, 799877]], ['overall credit cap binds', {'premium': 205836, 'items': [['premises', -50], ['employees', -60], ['management', -80], ['equipment', -40], ['premises', -5]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 200, 'max_debit': 150}, [-200, 164669]], ['overall debit cap binds', {'premium': 685528, 'items': [['premises', 50], ['employees', 60], ['management', 60]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 120}, [120, 767791]], ['unknown credit category', {'premium': 672687, 'items': [['weather', -20], ['premises', 10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['unknown debit category', {'premium': 231208, 'items': [['weather', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['mixed small items', {'premium': 466715, 'items': [['premises', -26], ['employees', 7], ['management', 25]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [6, 469515]], ['no items', {'premium': 280573, 'items': [], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [0, 280573]], ['credit within caps', {'premium': 847372, 'items': [['management', -15], ['employees', -5]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-20, 830425]]], [['split credits in one category', {'premium': 259668, 'items': [['management', -50], ['management', -45], ['premises', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-60, 244088]], ['category cap binds on debit', {'premium': 544757, 'items': [['equipment', 30], ['equipment', 29], ['employees', -10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [30, 561100]], ['overall credit cap binds', {'premium': 105294, 'items': [['premises', -50], ['employees', -60], ['management', -80], ['equipment', -40], ['premises', -5]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 200, 'max_debit': 150}, [-200, 84235]], ['overall debit cap binds', {'premium': 228463, 'items': [['premises', 50], ['employees', 60], ['management', 60]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 120}, [120, 255879]], ['unknown credit category', {'premium': 336609, 'items': [['weather', -20], ['premises', 10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['unknown debit category', {'premium': 528562, 'items': [['weather', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['mixed small items', {'premium': 111054, 'items': [['premises', -5], ['employees', -3], ['management', -26]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-34, 107278]], ['no items', {'premium': 432026, 'items': [], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [0, 432026]], ['credit within caps', {'premium': 578818, 'items': [['management', -23], ['employees', -10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-33, 559717]]], [['split credits in one category', {'premium': 838683, 'items': [['management', -50], ['management', -45], ['premises', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-60, 788362]], ['category cap binds on debit', {'premium': 190937, 'items': [['equipment', 30], ['equipment', 30], ['employees', -10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [30, 196665]], ['overall credit cap binds', {'premium': 878341, 'items': [['premises', -50], ['employees', -60], ['management', -80], ['equipment', -40], ['premises', -5]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 200, 'max_debit': 150}, [-200, 702673]], ['overall debit cap binds', {'premium': 467322, 'items': [['premises', 50], ['employees', 60], ['management', 60]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 120}, [120, 523401]], ['unknown credit category', {'premium': 352112, 'items': [['weather', -20], ['premises', 10]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['unknown debit category', {'premium': 280978, 'items': [['weather', 20]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, 'unknown category weather'], ['mixed small items', {'premium': 150014, 'items': [['premises', 12], ['employees', -23], ['management', 12]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [1, 150164]], ['no items', {'premium': 788931, 'items': [], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [0, 788931]], ['credit within caps', {'premium': 263345, 'items': [['management', -19], ['employees', -17]], 'caps': {'premises': 50, 'employees': 60, 'management': 80, 'equipment': 40}, 'max_credit': 250, 'max_debit': 150}, [-36, 253865]]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-insurance_premium_rating-schedule-rating-credit-sign","generated_at":"2026-09-29T14:47:10.783225+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Premium rating engines apply ordered tabular rules where one misplaced boundary or step silently misprices policies.","root_cause":"The schedule modifier subtracts a signed total whose sign already encodes credit versus debit.","sha256":"14d5bbe393d11ee27eb31fcce41ac915652130aa4b932e9085c29165644aad4f","title":"Schedule rating credits and debits: Credits are applied as surcharges · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":41.386,"exit_code":1,"observations":[{"actual":[-60,626606],"check":"split credits in one category","expected":[-60,553669],"passed":false},{"actual":[30,847301],"check":"category cap binds on debit","expected":[30,898902],"passed":false},{"actual":[-200,243144],"check":"overall credit cap binds","expected":[-200,155612],"passed":false},{"actual":[120,652279],"check":"overall debit cap binds","expected":[120,818218],"passed":false},{"actual":"unknown category weather","check":"unknown credit category","expected":"unknown category weather","passed":true},{"actual":"unknown category weather","check":"unknown debit category","expected":"unknown category weather","passed":true},{"actual":[-26,283238],"check":"mixed small items","expected":[-26,268701],"passed":false},{"actual":[0,289888],"check":"no items","expected":[0,289888],"passed":true},{"actual":[-38,834572],"check":"credit within caps","expected":[-38,772349],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"split credits in one category\", \"actual\": [-60, 626606], \"expected\": [-60, 553669], \"passed\": false}, {\"check\": \"category cap binds on debit\", \"actual\": [30, 847301], \"expected\": [30, 898902], \"passed\": false}, {\"check\": \"overall credit cap binds\", \"actual\": [-200, 243144], \"expected\": [-200, 155612], \"passed\": false}, {\"check\": \"overall debit cap binds\", \"actual\": [120, 652279], \"expected\": [120, 818218], \"passed\": false}, {\"check\": \"unknown credit category\", \"actual\": \"unknown category weather\", \"expected\": \"unknown category weather\", \"passed\": true}, {\"check\": \"unknown debit category\", \"actual\": \"unknown category weather\", \"expected\": \"unknown category weather\", \"passed\": true}, {\"check\": \"mixed small items\", \"actual\": [-26, 283238], \"expected\": [-26, 268701], \"passed\": false}, {\"check\": \"no items\", \"actual\": [0, 289888], \"expected\": [0, 289888], \"passed\": true}, {\"check\": \"credit within caps\", \"actual\": [-38, 834572], \"expected\": [-38, 772349], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.865,"exit_code":1,"observations":[{"actual":[-60,624351],"check":"split credits in one category","expected":[-60,553669],"passed":false},{"actual":[30,846538],"check":"category cap binds on debit","expected":[30,898902],"passed":false},{"actual":[-200,233418],"check":"overall credit cap binds","expected":[-200,155612],"passed":false},{"actual":[120,642886],"check":"overall debit cap binds","expected":[120,818218],"passed":false},{"actual":"unknown category weather","check":"unknown credit category","expected":"unknown category weather","passed":true},{"actual":"unknown category weather","check":"unknown debit category","expected":"unknown category weather","passed":true},{"actual":[-26,283047],"check":"mixed small items","expected":[-26,268701],"passed":false},{"actual":[0,289888],"check":"no items","expected":[0,289888],"passed":true},{"actual":[-38,833367],"check":"credit within caps","expected":[-38,772349],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"split credits in one category\", \"actual\": [-60, 624351], \"expected\": [-60, 553669], \"passed\": false}, {\"check\": \"category cap binds on debit\", \"actual\": [30, 846538], \"expected\": [30, 898902], \"passed\": false}, {\"check\": \"overall credit cap binds\", \"actual\": [-200, 233418], \"expected\": [-200, 155612], \"passed\": false}, {\"check\": \"overall debit cap binds\", \"actual\": [120, 642886], \"expected\": [120, 818218], \"passed\": false}, {\"check\": \"unknown credit category\", \"actual\": \"unknown category weather\", \"expected\": \"unknown category weather\", \"passed\": true}, {\"check\": \"unknown debit category\", \"actual\": \"unknown category weather\", \"expected\": \"unknown category weather\", \"passed\": true}, {\"check\": \"mixed small items\", \"actual\": [-26, 283047], \"expected\": [-26, 268701], \"passed\": false}, {\"check\": \"no items\", \"actual\": [0, 289888], \"expected\": [0, 289888], \"passed\": true}, {\"check\": \"credit within caps\", \"actual\": [-38, 833367], \"expected\": [-38, 772349], \"passed\": false}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}