{"abstract":"A cascade spends more gold than the budget.","category":"Game economy crafting balance","checks":8,"contract":"gems[t] = count of tier t gems for t = 0..max_tier. Tiers are processed upward: three tier t gems make one tier t+1 gem at a cost of (t+1)*10 gold each, limited by the remaining gold budget; newly made gems can cascade into the next tier. Max-tier gems never combine. Returns [counts, gold_spent].","evaluation_group":"w2-game-economy-crafting-balance-gem-combine","failed_approach":"Ceiling division lets a partial price buy a combine.","family":"w2-game-economy-crafting-balance-gem-combine-remaining-budget","id":"FA-86206","implementations":{"attempt":{"sha256":"b9d20dadd3a3cf81db634e031686780153e32e299a2eb56f9482c95926512676","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(gems, max_tier, budget):\n    g = list(gems)\n    gold = 0\n    for t in range(max_tier):\n        price = (t + 1) * 10\n        made = min(g[t] // 3, -(-(budget - gold) // price))\n        g[t] -= made * 3\n        g[t + 1] += made\n        gold += made * price\n    return [g, gold]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('budget stops second tier #1', [[9, 1, 0], 2, 30], [[0, 4, 0], 30]),\n  ('regression remaining budget #1', [[4, 4, 3, 3, 9], 4, 29], [[1, 5, 3, 3, 9], 10]),\n  ('fault site remaining budget #1', [[27, 2, 2], 2, 60], [[9, 8, 2], 60]),\n  ('partial repair boundary #1', [[0, 4, 7, 4], 3, 29], [[0, 1, 8, 4], 20]),\n  ('regression remaining budget #2', [[3, 9, 8, 3], 3, 60], [[0, 4, 10, 3], 50]),\n  ('two level cascade #1', [[9, 0, 0], 2, 1000], [[0, 0, 1], 50]),\n  ('max tier untouched #1', [[0, 6], 1, 1000], [[0, 6], 0]),\n  ('control #1', [[9, 3, 2], 2, 1000], [[0, 0, 4], 70])],\n [('budget stops second tier #1', [[9, 1, 0], 2, 30], [[0, 4, 0], 30]),\n  ('fault site remaining budget #1', [[27, 2, 2], 2, 60], [[9, 8, 2], 60]),\n  ('regression remaining budget #1', [[3, 9, 8, 3], 3, 60], [[0, 4, 10, 3], 50]),\n  ('regression remaining budget #2', [[4, 4, 0, 9, 8], 4, 60], [[1, 2, 1, 9, 8], 30]),\n  ('regression remaining budget #3', [[8, 8, 4, 0, 0], 4, 30], [[2, 10, 4, 0, 0], 20]),\n  ('two level cascade #1', [[9, 0, 0], 2, 1000], [[0, 0, 1], 50]),\n  ('max tier untouched #1', [[0, 6], 1, 1000], [[0, 6], 0]),\n  ('control #1', [[9, 3, 2], 2, 1000], [[0, 0, 4], 70])],\n [('budget stops second tier #1', [[9, 1, 0], 2, 30], [[0, 4, 0], 30]),\n  ('regression remaining budget #1', [[4, 4, 0, 9, 8], 4, 60], [[1, 2, 1, 9, 8], 30]),\n  ('regression remaining budget #2', [[8, 8, 4, 0, 0], 4, 30], [[2, 10, 4, 0, 0], 20]),\n  ('regression remaining budget #3', [[3, 8, 0], 2, 29], [[0, 9, 0], 10]),\n  ('regression remaining budget #4', [[2, 9, 4, 0], 3, 30], [[2, 6, 5, 0], 20]),\n  ('two level cascade #1', [[9, 0, 0], 2, 1000], [[0, 0, 1], 50]),\n  ('max tier untouched #1', [[0, 6], 1, 1000], [[0, 6], 0]),\n  ('control #1', [[9, 3, 2], 2, 1000], [[0, 0, 4], 70])],\n [('budget stops second tier #1', [[9, 1, 0], 2, 30], [[0, 4, 0], 30]),\n  ('fault site remaining budget #1', [[27, 3, 9], 2, 30], [[18, 6, 9], 30]),\n  ('regression remaining budget #1', [[3, 8, 0], 2, 29], [[0, 9, 0], 10]),\n  ('regression remaining budget #2', [[2, 9, 4, 0], 3, 30], [[2, 6, 5, 0], 20]),\n  ('partial repair boundary #1', [[2, 6, 3, 3, 3], 4, 10], [[2, 6, 3, 3, 3], 0]),\n  ('two level cascade #1', [[9, 0, 0], 2, 1000], [[0, 0, 1], 50]),\n  ('max tier untouched #1', [[0, 6], 1, 1000], [[0, 6], 0]),\n  ('control #1', [[9, 28, 24], 2, 10], [[6, 29, 24], 10])],\n [('budget stops second tier #1', [[9, 1, 0], 2, 30], [[0, 4, 0], 30]),\n  ('fault site remaining budget #1', [[8, 9, 9, 3, 4], 4, 60], [[2, 5, 11, 3, 4], 60]),\n  ('regression remaining budget #1', [[2, 9, 4, 0], 3, 30], [[2, 6, 5, 0], 20]),\n  ('partial repair boundary #1', [[9, 9], 1, 29], [[3, 11], 20]),\n  ('regression remaining budget #2', [[8, 10, 3, 8], 3, 29], [[2, 12, 3, 8], 20]),\n  ('two level cascade #1', [[9, 0, 0], 2, 1000], [[0, 0, 1], 50]),\n  ('max tier untouched #1', [[0, 6], 1, 1000], [[0, 6], 0]),\n  ('control #1', [[9, 9, 2], 2, 10], [[6, 10, 2], 10])]]\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":"f7f658e622e669f4c4ddbff8313e4d3c58a4bd50c0ef31c11437f0bccff8b5e2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(gems, max_tier, budget):\n    g = list(gems)\n    gold = 0\n    for t in range(max_tier):\n        price = (t + 1) * 10\n        made = min(g[t] // 3, budget // price)\n        g[t] -= made * 3\n        g[t + 1] += made\n        gold += made * price\n    return [g, gold]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('budget stops second tier #1', [[9, 1, 0], 2, 30], [[0, 4, 0], 30]),\n  ('regression remaining budget #1', [[4, 4, 3, 3, 9], 4, 29], [[1, 5, 3, 3, 9], 10]),\n  ('fault site remaining budget #1', [[27, 2, 2], 2, 60], [[9, 8, 2], 60]),\n  ('partial repair boundary #1', [[0, 4, 7, 4], 3, 29], [[0, 1, 8, 4], 20]),\n  ('regression remaining budget #2', [[3, 9, 8, 3], 3, 60], [[0, 4, 10, 3], 50]),\n  ('two level cascade #1', [[9, 0, 0], 2, 1000], [[0, 0, 1], 50]),\n  ('max tier untouched #1', [[0, 6], 1, 1000], [[0, 6], 0]),\n  ('control #1', [[9, 3, 2], 2, 1000], [[0, 0, 4], 70])],\n [('budget stops second tier #1', [[9, 1, 0], 2, 30], [[0, 4, 0], 30]),\n  ('fault site remaining budget #1', [[27, 2, 2], 2, 60], [[9, 8, 2], 60]),\n  ('regression remaining budget #1', [[3, 9, 8, 3], 3, 60], [[0, 4, 10, 3], 50]),\n  ('regression remaining budget #2', [[4, 4, 0, 9, 8], 4, 60], [[1, 2, 1, 9, 8], 30]),\n  ('regression remaining budget #3', [[8, 8, 4, 0, 0], 4, 30], [[2, 10, 4, 0, 0], 20]),\n  ('two level cascade #1', [[9, 0, 0], 2, 1000], [[0, 0, 1], 50]),\n  ('max tier untouched #1', [[0, 6], 1, 1000], [[0, 6], 0]),\n  ('control #1', [[9, 3, 2], 2, 1000], [[0, 0, 4], 70])],\n [('budget stops second tier #1', [[9, 1, 0], 2, 30], [[0, 4, 0], 30]),\n  ('regression remaining budget #1', [[4, 4, 0, 9, 8], 4, 60], [[1, 2, 1, 9, 8], 30]),\n  ('regression remaining budget #2', [[8, 8, 4, 0, 0], 4, 30], [[2, 10, 4, 0, 0], 20]),\n  ('regression remaining budget #3', [[3, 8, 0], 2, 29], [[0, 9, 0], 10]),\n  ('regression remaining budget #4', [[2, 9, 4, 0], 3, 30], [[2, 6, 5, 0], 20]),\n  ('two level cascade #1', [[9, 0, 0], 2, 1000], [[0, 0, 1], 50]),\n  ('max tier untouched #1', [[0, 6], 1, 1000], [[0, 6], 0]),\n  ('control #1', [[9, 3, 2], 2, 1000], [[0, 0, 4], 70])],\n [('budget stops second tier #1', [[9, 1, 0], 2, 30], [[0, 4, 0], 30]),\n  ('fault site remaining budget #1', [[27, 3, 9], 2, 30], [[18, 6, 9], 30]),\n  ('regression remaining budget #1', [[3, 8, 0], 2, 29], [[0, 9, 0], 10]),\n  ('regression remaining budget #2', [[2, 9, 4, 0], 3, 30], [[2, 6, 5, 0], 20]),\n  ('partial repair boundary #1', [[2, 6, 3, 3, 3], 4, 10], [[2, 6, 3, 3, 3], 0]),\n  ('two level cascade #1', [[9, 0, 0], 2, 1000], [[0, 0, 1], 50]),\n  ('max tier untouched #1', [[0, 6], 1, 1000], [[0, 6], 0]),\n  ('control #1', [[9, 28, 24], 2, 10], [[6, 29, 24], 10])],\n [('budget stops second tier #1', [[9, 1, 0], 2, 30], [[0, 4, 0], 30]),\n  ('fault site remaining budget #1', [[8, 9, 9, 3, 4], 4, 60], [[2, 5, 11, 3, 4], 60]),\n  ('regression remaining budget #1', [[2, 9, 4, 0], 3, 30], [[2, 6, 5, 0], 20]),\n  ('partial repair boundary #1', [[9, 9], 1, 29], [[3, 11], 20]),\n  ('regression remaining budget #2', [[8, 10, 3, 8], 3, 29], [[2, 12, 3, 8], 20]),\n  ('two level cascade #1', [[9, 0, 0], 2, 1000], [[0, 0, 1], 50]),\n  ('max tier untouched #1', [[0, 6], 1, 1000], [[0, 6], 0]),\n  ('control #1', [[9, 9, 2], 2, 10], [[6, 10, 2], 10])]]\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":"ae1dac0ec8eaa4be3937cb47b0cdfd5e73ac0b516088b67e614ad42885994d75","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(gems, max_tier, budget):\n    g = list(gems)\n    gold = 0\n    for t in range(max_tier):\n        price = (t + 1) * 10\n        made = min(g[t] // 3, (budget - gold) // price)\n        g[t] -= made * 3\n        g[t + 1] += made\n        gold += made * price\n    return [g, gold]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('budget stops second tier #1', [[9, 1, 0], 2, 30], [[0, 4, 0], 30]),\n  ('regression remaining budget #1', [[4, 4, 3, 3, 9], 4, 29], [[1, 5, 3, 3, 9], 10]),\n  ('fault site remaining budget #1', [[27, 2, 2], 2, 60], [[9, 8, 2], 60]),\n  ('partial repair boundary #1', [[0, 4, 7, 4], 3, 29], [[0, 1, 8, 4], 20]),\n  ('regression remaining budget #2', [[3, 9, 8, 3], 3, 60], [[0, 4, 10, 3], 50]),\n  ('two level cascade #1', [[9, 0, 0], 2, 1000], [[0, 0, 1], 50]),\n  ('max tier untouched #1', [[0, 6], 1, 1000], [[0, 6], 0]),\n  ('control #1', [[9, 3, 2], 2, 1000], [[0, 0, 4], 70])],\n [('budget stops second tier #1', [[9, 1, 0], 2, 30], [[0, 4, 0], 30]),\n  ('fault site remaining budget #1', [[27, 2, 2], 2, 60], [[9, 8, 2], 60]),\n  ('regression remaining budget #1', [[3, 9, 8, 3], 3, 60], [[0, 4, 10, 3], 50]),\n  ('regression remaining budget #2', [[4, 4, 0, 9, 8], 4, 60], [[1, 2, 1, 9, 8], 30]),\n  ('regression remaining budget #3', [[8, 8, 4, 0, 0], 4, 30], [[2, 10, 4, 0, 0], 20]),\n  ('two level cascade #1', [[9, 0, 0], 2, 1000], [[0, 0, 1], 50]),\n  ('max tier untouched #1', [[0, 6], 1, 1000], [[0, 6], 0]),\n  ('control #1', [[9, 3, 2], 2, 1000], [[0, 0, 4], 70])],\n [('budget stops second tier #1', [[9, 1, 0], 2, 30], [[0, 4, 0], 30]),\n  ('regression remaining budget #1', [[4, 4, 0, 9, 8], 4, 60], [[1, 2, 1, 9, 8], 30]),\n  ('regression remaining budget #2', [[8, 8, 4, 0, 0], 4, 30], [[2, 10, 4, 0, 0], 20]),\n  ('regression remaining budget #3', [[3, 8, 0], 2, 29], [[0, 9, 0], 10]),\n  ('regression remaining budget #4', [[2, 9, 4, 0], 3, 30], [[2, 6, 5, 0], 20]),\n  ('two level cascade #1', [[9, 0, 0], 2, 1000], [[0, 0, 1], 50]),\n  ('max tier untouched #1', [[0, 6], 1, 1000], [[0, 6], 0]),\n  ('control #1', [[9, 3, 2], 2, 1000], [[0, 0, 4], 70])],\n [('budget stops second tier #1', [[9, 1, 0], 2, 30], [[0, 4, 0], 30]),\n  ('fault site remaining budget #1', [[27, 3, 9], 2, 30], [[18, 6, 9], 30]),\n  ('regression remaining budget #1', [[3, 8, 0], 2, 29], [[0, 9, 0], 10]),\n  ('regression remaining budget #2', [[2, 9, 4, 0], 3, 30], [[2, 6, 5, 0], 20]),\n  ('partial repair boundary #1', [[2, 6, 3, 3, 3], 4, 10], [[2, 6, 3, 3, 3], 0]),\n  ('two level cascade #1', [[9, 0, 0], 2, 1000], [[0, 0, 1], 50]),\n  ('max tier untouched #1', [[0, 6], 1, 1000], [[0, 6], 0]),\n  ('control #1', [[9, 28, 24], 2, 10], [[6, 29, 24], 10])],\n [('budget stops second tier #1', [[9, 1, 0], 2, 30], [[0, 4, 0], 30]),\n  ('fault site remaining budget #1', [[8, 9, 9, 3, 4], 4, 60], [[2, 5, 11, 3, 4], 60]),\n  ('regression remaining budget #1', [[2, 9, 4, 0], 3, 30], [[2, 6, 5, 0], 20]),\n  ('partial repair boundary #1', [[9, 9], 1, 29], [[3, 11], 20]),\n  ('regression remaining budget #2', [[8, 10, 3, 8], 3, 29], [[2, 12, 3, 8], 20]),\n  ('two level cascade #1', [[9, 0, 0], 2, 1000], [[0, 0, 1], 50]),\n  ('max tier untouched #1', [[0, 6], 1, 1000], [[0, 6], 0]),\n  ('control #1', [[9, 9, 2], 2, 10], [[6, 10, 2], 10])]]\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-gem-combine-remaining-budget","generated_at":"2026-09-29T14:50:47.418526+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 `(budget - gold) // price` at the remaining budget step.","root_cause":"Affordability uses the full budget at every tier.","sha256":"4aa05872df58996d933462774b7dcd90e4f6e0c0fd8be09788c30ae6099e518c","title":"Gem combining cascade: Budget is not reduced by earlier tiers · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.264,"exit_code":1,"observations":[{"actual":[[0,4,0],30],"check":"budget stops second tier #1","expected":[[0,4,0],30],"passed":true},{"actual":[[1,2,4,3,9],30],"check":"regression remaining budget #1","expected":[[1,5,3,3,9],10],"passed":false},{"actual":[[9,8,2],60],"check":"fault site remaining budget #1","expected":[[9,8,2],60],"passed":true},{"actual":[[0,1,5,5],50],"check":"partial repair boundary #1","expected":[[0,1,8,4],20],"passed":false},{"actual":[[0,1,11,3],70],"check":"regression remaining budget #2","expected":[[0,4,10,3],50],"passed":false},{"actual":[[0,0,1],50],"check":"two level cascade #1","expected":[[0,0,1],50],"passed":true},{"actual":[[0,6],0],"check":"max tier untouched #1","expected":[[0,6],0],"passed":true},{"actual":[[0,0,4],70],"check":"control #1","expected":[[0,0,4],70],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"budget stops second tier #1\", \"actual\": [[0, 4, 0], 30], \"expected\": [[0, 4, 0], 30], \"passed\": true}, {\"check\": \"regression remaining budget #1\", \"actual\": [[1, 2, 4, 3, 9], 30], \"expected\": [[1, 5, 3, 3, 9], 10], \"passed\": false}, {\"check\": \"fault site remaining budget #1\", \"actual\": [[9, 8, 2], 60], \"expected\": [[9, 8, 2], 60], \"passed\": true}, {\"check\": \"partial repair boundary #1\", \"actual\": [[0, 1, 5, 5], 50], \"expected\": [[0, 1, 8, 4], 20], \"passed\": false}, {\"check\": \"regression remaining budget #2\", \"actual\": [[0, 1, 11, 3], 70], \"expected\": [[0, 4, 10, 3], 50], \"passed\": false}, {\"check\": \"two level cascade #1\", \"actual\": [[0, 0, 1], 50], \"expected\": [[0, 0, 1], 50], \"passed\": true}, {\"check\": \"max tier untouched #1\", \"actual\": [[0, 6], 0], \"expected\": [[0, 6], 0], \"passed\": true}, {\"check\": \"control #1\", \"actual\": [[0, 0, 4], 70], \"expected\": [[0, 0, 4], 70], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.678,"exit_code":1,"observations":[{"actual":[[0,1,1],50],"check":"budget stops second tier #1","expected":[[0,4,0],30],"passed":false},{"actual":[[1,2,4,3,9],30],"check":"regression remaining budget #1","expected":[[1,5,3,3,9],10],"passed":false},{"actual":[[9,2,4],100],"check":"fault site remaining budget #1","expected":[[9,8,2],60],"passed":false},{"actual":[[0,1,8,4],20],"check":"partial repair boundary #1","expected":[[0,1,8,4],20],"passed":true},{"actual":[[0,1,5,5],130],"check":"regression remaining budget #2","expected":[[0,4,10,3],50],"passed":false},{"actual":[[0,0,1],50],"check":"two level cascade #1","expected":[[0,0,1],50],"passed":true},{"actual":[[0,6],0],"check":"max tier untouched #1","expected":[[0,6],0],"passed":true},{"actual":[[0,0,4],70],"check":"control #1","expected":[[0,0,4],70],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"budget stops second tier #1\", \"actual\": [[0, 1, 1], 50], \"expected\": [[0, 4, 0], 30], \"passed\": false}, {\"check\": \"regression remaining budget #1\", \"actual\": [[1, 2, 4, 3, 9], 30], \"expected\": [[1, 5, 3, 3, 9], 10], \"passed\": false}, {\"check\": \"fault site remaining budget #1\", \"actual\": [[9, 2, 4], 100], \"expected\": [[9, 8, 2], 60], \"passed\": false}, {\"check\": \"partial repair boundary #1\", \"actual\": [[0, 1, 8, 4], 20], \"expected\": [[0, 1, 8, 4], 20], \"passed\": true}, {\"check\": \"regression remaining budget #2\", \"actual\": [[0, 1, 5, 5], 130], \"expected\": [[0, 4, 10, 3], 50], \"passed\": false}, {\"check\": \"two level cascade #1\", \"actual\": [[0, 0, 1], 50], \"expected\": [[0, 0, 1], 50], \"passed\": true}, {\"check\": \"max tier untouched #1\", \"actual\": [[0, 6], 0], \"expected\": [[0, 6], 0], \"passed\": true}, {\"check\": \"control #1\", \"actual\": [[0, 0, 4], 70], \"expected\": [[0, 0, 4], 70], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":38.799,"exit_code":0,"observations":[{"actual":[[0,4,0],30],"check":"budget stops second tier #1","expected":[[0,4,0],30],"passed":true},{"actual":[[1,5,3,3,9],10],"check":"regression remaining budget #1","expected":[[1,5,3,3,9],10],"passed":true},{"actual":[[9,8,2],60],"check":"fault site remaining budget #1","expected":[[9,8,2],60],"passed":true},{"actual":[[0,1,8,4],20],"check":"partial repair boundary #1","expected":[[0,1,8,4],20],"passed":true},{"actual":[[0,4,10,3],50],"check":"regression remaining budget #2","expected":[[0,4,10,3],50],"passed":true},{"actual":[[0,0,1],50],"check":"two level cascade #1","expected":[[0,0,1],50],"passed":true},{"actual":[[0,6],0],"check":"max tier untouched #1","expected":[[0,6],0],"passed":true},{"actual":[[0,0,4],70],"check":"control #1","expected":[[0,0,4],70],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"budget stops second tier #1\", \"actual\": [[0, 4, 0], 30], \"expected\": [[0, 4, 0], 30], \"passed\": true}, {\"check\": \"regression remaining budget #1\", \"actual\": [[1, 5, 3, 3, 9], 10], \"expected\": [[1, 5, 3, 3, 9], 10], \"passed\": true}, {\"check\": \"fault site remaining budget #1\", \"actual\": [[9, 8, 2], 60], \"expected\": [[9, 8, 2], 60], \"passed\": true}, {\"check\": \"partial repair boundary #1\", \"actual\": [[0, 1, 8, 4], 20], \"expected\": [[0, 1, 8, 4], 20], \"passed\": true}, {\"check\": \"regression remaining budget #2\", \"actual\": [[0, 4, 10, 3], 50], \"expected\": [[0, 4, 10, 3], 50], \"passed\": true}, {\"check\": \"two level cascade #1\", \"actual\": [[0, 0, 1], 50], \"expected\": [[0, 0, 1], 50], \"passed\": true}, {\"check\": \"max tier untouched #1\", \"actual\": [[0, 6], 0], \"expected\": [[0, 6], 0], \"passed\": true}, {\"check\": \"control #1\", \"actual\": [[0, 0, 4], 70], \"expected\": [[0, 0, 4], 70], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}