{"abstract":"Failing at level six neither downgrades nor consumes protection.","category":"Game economy crafting balance","checks":8,"contract":"Success chance (percent) from level L: [100,100,100,90,80,70,60,50,40,30][L]; max level 10. A roll r (0..99) succeeds when r < chance. Failure at L <= 5 keeps the level; at L >= 6 consumes a protection if one is left (level kept); otherwise L 6..7 downgrades by one and L >= 8 breaks the item. Rolls stop being consumed once the item is at max level or broken; used counts consumed rolls.","evaluation_group":"w2-game-economy-crafting-balance-enchant-ladder","failed_approach":"Starting the risky tier at five punishes a safe level.","family":"w2-game-economy-crafting-balance-enchant-ladder-risk-tier-start","id":"FA-86031","implementations":{"attempt":{"sha256":"b96d643cc370e163e91910a78a24ce3dff858f6dfc5c398ca75a1109677251a4","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(level, rolls, protections):\n    chance = [100, 100, 100, 90, 80, 70, 60, 50, 40, 30]\n    used = 0\n    broken = False\n    for r in rolls:\n        if level >= 10 or broken:\n            break\n        used += 1\n        if r < chance[level]:\n            level += 1\n        elif level >= 5:\n            if protections > 0:\n                protections -= 1\n            elif level >= 8:\n                broken = True\n            else:\n                level -= 1\n    return {'level': level, 'broken': broken, 'protections': protections, 'used': used}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),\n  ('fault site risk tier start #1',\n   [6, [59, 50, 99, 50], 0],\n   {'level': 6, 'broken': False, 'protections': 0, 'used': 4}),\n  ('fault site risk tier start #2',\n   [3, [49, 0, 0, 99, 50, 60], 0],\n   {'level': 5, 'broken': False, 'protections': 0, 'used': 6}),\n  ('partial repair boundary #1',\n   [3, [0, 40, 99, 29, 39], 2],\n   {'level': 7, 'broken': False, 'protections': 2, 'used': 5}),\n  ('regression risk tier start #1',\n   [5, [99, 60, 89, 0, 59, 39, 50, 39], 2],\n   {'level': 8, 'broken': True, 'protections': 0, 'used': 7}),\n  ('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),\n  ('boundary roll equals chance #1',\n   [4, [80], 0],\n   {'level': 4, 'broken': False, 'protections': 0, 'used': 1}),\n  ('control #1',\n   [9, [39, 30, 99, 29, 59, 99, 0], 1],\n   {'level': 9, 'broken': True, 'protections': 0, 'used': 2})],\n [('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),\n  ('fault site risk tier start #1',\n   [3, [49, 0, 0, 99, 50, 60], 0],\n   {'level': 5, 'broken': False, 'protections': 0, 'used': 6}),\n  ('fault site risk tier start #2',\n   [6, [90, 30, 29, 99, 0, 60], 1],\n   {'level': 8, 'broken': True, 'protections': 0, 'used': 4}),\n  ('regression risk tier start #1',\n   [5, [89, 59, 99], 1],\n   {'level': 6, 'broken': False, 'protections': 0, 'used': 3}),\n  ('regression risk tier start #2',\n   [6, [60, 90, 59, 99, 89, 30], 0],\n   {'level': 6, 'broken': False, 'protections': 0, 'used': 6}),\n  ('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),\n  ('boundary roll equals chance #1',\n   [4, [80], 0],\n   {'level': 4, 'broken': False, 'protections': 0, 'used': 1}),\n  ('control #1',\n   [9, [39, 30, 99, 29, 59, 99, 0], 1],\n   {'level': 9, 'broken': True, 'protections': 0, 'used': 2})],\n [('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),\n  ('fault site risk tier start #1',\n   [6, [29, 50, 99, 60, 0, 50, 29, 99], 1],\n   {'level': 8, 'broken': True, 'protections': 0, 'used': 8}),\n  ('fault site risk tier start #2', [6, [99], 0], {'level': 5, 'broken': False, 'protections': 0, 'used': 1}),\n  ('partial repair boundary #1',\n   [3, [39, 29, 89], 0],\n   {'level': 5, 'broken': False, 'protections': 0, 'used': 3}),\n  ('partial repair boundary #2',\n   [3, [59, 49, 89, 40, 29], 0],\n   {'level': 7, 'broken': False, 'protections': 0, 'used': 5}),\n  ('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),\n  ('boundary roll equals chance #1',\n   [4, [80], 0],\n   {'level': 4, 'broken': False, 'protections': 0, 'used': 1}),\n  ('control #1',\n   [9, [39, 30, 99, 29, 59, 99, 0], 1],\n   {'level': 9, 'broken': True, 'protections': 0, 'used': 2})],\n [('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),\n  ('fault site risk tier start #1',\n   [6, [90, 59, 30, 90, 29, 40, 29, 40], 0],\n   {'level': 9, 'broken': True, 'protections': 0, 'used': 8}),\n  ('fault site risk tier start #2',\n   [5, [90, 50, 60, 39, 99, 99, 30], 0],\n   {'level': 6, 'broken': False, 'protections': 0, 'used': 7}),\n  ('partial repair boundary #1',\n   [5, [90, 30, 59, 60, 90, 50, 0], 2],\n   {'level': 7, 'broken': False, 'protections': 0, 'used': 7}),\n  ('regression risk tier start #1',\n   [3, [60, 49, 80, 29, 89, 39], 1],\n   {'level': 7, 'broken': False, 'protections': 0, 'used': 6}),\n  ('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),\n  ('boundary roll equals chance #1',\n   [4, [80], 0],\n   {'level': 4, 'broken': False, 'protections': 0, 'used': 1}),\n  ('control #1', [9, [99, 30], 0], {'level': 9, 'broken': True, 'protections': 0, 'used': 1})],\n [('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),\n  ('regression risk tier start #1',\n   [5, [99, 60, 89, 0, 59, 39, 50, 39], 2],\n   {'level': 8, 'broken': True, 'protections': 0, 'used': 7}),\n  ('regression risk tier start #2',\n   [5, [89, 59, 99], 1],\n   {'level': 6, 'broken': False, 'protections': 0, 'used': 3}),\n  ('regression risk tier start #3',\n   [5, [90, 50, 82, 89, 57, 59], 0],\n   {'level': 7, 'broken': False, 'protections': 0, 'used': 6}),\n  ('partial repair boundary #1', [5, [99], 0], {'level': 5, 'broken': False, 'protections': 0, 'used': 1}),\n  ('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),\n  ('boundary roll equals chance #1',\n   [4, [80], 0],\n   {'level': 4, 'broken': False, 'protections': 0, 'used': 1}),\n  ('control #1',\n   [9, [50, 40, 50, 0, 40, 29, 0], 0],\n   {'level': 9, 'broken': True, 'protections': 0, 'used': 1})]]\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":"2ae6ef1ec00b1c24d2c010f08aea0d02dd4c7a81eb5b9dc74f1ada3a2d706178","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(level, rolls, protections):\n    chance = [100, 100, 100, 90, 80, 70, 60, 50, 40, 30]\n    used = 0\n    broken = False\n    for r in rolls:\n        if level >= 10 or broken:\n            break\n        used += 1\n        if r < chance[level]:\n            level += 1\n        elif level > 6:\n            if protections > 0:\n                protections -= 1\n            elif level >= 8:\n                broken = True\n            else:\n                level -= 1\n    return {'level': level, 'broken': broken, 'protections': protections, 'used': used}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),\n  ('fault site risk tier start #1',\n   [6, [59, 50, 99, 50], 0],\n   {'level': 6, 'broken': False, 'protections': 0, 'used': 4}),\n  ('fault site risk tier start #2',\n   [3, [49, 0, 0, 99, 50, 60], 0],\n   {'level': 5, 'broken': False, 'protections': 0, 'used': 6}),\n  ('partial repair boundary #1',\n   [3, [0, 40, 99, 29, 39], 2],\n   {'level': 7, 'broken': False, 'protections': 2, 'used': 5}),\n  ('regression risk tier start #1',\n   [5, [99, 60, 89, 0, 59, 39, 50, 39], 2],\n   {'level': 8, 'broken': True, 'protections': 0, 'used': 7}),\n  ('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),\n  ('boundary roll equals chance #1',\n   [4, [80], 0],\n   {'level': 4, 'broken': False, 'protections': 0, 'used': 1}),\n  ('control #1',\n   [9, [39, 30, 99, 29, 59, 99, 0], 1],\n   {'level': 9, 'broken': True, 'protections': 0, 'used': 2})],\n [('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),\n  ('fault site risk tier start #1',\n   [3, [49, 0, 0, 99, 50, 60], 0],\n   {'level': 5, 'broken': False, 'protections': 0, 'used': 6}),\n  ('fault site risk tier start #2',\n   [6, [90, 30, 29, 99, 0, 60], 1],\n   {'level': 8, 'broken': True, 'protections': 0, 'used': 4}),\n  ('regression risk tier start #1',\n   [5, [89, 59, 99], 1],\n   {'level': 6, 'broken': False, 'protections': 0, 'used': 3}),\n  ('regression risk tier start #2',\n   [6, [60, 90, 59, 99, 89, 30], 0],\n   {'level': 6, 'broken': False, 'protections': 0, 'used': 6}),\n  ('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),\n  ('boundary roll equals chance #1',\n   [4, [80], 0],\n   {'level': 4, 'broken': False, 'protections': 0, 'used': 1}),\n  ('control #1',\n   [9, [39, 30, 99, 29, 59, 99, 0], 1],\n   {'level': 9, 'broken': True, 'protections': 0, 'used': 2})],\n [('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),\n  ('fault site risk tier start #1',\n   [6, [29, 50, 99, 60, 0, 50, 29, 99], 1],\n   {'level': 8, 'broken': True, 'protections': 0, 'used': 8}),\n  ('fault site risk tier start #2', [6, [99], 0], {'level': 5, 'broken': False, 'protections': 0, 'used': 1}),\n  ('partial repair boundary #1',\n   [3, [39, 29, 89], 0],\n   {'level': 5, 'broken': False, 'protections': 0, 'used': 3}),\n  ('partial repair boundary #2',\n   [3, [59, 49, 89, 40, 29], 0],\n   {'level': 7, 'broken': False, 'protections': 0, 'used': 5}),\n  ('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),\n  ('boundary roll equals chance #1',\n   [4, [80], 0],\n   {'level': 4, 'broken': False, 'protections': 0, 'used': 1}),\n  ('control #1',\n   [9, [39, 30, 99, 29, 59, 99, 0], 1],\n   {'level': 9, 'broken': True, 'protections': 0, 'used': 2})],\n [('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),\n  ('fault site risk tier start #1',\n   [6, [90, 59, 30, 90, 29, 40, 29, 40], 0],\n   {'level': 9, 'broken': True, 'protections': 0, 'used': 8}),\n  ('fault site risk tier start #2',\n   [5, [90, 50, 60, 39, 99, 99, 30], 0],\n   {'level': 6, 'broken': False, 'protections': 0, 'used': 7}),\n  ('partial repair boundary #1',\n   [5, [90, 30, 59, 60, 90, 50, 0], 2],\n   {'level': 7, 'broken': False, 'protections': 0, 'used': 7}),\n  ('regression risk tier start #1',\n   [3, [60, 49, 80, 29, 89, 39], 1],\n   {'level': 7, 'broken': False, 'protections': 0, 'used': 6}),\n  ('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),\n  ('boundary roll equals chance #1',\n   [4, [80], 0],\n   {'level': 4, 'broken': False, 'protections': 0, 'used': 1}),\n  ('control #1', [9, [99, 30], 0], {'level': 9, 'broken': True, 'protections': 0, 'used': 1})],\n [('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),\n  ('regression risk tier start #1',\n   [5, [99, 60, 89, 0, 59, 39, 50, 39], 2],\n   {'level': 8, 'broken': True, 'protections': 0, 'used': 7}),\n  ('regression risk tier start #2',\n   [5, [89, 59, 99], 1],\n   {'level': 6, 'broken': False, 'protections': 0, 'used': 3}),\n  ('regression risk tier start #3',\n   [5, [90, 50, 82, 89, 57, 59], 0],\n   {'level': 7, 'broken': False, 'protections': 0, 'used': 6}),\n  ('partial repair boundary #1', [5, [99], 0], {'level': 5, 'broken': False, 'protections': 0, 'used': 1}),\n  ('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),\n  ('boundary roll equals chance #1',\n   [4, [80], 0],\n   {'level': 4, 'broken': False, 'protections': 0, 'used': 1}),\n  ('control #1',\n   [9, [50, 40, 50, 0, 40, 29, 0], 0],\n   {'level': 9, 'broken': True, 'protections': 0, 'used': 1})]]\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"},"fixed":{"sha256":"ce64a3deb430ed8e32df5a0d3650ae6f0d0a0a6dc87bef36e5404b17765fa24e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(level, rolls, protections):\n    chance = [100, 100, 100, 90, 80, 70, 60, 50, 40, 30]\n    used = 0\n    broken = False\n    for r in rolls:\n        if level >= 10 or broken:\n            break\n        used += 1\n        if r < chance[level]:\n            level += 1\n        elif level >= 6:\n            if protections > 0:\n                protections -= 1\n            elif level >= 8:\n                broken = True\n            else:\n                level -= 1\n    return {'level': level, 'broken': broken, 'protections': protections, 'used': used}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),\n  ('fault site risk tier start #1',\n   [6, [59, 50, 99, 50], 0],\n   {'level': 6, 'broken': False, 'protections': 0, 'used': 4}),\n  ('fault site risk tier start #2',\n   [3, [49, 0, 0, 99, 50, 60], 0],\n   {'level': 5, 'broken': False, 'protections': 0, 'used': 6}),\n  ('partial repair boundary #1',\n   [3, [0, 40, 99, 29, 39], 2],\n   {'level': 7, 'broken': False, 'protections': 2, 'used': 5}),\n  ('regression risk tier start #1',\n   [5, [99, 60, 89, 0, 59, 39, 50, 39], 2],\n   {'level': 8, 'broken': True, 'protections': 0, 'used': 7}),\n  ('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),\n  ('boundary roll equals chance #1',\n   [4, [80], 0],\n   {'level': 4, 'broken': False, 'protections': 0, 'used': 1}),\n  ('control #1',\n   [9, [39, 30, 99, 29, 59, 99, 0], 1],\n   {'level': 9, 'broken': True, 'protections': 0, 'used': 2})],\n [('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),\n  ('fault site risk tier start #1',\n   [3, [49, 0, 0, 99, 50, 60], 0],\n   {'level': 5, 'broken': False, 'protections': 0, 'used': 6}),\n  ('fault site risk tier start #2',\n   [6, [90, 30, 29, 99, 0, 60], 1],\n   {'level': 8, 'broken': True, 'protections': 0, 'used': 4}),\n  ('regression risk tier start #1',\n   [5, [89, 59, 99], 1],\n   {'level': 6, 'broken': False, 'protections': 0, 'used': 3}),\n  ('regression risk tier start #2',\n   [6, [60, 90, 59, 99, 89, 30], 0],\n   {'level': 6, 'broken': False, 'protections': 0, 'used': 6}),\n  ('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),\n  ('boundary roll equals chance #1',\n   [4, [80], 0],\n   {'level': 4, 'broken': False, 'protections': 0, 'used': 1}),\n  ('control #1',\n   [9, [39, 30, 99, 29, 59, 99, 0], 1],\n   {'level': 9, 'broken': True, 'protections': 0, 'used': 2})],\n [('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),\n  ('fault site risk tier start #1',\n   [6, [29, 50, 99, 60, 0, 50, 29, 99], 1],\n   {'level': 8, 'broken': True, 'protections': 0, 'used': 8}),\n  ('fault site risk tier start #2', [6, [99], 0], {'level': 5, 'broken': False, 'protections': 0, 'used': 1}),\n  ('partial repair boundary #1',\n   [3, [39, 29, 89], 0],\n   {'level': 5, 'broken': False, 'protections': 0, 'used': 3}),\n  ('partial repair boundary #2',\n   [3, [59, 49, 89, 40, 29], 0],\n   {'level': 7, 'broken': False, 'protections': 0, 'used': 5}),\n  ('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),\n  ('boundary roll equals chance #1',\n   [4, [80], 0],\n   {'level': 4, 'broken': False, 'protections': 0, 'used': 1}),\n  ('control #1',\n   [9, [39, 30, 99, 29, 59, 99, 0], 1],\n   {'level': 9, 'broken': True, 'protections': 0, 'used': 2})],\n [('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),\n  ('fault site risk tier start #1',\n   [6, [90, 59, 30, 90, 29, 40, 29, 40], 0],\n   {'level': 9, 'broken': True, 'protections': 0, 'used': 8}),\n  ('fault site risk tier start #2',\n   [5, [90, 50, 60, 39, 99, 99, 30], 0],\n   {'level': 6, 'broken': False, 'protections': 0, 'used': 7}),\n  ('partial repair boundary #1',\n   [5, [90, 30, 59, 60, 90, 50, 0], 2],\n   {'level': 7, 'broken': False, 'protections': 0, 'used': 7}),\n  ('regression risk tier start #1',\n   [3, [60, 49, 80, 29, 89, 39], 1],\n   {'level': 7, 'broken': False, 'protections': 0, 'used': 6}),\n  ('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),\n  ('boundary roll equals chance #1',\n   [4, [80], 0],\n   {'level': 4, 'broken': False, 'protections': 0, 'used': 1}),\n  ('control #1', [9, [99, 30], 0], {'level': 9, 'broken': True, 'protections': 0, 'used': 1})],\n [('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),\n  ('regression risk tier start #1',\n   [5, [99, 60, 89, 0, 59, 39, 50, 39], 2],\n   {'level': 8, 'broken': True, 'protections': 0, 'used': 7}),\n  ('regression risk tier start #2',\n   [5, [89, 59, 99], 1],\n   {'level': 6, 'broken': False, 'protections': 0, 'used': 3}),\n  ('regression risk tier start #3',\n   [5, [90, 50, 82, 89, 57, 59], 0],\n   {'level': 7, 'broken': False, 'protections': 0, 'used': 6}),\n  ('partial repair boundary #1', [5, [99], 0], {'level': 5, 'broken': False, 'protections': 0, 'used': 1}),\n  ('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),\n  ('boundary roll equals chance #1',\n   [4, [80], 0],\n   {'level': 4, 'broken': False, 'protections': 0, 'used': 1}),\n  ('control #1',\n   [9, [50, 40, 50, 0, 40, 29, 0], 0],\n   {'level': 9, 'broken': True, 'protections': 0, 'used': 1})]]\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-enchant-ladder-risk-tier-start","generated_at":"2026-09-29T14:50:45.750704+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.","repair":"Restore `elif level >= 6:` at the risk tier start step.","root_cause":"The risky tier starts after level six instead of at it.","sha256":"7a73600b1d0f6bfae9a475625186b66ecad1bc4fde58daf10ca345bed856b93e","title":"Enchantment upgrade ladder: Level six failures are free · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.218,"exit_code":1,"observations":[{"actual":{"broken":false,"level":5,"protections":0,"used":2},"check":"protected downgrade #1","expected":{"broken":false,"level":5,"protections":0,"used":2},"passed":true},{"actual":{"broken":false,"level":6,"protections":0,"used":4},"check":"fault site risk tier start #1","expected":{"broken":false,"level":6,"protections":0,"used":4},"passed":true},{"actual":{"broken":false,"level":5,"protections":0,"used":6},"check":"fault site risk tier start #2","expected":{"broken":false,"level":5,"protections":0,"used":6},"passed":true},{"actual":{"broken":false,"level":7,"protections":1,"used":5},"check":"partial repair boundary #1","expected":{"broken":false,"level":7,"protections":2,"used":5},"passed":false},{"actual":{"broken":false,"level":7,"protections":0,"used":8},"check":"regression risk tier start #1","expected":{"broken":true,"level":8,"protections":0,"used":7},"passed":false},{"actual":{"broken":true,"level":8,"protections":0,"used":1},"check":"break at eight #1","expected":{"broken":true,"level":8,"protections":0,"used":1},"passed":true},{"actual":{"broken":false,"level":4,"protections":0,"used":1},"check":"boundary roll equals chance #1","expected":{"broken":false,"level":4,"protections":0,"used":1},"passed":true},{"actual":{"broken":true,"level":9,"protections":0,"used":2},"check":"control #1","expected":{"broken":true,"level":9,"protections":0,"used":2},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"protected downgrade #1\", \"actual\": {\"level\": 5, \"broken\": false, \"protections\": 0, \"used\": 2}, \"expected\": {\"level\": 5, \"broken\": false, \"protections\": 0, \"used\": 2}, \"passed\": true}, {\"check\": \"fault site risk tier start #1\", \"actual\": {\"level\": 6, \"broken\": false, \"protections\": 0, \"used\": 4}, \"expected\": {\"level\": 6, \"broken\": false, \"protections\": 0, \"used\": 4}, \"passed\": true}, {\"check\": \"fault site risk tier start #2\", \"actual\": {\"level\": 5, \"broken\": false, \"protections\": 0, \"used\": 6}, \"expected\": {\"level\": 5, \"broken\": false, \"protections\": 0, \"used\": 6}, \"passed\": true}, {\"check\": \"partial repair boundary #1\", \"actual\": {\"level\": 7, \"broken\": false, \"protections\": 1, \"used\": 5}, \"expected\": {\"level\": 7, \"broken\": false, \"protections\": 2, \"used\": 5}, \"passed\": false}, {\"check\": \"regression risk tier start #1\", \"actual\": {\"level\": 7, \"broken\": false, \"protections\": 0, \"used\": 8}, \"expected\": {\"level\": 8, \"broken\": true, \"protections\": 0, \"used\": 7}, \"passed\": false}, {\"check\": \"break at eight #1\", \"actual\": {\"level\": 8, \"broken\": true, \"protections\": 0, \"used\": 1}, \"expected\": {\"level\": 8, \"broken\": true, \"protections\": 0, \"used\": 1}, \"passed\": true}, {\"check\": \"boundary roll equals chance #1\", \"actual\": {\"level\": 4, \"broken\": false, \"protections\": 0, \"used\": 1}, \"expected\": {\"level\": 4, \"broken\": false, \"protections\": 0, \"used\": 1}, \"passed\": true}, {\"check\": \"control #1\", \"actual\": {\"level\": 9, \"broken\": true, \"protections\": 0, \"used\": 2}, \"expected\": {\"level\": 9, \"broken\": true, \"protections\": 0, \"used\": 2}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.873,"exit_code":1,"observations":[{"actual":{"broken":false,"level":6,"protections":1,"used":2},"check":"protected downgrade #1","expected":{"broken":false,"level":5,"protections":0,"used":2},"passed":false},{"actual":{"broken":false,"level":7,"protections":0,"used":4},"check":"fault site risk tier start #1","expected":{"broken":false,"level":6,"protections":0,"used":4},"passed":false},{"actual":{"broken":false,"level":6,"protections":0,"used":6},"check":"fault site risk tier start #2","expected":{"broken":false,"level":5,"protections":0,"used":6},"passed":false},{"actual":{"broken":false,"level":7,"protections":2,"used":5},"check":"partial repair boundary #1","expected":{"broken":false,"level":7,"protections":2,"used":5},"passed":true},{"actual":{"broken":false,"level":9,"protections":0,"used":8},"check":"regression risk tier start #1","expected":{"broken":true,"level":8,"protections":0,"used":7},"passed":false},{"actual":{"broken":true,"level":8,"protections":0,"used":1},"check":"break at eight #1","expected":{"broken":true,"level":8,"protections":0,"used":1},"passed":true},{"actual":{"broken":false,"level":4,"protections":0,"used":1},"check":"boundary roll equals chance #1","expected":{"broken":false,"level":4,"protections":0,"used":1},"passed":true},{"actual":{"broken":true,"level":9,"protections":0,"used":2},"check":"control #1","expected":{"broken":true,"level":9,"protections":0,"used":2},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"protected downgrade #1\", \"actual\": {\"level\": 6, \"broken\": false, \"protections\": 1, \"used\": 2}, \"expected\": {\"level\": 5, \"broken\": false, \"protections\": 0, \"used\": 2}, \"passed\": false}, {\"check\": \"fault site risk tier start #1\", \"actual\": {\"level\": 7, \"broken\": false, \"protections\": 0, \"used\": 4}, \"expected\": {\"level\": 6, \"broken\": false, \"protections\": 0, \"used\": 4}, \"passed\": false}, {\"check\": \"fault site risk tier start #2\", \"actual\": {\"level\": 6, \"broken\": false, \"protections\": 0, \"used\": 6}, \"expected\": {\"level\": 5, \"broken\": false, \"protections\": 0, \"used\": 6}, \"passed\": false}, {\"check\": \"partial repair boundary #1\", \"actual\": {\"level\": 7, \"broken\": false, \"protections\": 2, \"used\": 5}, \"expected\": {\"level\": 7, \"broken\": false, \"protections\": 2, \"used\": 5}, \"passed\": true}, {\"check\": \"regression risk tier start #1\", \"actual\": {\"level\": 9, \"broken\": false, \"protections\": 0, \"used\": 8}, \"expected\": {\"level\": 8, \"broken\": true, \"protections\": 0, \"used\": 7}, \"passed\": false}, {\"check\": \"break at eight #1\", \"actual\": {\"level\": 8, \"broken\": true, \"protections\": 0, \"used\": 1}, \"expected\": {\"level\": 8, \"broken\": true, \"protections\": 0, \"used\": 1}, \"passed\": true}, {\"check\": \"boundary roll equals chance #1\", \"actual\": {\"level\": 4, \"broken\": false, \"protections\": 0, \"used\": 1}, \"expected\": {\"level\": 4, \"broken\": false, \"protections\": 0, \"used\": 1}, \"passed\": true}, {\"check\": \"control #1\", \"actual\": {\"level\": 9, \"broken\": true, \"protections\": 0, \"used\": 2}, \"expected\": {\"level\": 9, \"broken\": true, \"protections\": 0, \"used\": 2}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.877,"exit_code":0,"observations":[{"actual":{"broken":false,"level":5,"protections":0,"used":2},"check":"protected downgrade #1","expected":{"broken":false,"level":5,"protections":0,"used":2},"passed":true},{"actual":{"broken":false,"level":6,"protections":0,"used":4},"check":"fault site risk tier start #1","expected":{"broken":false,"level":6,"protections":0,"used":4},"passed":true},{"actual":{"broken":false,"level":5,"protections":0,"used":6},"check":"fault site risk tier start #2","expected":{"broken":false,"level":5,"protections":0,"used":6},"passed":true},{"actual":{"broken":false,"level":7,"protections":2,"used":5},"check":"partial repair boundary #1","expected":{"broken":false,"level":7,"protections":2,"used":5},"passed":true},{"actual":{"broken":true,"level":8,"protections":0,"used":7},"check":"regression risk tier start #1","expected":{"broken":true,"level":8,"protections":0,"used":7},"passed":true},{"actual":{"broken":true,"level":8,"protections":0,"used":1},"check":"break at eight #1","expected":{"broken":true,"level":8,"protections":0,"used":1},"passed":true},{"actual":{"broken":false,"level":4,"protections":0,"used":1},"check":"boundary roll equals chance #1","expected":{"broken":false,"level":4,"protections":0,"used":1},"passed":true},{"actual":{"broken":true,"level":9,"protections":0,"used":2},"check":"control #1","expected":{"broken":true,"level":9,"protections":0,"used":2},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"protected downgrade #1\", \"actual\": {\"level\": 5, \"broken\": false, \"protections\": 0, \"used\": 2}, \"expected\": {\"level\": 5, \"broken\": false, \"protections\": 0, \"used\": 2}, \"passed\": true}, {\"check\": \"fault site risk tier start #1\", \"actual\": {\"level\": 6, \"broken\": false, \"protections\": 0, \"used\": 4}, \"expected\": {\"level\": 6, \"broken\": false, \"protections\": 0, \"used\": 4}, \"passed\": true}, {\"check\": \"fault site risk tier start #2\", \"actual\": {\"level\": 5, \"broken\": false, \"protections\": 0, \"used\": 6}, \"expected\": {\"level\": 5, \"broken\": false, \"protections\": 0, \"used\": 6}, \"passed\": true}, {\"check\": \"partial repair boundary #1\", \"actual\": {\"level\": 7, \"broken\": false, \"protections\": 2, \"used\": 5}, \"expected\": {\"level\": 7, \"broken\": false, \"protections\": 2, \"used\": 5}, \"passed\": true}, {\"check\": \"regression risk tier start #1\", \"actual\": {\"level\": 8, \"broken\": true, \"protections\": 0, \"used\": 7}, \"expected\": {\"level\": 8, \"broken\": true, \"protections\": 0, \"used\": 7}, \"passed\": true}, {\"check\": \"break at eight #1\", \"actual\": {\"level\": 8, \"broken\": true, \"protections\": 0, \"used\": 1}, \"expected\": {\"level\": 8, \"broken\": true, \"protections\": 0, \"used\": 1}, \"passed\": true}, {\"check\": \"boundary roll equals chance #1\", \"actual\": {\"level\": 4, \"broken\": false, \"protections\": 0, \"used\": 1}, \"expected\": {\"level\": 4, \"broken\": false, \"protections\": 0, \"used\": 1}, \"passed\": true}, {\"check\": \"control #1\", \"actual\": {\"level\": 9, \"broken\": true, \"protections\": 0, \"used\": 2}, \"expected\": {\"level\": 9, \"broken\": true, \"protections\": 0, \"used\": 2}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}