{"abstract":"Every paired hand is reported as high card.","category":"Poker hand evaluation","checks":8,"contract":"Input: five cards \"Rs\" (rank may be written \"10\" for ten; suits ignored, repeated ranks allowed up to four). Each rank maps to a distinct prime (2 for deuce ... 41 for ace); the product of the five primes is factored back into rank multiplicities, and the sorted multiplicity pattern names the rank shape: four of a kind, full house, three of a kind, two pair, one pair or high card.","contract_signature":"x","evaluation_group":"w2-poker_hand_evaluation-prime-product-shape","failed_approach":"Dividing by p squared then p caps multiplicity at two, so trips and quads are misread.","family":"w2-poker_hand_evaluation-prime-product-shape-multiplicity-extraction-loop","id":"FA-81961","implementations":{"attempt":{"sha256":"871f8130908b6ce5755eaa92879e50e7849e77f143314a76ae2ecdc65f03dc39","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    R='23456789TJQKA'\n    P=[2,3,5,7,11,13,17,19,23,29,31,37,41]\n    prod=1\n    for c in x:\n        prod*=P[R.index('T' if c[:-1]=='10' else c[:-1])]\n    exps=[]\n    for p in P:\n        e=0\n        while prod%(p*p)==0:\n            prod//=p*p\n            e+=2\n        if prod%p==0:\n            prod//=p\n            e+=1\n        e=min(e,2)\n        if e: exps.append(e)\n    exps.sort(reverse=True)\n    names={(4,1):'four of a kind',(3,2):'full house',(3,1,1):'three of a kind',(2,2,1):'two pair',(2,1,1,1):'one pair',(1,1,1,1,1):'high card'}\n    return names[tuple(exps)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('ace high', ['Ah', 'Kd', '9c', '7s', '4h'], 'high card'),\n  ('pair of aces', ['Ah', 'Ad', '9c', '7s', '4h'], 'one pair'),\n  ('ace with three', ['Ah', '3d', '9c', '7s', '4h'], 'high card'),\n  ('ace with king', ['Ah', 'Kd', 'Qc', '7s', '4h'], 'high card'),\n  ('ace with seven pair', ['Ah', '7d', '7c', '2s', '4h'], 'one pair'),\n  ('full house', ['Kh', 'Kd', '2c', '2s', '2h'], 'full house'),\n  ('quads', ['9h', '9d', '9c', '9s', '2h'], 'four of a kind'),\n  ('deuce and ace', ['2h', 'Ad', '8c', '6s', '4h'], 'high card')],\n [('pair of aces', ['Ah', 'Ad', '9c', '7s', '4h'], 'one pair'),\n  ('ace with seven pair', ['Ah', '7d', '7c', '2s', '4h'], 'one pair'),\n  ('full house', ['Kh', 'Kd', '2c', '2s', '2h'], 'full house'),\n  ('quads', ['9h', '9d', '9c', '9s', '2h'], 'four of a kind'),\n  ('trips deuces', ['2h', '2d', '2c', 'Ks', 'Qh'], 'three of a kind'),\n  ('deuce and ace', ['2h', 'Ad', '8c', '6s', '4h'], 'high card'),\n  ('high card low', ['2h', '3d', '5c', '7s', '9h'], 'high card'),\n  ('ten token with ace', ['10h', 'Ad', '8c', '6s', '4h'], 'high card')],\n [('pair of aces', ['Ah', 'Ad', '9c', '7s', '4h'], 'one pair'),\n  ('ace with seven pair', ['Ah', '7d', '7c', '2s', '4h'], 'one pair'),\n  ('full house', ['Kh', 'Kd', '2c', '2s', '2h'], 'full house'),\n  ('quads', ['9h', '9d', '9c', '9s', '2h'], 'four of a kind'),\n  ('two pair', ['Jh', 'Jd', '4c', '4s', 'Ah'], 'two pair'),\n  ('trips deuces', ['2h', '2d', '2c', 'Ks', 'Qh'], 'three of a kind'),\n  ('pair of deuces', ['2h', '2d', '5c', '7s', '9h'], 'one pair'),\n  ('ten token full house', ['10h', '10d', 'Tc', '6s', '6h'], 'full house')],\n [('ace high', ['Ah', 'Kd', '9c', '7s', '4h'], 'high card'),\n  ('full house', ['Kh', 'Kd', '2c', '2s', '2h'], 'full house'),\n  ('quads', ['9h', '9d', '9c', '9s', '2h'], 'four of a kind'),\n  ('two pair', ['Jh', 'Jd', '4c', '4s', 'Ah'], 'two pair'),\n  ('trips deuces', ['2h', '2d', '2c', 'Ks', 'Qh'], 'three of a kind'),\n  ('pair of deuces', ['2h', '2d', '5c', '7s', '9h'], 'one pair'),\n  ('ten token pair', ['10h', 'Td', '8c', '6s', '4h'], 'one pair'),\n  ('ten token full house', ['10h', '10d', 'Tc', '6s', '6h'], 'full house')],\n [('ace high', ['Ah', 'Kd', '9c', '7s', '4h'], 'high card'),\n  ('full house', ['Kh', 'Kd', '2c', '2s', '2h'], 'full house'),\n  ('quads', ['9h', '9d', '9c', '9s', '2h'], 'four of a kind'),\n  ('two pair', ['Jh', 'Jd', '4c', '4s', 'Ah'], 'two pair'),\n  ('trips deuces', ['2h', '2d', '2c', 'Ks', 'Qh'], 'three of a kind'),\n  ('pair of deuces', ['2h', '2d', '5c', '7s', '9h'], 'one pair'),\n  ('ten token pair', ['10h', 'Td', '8c', '6s', '4h'], 'one pair'),\n  ('ten token full house', ['10h', '10d', 'Tc', '6s', '6h'], 'full house')]]\nfor label, args, expected in fixtures[N-1]:\n    try:\n        actual = solve(args)\n    except Exception as exc:\n        actual = 'error:' + type(exc).__name__\n    check(label, actual, 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":"fcb25f197ca058238122b506234888214a3e9b7f154633fc45ebbec45c9001ec","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    R='23456789TJQKA'\n    P=[2,3,5,7,11,13,17,19,23,29,31,37,41]\n    prod=1\n    for c in x:\n        prod*=P[R.index('T' if c[:-1]=='10' else c[:-1])]\n    exps=[]\n    for p in P:\n        e=0\n        if prod%p==0:\n            prod//=p\n            e+=1\n        if e: exps.append(e)\n    exps.sort(reverse=True)\n    names={(4,1):'four of a kind',(3,2):'full house',(3,1,1):'three of a kind',(2,2,1):'two pair',(2,1,1,1):'one pair',(1,1,1,1,1):'high card'}\n    return names[tuple(exps)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('ace high', ['Ah', 'Kd', '9c', '7s', '4h'], 'high card'),\n  ('pair of aces', ['Ah', 'Ad', '9c', '7s', '4h'], 'one pair'),\n  ('ace with three', ['Ah', '3d', '9c', '7s', '4h'], 'high card'),\n  ('ace with king', ['Ah', 'Kd', 'Qc', '7s', '4h'], 'high card'),\n  ('ace with seven pair', ['Ah', '7d', '7c', '2s', '4h'], 'one pair'),\n  ('full house', ['Kh', 'Kd', '2c', '2s', '2h'], 'full house'),\n  ('quads', ['9h', '9d', '9c', '9s', '2h'], 'four of a kind'),\n  ('deuce and ace', ['2h', 'Ad', '8c', '6s', '4h'], 'high card')],\n [('pair of aces', ['Ah', 'Ad', '9c', '7s', '4h'], 'one pair'),\n  ('ace with seven pair', ['Ah', '7d', '7c', '2s', '4h'], 'one pair'),\n  ('full house', ['Kh', 'Kd', '2c', '2s', '2h'], 'full house'),\n  ('quads', ['9h', '9d', '9c', '9s', '2h'], 'four of a kind'),\n  ('trips deuces', ['2h', '2d', '2c', 'Ks', 'Qh'], 'three of a kind'),\n  ('deuce and ace', ['2h', 'Ad', '8c', '6s', '4h'], 'high card'),\n  ('high card low', ['2h', '3d', '5c', '7s', '9h'], 'high card'),\n  ('ten token with ace', ['10h', 'Ad', '8c', '6s', '4h'], 'high card')],\n [('pair of aces', ['Ah', 'Ad', '9c', '7s', '4h'], 'one pair'),\n  ('ace with seven pair', ['Ah', '7d', '7c', '2s', '4h'], 'one pair'),\n  ('full house', ['Kh', 'Kd', '2c', '2s', '2h'], 'full house'),\n  ('quads', ['9h', '9d', '9c', '9s', '2h'], 'four of a kind'),\n  ('two pair', ['Jh', 'Jd', '4c', '4s', 'Ah'], 'two pair'),\n  ('trips deuces', ['2h', '2d', '2c', 'Ks', 'Qh'], 'three of a kind'),\n  ('pair of deuces', ['2h', '2d', '5c', '7s', '9h'], 'one pair'),\n  ('ten token full house', ['10h', '10d', 'Tc', '6s', '6h'], 'full house')],\n [('ace high', ['Ah', 'Kd', '9c', '7s', '4h'], 'high card'),\n  ('full house', ['Kh', 'Kd', '2c', '2s', '2h'], 'full house'),\n  ('quads', ['9h', '9d', '9c', '9s', '2h'], 'four of a kind'),\n  ('two pair', ['Jh', 'Jd', '4c', '4s', 'Ah'], 'two pair'),\n  ('trips deuces', ['2h', '2d', '2c', 'Ks', 'Qh'], 'three of a kind'),\n  ('pair of deuces', ['2h', '2d', '5c', '7s', '9h'], 'one pair'),\n  ('ten token pair', ['10h', 'Td', '8c', '6s', '4h'], 'one pair'),\n  ('ten token full house', ['10h', '10d', 'Tc', '6s', '6h'], 'full house')],\n [('ace high', ['Ah', 'Kd', '9c', '7s', '4h'], 'high card'),\n  ('full house', ['Kh', 'Kd', '2c', '2s', '2h'], 'full house'),\n  ('quads', ['9h', '9d', '9c', '9s', '2h'], 'four of a kind'),\n  ('two pair', ['Jh', 'Jd', '4c', '4s', 'Ah'], 'two pair'),\n  ('trips deuces', ['2h', '2d', '2c', 'Ks', 'Qh'], 'three of a kind'),\n  ('pair of deuces', ['2h', '2d', '5c', '7s', '9h'], 'one pair'),\n  ('ten token pair', ['10h', 'Td', '8c', '6s', '4h'], 'one pair'),\n  ('ten token full house', ['10h', '10d', 'Tc', '6s', '6h'], 'full house')]]\nfor label, args, expected in fixtures[N-1]:\n    try:\n        actual = solve(args)\n    except Exception as exc:\n        actual = 'error:' + type(exc).__name__\n    check(label, actual, 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":"A deterministic toy model with an explicitly stated contract; card strings are rank+suit (for example \"As\", \"Td\", \"10h\"); no claim of conformance to any casino or tournament rulebook. 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-poker_hand_evaluation-prime-product-shape-multiplicity-extraction-loop","generated_at":"2026-09-29T14:50:07.660318+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Prime-product hashing is how table-driven evaluators identify non-flush rank multisets.","root_cause":"The factorization divides by each prime at most once, so the multiplicity of a repeated rank is always 1.","sha256":"d14c68274ea0b3543708aaea1536da759a5cdf686f8ca61989269226590481ea","title":"Each rank prime divided out only once · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":39.589,"exit_code":1,"observations":[{"actual":"high card","check":"ace high","expected":"high card","passed":true},{"actual":"one pair","check":"pair of aces","expected":"one pair","passed":true},{"actual":"high card","check":"ace with three","expected":"high card","passed":true},{"actual":"high card","check":"ace with king","expected":"high card","passed":true},{"actual":"one pair","check":"ace with seven pair","expected":"one pair","passed":true},{"actual":"error:KeyError","check":"full house","expected":"full house","passed":false},{"actual":"error:KeyError","check":"quads","expected":"four of a kind","passed":false},{"actual":"high card","check":"deuce and ace","expected":"high card","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"ace high\", \"actual\": \"high card\", \"expected\": \"high card\", \"passed\": true}, {\"check\": \"pair of aces\", \"actual\": \"one pair\", \"expected\": \"one pair\", \"passed\": true}, {\"check\": \"ace with three\", \"actual\": \"high card\", \"expected\": \"high card\", \"passed\": true}, {\"check\": \"ace with king\", \"actual\": \"high card\", \"expected\": \"high card\", \"passed\": true}, {\"check\": \"ace with seven pair\", \"actual\": \"one pair\", \"expected\": \"one pair\", \"passed\": true}, {\"check\": \"full house\", \"actual\": \"error:KeyError\", \"expected\": \"full house\", \"passed\": false}, {\"check\": \"quads\", \"actual\": \"error:KeyError\", \"expected\": \"four of a kind\", \"passed\": false}, {\"check\": \"deuce and ace\", \"actual\": \"high card\", \"expected\": \"high card\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.481,"exit_code":1,"observations":[{"actual":"high card","check":"ace high","expected":"high card","passed":true},{"actual":"error:KeyError","check":"pair of aces","expected":"one pair","passed":false},{"actual":"high card","check":"ace with three","expected":"high card","passed":true},{"actual":"high card","check":"ace with king","expected":"high card","passed":true},{"actual":"error:KeyError","check":"ace with seven pair","expected":"one pair","passed":false},{"actual":"error:KeyError","check":"full house","expected":"full house","passed":false},{"actual":"error:KeyError","check":"quads","expected":"four of a kind","passed":false},{"actual":"high card","check":"deuce and ace","expected":"high card","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"ace high\", \"actual\": \"high card\", \"expected\": \"high card\", \"passed\": true}, {\"check\": \"pair of aces\", \"actual\": \"error:KeyError\", \"expected\": \"one pair\", \"passed\": false}, {\"check\": \"ace with three\", \"actual\": \"high card\", \"expected\": \"high card\", \"passed\": true}, {\"check\": \"ace with king\", \"actual\": \"high card\", \"expected\": \"high card\", \"passed\": true}, {\"check\": \"ace with seven pair\", \"actual\": \"error:KeyError\", \"expected\": \"one pair\", \"passed\": false}, {\"check\": \"full house\", \"actual\": \"error:KeyError\", \"expected\": \"full house\", \"passed\": false}, {\"check\": \"quads\", \"actual\": \"error:KeyError\", \"expected\": \"four of a kind\", \"passed\": false}, {\"check\": \"deuce and ace\", \"actual\": \"high card\", \"expected\": \"high card\", \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}