{"abstract":"A knife-edge isocline tie is reported as founder control or coexistence.","category":"Ecological population dynamics","checks":7,"contract":"c1=K1*a21-K2, c2=K2*a12-K1; any zero -> neutral; c1>0,c2<0 species1 wins at [K1,0]; c1<0,c2>0 species2 at [0,K2]; otherwise interior N1=(K1-a12K2)/(1-a12a21), N2=(K2-a21K1)/(1-a12a21), coexist if both negative, founder if both positive; None for non-positive K or negative coefficients (zero allowed).","contract_signature":"k1, k2, a12, a21","evaluation_group":"w2-ecopop-lv-competition","failed_approach":"An absolute tolerance of one individual labels near ties neutral.","family":"w2-ecopop-lv-competition-neutral-tie-detection","id":"FA-65541","implementations":{"attempt":{"sha256":"43eab430f59fcc862f35ac3e32750595f94e310309c045700699ac8f99b6f56f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(k1, k2, a12, a21):\n    if min(k1, k2) <= 0 or min(a12, a21) < 0:\n        return None\n    c1 = k1 * a21 - k2\n    c2 = k2 * a12 - k1\n    if abs(c1) < 1 or abs(c2) < 1:\n        return ['neutral', None]\n    if c1 > 0 and c2 < 0:\n        return ['species1', [float(k1), 0.0]]\n    if c1 < 0 and c2 > 0:\n        return ['species2', [0.0, float(k2)]]\n    den = 1 - a12 * a21\n    n1 = (k1 - a12 * k2) / den\n    n2 = (k2 - a21 * k1) / den\n    kind = 'coexist' if c1 < 0 else 'founder'\n    return [kind, [round(n1, 4), round(n2, 4)]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control: weak competition coexist', (100, 80, 0.5, 0.4), ['coexist', [75.0, 50.0]]),\n  ('control: strong asymmetric species1', (100, 60, 0.5, 1.2), ['species1', [100.0, 0.0]]),\n  ('control: species2 wins', (50, 120, 1.5, 0.3), ['species2', [0.0, 120.0]]),\n  ('control: founder control', (100, 100, 1.5, 1.6), ['founder', [35.7143, 42.8571]]),\n  ('regression: neutral tie', (100, 50, 1.0, 0.5), ['neutral', None]),\n  ('control: no competition', (70, 40, 0.0, 0.0), ['coexist', [70.0, 40.0]]),\n  ('regression: near tie', (100, 99.5, 1.0, 1.0), ['species1', [100.0, 0.0]])],\n [('control: founder control', (100, 100, 1.5, 1.6), ['founder', [35.7143, 42.8571]]),\n  ('regression: neutral tie', (100, 50, 1.0, 0.5), ['neutral', None]),\n  ('control: no competition', (70, 40, 0.0, 0.0), ['coexist', [70.0, 40.0]]),\n  ('control: coexist with one strong coefficient', (200, 60, 1.5, 0.2), ['coexist', [157.1429, 28.5714]]),\n  ('control: invalid negative coefficient', (100, 100, -0.1, 0.5), None),\n  ('control: invalid capacity', (0, 100, 0.5, 0.5), None),\n  ('regression: near tie', (100, 99.5, 1.0, 1.0), ['species1', [100.0, 0.0]])],\n [('control: weak competition coexist', (100, 80, 0.5, 0.4), ['coexist', [75.0, 50.0]]),\n  ('regression: neutral tie', (100, 50, 1.0, 0.5), ['neutral', None]),\n  ('control: coexist with one strong coefficient', (200, 60, 1.5, 0.2), ['coexist', [157.1429, 28.5714]]),\n  ('control: invalid negative coefficient', (100, 100, -0.1, 0.5), None),\n  ('control: invalid capacity', (0, 100, 0.5, 0.5), None),\n  ('regression: near tie', (100, 99.5, 1.0, 1.0), ['species1', [100.0, 0.0]]),\n  ('control: founder asymmetric', (90, 150, 2.0, 2.5), ['founder', [52.5, 18.75]])],\n [('control: weak competition coexist', (100, 80, 0.5, 0.4), ['coexist', [75.0, 50.0]]),\n  ('control: strong asymmetric species1', (100, 60, 0.5, 1.2), ['species1', [100.0, 0.0]]),\n  ('control: species2 wins', (50, 120, 1.5, 0.3), ['species2', [0.0, 120.0]]),\n  ('control: founder control', (100, 100, 1.5, 1.6), ['founder', [35.7143, 42.8571]]),\n  ('regression: neutral tie', (100, 50, 1.0, 0.5), ['neutral', None]),\n  ('regression: near tie', (100, 99.5, 1.0, 1.0), ['species1', [100.0, 0.0]]),\n  ('control: founder asymmetric', (90, 150, 2.0, 2.5), ['founder', [52.5, 18.75]])],\n [('control: strong asymmetric species1', (100, 60, 0.5, 1.2), ['species1', [100.0, 0.0]]),\n  ('control: species2 wins', (50, 120, 1.5, 0.3), ['species2', [0.0, 120.0]]),\n  ('control: founder control', (100, 100, 1.5, 1.6), ['founder', [35.7143, 42.8571]]),\n  ('regression: neutral tie', (100, 50, 1.0, 0.5), ['neutral', None]),\n  ('control: no competition', (70, 40, 0.0, 0.0), ['coexist', [70.0, 40.0]]),\n  ('control: coexist with one strong coefficient', (200, 60, 1.5, 0.2), ['coexist', [157.1429, 28.5714]]),\n  ('regression: near tie', (100, 99.5, 1.0, 1.0), ['species1', [100.0, 0.0]])]]\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":"e9498e7fe609fcf258480b0629d70c5a021725bcf36879bbad29d3e3ade9597a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(k1, k2, a12, a21):\n    if min(k1, k2) <= 0 or min(a12, a21) < 0:\n        return None\n    c1 = k1 * a21 - k2\n    c2 = k2 * a12 - k1\n    if c1 == 0 and c2 == 0:\n        return ['neutral', None]\n    if c1 > 0 and c2 < 0:\n        return ['species1', [float(k1), 0.0]]\n    if c1 < 0 and c2 > 0:\n        return ['species2', [0.0, float(k2)]]\n    den = 1 - a12 * a21\n    n1 = (k1 - a12 * k2) / den\n    n2 = (k2 - a21 * k1) / den\n    kind = 'coexist' if c1 < 0 else 'founder'\n    return [kind, [round(n1, 4), round(n2, 4)]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control: weak competition coexist', (100, 80, 0.5, 0.4), ['coexist', [75.0, 50.0]]),\n  ('control: strong asymmetric species1', (100, 60, 0.5, 1.2), ['species1', [100.0, 0.0]]),\n  ('control: species2 wins', (50, 120, 1.5, 0.3), ['species2', [0.0, 120.0]]),\n  ('control: founder control', (100, 100, 1.5, 1.6), ['founder', [35.7143, 42.8571]]),\n  ('regression: neutral tie', (100, 50, 1.0, 0.5), ['neutral', None]),\n  ('control: no competition', (70, 40, 0.0, 0.0), ['coexist', [70.0, 40.0]]),\n  ('regression: near tie', (100, 99.5, 1.0, 1.0), ['species1', [100.0, 0.0]])],\n [('control: founder control', (100, 100, 1.5, 1.6), ['founder', [35.7143, 42.8571]]),\n  ('regression: neutral tie', (100, 50, 1.0, 0.5), ['neutral', None]),\n  ('control: no competition', (70, 40, 0.0, 0.0), ['coexist', [70.0, 40.0]]),\n  ('control: coexist with one strong coefficient', (200, 60, 1.5, 0.2), ['coexist', [157.1429, 28.5714]]),\n  ('control: invalid negative coefficient', (100, 100, -0.1, 0.5), None),\n  ('control: invalid capacity', (0, 100, 0.5, 0.5), None),\n  ('regression: near tie', (100, 99.5, 1.0, 1.0), ['species1', [100.0, 0.0]])],\n [('control: weak competition coexist', (100, 80, 0.5, 0.4), ['coexist', [75.0, 50.0]]),\n  ('regression: neutral tie', (100, 50, 1.0, 0.5), ['neutral', None]),\n  ('control: coexist with one strong coefficient', (200, 60, 1.5, 0.2), ['coexist', [157.1429, 28.5714]]),\n  ('control: invalid negative coefficient', (100, 100, -0.1, 0.5), None),\n  ('control: invalid capacity', (0, 100, 0.5, 0.5), None),\n  ('regression: near tie', (100, 99.5, 1.0, 1.0), ['species1', [100.0, 0.0]]),\n  ('control: founder asymmetric', (90, 150, 2.0, 2.5), ['founder', [52.5, 18.75]])],\n [('control: weak competition coexist', (100, 80, 0.5, 0.4), ['coexist', [75.0, 50.0]]),\n  ('control: strong asymmetric species1', (100, 60, 0.5, 1.2), ['species1', [100.0, 0.0]]),\n  ('control: species2 wins', (50, 120, 1.5, 0.3), ['species2', [0.0, 120.0]]),\n  ('control: founder control', (100, 100, 1.5, 1.6), ['founder', [35.7143, 42.8571]]),\n  ('regression: neutral tie', (100, 50, 1.0, 0.5), ['neutral', None]),\n  ('regression: near tie', (100, 99.5, 1.0, 1.0), ['species1', [100.0, 0.0]]),\n  ('control: founder asymmetric', (90, 150, 2.0, 2.5), ['founder', [52.5, 18.75]])],\n [('control: strong asymmetric species1', (100, 60, 0.5, 1.2), ['species1', [100.0, 0.0]]),\n  ('control: species2 wins', (50, 120, 1.5, 0.3), ['species2', [0.0, 120.0]]),\n  ('control: founder control', (100, 100, 1.5, 1.6), ['founder', [35.7143, 42.8571]]),\n  ('regression: neutral tie', (100, 50, 1.0, 0.5), ['neutral', None]),\n  ('control: no competition', (70, 40, 0.0, 0.0), ['coexist', [70.0, 40.0]]),\n  ('control: coexist with one strong coefficient', (200, 60, 1.5, 0.2), ['coexist', [157.1429, 28.5714]]),\n  ('regression: near tie', (100, 99.5, 1.0, 1.0), ['species1', [100.0, 0.0]])]]\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-lv-competition-neutral-tie-detection","generated_at":"2026-09-29T14:47:34.790758+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":"Neutrality requires both criteria to be zero.","sha256":"18654bf9ef1e689113cdb6ae3b7613ad3b5ff8244bbe76e755e95991f03e3405","title":"Lotka-Volterra competition outcome: neutral tie detection · 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.102,"exit_code":1,"observations":[{"actual":["coexist",[75.0,50.0]],"check":"control: weak competition coexist","expected":["coexist",[75.0,50.0]],"passed":true},{"actual":["species1",[100.0,0.0]],"check":"control: strong asymmetric species1","expected":["species1",[100.0,0.0]],"passed":true},{"actual":["species2",[0.0,120.0]],"check":"control: species2 wins","expected":["species2",[0.0,120.0]],"passed":true},{"actual":["founder",[35.7143,42.8571]],"check":"control: founder control","expected":["founder",[35.7143,42.8571]],"passed":true},{"actual":["neutral",null],"check":"regression: neutral tie","expected":["neutral",null],"passed":true},{"actual":["coexist",[70.0,40.0]],"check":"control: no competition","expected":["coexist",[70.0,40.0]],"passed":true},{"actual":["neutral",null],"check":"regression: near tie","expected":["species1",[100.0,0.0]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control: weak competition coexist\", \"actual\": [\"coexist\", [75.0, 50.0]], \"expected\": [\"coexist\", [75.0, 50.0]], \"passed\": true}, {\"check\": \"control: strong asymmetric species1\", \"actual\": [\"species1\", [100.0, 0.0]], \"expected\": [\"species1\", [100.0, 0.0]], \"passed\": true}, {\"check\": \"control: species2 wins\", \"actual\": [\"species2\", [0.0, 120.0]], \"expected\": [\"species2\", [0.0, 120.0]], \"passed\": true}, {\"check\": \"control: founder control\", \"actual\": [\"founder\", [35.7143, 42.8571]], \"expected\": [\"founder\", [35.7143, 42.8571]], \"passed\": true}, {\"check\": \"regression: neutral tie\", \"actual\": [\"neutral\", null], \"expected\": [\"neutral\", null], \"passed\": true}, {\"check\": \"control: no competition\", \"actual\": [\"coexist\", [70.0, 40.0]], \"expected\": [\"coexist\", [70.0, 40.0]], \"passed\": true}, {\"check\": \"regression: near tie\", \"actual\": [\"neutral\", null], \"expected\": [\"species1\", [100.0, 0.0]], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.845,"exit_code":1,"observations":[{"actual":["coexist",[75.0,50.0]],"check":"control: weak competition coexist","expected":["coexist",[75.0,50.0]],"passed":true},{"actual":["species1",[100.0,0.0]],"check":"control: strong asymmetric species1","expected":["species1",[100.0,0.0]],"passed":true},{"actual":["species2",[0.0,120.0]],"check":"control: species2 wins","expected":["species2",[0.0,120.0]],"passed":true},{"actual":["founder",[35.7143,42.8571]],"check":"control: founder control","expected":["founder",[35.7143,42.8571]],"passed":true},{"actual":["founder",[100.0,0.0]],"check":"regression: neutral tie","expected":["neutral",null],"passed":false},{"actual":["coexist",[70.0,40.0]],"check":"control: no competition","expected":["coexist",[70.0,40.0]],"passed":true},{"actual":["species1",[100.0,0.0]],"check":"regression: near tie","expected":["species1",[100.0,0.0]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control: weak competition coexist\", \"actual\": [\"coexist\", [75.0, 50.0]], \"expected\": [\"coexist\", [75.0, 50.0]], \"passed\": true}, {\"check\": \"control: strong asymmetric species1\", \"actual\": [\"species1\", [100.0, 0.0]], \"expected\": [\"species1\", [100.0, 0.0]], \"passed\": true}, {\"check\": \"control: species2 wins\", \"actual\": [\"species2\", [0.0, 120.0]], \"expected\": [\"species2\", [0.0, 120.0]], \"passed\": true}, {\"check\": \"control: founder control\", \"actual\": [\"founder\", [35.7143, 42.8571]], \"expected\": [\"founder\", [35.7143, 42.8571]], \"passed\": true}, {\"check\": \"regression: neutral tie\", \"actual\": [\"founder\", [100.0, 0.0]], \"expected\": [\"neutral\", null], \"passed\": false}, {\"check\": \"control: no competition\", \"actual\": [\"coexist\", [70.0, 40.0]], \"expected\": [\"coexist\", [70.0, 40.0]], \"passed\": true}, {\"check\": \"regression: near tie\", \"actual\": [\"species1\", [100.0, 0.0]], \"expected\": [\"species1\", [100.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."}}