{"abstract":"Independent selection counts are added instead of multiplied.","category":"Combinatorics","checks":4,"contract":"Nonnegative integer counts. Permutation and combination counts are zero when a requested selection exceeds the available objects. Shape sizes satisfy the preconditions stated below. good,bad,draws,successes>=0 and successes<=draws. Count unlabelled draws with exactly successes good objects; impossible population selections return zero. Exact operational definition: math.comb(good,successes)*math.comb(bad,draws-successes)","contract_signature":"good, bad, draws, successes","evaluation_group":"model-363d1ba2eed9a493","failed_approach":"All draws are counted without the success constraint.","family":"xn-hypergeometric-numerator","id":"FA-5701","implementations":{"attempt":{"sha256":"b88fb9d16b392e50b870b120315d397922b9d804ec8bec26b224561f4dde9c54","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport calendar\nimport statistics\nimport itertools\nfrom fractions import Fraction\nfrom datetime import date, datetime, timedelta, timezone\nfrom decimal import Decimal, ROUND_HALF_UP, ROUND_DOWN, ROUND_CEILING, ROUND_FLOOR\n\nN = 1\nobservations = []\ndef solve(good, bad, draws, successes):\n    return math.comb(good+bad,draws)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1: (4, 3, 3, 2)', solve(*(4, 3, 3, 2)), 18)\ncheck('fixture 2: (2, 2, 2, 0)', solve(*(2, 2, 2, 0)), 1)\ncheck('fixture 3: (3, 0, 2, 2)', solve(*(3, 0, 2, 2)), 3)\ncheck('fixture 4: (1, 4, 2, 2)', solve(*(1, 4, 2, 2)), 0)\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":"1d80965b8cffe0b86f786ee0dbdbfc1cd0726d8270c38607cff893f04dd77085","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport calendar\nimport statistics\nimport itertools\nfrom fractions import Fraction\nfrom datetime import date, datetime, timedelta, timezone\nfrom decimal import Decimal, ROUND_HALF_UP, ROUND_DOWN, ROUND_CEILING, ROUND_FLOOR\n\nN = 1\nobservations = []\ndef solve(good, bad, draws, successes):\n    return math.comb(good,successes)+math.comb(bad,draws-successes)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1: (4, 3, 3, 2)', solve(*(4, 3, 3, 2)), 18)\ncheck('fixture 2: (2, 2, 2, 0)', solve(*(2, 2, 2, 0)), 1)\ncheck('fixture 3: (3, 0, 2, 2)', solve(*(3, 0, 2, 2)), 3)\ncheck('fixture 4: (1, 4, 2, 2)', solve(*(1, 4, 2, 2)), 0)\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":" 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":"xn-hypergeometric-numerator","generated_at":"2026-09-29T14:37:52.730035+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Small exact fixtures expose this error without platform timing, external services, or probabilistic observations. Combinatorics results depend on the stated convention.","root_cause":"Independent selection counts are added instead of multiplied.","sha256":"ff2e9aa180cbe30ad5d44c4895b6645d54f23c860e12a712d0b3e7c1788885c7","title":"Hypergeometric numerator · 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":52.047,"exit_code":1,"observations":[{"actual":35,"check":"fixture 1: (4, 3, 3, 2)","expected":18,"passed":false},{"actual":6,"check":"fixture 2: (2, 2, 2, 0)","expected":1,"passed":false},{"actual":3,"check":"fixture 3: (3, 0, 2, 2)","expected":3,"passed":true},{"actual":10,"check":"fixture 4: (1, 4, 2, 2)","expected":0,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1: (4, 3, 3, 2)\", \"actual\": 35, \"expected\": 18, \"passed\": false}, {\"check\": \"fixture 2: (2, 2, 2, 0)\", \"actual\": 6, \"expected\": 1, \"passed\": false}, {\"check\": \"fixture 3: (3, 0, 2, 2)\", \"actual\": 3, \"expected\": 3, \"passed\": true}, {\"check\": \"fixture 4: (1, 4, 2, 2)\", \"actual\": 10, \"expected\": 0, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":72.898,"exit_code":1,"observations":[{"actual":9,"check":"fixture 1: (4, 3, 3, 2)","expected":18,"passed":false},{"actual":2,"check":"fixture 2: (2, 2, 2, 0)","expected":1,"passed":false},{"actual":4,"check":"fixture 3: (3, 0, 2, 2)","expected":3,"passed":false},{"actual":1,"check":"fixture 4: (1, 4, 2, 2)","expected":0,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1: (4, 3, 3, 2)\", \"actual\": 9, \"expected\": 18, \"passed\": false}, {\"check\": \"fixture 2: (2, 2, 2, 0)\", \"actual\": 2, \"expected\": 1, \"passed\": false}, {\"check\": \"fixture 3: (3, 0, 2, 2)\", \"actual\": 4, \"expected\": 3, \"passed\": false}, {\"check\": \"fixture 4: (1, 4, 2, 2)\", \"actual\": 1, \"expected\": 0, \"passed\": false}], \"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."}}