{"abstract":"Variance estimates explode for strongly depleted streams.","category":"Ecological population dynamics","checks":7,"contract":"N = c1^2/(c1-c2), p = (c1-c2)/c1, var = c1^2*c2^2*(c1+c2)/(c1-c2)^4 rounded [2, 4, 2]; [None, None, None] when c1<=c2; None for negative catches.","contract_signature":"c1, c2","evaluation_group":"w2-ecopop-removal-sampling","failed_approach":"A cubic denominator is still dimensionally wrong.","family":"w2-ecopop-removal-sampling-variance-exponent","id":"FA-65726","implementations":{"attempt":{"sha256":"54ad909cd28d1205c029105189379360ec621288cf0cf0306408ba583b5fb822","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(c1, c2):\n    if c1 < 0 or c2 < 0:\n        return None\n    if c1 <= c2:\n        return [None, None, None]\n    n_hat = c1 * c1 / (c1 - c2)\n    p_hat = (c1 - c2) / c1\n    var = c1 ** 2 * c2 ** 2 * (c1 + c2) / (c1 - c2) ** 3\n    return [round(n_hat, 2), round(p_hat, 4), round(var, 2)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: stream electrofishing', (60, 25), [102.86, 0.5833, 127.45]),\n  ('regression: efficient first pass', (90, 10), [101.25, 0.8889, 1.98]),\n  ('regression: weak depletion', (40, 32), [200.0, 0.2, 28800.0]),\n  ('control: no depletion', (30, 30), [None, None, None]),\n  ('control: second pass empty', (45, 0), [45.0, 1.0, 0.0]),\n  ('control: negative catch', (-1, 3), None),\n  ('control: increasing catch', (20, 25), [None, None, None])],\n [('regression: stream electrofishing', (60, 25), [102.86, 0.5833, 127.45]),\n  ('control: no depletion', (30, 30), [None, None, None]),\n  ('control: second pass empty', (45, 0), [45.0, 1.0, 0.0]),\n  ('control: negative catch', (-1, 3), None),\n  ('control: increasing catch', (20, 25), [None, None, None]),\n  ('regression: small stream', (12, 5), [20.57, 0.5833, 25.49]),\n  ('regression: large lake', (300, 140), [562.5, 0.5333, 1184.33])],\n [('regression: stream electrofishing', (60, 25), [102.86, 0.5833, 127.45]),\n  ('regression: efficient first pass', (90, 10), [101.25, 0.8889, 1.98]),\n  ('control: no depletion', (30, 30), [None, None, None]),\n  ('control: second pass empty', (45, 0), [45.0, 1.0, 0.0]),\n  ('control: increasing catch', (20, 25), [None, None, None]),\n  ('regression: small stream', (12, 5), [20.57, 0.5833, 25.49]),\n  ('regression: large lake', (300, 140), [562.5, 0.5333, 1184.33])],\n [('regression: stream electrofishing', (60, 25), [102.86, 0.5833, 127.45]),\n  ('regression: efficient first pass', (90, 10), [101.25, 0.8889, 1.98]),\n  ('regression: weak depletion', (40, 32), [200.0, 0.2, 28800.0]),\n  ('control: no depletion', (30, 30), [None, None, None]),\n  ('control: second pass empty', (45, 0), [45.0, 1.0, 0.0]),\n  ('control: negative catch', (-1, 3), None),\n  ('control: increasing catch', (20, 25), [None, None, None])],\n [('regression: stream electrofishing', (60, 25), [102.86, 0.5833, 127.45]),\n  ('control: no depletion', (30, 30), [None, None, None]),\n  ('control: second pass empty', (45, 0), [45.0, 1.0, 0.0]),\n  ('control: negative catch', (-1, 3), None),\n  ('control: increasing catch', (20, 25), [None, None, None]),\n  ('regression: small stream', (12, 5), [20.57, 0.5833, 25.49]),\n  ('regression: large lake', (300, 140), [562.5, 0.5333, 1184.33])]]\nfor label, args, expected in fixtures[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":"5590c21a8aa739bce5e5e04608cf5f2521951287d455de27966c9b9db56a1dda","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(c1, c2):\n    if c1 < 0 or c2 < 0:\n        return None\n    if c1 <= c2:\n        return [None, None, None]\n    n_hat = c1 * c1 / (c1 - c2)\n    p_hat = (c1 - c2) / c1\n    var = c1 ** 2 * c2 ** 2 * (c1 + c2) / (c1 - c2) ** 2\n    return [round(n_hat, 2), round(p_hat, 4), round(var, 2)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: stream electrofishing', (60, 25), [102.86, 0.5833, 127.45]),\n  ('regression: efficient first pass', (90, 10), [101.25, 0.8889, 1.98]),\n  ('regression: weak depletion', (40, 32), [200.0, 0.2, 28800.0]),\n  ('control: no depletion', (30, 30), [None, None, None]),\n  ('control: second pass empty', (45, 0), [45.0, 1.0, 0.0]),\n  ('control: negative catch', (-1, 3), None),\n  ('control: increasing catch', (20, 25), [None, None, None])],\n [('regression: stream electrofishing', (60, 25), [102.86, 0.5833, 127.45]),\n  ('control: no depletion', (30, 30), [None, None, None]),\n  ('control: second pass empty', (45, 0), [45.0, 1.0, 0.0]),\n  ('control: negative catch', (-1, 3), None),\n  ('control: increasing catch', (20, 25), [None, None, None]),\n  ('regression: small stream', (12, 5), [20.57, 0.5833, 25.49]),\n  ('regression: large lake', (300, 140), [562.5, 0.5333, 1184.33])],\n [('regression: stream electrofishing', (60, 25), [102.86, 0.5833, 127.45]),\n  ('regression: efficient first pass', (90, 10), [101.25, 0.8889, 1.98]),\n  ('control: no depletion', (30, 30), [None, None, None]),\n  ('control: second pass empty', (45, 0), [45.0, 1.0, 0.0]),\n  ('control: increasing catch', (20, 25), [None, None, None]),\n  ('regression: small stream', (12, 5), [20.57, 0.5833, 25.49]),\n  ('regression: large lake', (300, 140), [562.5, 0.5333, 1184.33])],\n [('regression: stream electrofishing', (60, 25), [102.86, 0.5833, 127.45]),\n  ('regression: efficient first pass', (90, 10), [101.25, 0.8889, 1.98]),\n  ('regression: weak depletion', (40, 32), [200.0, 0.2, 28800.0]),\n  ('control: no depletion', (30, 30), [None, None, None]),\n  ('control: second pass empty', (45, 0), [45.0, 1.0, 0.0]),\n  ('control: negative catch', (-1, 3), None),\n  ('control: increasing catch', (20, 25), [None, None, None])],\n [('regression: stream electrofishing', (60, 25), [102.86, 0.5833, 127.45]),\n  ('control: no depletion', (30, 30), [None, None, None]),\n  ('control: second pass empty', (45, 0), [45.0, 1.0, 0.0]),\n  ('control: negative catch', (-1, 3), None),\n  ('control: increasing catch', (20, 25), [None, None, None]),\n  ('regression: small stream', (12, 5), [20.57, 0.5833, 25.49]),\n  ('regression: large lake', (300, 140), [562.5, 0.5333, 1184.33])]]\nfor label, args, expected in fixtures[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 bounded teaching model with a stipulated contract; not a validated scientific or public-health modelling library. 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-ecopop-removal-sampling-variance-exponent","generated_at":"2026-09-29T14:47:36.616802+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Population projections set harvest quotas, conservation status and pest-control timing; a wrong update order, boundary or rate conversion silently changes management advice.","root_cause":"The depletion term is squared instead of raised to the fourth power.","sha256":"edb541b36d24f90076e97d1f5f8f654cd677997cac74eab0982dd7b244611552","title":"Two-pass removal abundance estimate: variance exponent · 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.1,"exit_code":1,"observations":[{"actual":[102.86,0.5833,4460.64],"check":"regression: stream electrofishing","expected":[102.86,0.5833,127.45],"passed":false},{"actual":[101.25,0.8889,158.2],"check":"regression: efficient first pass","expected":[101.25,0.8889,1.98],"passed":false},{"actual":[200.0,0.2,230400.0],"check":"regression: weak depletion","expected":[200.0,0.2,28800.0],"passed":false},{"actual":[null,null,null],"check":"control: no depletion","expected":[null,null,null],"passed":true},{"actual":[45.0,1.0,0.0],"check":"control: second pass empty","expected":[45.0,1.0,0.0],"passed":true},{"actual":null,"check":"control: negative catch","expected":null,"passed":true},{"actual":[null,null,null],"check":"control: increasing catch","expected":[null,null,null],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: stream electrofishing\", \"actual\": [102.86, 0.5833, 4460.64], \"expected\": [102.86, 0.5833, 127.45], \"passed\": false}, {\"check\": \"regression: efficient first pass\", \"actual\": [101.25, 0.8889, 158.2], \"expected\": [101.25, 0.8889, 1.98], \"passed\": false}, {\"check\": \"regression: weak depletion\", \"actual\": [200.0, 0.2, 230400.0], \"expected\": [200.0, 0.2, 28800.0], \"passed\": false}, {\"check\": \"control: no depletion\", \"actual\": [null, null, null], \"expected\": [null, null, null], \"passed\": true}, {\"check\": \"control: second pass empty\", \"actual\": [45.0, 1.0, 0.0], \"expected\": [45.0, 1.0, 0.0], \"passed\": true}, {\"check\": \"control: negative catch\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control: increasing catch\", \"actual\": [null, null, null], \"expected\": [null, null, null], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":37.413,"exit_code":1,"observations":[{"actual":[102.86,0.5833,156122.45],"check":"regression: stream electrofishing","expected":[102.86,0.5833,127.45],"passed":false},{"actual":[101.25,0.8889,12656.25],"check":"regression: efficient first pass","expected":[101.25,0.8889,1.98],"passed":false},{"actual":[200.0,0.2,1843200.0],"check":"regression: weak depletion","expected":[200.0,0.2,28800.0],"passed":false},{"actual":[null,null,null],"check":"control: no depletion","expected":[null,null,null],"passed":true},{"actual":[45.0,1.0,0.0],"check":"control: second pass empty","expected":[45.0,1.0,0.0],"passed":true},{"actual":null,"check":"control: negative catch","expected":null,"passed":true},{"actual":[null,null,null],"check":"control: increasing catch","expected":[null,null,null],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: stream electrofishing\", \"actual\": [102.86, 0.5833, 156122.45], \"expected\": [102.86, 0.5833, 127.45], \"passed\": false}, {\"check\": \"regression: efficient first pass\", \"actual\": [101.25, 0.8889, 12656.25], \"expected\": [101.25, 0.8889, 1.98], \"passed\": false}, {\"check\": \"regression: weak depletion\", \"actual\": [200.0, 0.2, 1843200.0], \"expected\": [200.0, 0.2, 28800.0], \"passed\": false}, {\"check\": \"control: no depletion\", \"actual\": [null, null, null], \"expected\": [null, null, null], \"passed\": true}, {\"check\": \"control: second pass empty\", \"actual\": [45.0, 1.0, 0.0], \"expected\": [45.0, 1.0, 0.0], \"passed\": true}, {\"check\": \"control: negative catch\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control: increasing catch\", \"actual\": [null, null, null], \"expected\": [null, null, null], \"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."}}