{"abstract":"Multiple aces force an avoidable blackjack bust.","category":"Game simulation rules","checks":7,"contract":"Cards are integers 2..10 or A. Return the maximal blackjack total at most 21 if achievable, otherwise minimum possible total. Empty hand scores zero.","evaluation_group":"model-5f7340819d876886","failed_approach":"Lowering at most one ace still busts multi-ace hands.","family":"z-games-flexible-aces","id":"FA-11671","implementations":{"attempt":{"sha256":"16fb3fd7d5a82d151049c16a81295f22a810ee2a75c70a9ff9b0272edf6307cf","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cards):\n    total=sum(11 if c=='A' else c for c in cards)\n    return total-10 if total>21 and 'A' in cards else total\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('multiple soft aces',solve(['A','A','A',9]),12)\ncheck('single downgrade',solve(['A',10,N+1]),12+N)\ncheck('natural',solve(['A',10]),21)\ncheck('soft pair',solve(['A','A']),12)\ncheck('empty',solve([]),0)\ncheck('hard bust',solve([10,10,5]),25)\ncheck('all aces',solve(['A']*(N+2)),12+N)\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":"09b509e57ebfdc44422ae546c3a2a1dfc89012a2ae99c763c84209330560358b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cards):\n    return sum(11 if c=='A' else c for c in cards)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('multiple soft aces',solve(['A','A','A',9]),12)\ncheck('single downgrade',solve(['A',10,N+1]),12+N)\ncheck('natural',solve(['A',10]),21)\ncheck('soft pair',solve(['A','A']),12)\ncheck('empty',solve([]),0)\ncheck('hard bust',solve([10,10,5]),25)\ncheck('all aces',solve(['A']*(N+2)),12+N)\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":"c901c58eec6ef161ac91bf6b0a130f86dd1f4d114f6bab3d1cc3fbd7d7263f35","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cards):\n    total=sum(11 if c=='A' else c for c in cards)\n    aces=cards.count('A')\n    while total>21 and aces:\n     total-=10; aces-=1\n    return total\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('multiple soft aces',solve(['A','A','A',9]),12)\ncheck('single downgrade',solve(['A',10,N+1]),12+N)\ncheck('natural',solve(['A',10]),21)\ncheck('soft pair',solve(['A','A']),12)\ncheck('empty',solve([]),0)\ncheck('hard bust',solve([10,10,5]),25)\ncheck('all aces',solve(['A']*(N+2)),12+N)\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":"Controlled rules-only simulation; not a complete 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":"z-games-flexible-aces","generated_at":"2026-09-29T14:38:49.915404+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic game-rule model isolates this rule interaction for regression testing.","repair":"Start aces at eleven and lower by ten repeatedly while over twenty-one.","root_cause":"Every ace is valued at eleven.","sha256":"77ac7684f0ce0f75ec3c9db881c8d13b536617f7d342d096c0a68b7076f6ba80","title":"Multiple aces force an avoidable blackjack bust · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.923,"exit_code":1,"observations":[{"actual":32,"check":"multiple soft aces","expected":12,"passed":false},{"actual":13,"check":"single downgrade","expected":13,"passed":true},{"actual":21,"check":"natural","expected":21,"passed":true},{"actual":12,"check":"soft pair","expected":12,"passed":true},{"actual":0,"check":"empty","expected":0,"passed":true},{"actual":25,"check":"hard bust","expected":25,"passed":true},{"actual":23,"check":"all aces","expected":13,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"multiple soft aces\", \"actual\": 32, \"expected\": 12, \"passed\": false}, {\"check\": \"single downgrade\", \"actual\": 13, \"expected\": 13, \"passed\": true}, {\"check\": \"natural\", \"actual\": 21, \"expected\": 21, \"passed\": true}, {\"check\": \"soft pair\", \"actual\": 12, \"expected\": 12, \"passed\": true}, {\"check\": \"empty\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"hard bust\", \"actual\": 25, \"expected\": 25, \"passed\": true}, {\"check\": \"all aces\", \"actual\": 23, \"expected\": 13, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.927,"exit_code":1,"observations":[{"actual":42,"check":"multiple soft aces","expected":12,"passed":false},{"actual":23,"check":"single downgrade","expected":13,"passed":false},{"actual":21,"check":"natural","expected":21,"passed":true},{"actual":22,"check":"soft pair","expected":12,"passed":false},{"actual":0,"check":"empty","expected":0,"passed":true},{"actual":25,"check":"hard bust","expected":25,"passed":true},{"actual":33,"check":"all aces","expected":13,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"multiple soft aces\", \"actual\": 42, \"expected\": 12, \"passed\": false}, {\"check\": \"single downgrade\", \"actual\": 23, \"expected\": 13, \"passed\": false}, {\"check\": \"natural\", \"actual\": 21, \"expected\": 21, \"passed\": true}, {\"check\": \"soft pair\", \"actual\": 22, \"expected\": 12, \"passed\": false}, {\"check\": \"empty\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"hard bust\", \"actual\": 25, \"expected\": 25, \"passed\": true}, {\"check\": \"all aces\", \"actual\": 33, \"expected\": 13, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":38.927,"exit_code":0,"observations":[{"actual":12,"check":"multiple soft aces","expected":12,"passed":true},{"actual":13,"check":"single downgrade","expected":13,"passed":true},{"actual":21,"check":"natural","expected":21,"passed":true},{"actual":12,"check":"soft pair","expected":12,"passed":true},{"actual":0,"check":"empty","expected":0,"passed":true},{"actual":25,"check":"hard bust","expected":25,"passed":true},{"actual":13,"check":"all aces","expected":13,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"multiple soft aces\", \"actual\": 12, \"expected\": 12, \"passed\": true}, {\"check\": \"single downgrade\", \"actual\": 13, \"expected\": 13, \"passed\": true}, {\"check\": \"natural\", \"actual\": 21, \"expected\": 21, \"passed\": true}, {\"check\": \"soft pair\", \"actual\": 12, \"expected\": 12, \"passed\": true}, {\"check\": \"empty\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"hard bust\", \"actual\": 25, \"expected\": 25, \"passed\": true}, {\"check\": \"all aces\", \"actual\": 13, \"expected\": 13, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}