FA-86041 / Game economy crafting balance / Open access
Enchantment upgrade ladder: Level seven items break · case 01
Unprotected level seven failures destroy the item instead of downgrading.
ROOT CAUSE
The break threshold is one level too low.
VERIFIED REPAIR
Restore `elif level >= 8:` at the break tier start step.
Unsuccessful approach: Raising the threshold to nine turns level eight breaks into downgrades.
Case 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.
Why this case matters
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.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(level, rolls, protections):
chance = [100, 100, 100, 90, 80, 70, 60, 50, 40, 30]
used = 0
broken = False
for r in rolls:
if level >= 10 or broken:
break
used += 1
if r < chance[level]:
level += 1
elif level >= 6:
if protections > 0:
protections -= 1
elif level >= 7:
broken = True
else:
level -= 1
return {'level': level, 'broken': broken, 'protections': protections, 'used': used}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),
('fault site break tier start #1',
[6, [59, 50, 99, 50], 0],
{'level': 6, 'broken': False, 'protections': 0, 'used': 4}),
('regression break tier start #1',
[6, [40, 99, 50, 50, 29, 60], 1],
{'level': 8, 'broken': True, 'protections': 0, 'used': 6}),
('partial repair boundary #1',
[8, [49, 40, 59], 2],
{'level': 8, 'broken': True, 'protections': 0, 'used': 3}),
('partial repair boundary #2', [8, [89, 89], 1], {'level': 8, 'broken': True, 'protections': 0, 'used': 2}),
('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),
('boundary roll equals chance #1',
[4, [80], 0],
{'level': 4, 'broken': False, 'protections': 0, 'used': 1}),
('control #1',
[9, [39, 30, 99, 29, 59, 99, 0], 1],
{'level': 9, 'broken': True, 'protections': 0, 'used': 2})],
[('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),
('regression break tier start #1',
[7, [50, 39, 49, 90], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 4}),
('regression break tier start #2',
[6, [29, 59, 40, 29, 49, 99, 89], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 5}),
('partial repair boundary #1', [8, [89, 89], 1], {'level': 8, 'broken': True, 'protections': 0, 'used': 2}),
('regression break tier start #3',
[6, [40, 99, 50, 50, 29, 60], 1],
{'level': 8, 'broken': True, 'protections': 0, 'used': 6}),
('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),
('boundary roll equals chance #1',
[4, [80], 0],
{'level': 4, 'broken': False, 'protections': 0, 'used': 1}),
('control #1',
[9, [39, 30, 99, 29, 59, 99, 0], 1],
{'level': 9, 'broken': True, 'protections': 0, 'used': 2})],
[('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),
('regression break tier start #1',
[6, [29, 50, 99, 60, 0, 50, 29, 99], 1],
{'level': 8, 'broken': True, 'protections': 0, 'used': 8}),
('fault site break tier start #1',
[6, [90, 59, 30, 90, 29, 40, 29, 40], 0],
{'level': 9, 'broken': True, 'protections': 0, 'used': 8}),
('partial repair boundary #1',
[6, [40, 30, 89, 10, 29, 40, 60], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 3}),
('regression break tier start #2',
[7, [50, 39, 49, 90], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 4}),
('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),
('boundary roll equals chance #1',
[4, [80], 0],
{'level': 4, 'broken': False, 'protections': 0, 'used': 1}),
('control #1',
[9, [39, 30, 99, 29, 59, 99, 0], 1],
{'level': 9, 'broken': True, 'protections': 0, 'used': 2})],
[('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),
('regression break tier start #1',
[6, [50, 90, 59, 29, 49, 89, 99], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 5}),
('fault site break tier start #1',
[6, [50, 90], 0],
{'level': 6, 'broken': False, 'protections': 0, 'used': 2}),
('partial repair boundary #1',
[6, [40, 30, 64, 40, 59, 89, 29], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 3}),
('regression break tier start #2',
[6, [29, 59, 40, 29, 49, 99, 89], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 5}),
('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),
('boundary roll equals chance #1',
[4, [80], 0],
{'level': 4, 'broken': False, 'protections': 0, 'used': 1}),
('control #1', [9, [99, 30], 0], {'level': 9, 'broken': True, 'protections': 0, 'used': 1})],
[('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),
('fault site break tier start #1',
[6, [59, 65], 0],
{'level': 6, 'broken': False, 'protections': 0, 'used': 2}),
('fault site break tier start #2',
[5, [90, 30, 59, 60, 90, 50, 0], 2],
{'level': 7, 'broken': False, 'protections': 0, 'used': 7}),
('partial repair boundary #1',
[6, [39, 29, 89, 60, 50, 50], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 3}),
('partial repair boundary #2',
[6, [49, 30, 50, 33, 50], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 3}),
('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),
('boundary roll equals chance #1',
[4, [80], 0],
{'level': 4, 'broken': False, 'protections': 0, 'used': 1}),
('control #1',
[9, [50, 40, 50, 0, 40, 29, 0], 0],
{'level': 9, 'broken': True, 'protections': 0, 'used': 1})]]
for label, args, expected in cases[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 |
|---|---|---|---|
| break at eight #1 | {'broken': True, 'level': 8, 'protections': 0, 'used': 1} | {'broken': True, 'level': 8, 'protections': 0, 'used': 1} | Passed |
| fault site break tier start #1 | {'broken': True, 'level': 7, 'protections': 0, 'used': 2} | {'broken': False, 'level': 6, 'protections': 0, 'used': 4} | Failed |
| regression break tier start #1 | {'broken': True, 'level': 7, 'protections': 0, 'used': 3} | {'broken': True, 'level': 8, 'protections': 0, 'used': 6} | Failed |
| partial repair boundary #1 | {'broken': True, 'level': 8, 'protections': 0, 'used': 3} | {'broken': True, 'level': 8, 'protections': 0, 'used': 3} | Passed |
| partial repair boundary #2 | {'broken': True, 'level': 8, 'protections': 0, 'used': 2} | {'broken': True, 'level': 8, 'protections': 0, 'used': 2} | Passed |
| protected downgrade #1 | {'broken': False, 'level': 5, 'protections': 0, 'used': 2} | {'broken': False, 'level': 5, 'protections': 0, 'used': 2} | Passed |
| boundary roll equals chance #1 | {'broken': False, 'level': 4, 'protections': 0, 'used': 1} | {'broken': False, 'level': 4, 'protections': 0, 'used': 1} | Passed |
| control #1 | {'broken': True, 'level': 9, 'protections': 0, 'used': 2} | {'broken': True, 'level': 9, 'protections': 0, 'used': 2} | Passed |
SHA-256 / 1467be19481912d5b144bc71aa82e2471cf238dce3d1ee1db768417eae92c45c
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(level, rolls, protections):
chance = [100, 100, 100, 90, 80, 70, 60, 50, 40, 30]
used = 0
broken = False
for r in rolls:
if level >= 10 or broken:
break
used += 1
if r < chance[level]:
level += 1
elif level >= 6:
if protections > 0:
protections -= 1
elif level >= 9:
broken = True
else:
level -= 1
return {'level': level, 'broken': broken, 'protections': protections, 'used': used}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),
('fault site break tier start #1',
[6, [59, 50, 99, 50], 0],
{'level': 6, 'broken': False, 'protections': 0, 'used': 4}),
('regression break tier start #1',
[6, [40, 99, 50, 50, 29, 60], 1],
{'level': 8, 'broken': True, 'protections': 0, 'used': 6}),
('partial repair boundary #1',
[8, [49, 40, 59], 2],
{'level': 8, 'broken': True, 'protections': 0, 'used': 3}),
('partial repair boundary #2', [8, [89, 89], 1], {'level': 8, 'broken': True, 'protections': 0, 'used': 2}),
('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),
('boundary roll equals chance #1',
[4, [80], 0],
{'level': 4, 'broken': False, 'protections': 0, 'used': 1}),
('control #1',
[9, [39, 30, 99, 29, 59, 99, 0], 1],
{'level': 9, 'broken': True, 'protections': 0, 'used': 2})],
[('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),
('regression break tier start #1',
[7, [50, 39, 49, 90], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 4}),
('regression break tier start #2',
[6, [29, 59, 40, 29, 49, 99, 89], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 5}),
('partial repair boundary #1', [8, [89, 89], 1], {'level': 8, 'broken': True, 'protections': 0, 'used': 2}),
('regression break tier start #3',
[6, [40, 99, 50, 50, 29, 60], 1],
{'level': 8, 'broken': True, 'protections': 0, 'used': 6}),
('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),
('boundary roll equals chance #1',
[4, [80], 0],
{'level': 4, 'broken': False, 'protections': 0, 'used': 1}),
('control #1',
[9, [39, 30, 99, 29, 59, 99, 0], 1],
{'level': 9, 'broken': True, 'protections': 0, 'used': 2})],
[('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),
('regression break tier start #1',
[6, [29, 50, 99, 60, 0, 50, 29, 99], 1],
{'level': 8, 'broken': True, 'protections': 0, 'used': 8}),
('fault site break tier start #1',
[6, [90, 59, 30, 90, 29, 40, 29, 40], 0],
{'level': 9, 'broken': True, 'protections': 0, 'used': 8}),
('partial repair boundary #1',
[6, [40, 30, 89, 10, 29, 40, 60], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 3}),
('regression break tier start #2',
[7, [50, 39, 49, 90], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 4}),
('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),
('boundary roll equals chance #1',
[4, [80], 0],
{'level': 4, 'broken': False, 'protections': 0, 'used': 1}),
('control #1',
[9, [39, 30, 99, 29, 59, 99, 0], 1],
{'level': 9, 'broken': True, 'protections': 0, 'used': 2})],
[('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),
('regression break tier start #1',
[6, [50, 90, 59, 29, 49, 89, 99], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 5}),
('fault site break tier start #1',
[6, [50, 90], 0],
{'level': 6, 'broken': False, 'protections': 0, 'used': 2}),
('partial repair boundary #1',
[6, [40, 30, 64, 40, 59, 89, 29], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 3}),
('regression break tier start #2',
[6, [29, 59, 40, 29, 49, 99, 89], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 5}),
('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),
('boundary roll equals chance #1',
[4, [80], 0],
{'level': 4, 'broken': False, 'protections': 0, 'used': 1}),
('control #1', [9, [99, 30], 0], {'level': 9, 'broken': True, 'protections': 0, 'used': 1})],
[('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),
('fault site break tier start #1',
[6, [59, 65], 0],
{'level': 6, 'broken': False, 'protections': 0, 'used': 2}),
('fault site break tier start #2',
[5, [90, 30, 59, 60, 90, 50, 0], 2],
{'level': 7, 'broken': False, 'protections': 0, 'used': 7}),
('partial repair boundary #1',
[6, [39, 29, 89, 60, 50, 50], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 3}),
('partial repair boundary #2',
[6, [49, 30, 50, 33, 50], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 3}),
('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),
('boundary roll equals chance #1',
[4, [80], 0],
{'level': 4, 'broken': False, 'protections': 0, 'used': 1}),
('control #1',
[9, [50, 40, 50, 0, 40, 29, 0], 0],
{'level': 9, 'broken': True, 'protections': 0, 'used': 1})]]
for label, args, expected in cases[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 |
|---|---|---|---|
| break at eight #1 | {'broken': False, 'level': 8, 'protections': 0, 'used': 2} | {'broken': True, 'level': 8, 'protections': 0, 'used': 1} | Failed |
| fault site break tier start #1 | {'broken': False, 'level': 6, 'protections': 0, 'used': 4} | {'broken': False, 'level': 6, 'protections': 0, 'used': 4} | Passed |
| regression break tier start #1 | {'broken': False, 'level': 7, 'protections': 0, 'used': 6} | {'broken': True, 'level': 8, 'protections': 0, 'used': 6} | Failed |
| partial repair boundary #1 | {'broken': False, 'level': 7, 'protections': 0, 'used': 3} | {'broken': True, 'level': 8, 'protections': 0, 'used': 3} | Failed |
| partial repair boundary #2 | {'broken': False, 'level': 7, 'protections': 0, 'used': 2} | {'broken': True, 'level': 8, 'protections': 0, 'used': 2} | Failed |
| protected downgrade #1 | {'broken': False, 'level': 5, 'protections': 0, 'used': 2} | {'broken': False, 'level': 5, 'protections': 0, 'used': 2} | Passed |
| boundary roll equals chance #1 | {'broken': False, 'level': 4, 'protections': 0, 'used': 1} | {'broken': False, 'level': 4, 'protections': 0, 'used': 1} | Passed |
| control #1 | {'broken': True, 'level': 9, 'protections': 0, 'used': 2} | {'broken': True, 'level': 9, 'protections': 0, 'used': 2} | Passed |
SHA-256 / c4348897e61944b3deca25ac5aec7567d2f8fd602c10a9e8784c4defcfa1b940
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(level, rolls, protections):
chance = [100, 100, 100, 90, 80, 70, 60, 50, 40, 30]
used = 0
broken = False
for r in rolls:
if level >= 10 or broken:
break
used += 1
if r < chance[level]:
level += 1
elif level >= 6:
if protections > 0:
protections -= 1
elif level >= 8:
broken = True
else:
level -= 1
return {'level': level, 'broken': broken, 'protections': protections, 'used': used}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),
('fault site break tier start #1',
[6, [59, 50, 99, 50], 0],
{'level': 6, 'broken': False, 'protections': 0, 'used': 4}),
('regression break tier start #1',
[6, [40, 99, 50, 50, 29, 60], 1],
{'level': 8, 'broken': True, 'protections': 0, 'used': 6}),
('partial repair boundary #1',
[8, [49, 40, 59], 2],
{'level': 8, 'broken': True, 'protections': 0, 'used': 3}),
('partial repair boundary #2', [8, [89, 89], 1], {'level': 8, 'broken': True, 'protections': 0, 'used': 2}),
('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),
('boundary roll equals chance #1',
[4, [80], 0],
{'level': 4, 'broken': False, 'protections': 0, 'used': 1}),
('control #1',
[9, [39, 30, 99, 29, 59, 99, 0], 1],
{'level': 9, 'broken': True, 'protections': 0, 'used': 2})],
[('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),
('regression break tier start #1',
[7, [50, 39, 49, 90], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 4}),
('regression break tier start #2',
[6, [29, 59, 40, 29, 49, 99, 89], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 5}),
('partial repair boundary #1', [8, [89, 89], 1], {'level': 8, 'broken': True, 'protections': 0, 'used': 2}),
('regression break tier start #3',
[6, [40, 99, 50, 50, 29, 60], 1],
{'level': 8, 'broken': True, 'protections': 0, 'used': 6}),
('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),
('boundary roll equals chance #1',
[4, [80], 0],
{'level': 4, 'broken': False, 'protections': 0, 'used': 1}),
('control #1',
[9, [39, 30, 99, 29, 59, 99, 0], 1],
{'level': 9, 'broken': True, 'protections': 0, 'used': 2})],
[('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),
('regression break tier start #1',
[6, [29, 50, 99, 60, 0, 50, 29, 99], 1],
{'level': 8, 'broken': True, 'protections': 0, 'used': 8}),
('fault site break tier start #1',
[6, [90, 59, 30, 90, 29, 40, 29, 40], 0],
{'level': 9, 'broken': True, 'protections': 0, 'used': 8}),
('partial repair boundary #1',
[6, [40, 30, 89, 10, 29, 40, 60], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 3}),
('regression break tier start #2',
[7, [50, 39, 49, 90], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 4}),
('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),
('boundary roll equals chance #1',
[4, [80], 0],
{'level': 4, 'broken': False, 'protections': 0, 'used': 1}),
('control #1',
[9, [39, 30, 99, 29, 59, 99, 0], 1],
{'level': 9, 'broken': True, 'protections': 0, 'used': 2})],
[('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),
('regression break tier start #1',
[6, [50, 90, 59, 29, 49, 89, 99], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 5}),
('fault site break tier start #1',
[6, [50, 90], 0],
{'level': 6, 'broken': False, 'protections': 0, 'used': 2}),
('partial repair boundary #1',
[6, [40, 30, 64, 40, 59, 89, 29], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 3}),
('regression break tier start #2',
[6, [29, 59, 40, 29, 49, 99, 89], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 5}),
('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),
('boundary roll equals chance #1',
[4, [80], 0],
{'level': 4, 'broken': False, 'protections': 0, 'used': 1}),
('control #1', [9, [99, 30], 0], {'level': 9, 'broken': True, 'protections': 0, 'used': 1})],
[('break at eight #1', [8, [95, 0], 0], {'level': 8, 'broken': True, 'protections': 0, 'used': 1}),
('fault site break tier start #1',
[6, [59, 65], 0],
{'level': 6, 'broken': False, 'protections': 0, 'used': 2}),
('fault site break tier start #2',
[5, [90, 30, 59, 60, 90, 50, 0], 2],
{'level': 7, 'broken': False, 'protections': 0, 'used': 7}),
('partial repair boundary #1',
[6, [39, 29, 89, 60, 50, 50], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 3}),
('partial repair boundary #2',
[6, [49, 30, 50, 33, 50], 0],
{'level': 8, 'broken': True, 'protections': 0, 'used': 3}),
('protected downgrade #1', [6, [70, 70], 1], {'level': 5, 'broken': False, 'protections': 0, 'used': 2}),
('boundary roll equals chance #1',
[4, [80], 0],
{'level': 4, 'broken': False, 'protections': 0, 'used': 1}),
('control #1',
[9, [50, 40, 50, 0, 40, 29, 0], 0],
{'level': 9, 'broken': True, 'protections': 0, 'used': 1})]]
for label, args, expected in cases[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 |
|---|---|---|---|
| break at eight #1 | {'broken': True, 'level': 8, 'protections': 0, 'used': 1} | {'broken': True, 'level': 8, 'protections': 0, 'used': 1} | Passed |
| fault site break tier start #1 | {'broken': False, 'level': 6, 'protections': 0, 'used': 4} | {'broken': False, 'level': 6, 'protections': 0, 'used': 4} | Passed |
| regression break tier start #1 | {'broken': True, 'level': 8, 'protections': 0, 'used': 6} | {'broken': True, 'level': 8, 'protections': 0, 'used': 6} | Passed |
| partial repair boundary #1 | {'broken': True, 'level': 8, 'protections': 0, 'used': 3} | {'broken': True, 'level': 8, 'protections': 0, 'used': 3} | Passed |
| partial repair boundary #2 | {'broken': True, 'level': 8, 'protections': 0, 'used': 2} | {'broken': True, 'level': 8, 'protections': 0, 'used': 2} | Passed |
| protected downgrade #1 | {'broken': False, 'level': 5, 'protections': 0, 'used': 2} | {'broken': False, 'level': 5, 'protections': 0, 'used': 2} | Passed |
| boundary roll equals chance #1 | {'broken': False, 'level': 4, 'protections': 0, 'used': 1} | {'broken': False, 'level': 4, 'protections': 0, 'used': 1} | Passed |
| control #1 | {'broken': True, 'level': 9, 'protections': 0, 'used': 2} | {'broken': True, 'level': 9, 'protections': 0, 'used': 2} | Passed |
SHA-256 / 792d03fb52c56a605f908de968c2953746aee1a1de3e3252ca64bde35ebc66d6
Verification & scope
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.
Observations recorded using Python 3.12.14 at 2026-09-29T14:50:46.003427+00:00.
Case digest / b36db88cfa64a1598b60ab48b29a586bd4b9a16ec612128efbc3ea3240dbb8ab