{"abstract":"Discounted repairs are a copper cheaper than the ceiling rule.","category":"Game economy crafting balance","checks":8,"contract":"Per item cost = max(0, max-dur) * (ilvl//4 + 1) copper. Discount percentages stack multiplicatively on the exact total; the result is rounded up once to copper. Return [gold, silver, copper] with 100 copper per silver and 100 silver per gold.","contract_signature":"items, discounts","evaluation_group":"w2-game-economy-crafting-balance-repair-bill","failed_approach":"Banker rounding still rounds fractional copper down below one half.","family":"w2-game-economy-crafting-balance-repair-bill-final-rounding","id":"FA-86016","implementations":{"attempt":{"sha256":"19faa68bc862debeb205014e845528acde8d2277993fcf817604608e1f0f40ee","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(items, discounts):\n    total = 0\n    for it in items:\n        missing = max(0, it['max'] - it['dur'])\n        total += missing * (it['ilvl'] // 4 + 1)\n    price = Fraction(total)\n    for pct in discounts:\n        price = price * (100 - pct) / 100\n    cost = round(price)\n    return [cost // 10000, cost // 100 % 100, cost % 100]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('two stacked discounts #1', [[{'ilvl': 100, 'dur': 0, 'max': 120}], [10, 20]], [0, 22, 47]),\n  ('fault site final rounding #1',\n   [[{'ilvl': 1, 'dur': 120, 'max': 120},\n     {'ilvl': 4, 'dur': 84, 'max': 100},\n     {'ilvl': 3, 'dur': 40, 'max': 40},\n     {'ilvl': 3, 'dur': 0, 'max': 120}],\n    [10, 33]],\n   [0, 0, 92]),\n  ('fault site final rounding #2',\n   [[{'ilvl': 69, 'dur': 5, 'max': 40},\n     {'ilvl': 3, 'dur': 49, 'max': 120},\n     {'ilvl': 139, 'dur': 63, 'max': 60}],\n    [15]],\n   [0, 5, 96]),\n  ('regression final rounding #1',\n   [[{'ilvl': 113, 'dur': 4, 'max': 40},\n     {'ilvl': 84, 'dur': 100, 'max': 100},\n     {'ilvl': 276, 'dur': 62, 'max': 100},\n     {'ilvl': 4, 'dur': 0, 'max': 120}],\n    [33]],\n   [0, 26, 43]),\n  ('regression final rounding #2',\n   [[{'ilvl': 1, 'dur': 47, 'max': 60},\n     {'ilvl': 3, 'dur': 97, 'max': 120},\n     {'ilvl': 4, 'dur': 103, 'max': 100}],\n    [10]],\n   [0, 0, 33]),\n  ('over-repaired piece #1',\n   [[{'ilvl': 20, 'dur': 105, 'max': 100}, {'ilvl': 20, 'dur': 90, 'max': 100}], []],\n   [0, 0, 60]),\n  ('nothing to repair #1', [[], [15]], [0, 0, 0]),\n  ('control #1', [[{'ilvl': 7, 'dur': 40, 'max': 40}], [20]], [0, 0, 0])],\n [('two stacked discounts #1', [[{'ilvl': 100, 'dur': 0, 'max': 120}], [10, 20]], [0, 22, 47]),\n  ('fault site final rounding #1',\n   [[{'ilvl': 69, 'dur': 5, 'max': 40},\n     {'ilvl': 3, 'dur': 49, 'max': 120},\n     {'ilvl': 139, 'dur': 63, 'max': 60}],\n    [15]],\n   [0, 5, 96]),\n  ('regression final rounding #1',\n   [[{'ilvl': 113, 'dur': 4, 'max': 40},\n     {'ilvl': 84, 'dur': 100, 'max': 100},\n     {'ilvl': 276, 'dur': 62, 'max': 100},\n     {'ilvl': 4, 'dur': 0, 'max': 120}],\n    [33]],\n   [0, 26, 43]),\n  ('regression final rounding #2',\n   [[{'ilvl': 1, 'dur': 47, 'max': 60},\n     {'ilvl': 3, 'dur': 97, 'max': 120},\n     {'ilvl': 4, 'dur': 103, 'max': 100}],\n    [10]],\n   [0, 0, 33]),\n  ('regression final rounding #3',\n   [[{'ilvl': 4, 'dur': 29, 'max': 100}, {'ilvl': 7, 'dur': 0, 'max': 100}], [20, 10]],\n   [0, 2, 47]),\n  ('over-repaired piece #1',\n   [[{'ilvl': 20, 'dur': 105, 'max': 100}, {'ilvl': 20, 'dur': 90, 'max': 100}], []],\n   [0, 0, 60]),\n  ('nothing to repair #1', [[], [15]], [0, 0, 0]),\n  ('control #1', [[{'ilvl': 7, 'dur': 40, 'max': 40}], [20]], [0, 0, 0])],\n [('two stacked discounts #1', [[{'ilvl': 100, 'dur': 0, 'max': 120}], [10, 20]], [0, 22, 47]),\n  ('regression final rounding #1',\n   [[{'ilvl': 1, 'dur': 47, 'max': 60},\n     {'ilvl': 3, 'dur': 97, 'max': 120},\n     {'ilvl': 4, 'dur': 103, 'max': 100}],\n    [10]],\n   [0, 0, 33]),\n  ('fault site final rounding #1',\n   [[{'ilvl': 377, 'dur': 103, 'max': 100},\n     {'ilvl': 1, 'dur': 0, 'max': 100},\n     {'ilvl': 1, 'dur': 5, 'max': 60}],\n    [15, 10]],\n   [0, 1, 19]),\n  ('regression final rounding #2', [[{'ilvl': 1, 'dur': 89, 'max': 100}], [33]], [0, 0, 8]),\n  ('regression final rounding #3',\n   [[{'ilvl': 1, 'dur': 69, 'max': 120},\n     {'ilvl': 254, 'dur': 20, 'max': 60},\n     {'ilvl': 7, 'dur': 0, 'max': 120},\n     {'ilvl': 1, 'dur': 103, 'max': 100}],\n    [33]],\n   [0, 19, 11]),\n  ('over-repaired piece #1',\n   [[{'ilvl': 20, 'dur': 105, 'max': 100}, {'ilvl': 20, 'dur': 90, 'max': 100}], []],\n   [0, 0, 60]),\n  ('nothing to repair #1', [[], [15]], [0, 0, 0]),\n  ('control #1', [[{'ilvl': 7, 'dur': 40, 'max': 40}], [20]], [0, 0, 0])],\n [('two stacked discounts #1', [[{'ilvl': 100, 'dur': 0, 'max': 120}], [10, 20]], [0, 22, 47]),\n  ('regression final rounding #1',\n   [[{'ilvl': 4, 'dur': 29, 'max': 100}, {'ilvl': 7, 'dur': 0, 'max': 100}], [20, 10]],\n   [0, 2, 47]),\n  ('regression final rounding #2', [[{'ilvl': 1, 'dur': 89, 'max': 100}], [33]], [0, 0, 8]),\n  ('regression final rounding #3',\n   [[{'ilvl': 8, 'dur': 0, 'max': 120}, {'ilvl': 4, 'dur': 63, 'max': 60}, {'ilvl': 7, 'dur': 60, 'max': 60}],\n    [10, 33]],\n   [0, 2, 18]),\n  ('regression final rounding #4',\n   [[{'ilvl': 7, 'dur': 44, 'max': 120}, {'ilvl': 8, 'dur': 60, 'max': 60}], [5, 15, 10]],\n   [0, 1, 11]),\n  ('over-repaired piece #1',\n   [[{'ilvl': 20, 'dur': 105, 'max': 100}, {'ilvl': 20, 'dur': 90, 'max': 100}], []],\n   [0, 0, 60]),\n  ('nothing to repair #1', [[], [15]], [0, 0, 0]),\n  ('control #1',\n   [[{'ilvl': 4, 'dur': 63, 'max': 60},\n     {'ilvl': 130, 'dur': 63, 'max': 60},\n     {'ilvl': 3, 'dur': 60, 'max': 60}],\n    [25, 25]],\n   [0, 0, 0])],\n [('two stacked discounts #1', [[{'ilvl': 100, 'dur': 0, 'max': 120}], [10, 20]], [0, 22, 47]),\n  ('fault site final rounding #1',\n   [[{'ilvl': 8, 'dur': 43, 'max': 40},\n     {'ilvl': 7, 'dur': 0, 'max': 40},\n     {'ilvl': 316, 'dur': 123, 'max': 120}],\n    [15, 25, 10]],\n   [0, 0, 46]),\n  ('fault site final rounding #2',\n   [[{'ilvl': 7, 'dur': 100, 'max': 100},\n     {'ilvl': 1, 'dur': 37, 'max': 40},\n     {'ilvl': 7, 'dur': 103, 'max': 100}],\n    [25, 15]],\n   [0, 0, 2]),\n  ('regression final rounding #1',\n   [[{'ilvl': 7, 'dur': 0, 'max': 100}, {'ilvl': 4, 'dur': 44, 'max': 60}], [20, 20]],\n   [0, 1, 49]),\n  ('regression final rounding #2',\n   [[{'ilvl': 8, 'dur': 120, 'max': 120},\n     {'ilvl': 1, 'dur': 0, 'max': 100},\n     {'ilvl': 8, 'dur': 16, 'max': 40},\n     {'ilvl': 1, 'dur': 120, 'max': 120}],\n    [5, 25, 20]],\n   [0, 0, 99]),\n  ('over-repaired piece #1',\n   [[{'ilvl': 20, 'dur': 105, 'max': 100}, {'ilvl': 20, 'dur': 90, 'max': 100}], []],\n   [0, 0, 60]),\n  ('nothing to repair #1', [[], [15]], [0, 0, 0]),\n  ('control #1', [[{'ilvl': 111, 'dur': 123, 'max': 120}], []], [0, 0, 0])]]\nfor label, args, expected in cases[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":"d6c23dec836798b6a95149152d39adc44a57a28699298375ea9b1026099e01be","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(items, discounts):\n    total = 0\n    for it in items:\n        missing = max(0, it['max'] - it['dur'])\n        total += missing * (it['ilvl'] // 4 + 1)\n    price = Fraction(total)\n    for pct in discounts:\n        price = price * (100 - pct) / 100\n    cost = int(price)\n    return [cost // 10000, cost // 100 % 100, cost % 100]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('two stacked discounts #1', [[{'ilvl': 100, 'dur': 0, 'max': 120}], [10, 20]], [0, 22, 47]),\n  ('fault site final rounding #1',\n   [[{'ilvl': 1, 'dur': 120, 'max': 120},\n     {'ilvl': 4, 'dur': 84, 'max': 100},\n     {'ilvl': 3, 'dur': 40, 'max': 40},\n     {'ilvl': 3, 'dur': 0, 'max': 120}],\n    [10, 33]],\n   [0, 0, 92]),\n  ('fault site final rounding #2',\n   [[{'ilvl': 69, 'dur': 5, 'max': 40},\n     {'ilvl': 3, 'dur': 49, 'max': 120},\n     {'ilvl': 139, 'dur': 63, 'max': 60}],\n    [15]],\n   [0, 5, 96]),\n  ('regression final rounding #1',\n   [[{'ilvl': 113, 'dur': 4, 'max': 40},\n     {'ilvl': 84, 'dur': 100, 'max': 100},\n     {'ilvl': 276, 'dur': 62, 'max': 100},\n     {'ilvl': 4, 'dur': 0, 'max': 120}],\n    [33]],\n   [0, 26, 43]),\n  ('regression final rounding #2',\n   [[{'ilvl': 1, 'dur': 47, 'max': 60},\n     {'ilvl': 3, 'dur': 97, 'max': 120},\n     {'ilvl': 4, 'dur': 103, 'max': 100}],\n    [10]],\n   [0, 0, 33]),\n  ('over-repaired piece #1',\n   [[{'ilvl': 20, 'dur': 105, 'max': 100}, {'ilvl': 20, 'dur': 90, 'max': 100}], []],\n   [0, 0, 60]),\n  ('nothing to repair #1', [[], [15]], [0, 0, 0]),\n  ('control #1', [[{'ilvl': 7, 'dur': 40, 'max': 40}], [20]], [0, 0, 0])],\n [('two stacked discounts #1', [[{'ilvl': 100, 'dur': 0, 'max': 120}], [10, 20]], [0, 22, 47]),\n  ('fault site final rounding #1',\n   [[{'ilvl': 69, 'dur': 5, 'max': 40},\n     {'ilvl': 3, 'dur': 49, 'max': 120},\n     {'ilvl': 139, 'dur': 63, 'max': 60}],\n    [15]],\n   [0, 5, 96]),\n  ('regression final rounding #1',\n   [[{'ilvl': 113, 'dur': 4, 'max': 40},\n     {'ilvl': 84, 'dur': 100, 'max': 100},\n     {'ilvl': 276, 'dur': 62, 'max': 100},\n     {'ilvl': 4, 'dur': 0, 'max': 120}],\n    [33]],\n   [0, 26, 43]),\n  ('regression final rounding #2',\n   [[{'ilvl': 1, 'dur': 47, 'max': 60},\n     {'ilvl': 3, 'dur': 97, 'max': 120},\n     {'ilvl': 4, 'dur': 103, 'max': 100}],\n    [10]],\n   [0, 0, 33]),\n  ('regression final rounding #3',\n   [[{'ilvl': 4, 'dur': 29, 'max': 100}, {'ilvl': 7, 'dur': 0, 'max': 100}], [20, 10]],\n   [0, 2, 47]),\n  ('over-repaired piece #1',\n   [[{'ilvl': 20, 'dur': 105, 'max': 100}, {'ilvl': 20, 'dur': 90, 'max': 100}], []],\n   [0, 0, 60]),\n  ('nothing to repair #1', [[], [15]], [0, 0, 0]),\n  ('control #1', [[{'ilvl': 7, 'dur': 40, 'max': 40}], [20]], [0, 0, 0])],\n [('two stacked discounts #1', [[{'ilvl': 100, 'dur': 0, 'max': 120}], [10, 20]], [0, 22, 47]),\n  ('regression final rounding #1',\n   [[{'ilvl': 1, 'dur': 47, 'max': 60},\n     {'ilvl': 3, 'dur': 97, 'max': 120},\n     {'ilvl': 4, 'dur': 103, 'max': 100}],\n    [10]],\n   [0, 0, 33]),\n  ('fault site final rounding #1',\n   [[{'ilvl': 377, 'dur': 103, 'max': 100},\n     {'ilvl': 1, 'dur': 0, 'max': 100},\n     {'ilvl': 1, 'dur': 5, 'max': 60}],\n    [15, 10]],\n   [0, 1, 19]),\n  ('regression final rounding #2', [[{'ilvl': 1, 'dur': 89, 'max': 100}], [33]], [0, 0, 8]),\n  ('regression final rounding #3',\n   [[{'ilvl': 1, 'dur': 69, 'max': 120},\n     {'ilvl': 254, 'dur': 20, 'max': 60},\n     {'ilvl': 7, 'dur': 0, 'max': 120},\n     {'ilvl': 1, 'dur': 103, 'max': 100}],\n    [33]],\n   [0, 19, 11]),\n  ('over-repaired piece #1',\n   [[{'ilvl': 20, 'dur': 105, 'max': 100}, {'ilvl': 20, 'dur': 90, 'max': 100}], []],\n   [0, 0, 60]),\n  ('nothing to repair #1', [[], [15]], [0, 0, 0]),\n  ('control #1', [[{'ilvl': 7, 'dur': 40, 'max': 40}], [20]], [0, 0, 0])],\n [('two stacked discounts #1', [[{'ilvl': 100, 'dur': 0, 'max': 120}], [10, 20]], [0, 22, 47]),\n  ('regression final rounding #1',\n   [[{'ilvl': 4, 'dur': 29, 'max': 100}, {'ilvl': 7, 'dur': 0, 'max': 100}], [20, 10]],\n   [0, 2, 47]),\n  ('regression final rounding #2', [[{'ilvl': 1, 'dur': 89, 'max': 100}], [33]], [0, 0, 8]),\n  ('regression final rounding #3',\n   [[{'ilvl': 8, 'dur': 0, 'max': 120}, {'ilvl': 4, 'dur': 63, 'max': 60}, {'ilvl': 7, 'dur': 60, 'max': 60}],\n    [10, 33]],\n   [0, 2, 18]),\n  ('regression final rounding #4',\n   [[{'ilvl': 7, 'dur': 44, 'max': 120}, {'ilvl': 8, 'dur': 60, 'max': 60}], [5, 15, 10]],\n   [0, 1, 11]),\n  ('over-repaired piece #1',\n   [[{'ilvl': 20, 'dur': 105, 'max': 100}, {'ilvl': 20, 'dur': 90, 'max': 100}], []],\n   [0, 0, 60]),\n  ('nothing to repair #1', [[], [15]], [0, 0, 0]),\n  ('control #1',\n   [[{'ilvl': 4, 'dur': 63, 'max': 60},\n     {'ilvl': 130, 'dur': 63, 'max': 60},\n     {'ilvl': 3, 'dur': 60, 'max': 60}],\n    [25, 25]],\n   [0, 0, 0])],\n [('two stacked discounts #1', [[{'ilvl': 100, 'dur': 0, 'max': 120}], [10, 20]], [0, 22, 47]),\n  ('fault site final rounding #1',\n   [[{'ilvl': 8, 'dur': 43, 'max': 40},\n     {'ilvl': 7, 'dur': 0, 'max': 40},\n     {'ilvl': 316, 'dur': 123, 'max': 120}],\n    [15, 25, 10]],\n   [0, 0, 46]),\n  ('fault site final rounding #2',\n   [[{'ilvl': 7, 'dur': 100, 'max': 100},\n     {'ilvl': 1, 'dur': 37, 'max': 40},\n     {'ilvl': 7, 'dur': 103, 'max': 100}],\n    [25, 15]],\n   [0, 0, 2]),\n  ('regression final rounding #1',\n   [[{'ilvl': 7, 'dur': 0, 'max': 100}, {'ilvl': 4, 'dur': 44, 'max': 60}], [20, 20]],\n   [0, 1, 49]),\n  ('regression final rounding #2',\n   [[{'ilvl': 8, 'dur': 120, 'max': 120},\n     {'ilvl': 1, 'dur': 0, 'max': 100},\n     {'ilvl': 8, 'dur': 16, 'max': 40},\n     {'ilvl': 1, 'dur': 120, 'max': 120}],\n    [5, 25, 20]],\n   [0, 0, 99]),\n  ('over-repaired piece #1',\n   [[{'ilvl': 20, 'dur': 105, 'max': 100}, {'ilvl': 20, 'dur': 90, 'max': 100}], []],\n   [0, 0, 60]),\n  ('nothing to repair #1', [[], [15]], [0, 0, 0]),\n  ('control #1', [[{'ilvl': 111, 'dur': 123, 'max': 120}], []], [0, 0, 0])]]\nfor label, args, expected in cases[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":"Deterministic toy contract stipulated for this model; integer or exact arithmetic only, not a reproduction of any specific game engine. 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-game-economy-crafting-balance-repair-bill-final-rounding","generated_at":"2026-09-29T14:50:45.671654+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Game economies leak or destroy currency when one crafting or pricing rule is off by one boundary, rounding stage or state update; the defect is observable in exact integer outcomes.","root_cause":"The final price is truncated instead of rounded up.","sha256":"0a531307fc23bcb917e18e602be2751a3cfa0114d19df56dbcebefeef8fc8fb1","title":"Repair bill: Discounted bill truncates fractional copper · 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":43.432,"exit_code":1,"observations":[{"actual":[0,22,46],"check":"two stacked discounts #1","expected":[0,22,47],"passed":false},{"actual":[0,0,92],"check":"fault site final rounding #1","expected":[0,0,92],"passed":true},{"actual":[0,5,96],"check":"fault site final rounding #2","expected":[0,5,96],"passed":true},{"actual":[0,26,42],"check":"regression final rounding #1","expected":[0,26,43],"passed":false},{"actual":[0,0,32],"check":"regression final rounding #2","expected":[0,0,33],"passed":false},{"actual":[0,0,60],"check":"over-repaired piece #1","expected":[0,0,60],"passed":true},{"actual":[0,0,0],"check":"nothing to repair #1","expected":[0,0,0],"passed":true},{"actual":[0,0,0],"check":"control #1","expected":[0,0,0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"two stacked discounts #1\", \"actual\": [0, 22, 46], \"expected\": [0, 22, 47], \"passed\": false}, {\"check\": \"fault site final rounding #1\", \"actual\": [0, 0, 92], \"expected\": [0, 0, 92], \"passed\": true}, {\"check\": \"fault site final rounding #2\", \"actual\": [0, 5, 96], \"expected\": [0, 5, 96], \"passed\": true}, {\"check\": \"regression final rounding #1\", \"actual\": [0, 26, 42], \"expected\": [0, 26, 43], \"passed\": false}, {\"check\": \"regression final rounding #2\", \"actual\": [0, 0, 32], \"expected\": [0, 0, 33], \"passed\": false}, {\"check\": \"over-repaired piece #1\", \"actual\": [0, 0, 60], \"expected\": [0, 0, 60], \"passed\": true}, {\"check\": \"nothing to repair #1\", \"actual\": [0, 0, 0], \"expected\": [0, 0, 0], \"passed\": true}, {\"check\": \"control #1\", \"actual\": [0, 0, 0], \"expected\": [0, 0, 0], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.745,"exit_code":1,"observations":[{"actual":[0,22,46],"check":"two stacked discounts #1","expected":[0,22,47],"passed":false},{"actual":[0,0,91],"check":"fault site final rounding #1","expected":[0,0,92],"passed":false},{"actual":[0,5,95],"check":"fault site final rounding #2","expected":[0,5,96],"passed":false},{"actual":[0,26,42],"check":"regression final rounding #1","expected":[0,26,43],"passed":false},{"actual":[0,0,32],"check":"regression final rounding #2","expected":[0,0,33],"passed":false},{"actual":[0,0,60],"check":"over-repaired piece #1","expected":[0,0,60],"passed":true},{"actual":[0,0,0],"check":"nothing to repair #1","expected":[0,0,0],"passed":true},{"actual":[0,0,0],"check":"control #1","expected":[0,0,0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"two stacked discounts #1\", \"actual\": [0, 22, 46], \"expected\": [0, 22, 47], \"passed\": false}, {\"check\": \"fault site final rounding #1\", \"actual\": [0, 0, 91], \"expected\": [0, 0, 92], \"passed\": false}, {\"check\": \"fault site final rounding #2\", \"actual\": [0, 5, 95], \"expected\": [0, 5, 96], \"passed\": false}, {\"check\": \"regression final rounding #1\", \"actual\": [0, 26, 42], \"expected\": [0, 26, 43], \"passed\": false}, {\"check\": \"regression final rounding #2\", \"actual\": [0, 0, 32], \"expected\": [0, 0, 33], \"passed\": false}, {\"check\": \"over-repaired piece #1\", \"actual\": [0, 0, 60], \"expected\": [0, 0, 60], \"passed\": true}, {\"check\": \"nothing to repair #1\", \"actual\": [0, 0, 0], \"expected\": [0, 0, 0], \"passed\": true}, {\"check\": \"control #1\", \"actual\": [0, 0, 0], \"expected\": [0, 0, 0], \"passed\": true}], \"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."}}