{"abstract":"The enrichment threshold is placed at twice its true density.","category":"Ecological population dynamics","checks":7,"contract":"Type II predator-prey: N* = m/(a(e-hm)) requires e>hm and N*<K else ['predator-extinct', [K, 0]]; P* = (r/a)(1-N*/K)(1+ahN*); hump = (K-1/(ah))/2 for h>0 else -1; stable if N*>hump, 'hopf' if equal, else 'cycles'; values rounded 6; None for invalid parameters.","contract_signature":"r, k, a, h, e, m","evaluation_group":"w2-ecopop-rosenzweig-macarthur","failed_approach":"Ignoring the saturation shift places the hump at K/2.","family":"w2-ecopop-rosenzweig-macarthur-prey-isocline-hump","id":"FA-65806","implementations":{"attempt":{"sha256":"8799a7591b1804bae3b5e4b2fef2ae25959a26daa2b92461d8ee173d8c4282fb","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(r, k, a, h, e, m):\n    if min(r, k, a, e, m) <= 0 or h < 0:\n        return None\n    if e <= h * m:\n        return ['predator-extinct', [float(k), 0.0]]\n    ns = m / (a * (e - h * m))\n    if ns >= k:\n        return ['predator-extinct', [float(k), 0.0]]\n    ps = r / a * (1 - ns / k) * (1 + a * h * ns)\n    hump = k / 2 if h > 0 else -1.0\n    if ns > hump:\n        kind = 'stable'\n    elif ns == hump:\n        kind = 'hopf'\n    else:\n        kind = 'cycles'\n    return [kind, [round(ns, 6), round(ps, 6)]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: exact hopf point', (1.0, 10.0, 1.0, 0.5, 1.5, 2.0), ['hopf', [4.0, 1.8]]),\n  ('control: enriched cycles', (1.0, 40.0, 1.0, 0.5, 1.5, 2.0), ['cycles', [4.0, 2.7]]),\n  ('regression: poor habitat stable', (1.0, 8.0, 1.0, 0.5, 1.5, 2.0), ['stable', [4.0, 1.5]]),\n  ('control: just above hump', (1.0, 10.06, 1.0, 0.5, 1.5, 2.0), ['cycles', [4.0, 1.807157]]),\n  ('regression: just below enrichment threshold',\n   (1.0, 9.94, 1.0, 0.5, 1.5, 2.0),\n   ['stable', [4.0, 1.792757]]),\n  ('control: inefficient predator', (1.0, 50.0, 1.0, 0.5, 1.0, 2.0), ['predator-extinct', [50.0, 0.0]]),\n  ('control: predator cannot persist capacity',\n   (1.0, 3.0, 1.0, 0.5, 1.5, 2.0),\n   ['predator-extinct', [3.0, 0.0]])],\n [('regression: exact hopf point', (1.0, 10.0, 1.0, 0.5, 1.5, 2.0), ['hopf', [4.0, 1.8]]),\n  ('control: just above hump', (1.0, 10.06, 1.0, 0.5, 1.5, 2.0), ['cycles', [4.0, 1.807157]]),\n  ('regression: just below enrichment threshold',\n   (1.0, 9.94, 1.0, 0.5, 1.5, 2.0),\n   ['stable', [4.0, 1.792757]]),\n  ('control: inefficient predator', (1.0, 50.0, 1.0, 0.5, 1.0, 2.0), ['predator-extinct', [50.0, 0.0]]),\n  ('control: predator cannot persist capacity',\n   (1.0, 3.0, 1.0, 0.5, 1.5, 2.0),\n   ['predator-extinct', [3.0, 0.0]]),\n  ('control: type I predator', (0.8, 30.0, 0.2, 0.0, 0.5, 0.4), ['stable', [4.0, 3.466667]]),\n  ('control: invalid rate', (0.0, 10.0, 1.0, 0.5, 1.5, 2.0), None)],\n [('regression: exact hopf point', (1.0, 10.0, 1.0, 0.5, 1.5, 2.0), ['hopf', [4.0, 1.8]]),\n  ('regression: poor habitat stable', (1.0, 8.0, 1.0, 0.5, 1.5, 2.0), ['stable', [4.0, 1.5]]),\n  ('control: predator cannot persist capacity',\n   (1.0, 3.0, 1.0, 0.5, 1.5, 2.0),\n   ['predator-extinct', [3.0, 0.0]]),\n  ('control: type I predator', (0.8, 30.0, 0.2, 0.0, 0.5, 0.4), ['stable', [4.0, 3.466667]]),\n  ('control: invalid rate', (0.0, 10.0, 1.0, 0.5, 1.5, 2.0), None),\n  ('regression: lynx hare like', (1.2, 60.0, 0.05, 0.2, 0.6, 0.3), ['stable', [11.111111, 21.728395]]),\n  ('control: borderline conversion', (1.0, 20.0, 0.5, 0.5, 0.9, 1.6), ['predator-extinct', [20.0, 0.0]])],\n [('regression: exact hopf point', (1.0, 10.0, 1.0, 0.5, 1.5, 2.0), ['hopf', [4.0, 1.8]]),\n  ('control: enriched cycles', (1.0, 40.0, 1.0, 0.5, 1.5, 2.0), ['cycles', [4.0, 2.7]]),\n  ('regression: poor habitat stable', (1.0, 8.0, 1.0, 0.5, 1.5, 2.0), ['stable', [4.0, 1.5]]),\n  ('control: just above hump', (1.0, 10.06, 1.0, 0.5, 1.5, 2.0), ['cycles', [4.0, 1.807157]]),\n  ('regression: just below enrichment threshold',\n   (1.0, 9.94, 1.0, 0.5, 1.5, 2.0),\n   ['stable', [4.0, 1.792757]]),\n  ('regression: lynx hare like', (1.2, 60.0, 0.05, 0.2, 0.6, 0.3), ['stable', [11.111111, 21.728395]]),\n  ('control: borderline conversion', (1.0, 20.0, 0.5, 0.5, 0.9, 1.6), ['predator-extinct', [20.0, 0.0]])],\n [('control: enriched cycles', (1.0, 40.0, 1.0, 0.5, 1.5, 2.0), ['cycles', [4.0, 2.7]]),\n  ('regression: poor habitat stable', (1.0, 8.0, 1.0, 0.5, 1.5, 2.0), ['stable', [4.0, 1.5]]),\n  ('control: just above hump', (1.0, 10.06, 1.0, 0.5, 1.5, 2.0), ['cycles', [4.0, 1.807157]]),\n  ('regression: just below enrichment threshold',\n   (1.0, 9.94, 1.0, 0.5, 1.5, 2.0),\n   ['stable', [4.0, 1.792757]]),\n  ('control: inefficient predator', (1.0, 50.0, 1.0, 0.5, 1.0, 2.0), ['predator-extinct', [50.0, 0.0]]),\n  ('control: predator cannot persist capacity',\n   (1.0, 3.0, 1.0, 0.5, 1.5, 2.0),\n   ['predator-extinct', [3.0, 0.0]]),\n  ('control: type I predator', (0.8, 30.0, 0.2, 0.0, 0.5, 0.4), ['stable', [4.0, 3.466667]])]]\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":"a63800332c92e742a1ec751883874cd525653c09930d6f0c98f8fe748d752d52","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(r, k, a, h, e, m):\n    if min(r, k, a, e, m) <= 0 or h < 0:\n        return None\n    if e <= h * m:\n        return ['predator-extinct', [float(k), 0.0]]\n    ns = m / (a * (e - h * m))\n    if ns >= k:\n        return ['predator-extinct', [float(k), 0.0]]\n    ps = r / a * (1 - ns / k) * (1 + a * h * ns)\n    hump = (k - 1 / (a * h)) if h > 0 else -1.0\n    if ns > hump:\n        kind = 'stable'\n    elif ns == hump:\n        kind = 'hopf'\n    else:\n        kind = 'cycles'\n    return [kind, [round(ns, 6), round(ps, 6)]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: exact hopf point', (1.0, 10.0, 1.0, 0.5, 1.5, 2.0), ['hopf', [4.0, 1.8]]),\n  ('control: enriched cycles', (1.0, 40.0, 1.0, 0.5, 1.5, 2.0), ['cycles', [4.0, 2.7]]),\n  ('regression: poor habitat stable', (1.0, 8.0, 1.0, 0.5, 1.5, 2.0), ['stable', [4.0, 1.5]]),\n  ('control: just above hump', (1.0, 10.06, 1.0, 0.5, 1.5, 2.0), ['cycles', [4.0, 1.807157]]),\n  ('regression: just below enrichment threshold',\n   (1.0, 9.94, 1.0, 0.5, 1.5, 2.0),\n   ['stable', [4.0, 1.792757]]),\n  ('control: inefficient predator', (1.0, 50.0, 1.0, 0.5, 1.0, 2.0), ['predator-extinct', [50.0, 0.0]]),\n  ('control: predator cannot persist capacity',\n   (1.0, 3.0, 1.0, 0.5, 1.5, 2.0),\n   ['predator-extinct', [3.0, 0.0]])],\n [('regression: exact hopf point', (1.0, 10.0, 1.0, 0.5, 1.5, 2.0), ['hopf', [4.0, 1.8]]),\n  ('control: just above hump', (1.0, 10.06, 1.0, 0.5, 1.5, 2.0), ['cycles', [4.0, 1.807157]]),\n  ('regression: just below enrichment threshold',\n   (1.0, 9.94, 1.0, 0.5, 1.5, 2.0),\n   ['stable', [4.0, 1.792757]]),\n  ('control: inefficient predator', (1.0, 50.0, 1.0, 0.5, 1.0, 2.0), ['predator-extinct', [50.0, 0.0]]),\n  ('control: predator cannot persist capacity',\n   (1.0, 3.0, 1.0, 0.5, 1.5, 2.0),\n   ['predator-extinct', [3.0, 0.0]]),\n  ('control: type I predator', (0.8, 30.0, 0.2, 0.0, 0.5, 0.4), ['stable', [4.0, 3.466667]]),\n  ('control: invalid rate', (0.0, 10.0, 1.0, 0.5, 1.5, 2.0), None)],\n [('regression: exact hopf point', (1.0, 10.0, 1.0, 0.5, 1.5, 2.0), ['hopf', [4.0, 1.8]]),\n  ('regression: poor habitat stable', (1.0, 8.0, 1.0, 0.5, 1.5, 2.0), ['stable', [4.0, 1.5]]),\n  ('control: predator cannot persist capacity',\n   (1.0, 3.0, 1.0, 0.5, 1.5, 2.0),\n   ['predator-extinct', [3.0, 0.0]]),\n  ('control: type I predator', (0.8, 30.0, 0.2, 0.0, 0.5, 0.4), ['stable', [4.0, 3.466667]]),\n  ('control: invalid rate', (0.0, 10.0, 1.0, 0.5, 1.5, 2.0), None),\n  ('regression: lynx hare like', (1.2, 60.0, 0.05, 0.2, 0.6, 0.3), ['stable', [11.111111, 21.728395]]),\n  ('control: borderline conversion', (1.0, 20.0, 0.5, 0.5, 0.9, 1.6), ['predator-extinct', [20.0, 0.0]])],\n [('regression: exact hopf point', (1.0, 10.0, 1.0, 0.5, 1.5, 2.0), ['hopf', [4.0, 1.8]]),\n  ('control: enriched cycles', (1.0, 40.0, 1.0, 0.5, 1.5, 2.0), ['cycles', [4.0, 2.7]]),\n  ('regression: poor habitat stable', (1.0, 8.0, 1.0, 0.5, 1.5, 2.0), ['stable', [4.0, 1.5]]),\n  ('control: just above hump', (1.0, 10.06, 1.0, 0.5, 1.5, 2.0), ['cycles', [4.0, 1.807157]]),\n  ('regression: just below enrichment threshold',\n   (1.0, 9.94, 1.0, 0.5, 1.5, 2.0),\n   ['stable', [4.0, 1.792757]]),\n  ('regression: lynx hare like', (1.2, 60.0, 0.05, 0.2, 0.6, 0.3), ['stable', [11.111111, 21.728395]]),\n  ('control: borderline conversion', (1.0, 20.0, 0.5, 0.5, 0.9, 1.6), ['predator-extinct', [20.0, 0.0]])],\n [('control: enriched cycles', (1.0, 40.0, 1.0, 0.5, 1.5, 2.0), ['cycles', [4.0, 2.7]]),\n  ('regression: poor habitat stable', (1.0, 8.0, 1.0, 0.5, 1.5, 2.0), ['stable', [4.0, 1.5]]),\n  ('control: just above hump', (1.0, 10.06, 1.0, 0.5, 1.5, 2.0), ['cycles', [4.0, 1.807157]]),\n  ('regression: just below enrichment threshold',\n   (1.0, 9.94, 1.0, 0.5, 1.5, 2.0),\n   ['stable', [4.0, 1.792757]]),\n  ('control: inefficient predator', (1.0, 50.0, 1.0, 0.5, 1.0, 2.0), ['predator-extinct', [50.0, 0.0]]),\n  ('control: predator cannot persist capacity',\n   (1.0, 3.0, 1.0, 0.5, 1.5, 2.0),\n   ['predator-extinct', [3.0, 0.0]]),\n  ('control: type I predator', (0.8, 30.0, 0.2, 0.0, 0.5, 0.4), ['stable', [4.0, 3.466667]])]]\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-rosenzweig-macarthur-prey-isocline-hump","generated_at":"2026-09-29T14:47:37.301815+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 hump of the prey isocline is not halved.","sha256":"77bda10e7f30f9f91b35b5e987bc93495336e61bc529b5f44c1e945be724921d","title":"Rosenzweig-MacArthur equilibrium and enrichment stability: prey isocline hump · 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":38.81,"exit_code":1,"observations":[{"actual":["cycles",[4.0,1.8]],"check":"regression: exact hopf point","expected":["hopf",[4.0,1.8]],"passed":false},{"actual":["cycles",[4.0,2.7]],"check":"control: enriched cycles","expected":["cycles",[4.0,2.7]],"passed":true},{"actual":["hopf",[4.0,1.5]],"check":"regression: poor habitat stable","expected":["stable",[4.0,1.5]],"passed":false},{"actual":["cycles",[4.0,1.807157]],"check":"control: just above hump","expected":["cycles",[4.0,1.807157]],"passed":true},{"actual":["cycles",[4.0,1.792757]],"check":"regression: just below enrichment threshold","expected":["stable",[4.0,1.792757]],"passed":false},{"actual":["predator-extinct",[50.0,0.0]],"check":"control: inefficient predator","expected":["predator-extinct",[50.0,0.0]],"passed":true},{"actual":["predator-extinct",[3.0,0.0]],"check":"control: predator cannot persist capacity","expected":["predator-extinct",[3.0,0.0]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: exact hopf point\", \"actual\": [\"cycles\", [4.0, 1.8]], \"expected\": [\"hopf\", [4.0, 1.8]], \"passed\": false}, {\"check\": \"control: enriched cycles\", \"actual\": [\"cycles\", [4.0, 2.7]], \"expected\": [\"cycles\", [4.0, 2.7]], \"passed\": true}, {\"check\": \"regression: poor habitat stable\", \"actual\": [\"hopf\", [4.0, 1.5]], \"expected\": [\"stable\", [4.0, 1.5]], \"passed\": false}, {\"check\": \"control: just above hump\", \"actual\": [\"cycles\", [4.0, 1.807157]], \"expected\": [\"cycles\", [4.0, 1.807157]], \"passed\": true}, {\"check\": \"regression: just below enrichment threshold\", \"actual\": [\"cycles\", [4.0, 1.792757]], \"expected\": [\"stable\", [4.0, 1.792757]], \"passed\": false}, {\"check\": \"control: inefficient predator\", \"actual\": [\"predator-extinct\", [50.0, 0.0]], \"expected\": [\"predator-extinct\", [50.0, 0.0]], \"passed\": true}, {\"check\": \"control: predator cannot persist capacity\", \"actual\": [\"predator-extinct\", [3.0, 0.0]], \"expected\": [\"predator-extinct\", [3.0, 0.0]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.862,"exit_code":1,"observations":[{"actual":["cycles",[4.0,1.8]],"check":"regression: exact hopf point","expected":["hopf",[4.0,1.8]],"passed":false},{"actual":["cycles",[4.0,2.7]],"check":"control: enriched cycles","expected":["cycles",[4.0,2.7]],"passed":true},{"actual":["cycles",[4.0,1.5]],"check":"regression: poor habitat stable","expected":["stable",[4.0,1.5]],"passed":false},{"actual":["cycles",[4.0,1.807157]],"check":"control: just above hump","expected":["cycles",[4.0,1.807157]],"passed":true},{"actual":["cycles",[4.0,1.792757]],"check":"regression: just below enrichment threshold","expected":["stable",[4.0,1.792757]],"passed":false},{"actual":["predator-extinct",[50.0,0.0]],"check":"control: inefficient predator","expected":["predator-extinct",[50.0,0.0]],"passed":true},{"actual":["predator-extinct",[3.0,0.0]],"check":"control: predator cannot persist capacity","expected":["predator-extinct",[3.0,0.0]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: exact hopf point\", \"actual\": [\"cycles\", [4.0, 1.8]], \"expected\": [\"hopf\", [4.0, 1.8]], \"passed\": false}, {\"check\": \"control: enriched cycles\", \"actual\": [\"cycles\", [4.0, 2.7]], \"expected\": [\"cycles\", [4.0, 2.7]], \"passed\": true}, {\"check\": \"regression: poor habitat stable\", \"actual\": [\"cycles\", [4.0, 1.5]], \"expected\": [\"stable\", [4.0, 1.5]], \"passed\": false}, {\"check\": \"control: just above hump\", \"actual\": [\"cycles\", [4.0, 1.807157]], \"expected\": [\"cycles\", [4.0, 1.807157]], \"passed\": true}, {\"check\": \"regression: just below enrichment threshold\", \"actual\": [\"cycles\", [4.0, 1.792757]], \"expected\": [\"stable\", [4.0, 1.792757]], \"passed\": false}, {\"check\": \"control: inefficient predator\", \"actual\": [\"predator-extinct\", [50.0, 0.0]], \"expected\": [\"predator-extinct\", [50.0, 0.0]], \"passed\": true}, {\"check\": \"control: predator cannot persist capacity\", \"actual\": [\"predator-extinct\", [3.0, 0.0]], \"expected\": [\"predator-extinct\", [3.0, 0.0]], \"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."}}