{"abstract":"After a bust the remaining score keeps the earlier darts of the turn.","category":"Sports scoring and tiebreakers","checks":10,"contract":"Double-out darts leg from a remaining score. darts lists thrown darts: S/D/T followed by 1-20, SB (25), DB (50, a double) or M (miss). Turns are three darts. After each dart: reaching exactly 0 with a double (D* or DB) checks out and later darts are ignored; a remaining score below 2 otherwise is a bust, the score reverts to its value at the start of the turn and the turn ends immediately (the next dart in the list starts a new turn). Return [remaining, turns used, checked_out].","evaluation_group":"w2-sports-scoring-darts-double-out-bust","failed_approach":"Reverting to the leg starting score wipes out earlier completed turns.","family":"w2-sports-scoring-darts-double-out-bust-bust-reversion-scope","id":"FA-84201","implementations":{"attempt":{"sha256":"1991203535b6f4034ae749d588e07e2e23abb53f69582e8f3ac786fcff582515","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(start, darts):\n    def value(d):\n        if d == 'M':\n            return 0, False\n        if d == 'SB':\n            return 25, False\n        if d == 'DB':\n            return 50, True\n        mult = {'S': 1, 'D': 2, 'T': 3}[d[0]]\n        return mult * int(d[1:]), d[0] == 'D'\n    score = start\n    turns = 0\n    i = 0\n    while i < len(darts):\n        turns += 1\n        turn_start = score\n        for k in range(3):\n            if i >= len(darts):\n                break\n            v, dbl = value(darts[i])\n            i += 1\n            score -= v\n            if score == 0 and dbl:\n                return [0, turns, True]\n            if score < 2:\n                score = start\n                break\n    return [score, turns, False]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ndef run(args):\n    try:\n        return solve(*args)\n    except Exception as exc:\n        return 'raised ' + type(exc).__name__\ncases = [[('control checkout on double', (40, ['D20']), [0, 1, True]),\n  ('boundary finish on single busts', (20, ['S20', 'D10']), [0, 2, True]),\n  ('boundary leave one busts', (21, ['S20', 'S1']), [20, 2, False]),\n  ('control bull finish', (50, ['DB']), [0, 1, True]),\n  ('boundary bust mid-turn reverts', (32, ['S10', 'T20', 'D16']), [0, 2, True]),\n  ('control scoring turn', (101, ['T20', 'S1', 'S20']), [20, 1, False]),\n  ('regression: bust reversion scope',\n   (20, ['S13', 'D5', 'T12', 'T17', 'D7', 'D13', 'S6']),\n   [14, 5, False]),\n  ('regression: bust reversion scope',\n   (54, ['D13', 'S13', 'DB', 'M', 'S9', 'S16', 'D16', 'M']),\n   [29, 4, False]),\n  ('variant scenario 1',\n   (45, ['T10', 'S14', 'S20', 'D1', 'SB', 'D19', 'D20', 'D16', 'S14']),\n   [45, 4, False]),\n  ('variant scenario 2',\n   (36, ['S18', 'D12', 'D4', 'D15', 'D11', 'D12', 'D11', 'D11']),\n   [36, 4, False])],\n [('control checkout on double', (40, ['D20']), [0, 1, True]),\n  ('boundary finish on single busts', (20, ['S20', 'D10']), [0, 2, True]),\n  ('boundary leave one busts', (21, ['S20', 'S1']), [20, 2, False]),\n  ('control bull finish', (50, ['DB']), [0, 1, True]),\n  ('boundary bust mid-turn reverts', (32, ['S10', 'T20', 'D16']), [0, 2, True]),\n  ('control scoring turn', (101, ['T20', 'S1', 'S20']), [20, 1, False]),\n  ('regression: bust reversion scope', (50, ['T3', 'D4', 'S8', 'T8', 'S9', 'SB']), [25, 3, False]),\n  ('variant scenario 1', (32, ['D4', 'D14', 'SB', 'DB', 'D15', 'S4', 'S5', 'T5']), [12, 4, False]),\n  ('variant scenario 2', (50, ['DB']), [0, 1, True])],\n [('control checkout on double', (40, ['D20']), [0, 1, True]),\n  ('boundary finish on single busts', (20, ['S20', 'D10']), [0, 2, True]),\n  ('boundary leave one busts', (21, ['S20', 'S1']), [20, 2, False]),\n  ('control bull finish', (50, ['DB']), [0, 1, True]),\n  ('boundary bust mid-turn reverts', (32, ['S10', 'T20', 'D16']), [0, 2, True]),\n  ('control scoring turn', (101, ['T20', 'S1', 'S20']), [20, 1, False]),\n  ('regression: bust reversion scope', (32, ['T2', 'S18', 'S12', 'D7']), [18, 2, False]),\n  ('regression: bust reversion scope',\n   (101, ['D11', 'D9', 'S5', 'D12', 'D11', 'DB']),\n   [56, 2, False]),\n  ('variant scenario 1', (3, ['D10', 'T9']), [3, 2, False]),\n  ('variant scenario 2', (101, ['D15', 'S1', 'D1']), [68, 1, False])],\n [('control checkout on double', (40, ['D20']), [0, 1, True]),\n  ('boundary finish on single busts', (20, ['S20', 'D10']), [0, 2, True]),\n  ('boundary leave one busts', (21, ['S20', 'S1']), [20, 2, False]),\n  ('control bull finish', (50, ['DB']), [0, 1, True]),\n  ('boundary bust mid-turn reverts', (32, ['S10', 'T20', 'D16']), [0, 2, True]),\n  ('control scoring turn', (101, ['T20', 'S1', 'S20']), [20, 1, False]),\n  ('regression: bust reversion scope', (50, ['T4', 'S8', 'S4', 'T1', 'SB', 'T12']), [26, 3, False]),\n  ('variant scenario 1', (3, ['S19', 'D6', 'D4', 'D19', 'D5', 'D9', 'T10', 'S14']), [3, 8, False]),\n  ('variant scenario 2', (16, ['D13', 'D17', 'D8', 'S8']), [0, 3, True])],\n [('control checkout on double', (40, ['D20']), [0, 1, True]),\n  ('boundary finish on single busts', (20, ['S20', 'D10']), [0, 2, True]),\n  ('boundary leave one busts', (21, ['S20', 'S1']), [20, 2, False]),\n  ('control bull finish', (50, ['DB']), [0, 1, True]),\n  ('boundary bust mid-turn reverts', (32, ['S10', 'T20', 'D16']), [0, 2, True]),\n  ('control scoring turn', (101, ['T20', 'S1', 'S20']), [20, 1, False]),\n  ('regression: bust reversion scope',\n   (10, ['S16', 'D18', 'T5', 'D20', 'D2', 'D4', 'S9', 'D16', 'D2']),\n   [6, 8, False]),\n  ('regression: bust reversion scope',\n   (101, ['D9', 'T11', 'SB', 'D15', 'T19', 'S7']),\n   [18, 4, False]),\n  ('variant scenario 1', (3, ['M', 'D19', 'T10', 'T8', 'D5', 'S4', 'M', 'S3']), [3, 6, False]),\n  ('variant scenario 2', (101, ['D5', 'D12']), [67, 1, False])]]\nfor label, args, expected in cases[N - 1]:\n    check(label, run(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":"b8f2ffd7bf5b2411af737cb190ddc1b5141e24bdabba49ddc27defcbfacd7a52","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(start, darts):\n    def value(d):\n        if d == 'M':\n            return 0, False\n        if d == 'SB':\n            return 25, False\n        if d == 'DB':\n            return 50, True\n        mult = {'S': 1, 'D': 2, 'T': 3}[d[0]]\n        return mult * int(d[1:]), d[0] == 'D'\n    score = start\n    turns = 0\n    i = 0\n    while i < len(darts):\n        turns += 1\n        turn_start = score\n        for k in range(3):\n            if i >= len(darts):\n                break\n            v, dbl = value(darts[i])\n            i += 1\n            score -= v\n            if score == 0 and dbl:\n                return [0, turns, True]\n            if score < 2:\n                score += v\n                break\n    return [score, turns, False]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ndef run(args):\n    try:\n        return solve(*args)\n    except Exception as exc:\n        return 'raised ' + type(exc).__name__\ncases = [[('control checkout on double', (40, ['D20']), [0, 1, True]),\n  ('boundary finish on single busts', (20, ['S20', 'D10']), [0, 2, True]),\n  ('boundary leave one busts', (21, ['S20', 'S1']), [20, 2, False]),\n  ('control bull finish', (50, ['DB']), [0, 1, True]),\n  ('boundary bust mid-turn reverts', (32, ['S10', 'T20', 'D16']), [0, 2, True]),\n  ('control scoring turn', (101, ['T20', 'S1', 'S20']), [20, 1, False]),\n  ('regression: bust reversion scope',\n   (20, ['S13', 'D5', 'T12', 'T17', 'D7', 'D13', 'S6']),\n   [14, 5, False]),\n  ('regression: bust reversion scope',\n   (54, ['D13', 'S13', 'DB', 'M', 'S9', 'S16', 'D16', 'M']),\n   [29, 4, False]),\n  ('variant scenario 1',\n   (45, ['T10', 'S14', 'S20', 'D1', 'SB', 'D19', 'D20', 'D16', 'S14']),\n   [45, 4, False]),\n  ('variant scenario 2',\n   (36, ['S18', 'D12', 'D4', 'D15', 'D11', 'D12', 'D11', 'D11']),\n   [36, 4, False])],\n [('control checkout on double', (40, ['D20']), [0, 1, True]),\n  ('boundary finish on single busts', (20, ['S20', 'D10']), [0, 2, True]),\n  ('boundary leave one busts', (21, ['S20', 'S1']), [20, 2, False]),\n  ('control bull finish', (50, ['DB']), [0, 1, True]),\n  ('boundary bust mid-turn reverts', (32, ['S10', 'T20', 'D16']), [0, 2, True]),\n  ('control scoring turn', (101, ['T20', 'S1', 'S20']), [20, 1, False]),\n  ('regression: bust reversion scope', (50, ['T3', 'D4', 'S8', 'T8', 'S9', 'SB']), [25, 3, False]),\n  ('variant scenario 1', (32, ['D4', 'D14', 'SB', 'DB', 'D15', 'S4', 'S5', 'T5']), [12, 4, False]),\n  ('variant scenario 2', (50, ['DB']), [0, 1, True])],\n [('control checkout on double', (40, ['D20']), [0, 1, True]),\n  ('boundary finish on single busts', (20, ['S20', 'D10']), [0, 2, True]),\n  ('boundary leave one busts', (21, ['S20', 'S1']), [20, 2, False]),\n  ('control bull finish', (50, ['DB']), [0, 1, True]),\n  ('boundary bust mid-turn reverts', (32, ['S10', 'T20', 'D16']), [0, 2, True]),\n  ('control scoring turn', (101, ['T20', 'S1', 'S20']), [20, 1, False]),\n  ('regression: bust reversion scope', (32, ['T2', 'S18', 'S12', 'D7']), [18, 2, False]),\n  ('regression: bust reversion scope',\n   (101, ['D11', 'D9', 'S5', 'D12', 'D11', 'DB']),\n   [56, 2, False]),\n  ('variant scenario 1', (3, ['D10', 'T9']), [3, 2, False]),\n  ('variant scenario 2', (101, ['D15', 'S1', 'D1']), [68, 1, False])],\n [('control checkout on double', (40, ['D20']), [0, 1, True]),\n  ('boundary finish on single busts', (20, ['S20', 'D10']), [0, 2, True]),\n  ('boundary leave one busts', (21, ['S20', 'S1']), [20, 2, False]),\n  ('control bull finish', (50, ['DB']), [0, 1, True]),\n  ('boundary bust mid-turn reverts', (32, ['S10', 'T20', 'D16']), [0, 2, True]),\n  ('control scoring turn', (101, ['T20', 'S1', 'S20']), [20, 1, False]),\n  ('regression: bust reversion scope', (50, ['T4', 'S8', 'S4', 'T1', 'SB', 'T12']), [26, 3, False]),\n  ('variant scenario 1', (3, ['S19', 'D6', 'D4', 'D19', 'D5', 'D9', 'T10', 'S14']), [3, 8, False]),\n  ('variant scenario 2', (16, ['D13', 'D17', 'D8', 'S8']), [0, 3, True])],\n [('control checkout on double', (40, ['D20']), [0, 1, True]),\n  ('boundary finish on single busts', (20, ['S20', 'D10']), [0, 2, True]),\n  ('boundary leave one busts', (21, ['S20', 'S1']), [20, 2, False]),\n  ('control bull finish', (50, ['DB']), [0, 1, True]),\n  ('boundary bust mid-turn reverts', (32, ['S10', 'T20', 'D16']), [0, 2, True]),\n  ('control scoring turn', (101, ['T20', 'S1', 'S20']), [20, 1, False]),\n  ('regression: bust reversion scope',\n   (10, ['S16', 'D18', 'T5', 'D20', 'D2', 'D4', 'S9', 'D16', 'D2']),\n   [6, 8, False]),\n  ('regression: bust reversion scope',\n   (101, ['D9', 'T11', 'SB', 'D15', 'T19', 'S7']),\n   [18, 4, False]),\n  ('variant scenario 1', (3, ['M', 'D19', 'T10', 'T8', 'D5', 'S4', 'M', 'S3']), [3, 6, False]),\n  ('variant scenario 2', (101, ['D5', 'D12']), [67, 1, False])]]\nfor label, args, expected in cases[N - 1]:\n    check(label, run(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":"5ed3d0a1d01361928cf7df381f473e690c20f94221af572a9df5feafdbad60b8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(start, darts):\n    def value(d):\n        if d == 'M':\n            return 0, False\n        if d == 'SB':\n            return 25, False\n        if d == 'DB':\n            return 50, True\n        mult = {'S': 1, 'D': 2, 'T': 3}[d[0]]\n        return mult * int(d[1:]), d[0] == 'D'\n    score = start\n    turns = 0\n    i = 0\n    while i < len(darts):\n        turns += 1\n        turn_start = score\n        for k in range(3):\n            if i >= len(darts):\n                break\n            v, dbl = value(darts[i])\n            i += 1\n            score -= v\n            if score == 0 and dbl:\n                return [0, turns, True]\n            if score < 2:\n                score = turn_start\n                break\n    return [score, turns, False]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ndef run(args):\n    try:\n        return solve(*args)\n    except Exception as exc:\n        return 'raised ' + type(exc).__name__\ncases = [[('control checkout on double', (40, ['D20']), [0, 1, True]),\n  ('boundary finish on single busts', (20, ['S20', 'D10']), [0, 2, True]),\n  ('boundary leave one busts', (21, ['S20', 'S1']), [20, 2, False]),\n  ('control bull finish', (50, ['DB']), [0, 1, True]),\n  ('boundary bust mid-turn reverts', (32, ['S10', 'T20', 'D16']), [0, 2, True]),\n  ('control scoring turn', (101, ['T20', 'S1', 'S20']), [20, 1, False]),\n  ('regression: bust reversion scope',\n   (20, ['S13', 'D5', 'T12', 'T17', 'D7', 'D13', 'S6']),\n   [14, 5, False]),\n  ('regression: bust reversion scope',\n   (54, ['D13', 'S13', 'DB', 'M', 'S9', 'S16', 'D16', 'M']),\n   [29, 4, False]),\n  ('variant scenario 1',\n   (45, ['T10', 'S14', 'S20', 'D1', 'SB', 'D19', 'D20', 'D16', 'S14']),\n   [45, 4, False]),\n  ('variant scenario 2',\n   (36, ['S18', 'D12', 'D4', 'D15', 'D11', 'D12', 'D11', 'D11']),\n   [36, 4, False])],\n [('control checkout on double', (40, ['D20']), [0, 1, True]),\n  ('boundary finish on single busts', (20, ['S20', 'D10']), [0, 2, True]),\n  ('boundary leave one busts', (21, ['S20', 'S1']), [20, 2, False]),\n  ('control bull finish', (50, ['DB']), [0, 1, True]),\n  ('boundary bust mid-turn reverts', (32, ['S10', 'T20', 'D16']), [0, 2, True]),\n  ('control scoring turn', (101, ['T20', 'S1', 'S20']), [20, 1, False]),\n  ('regression: bust reversion scope', (50, ['T3', 'D4', 'S8', 'T8', 'S9', 'SB']), [25, 3, False]),\n  ('variant scenario 1', (32, ['D4', 'D14', 'SB', 'DB', 'D15', 'S4', 'S5', 'T5']), [12, 4, False]),\n  ('variant scenario 2', (50, ['DB']), [0, 1, True])],\n [('control checkout on double', (40, ['D20']), [0, 1, True]),\n  ('boundary finish on single busts', (20, ['S20', 'D10']), [0, 2, True]),\n  ('boundary leave one busts', (21, ['S20', 'S1']), [20, 2, False]),\n  ('control bull finish', (50, ['DB']), [0, 1, True]),\n  ('boundary bust mid-turn reverts', (32, ['S10', 'T20', 'D16']), [0, 2, True]),\n  ('control scoring turn', (101, ['T20', 'S1', 'S20']), [20, 1, False]),\n  ('regression: bust reversion scope', (32, ['T2', 'S18', 'S12', 'D7']), [18, 2, False]),\n  ('regression: bust reversion scope',\n   (101, ['D11', 'D9', 'S5', 'D12', 'D11', 'DB']),\n   [56, 2, False]),\n  ('variant scenario 1', (3, ['D10', 'T9']), [3, 2, False]),\n  ('variant scenario 2', (101, ['D15', 'S1', 'D1']), [68, 1, False])],\n [('control checkout on double', (40, ['D20']), [0, 1, True]),\n  ('boundary finish on single busts', (20, ['S20', 'D10']), [0, 2, True]),\n  ('boundary leave one busts', (21, ['S20', 'S1']), [20, 2, False]),\n  ('control bull finish', (50, ['DB']), [0, 1, True]),\n  ('boundary bust mid-turn reverts', (32, ['S10', 'T20', 'D16']), [0, 2, True]),\n  ('control scoring turn', (101, ['T20', 'S1', 'S20']), [20, 1, False]),\n  ('regression: bust reversion scope', (50, ['T4', 'S8', 'S4', 'T1', 'SB', 'T12']), [26, 3, False]),\n  ('variant scenario 1', (3, ['S19', 'D6', 'D4', 'D19', 'D5', 'D9', 'T10', 'S14']), [3, 8, False]),\n  ('variant scenario 2', (16, ['D13', 'D17', 'D8', 'S8']), [0, 3, True])],\n [('control checkout on double', (40, ['D20']), [0, 1, True]),\n  ('boundary finish on single busts', (20, ['S20', 'D10']), [0, 2, True]),\n  ('boundary leave one busts', (21, ['S20', 'S1']), [20, 2, False]),\n  ('control bull finish', (50, ['DB']), [0, 1, True]),\n  ('boundary bust mid-turn reverts', (32, ['S10', 'T20', 'D16']), [0, 2, True]),\n  ('control scoring turn', (101, ['T20', 'S1', 'S20']), [20, 1, False]),\n  ('regression: bust reversion scope',\n   (10, ['S16', 'D18', 'T5', 'D20', 'D2', 'D4', 'S9', 'D16', 'D2']),\n   [6, 8, False]),\n  ('regression: bust reversion scope',\n   (101, ['D9', 'T11', 'SB', 'D15', 'T19', 'S7']),\n   [18, 4, False]),\n  ('variant scenario 1', (3, ['M', 'D19', 'T10', 'T8', 'D5', 'S4', 'M', 'S3']), [3, 6, False]),\n  ('variant scenario 2', (101, ['D5', 'D12']), [67, 1, False])]]\nfor label, args, expected in cases[N - 1]:\n    check(label, run(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":"Stipulated, bounded toy contract stated in the contract field; not a claim of conformance with any governing body rulebook or operator house rules. 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-sports-scoring-darts-double-out-bust-bust-reversion-scope","generated_at":"2026-09-29T14:50:28.535308+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Darts scoring apps must implement bust reversion and double-out exactly.","repair":"Restore the score captured at the start of the turn.","root_cause":"The bust handler adds back only the value of the busting dart.","sha256":"c38866168016f32c113ab744a5e01c93ca15ed05195352feb33d1c42daed3c18","title":"Bust only undoes the last dart · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":38.799,"exit_code":1,"observations":[{"actual":[0,1,true],"check":"control checkout on double","expected":[0,1,true],"passed":true},{"actual":[0,2,true],"check":"boundary finish on single busts","expected":[0,2,true],"passed":true},{"actual":[20,2,false],"check":"boundary leave one busts","expected":[20,2,false],"passed":true},{"actual":[0,1,true],"check":"control bull finish","expected":[0,1,true],"passed":true},{"actual":[0,2,true],"check":"boundary bust mid-turn reverts","expected":[0,2,true],"passed":true},{"actual":[20,1,false],"check":"control scoring turn","expected":[20,1,false],"passed":true},{"actual":[14,5,false],"check":"regression: bust reversion scope","expected":[14,5,false],"passed":true},{"actual":[54,4,false],"check":"regression: bust reversion scope","expected":[29,4,false],"passed":false},{"actual":[45,4,false],"check":"variant scenario 1","expected":[45,4,false],"passed":true},{"actual":[36,4,false],"check":"variant scenario 2","expected":[36,4,false],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control checkout on double\", \"actual\": [0, 1, true], \"expected\": [0, 1, true], \"passed\": true}, {\"check\": \"boundary finish on single busts\", \"actual\": [0, 2, true], \"expected\": [0, 2, true], \"passed\": true}, {\"check\": \"boundary leave one busts\", \"actual\": [20, 2, false], \"expected\": [20, 2, false], \"passed\": true}, {\"check\": \"control bull finish\", \"actual\": [0, 1, true], \"expected\": [0, 1, true], \"passed\": true}, {\"check\": \"boundary bust mid-turn reverts\", \"actual\": [0, 2, true], \"expected\": [0, 2, true], \"passed\": true}, {\"check\": \"control scoring turn\", \"actual\": [20, 1, false], \"expected\": [20, 1, false], \"passed\": true}, {\"check\": \"regression: bust reversion scope\", \"actual\": [14, 5, false], \"expected\": [14, 5, false], \"passed\": true}, {\"check\": \"regression: bust reversion scope\", \"actual\": [54, 4, false], \"expected\": [29, 4, false], \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": [45, 4, false], \"expected\": [45, 4, false], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": [36, 4, false], \"expected\": [36, 4, false], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.987,"exit_code":1,"observations":[{"actual":[0,1,true],"check":"control checkout on double","expected":[0,1,true],"passed":true},{"actual":[0,2,true],"check":"boundary finish on single busts","expected":[0,2,true],"passed":true},{"actual":[20,2,false],"check":"boundary leave one busts","expected":[20,2,false],"passed":true},{"actual":[0,1,true],"check":"control bull finish","expected":[0,1,true],"passed":true},{"actual":[22,2,false],"check":"boundary bust mid-turn reverts","expected":[0,2,true],"passed":false},{"actual":[20,1,false],"check":"control scoring turn","expected":[20,1,false],"passed":true},{"actual":[7,6,false],"check":"regression: bust reversion scope","expected":[14,5,false],"passed":false},{"actual":[6,4,false],"check":"regression: bust reversion scope","expected":[29,4,false],"passed":false},{"actual":[13,7,false],"check":"variant scenario 1","expected":[45,4,false],"passed":false},{"actual":[10,6,false],"check":"variant scenario 2","expected":[36,4,false],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control checkout on double\", \"actual\": [0, 1, true], \"expected\": [0, 1, true], \"passed\": true}, {\"check\": \"boundary finish on single busts\", \"actual\": [0, 2, true], \"expected\": [0, 2, true], \"passed\": true}, {\"check\": \"boundary leave one busts\", \"actual\": [20, 2, false], \"expected\": [20, 2, false], \"passed\": true}, {\"check\": \"control bull finish\", \"actual\": [0, 1, true], \"expected\": [0, 1, true], \"passed\": true}, {\"check\": \"boundary bust mid-turn reverts\", \"actual\": [22, 2, false], \"expected\": [0, 2, true], \"passed\": false}, {\"check\": \"control scoring turn\", \"actual\": [20, 1, false], \"expected\": [20, 1, false], \"passed\": true}, {\"check\": \"regression: bust reversion scope\", \"actual\": [7, 6, false], \"expected\": [14, 5, false], \"passed\": false}, {\"check\": \"regression: bust reversion scope\", \"actual\": [6, 4, false], \"expected\": [29, 4, false], \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": [13, 7, false], \"expected\": [45, 4, false], \"passed\": false}, {\"check\": \"variant scenario 2\", \"actual\": [10, 6, false], \"expected\": [36, 4, false], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.15,"exit_code":0,"observations":[{"actual":[0,1,true],"check":"control checkout on double","expected":[0,1,true],"passed":true},{"actual":[0,2,true],"check":"boundary finish on single busts","expected":[0,2,true],"passed":true},{"actual":[20,2,false],"check":"boundary leave one busts","expected":[20,2,false],"passed":true},{"actual":[0,1,true],"check":"control bull finish","expected":[0,1,true],"passed":true},{"actual":[0,2,true],"check":"boundary bust mid-turn reverts","expected":[0,2,true],"passed":true},{"actual":[20,1,false],"check":"control scoring turn","expected":[20,1,false],"passed":true},{"actual":[14,5,false],"check":"regression: bust reversion scope","expected":[14,5,false],"passed":true},{"actual":[29,4,false],"check":"regression: bust reversion scope","expected":[29,4,false],"passed":true},{"actual":[45,4,false],"check":"variant scenario 1","expected":[45,4,false],"passed":true},{"actual":[36,4,false],"check":"variant scenario 2","expected":[36,4,false],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control checkout on double\", \"actual\": [0, 1, true], \"expected\": [0, 1, true], \"passed\": true}, {\"check\": \"boundary finish on single busts\", \"actual\": [0, 2, true], \"expected\": [0, 2, true], \"passed\": true}, {\"check\": \"boundary leave one busts\", \"actual\": [20, 2, false], \"expected\": [20, 2, false], \"passed\": true}, {\"check\": \"control bull finish\", \"actual\": [0, 1, true], \"expected\": [0, 1, true], \"passed\": true}, {\"check\": \"boundary bust mid-turn reverts\", \"actual\": [0, 2, true], \"expected\": [0, 2, true], \"passed\": true}, {\"check\": \"control scoring turn\", \"actual\": [20, 1, false], \"expected\": [20, 1, false], \"passed\": true}, {\"check\": \"regression: bust reversion scope\", \"actual\": [14, 5, false], \"expected\": [14, 5, false], \"passed\": true}, {\"check\": \"regression: bust reversion scope\", \"actual\": [29, 4, false], \"expected\": [29, 4, false], \"passed\": true}, {\"check\": \"variant scenario 1\", \"actual\": [45, 4, false], \"expected\": [45, 4, false], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": [36, 4, false], \"expected\": [36, 4, false], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}