{"abstract":"Predators gain one individual per prey eaten regardless of conversion efficiency.","category":"Ecological population dynamics","checks":7,"contract":"dx = alpha*x - beta*x*y, dy = delta*x*y - gamma*y evaluated from the same start-of-step state; Euler update with each population floored at 0; return [path of [x,y] rounded 4 including start, coexistence equilibrium [gamma/delta, alpha/beta] rounded 4 or None when beta or delta is not positive].","contract_signature":"prey0, pred0, alpha, beta, delta, gamma, dt, steps","evaluation_group":"w2-ecopop-lotka-volterra","failed_approach":"Dropping the predator density makes predator growth independent of predator numbers.","family":"w2-ecopop-lotka-volterra-conversion-efficiency","id":"FA-65411","implementations":{"attempt":{"sha256":"5209e6326ff7d9d30d56830438737d152454c9f7d064ec6146d9b000ea35b386","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(prey0, pred0, alpha, beta, delta, gamma, dt, steps):\n    x, y = float(prey0), float(pred0)\n    path = [[round(x, 4), round(y, 4)]]\n    for _ in range(steps):\n        dx = alpha * x - beta * x * y\n        dy = delta * x - gamma * y\n        x = max(x + dx * dt, 0.0)\n        y = max(y + dy * dt, 0.0)\n        path.append([round(x, 4), round(y, 4)])\n    eq = [round(gamma / delta, 4), round(alpha / beta, 4)] if beta > 0 and delta > 0 else None\n    return [path, eq]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: hare and lynx',\n   (40, 9, 0.1, 0.02, 0.01, 0.1, 0.5, 6),\n   [[[40.0, 9.0],\n     [38.4, 10.35],\n     [36.3456, 11.8197],\n     [33.8669, 13.3767],\n     [31.03, 14.973],\n     [27.9354, 16.5474],\n     [24.7096, 18.0313]],\n    [10.0, 5.0]]),\n  ('regression: large step overshoot',\n   (10, 50, 0.5, 0.1, 0.02, 0.4, 1.0, 4),\n   [[[10.0, 50.0], [0.0, 40.0], [0.0, 24.0], [0.0, 14.4], [0.0, 8.64]], [20.0, 5.0]]),\n  ('regression: predators absent',\n   (20, 0, 0.3, 0.05, 0.02, 0.2, 0.5, 4),\n   [[[20.0, 0.0], [23.0, 0.0], [26.45, 0.0], [30.4175, 0.0], [34.9801, 0.0]], [10.0, 6.0]]),\n  ('control: prey absent',\n   (0, 10, 0.3, 0.05, 0.02, 0.2, 0.5, 4),\n   [[[0.0, 10.0], [0.0, 9.0], [0.0, 8.1], [0.0, 7.29], [0.0, 6.561]], [10.0, 6.0]]),\n  ('control: no interaction',\n   (30, 5, 0.2, 0.0, 0.0, 0.1, 1.0, 3),\n   [[[30.0, 5.0], [36.0, 4.5], [43.2, 4.05], [51.84, 3.645]], None]),\n  ('regression: at equilibrium',\n   (10, 5, 0.5, 0.1, 0.02, 0.2, 0.25, 4),\n   [[[10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0]], [10.0, 5.0]]),\n  ('regression: fine steps',\n   (15, 4, 0.8, 0.1, 0.05, 0.6, 0.1, 8),\n   [[[15.0, 4.0],\n     [15.6, 4.06],\n     [16.2146, 4.1331],\n     [16.8416, 4.2202],\n     [17.4782, 4.3223],\n     [18.121, 4.4407],\n     [18.766, 4.5766],\n     [19.4084, 4.7315],\n     [20.0428, 4.9067]],\n    [12.0, 8.0]])],\n [('regression: hare and lynx',\n   (40, 9, 0.1, 0.02, 0.01, 0.1, 0.5, 6),\n   [[[40.0, 9.0],\n     [38.4, 10.35],\n     [36.3456, 11.8197],\n     [33.8669, 13.3767],\n     [31.03, 14.973],\n     [27.9354, 16.5474],\n     [24.7096, 18.0313]],\n    [10.0, 5.0]]),\n  ('regression: large step overshoot',\n   (10, 50, 0.5, 0.1, 0.02, 0.4, 1.0, 4),\n   [[[10.0, 50.0], [0.0, 40.0], [0.0, 24.0], [0.0, 14.4], [0.0, 8.64]], [20.0, 5.0]]),\n  ('control: prey absent',\n   (0, 10, 0.3, 0.05, 0.02, 0.2, 0.5, 4),\n   [[[0.0, 10.0], [0.0, 9.0], [0.0, 8.1], [0.0, 7.29], [0.0, 6.561]], [10.0, 6.0]]),\n  ('control: no interaction',\n   (30, 5, 0.2, 0.0, 0.0, 0.1, 1.0, 3),\n   [[[30.0, 5.0], [36.0, 4.5], [43.2, 4.05], [51.84, 3.645]], None]),\n  ('regression: at equilibrium',\n   (10, 5, 0.5, 0.1, 0.02, 0.2, 0.25, 4),\n   [[[10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0]], [10.0, 5.0]]),\n  ('regression: fine steps',\n   (15, 4, 0.8, 0.1, 0.05, 0.6, 0.1, 8),\n   [[[15.0, 4.0],\n     [15.6, 4.06],\n     [16.2146, 4.1331],\n     [16.8416, 4.2202],\n     [17.4782, 4.3223],\n     [18.121, 4.4407],\n     [18.766, 4.5766],\n     [19.4084, 4.7315],\n     [20.0428, 4.9067]],\n    [12.0, 8.0]]),\n  ('regression: predator crash',\n   (5, 30, 0.4, 0.2, 0.01, 0.9, 1.0, 3),\n   [[[5.0, 30.0], [0.0, 4.5], [0.0, 0.45], [0.0, 0.045]], [90.0, 2.0]])],\n [('regression: hare and lynx',\n   (40, 9, 0.1, 0.02, 0.01, 0.1, 0.5, 6),\n   [[[40.0, 9.0],\n     [38.4, 10.35],\n     [36.3456, 11.8197],\n     [33.8669, 13.3767],\n     [31.03, 14.973],\n     [27.9354, 16.5474],\n     [24.7096, 18.0313]],\n    [10.0, 5.0]]),\n  ('regression: large step overshoot',\n   (10, 50, 0.5, 0.1, 0.02, 0.4, 1.0, 4),\n   [[[10.0, 50.0], [0.0, 40.0], [0.0, 24.0], [0.0, 14.4], [0.0, 8.64]], [20.0, 5.0]]),\n  ('regression: predators absent',\n   (20, 0, 0.3, 0.05, 0.02, 0.2, 0.5, 4),\n   [[[20.0, 0.0], [23.0, 0.0], [26.45, 0.0], [30.4175, 0.0], [34.9801, 0.0]], [10.0, 6.0]]),\n  ('control: prey absent',\n   (0, 10, 0.3, 0.05, 0.02, 0.2, 0.5, 4),\n   [[[0.0, 10.0], [0.0, 9.0], [0.0, 8.1], [0.0, 7.29], [0.0, 6.561]], [10.0, 6.0]]),\n  ('control: no interaction',\n   (30, 5, 0.2, 0.0, 0.0, 0.1, 1.0, 3),\n   [[[30.0, 5.0], [36.0, 4.5], [43.2, 4.05], [51.84, 3.645]], None]),\n  ('regression: fine steps',\n   (15, 4, 0.8, 0.1, 0.05, 0.6, 0.1, 8),\n   [[[15.0, 4.0],\n     [15.6, 4.06],\n     [16.2146, 4.1331],\n     [16.8416, 4.2202],\n     [17.4782, 4.3223],\n     [18.121, 4.4407],\n     [18.766, 4.5766],\n     [19.4084, 4.7315],\n     [20.0428, 4.9067]],\n    [12.0, 8.0]]),\n  ('regression: predator crash',\n   (5, 30, 0.4, 0.2, 0.01, 0.9, 1.0, 3),\n   [[[5.0, 30.0], [0.0, 4.5], [0.0, 0.45], [0.0, 0.045]], [90.0, 2.0]])],\n [('regression: large step overshoot',\n   (10, 50, 0.5, 0.1, 0.02, 0.4, 1.0, 4),\n   [[[10.0, 50.0], [0.0, 40.0], [0.0, 24.0], [0.0, 14.4], [0.0, 8.64]], [20.0, 5.0]]),\n  ('regression: predators absent',\n   (20, 0, 0.3, 0.05, 0.02, 0.2, 0.5, 4),\n   [[[20.0, 0.0], [23.0, 0.0], [26.45, 0.0], [30.4175, 0.0], [34.9801, 0.0]], [10.0, 6.0]]),\n  ('control: prey absent',\n   (0, 10, 0.3, 0.05, 0.02, 0.2, 0.5, 4),\n   [[[0.0, 10.0], [0.0, 9.0], [0.0, 8.1], [0.0, 7.29], [0.0, 6.561]], [10.0, 6.0]]),\n  ('control: no interaction',\n   (30, 5, 0.2, 0.0, 0.0, 0.1, 1.0, 3),\n   [[[30.0, 5.0], [36.0, 4.5], [43.2, 4.05], [51.84, 3.645]], None]),\n  ('regression: at equilibrium',\n   (10, 5, 0.5, 0.1, 0.02, 0.2, 0.25, 4),\n   [[[10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0]], [10.0, 5.0]]),\n  ('regression: fine steps',\n   (15, 4, 0.8, 0.1, 0.05, 0.6, 0.1, 8),\n   [[[15.0, 4.0],\n     [15.6, 4.06],\n     [16.2146, 4.1331],\n     [16.8416, 4.2202],\n     [17.4782, 4.3223],\n     [18.121, 4.4407],\n     [18.766, 4.5766],\n     [19.4084, 4.7315],\n     [20.0428, 4.9067]],\n    [12.0, 8.0]]),\n  ('regression: predator crash',\n   (5, 30, 0.4, 0.2, 0.01, 0.9, 1.0, 3),\n   [[[5.0, 30.0], [0.0, 4.5], [0.0, 0.45], [0.0, 0.045]], [90.0, 2.0]])],\n [('regression: hare and lynx',\n   (40, 9, 0.1, 0.02, 0.01, 0.1, 0.5, 6),\n   [[[40.0, 9.0],\n     [38.4, 10.35],\n     [36.3456, 11.8197],\n     [33.8669, 13.3767],\n     [31.03, 14.973],\n     [27.9354, 16.5474],\n     [24.7096, 18.0313]],\n    [10.0, 5.0]]),\n  ('regression: large step overshoot',\n   (10, 50, 0.5, 0.1, 0.02, 0.4, 1.0, 4),\n   [[[10.0, 50.0], [0.0, 40.0], [0.0, 24.0], [0.0, 14.4], [0.0, 8.64]], [20.0, 5.0]]),\n  ('control: prey absent',\n   (0, 10, 0.3, 0.05, 0.02, 0.2, 0.5, 4),\n   [[[0.0, 10.0], [0.0, 9.0], [0.0, 8.1], [0.0, 7.29], [0.0, 6.561]], [10.0, 6.0]]),\n  ('control: no interaction',\n   (30, 5, 0.2, 0.0, 0.0, 0.1, 1.0, 3),\n   [[[30.0, 5.0], [36.0, 4.5], [43.2, 4.05], [51.84, 3.645]], None]),\n  ('regression: at equilibrium',\n   (10, 5, 0.5, 0.1, 0.02, 0.2, 0.25, 4),\n   [[[10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0]], [10.0, 5.0]]),\n  ('regression: fine steps',\n   (15, 4, 0.8, 0.1, 0.05, 0.6, 0.1, 8),\n   [[[15.0, 4.0],\n     [15.6, 4.06],\n     [16.2146, 4.1331],\n     [16.8416, 4.2202],\n     [17.4782, 4.3223],\n     [18.121, 4.4407],\n     [18.766, 4.5766],\n     [19.4084, 4.7315],\n     [20.0428, 4.9067]],\n    [12.0, 8.0]]),\n  ('regression: predator crash',\n   (5, 30, 0.4, 0.2, 0.01, 0.9, 1.0, 3),\n   [[[5.0, 30.0], [0.0, 4.5], [0.0, 0.45], [0.0, 0.045]], [90.0, 2.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":"3248e6bd09f96df7990c3196084dd4b35c4f826732ee72f668562eed021eb4c2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(prey0, pred0, alpha, beta, delta, gamma, dt, steps):\n    x, y = float(prey0), float(pred0)\n    path = [[round(x, 4), round(y, 4)]]\n    for _ in range(steps):\n        dx = alpha * x - beta * x * y\n        dy = beta * x * y - gamma * y\n        x = max(x + dx * dt, 0.0)\n        y = max(y + dy * dt, 0.0)\n        path.append([round(x, 4), round(y, 4)])\n    eq = [round(gamma / delta, 4), round(alpha / beta, 4)] if beta > 0 and delta > 0 else None\n    return [path, eq]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: hare and lynx',\n   (40, 9, 0.1, 0.02, 0.01, 0.1, 0.5, 6),\n   [[[40.0, 9.0],\n     [38.4, 10.35],\n     [36.3456, 11.8197],\n     [33.8669, 13.3767],\n     [31.03, 14.973],\n     [27.9354, 16.5474],\n     [24.7096, 18.0313]],\n    [10.0, 5.0]]),\n  ('regression: large step overshoot',\n   (10, 50, 0.5, 0.1, 0.02, 0.4, 1.0, 4),\n   [[[10.0, 50.0], [0.0, 40.0], [0.0, 24.0], [0.0, 14.4], [0.0, 8.64]], [20.0, 5.0]]),\n  ('regression: predators absent',\n   (20, 0, 0.3, 0.05, 0.02, 0.2, 0.5, 4),\n   [[[20.0, 0.0], [23.0, 0.0], [26.45, 0.0], [30.4175, 0.0], [34.9801, 0.0]], [10.0, 6.0]]),\n  ('control: prey absent',\n   (0, 10, 0.3, 0.05, 0.02, 0.2, 0.5, 4),\n   [[[0.0, 10.0], [0.0, 9.0], [0.0, 8.1], [0.0, 7.29], [0.0, 6.561]], [10.0, 6.0]]),\n  ('control: no interaction',\n   (30, 5, 0.2, 0.0, 0.0, 0.1, 1.0, 3),\n   [[[30.0, 5.0], [36.0, 4.5], [43.2, 4.05], [51.84, 3.645]], None]),\n  ('regression: at equilibrium',\n   (10, 5, 0.5, 0.1, 0.02, 0.2, 0.25, 4),\n   [[[10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0]], [10.0, 5.0]]),\n  ('regression: fine steps',\n   (15, 4, 0.8, 0.1, 0.05, 0.6, 0.1, 8),\n   [[[15.0, 4.0],\n     [15.6, 4.06],\n     [16.2146, 4.1331],\n     [16.8416, 4.2202],\n     [17.4782, 4.3223],\n     [18.121, 4.4407],\n     [18.766, 4.5766],\n     [19.4084, 4.7315],\n     [20.0428, 4.9067]],\n    [12.0, 8.0]])],\n [('regression: hare and lynx',\n   (40, 9, 0.1, 0.02, 0.01, 0.1, 0.5, 6),\n   [[[40.0, 9.0],\n     [38.4, 10.35],\n     [36.3456, 11.8197],\n     [33.8669, 13.3767],\n     [31.03, 14.973],\n     [27.9354, 16.5474],\n     [24.7096, 18.0313]],\n    [10.0, 5.0]]),\n  ('regression: large step overshoot',\n   (10, 50, 0.5, 0.1, 0.02, 0.4, 1.0, 4),\n   [[[10.0, 50.0], [0.0, 40.0], [0.0, 24.0], [0.0, 14.4], [0.0, 8.64]], [20.0, 5.0]]),\n  ('control: prey absent',\n   (0, 10, 0.3, 0.05, 0.02, 0.2, 0.5, 4),\n   [[[0.0, 10.0], [0.0, 9.0], [0.0, 8.1], [0.0, 7.29], [0.0, 6.561]], [10.0, 6.0]]),\n  ('control: no interaction',\n   (30, 5, 0.2, 0.0, 0.0, 0.1, 1.0, 3),\n   [[[30.0, 5.0], [36.0, 4.5], [43.2, 4.05], [51.84, 3.645]], None]),\n  ('regression: at equilibrium',\n   (10, 5, 0.5, 0.1, 0.02, 0.2, 0.25, 4),\n   [[[10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0]], [10.0, 5.0]]),\n  ('regression: fine steps',\n   (15, 4, 0.8, 0.1, 0.05, 0.6, 0.1, 8),\n   [[[15.0, 4.0],\n     [15.6, 4.06],\n     [16.2146, 4.1331],\n     [16.8416, 4.2202],\n     [17.4782, 4.3223],\n     [18.121, 4.4407],\n     [18.766, 4.5766],\n     [19.4084, 4.7315],\n     [20.0428, 4.9067]],\n    [12.0, 8.0]]),\n  ('regression: predator crash',\n   (5, 30, 0.4, 0.2, 0.01, 0.9, 1.0, 3),\n   [[[5.0, 30.0], [0.0, 4.5], [0.0, 0.45], [0.0, 0.045]], [90.0, 2.0]])],\n [('regression: hare and lynx',\n   (40, 9, 0.1, 0.02, 0.01, 0.1, 0.5, 6),\n   [[[40.0, 9.0],\n     [38.4, 10.35],\n     [36.3456, 11.8197],\n     [33.8669, 13.3767],\n     [31.03, 14.973],\n     [27.9354, 16.5474],\n     [24.7096, 18.0313]],\n    [10.0, 5.0]]),\n  ('regression: large step overshoot',\n   (10, 50, 0.5, 0.1, 0.02, 0.4, 1.0, 4),\n   [[[10.0, 50.0], [0.0, 40.0], [0.0, 24.0], [0.0, 14.4], [0.0, 8.64]], [20.0, 5.0]]),\n  ('regression: predators absent',\n   (20, 0, 0.3, 0.05, 0.02, 0.2, 0.5, 4),\n   [[[20.0, 0.0], [23.0, 0.0], [26.45, 0.0], [30.4175, 0.0], [34.9801, 0.0]], [10.0, 6.0]]),\n  ('control: prey absent',\n   (0, 10, 0.3, 0.05, 0.02, 0.2, 0.5, 4),\n   [[[0.0, 10.0], [0.0, 9.0], [0.0, 8.1], [0.0, 7.29], [0.0, 6.561]], [10.0, 6.0]]),\n  ('control: no interaction',\n   (30, 5, 0.2, 0.0, 0.0, 0.1, 1.0, 3),\n   [[[30.0, 5.0], [36.0, 4.5], [43.2, 4.05], [51.84, 3.645]], None]),\n  ('regression: fine steps',\n   (15, 4, 0.8, 0.1, 0.05, 0.6, 0.1, 8),\n   [[[15.0, 4.0],\n     [15.6, 4.06],\n     [16.2146, 4.1331],\n     [16.8416, 4.2202],\n     [17.4782, 4.3223],\n     [18.121, 4.4407],\n     [18.766, 4.5766],\n     [19.4084, 4.7315],\n     [20.0428, 4.9067]],\n    [12.0, 8.0]]),\n  ('regression: predator crash',\n   (5, 30, 0.4, 0.2, 0.01, 0.9, 1.0, 3),\n   [[[5.0, 30.0], [0.0, 4.5], [0.0, 0.45], [0.0, 0.045]], [90.0, 2.0]])],\n [('regression: large step overshoot',\n   (10, 50, 0.5, 0.1, 0.02, 0.4, 1.0, 4),\n   [[[10.0, 50.0], [0.0, 40.0], [0.0, 24.0], [0.0, 14.4], [0.0, 8.64]], [20.0, 5.0]]),\n  ('regression: predators absent',\n   (20, 0, 0.3, 0.05, 0.02, 0.2, 0.5, 4),\n   [[[20.0, 0.0], [23.0, 0.0], [26.45, 0.0], [30.4175, 0.0], [34.9801, 0.0]], [10.0, 6.0]]),\n  ('control: prey absent',\n   (0, 10, 0.3, 0.05, 0.02, 0.2, 0.5, 4),\n   [[[0.0, 10.0], [0.0, 9.0], [0.0, 8.1], [0.0, 7.29], [0.0, 6.561]], [10.0, 6.0]]),\n  ('control: no interaction',\n   (30, 5, 0.2, 0.0, 0.0, 0.1, 1.0, 3),\n   [[[30.0, 5.0], [36.0, 4.5], [43.2, 4.05], [51.84, 3.645]], None]),\n  ('regression: at equilibrium',\n   (10, 5, 0.5, 0.1, 0.02, 0.2, 0.25, 4),\n   [[[10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0]], [10.0, 5.0]]),\n  ('regression: fine steps',\n   (15, 4, 0.8, 0.1, 0.05, 0.6, 0.1, 8),\n   [[[15.0, 4.0],\n     [15.6, 4.06],\n     [16.2146, 4.1331],\n     [16.8416, 4.2202],\n     [17.4782, 4.3223],\n     [18.121, 4.4407],\n     [18.766, 4.5766],\n     [19.4084, 4.7315],\n     [20.0428, 4.9067]],\n    [12.0, 8.0]]),\n  ('regression: predator crash',\n   (5, 30, 0.4, 0.2, 0.01, 0.9, 1.0, 3),\n   [[[5.0, 30.0], [0.0, 4.5], [0.0, 0.45], [0.0, 0.045]], [90.0, 2.0]])],\n [('regression: hare and lynx',\n   (40, 9, 0.1, 0.02, 0.01, 0.1, 0.5, 6),\n   [[[40.0, 9.0],\n     [38.4, 10.35],\n     [36.3456, 11.8197],\n     [33.8669, 13.3767],\n     [31.03, 14.973],\n     [27.9354, 16.5474],\n     [24.7096, 18.0313]],\n    [10.0, 5.0]]),\n  ('regression: large step overshoot',\n   (10, 50, 0.5, 0.1, 0.02, 0.4, 1.0, 4),\n   [[[10.0, 50.0], [0.0, 40.0], [0.0, 24.0], [0.0, 14.4], [0.0, 8.64]], [20.0, 5.0]]),\n  ('control: prey absent',\n   (0, 10, 0.3, 0.05, 0.02, 0.2, 0.5, 4),\n   [[[0.0, 10.0], [0.0, 9.0], [0.0, 8.1], [0.0, 7.29], [0.0, 6.561]], [10.0, 6.0]]),\n  ('control: no interaction',\n   (30, 5, 0.2, 0.0, 0.0, 0.1, 1.0, 3),\n   [[[30.0, 5.0], [36.0, 4.5], [43.2, 4.05], [51.84, 3.645]], None]),\n  ('regression: at equilibrium',\n   (10, 5, 0.5, 0.1, 0.02, 0.2, 0.25, 4),\n   [[[10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0]], [10.0, 5.0]]),\n  ('regression: fine steps',\n   (15, 4, 0.8, 0.1, 0.05, 0.6, 0.1, 8),\n   [[[15.0, 4.0],\n     [15.6, 4.06],\n     [16.2146, 4.1331],\n     [16.8416, 4.2202],\n     [17.4782, 4.3223],\n     [18.121, 4.4407],\n     [18.766, 4.5766],\n     [19.4084, 4.7315],\n     [20.0428, 4.9067]],\n    [12.0, 8.0]]),\n  ('regression: predator crash',\n   (5, 30, 0.4, 0.2, 0.01, 0.9, 1.0, 3),\n   [[[5.0, 30.0], [0.0, 4.5], [0.0, 0.45], [0.0, 0.045]], [90.0, 2.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-lotka-volterra-conversion-efficiency","generated_at":"2026-09-29T14:47:33.869782+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 predator numerical response uses the attack coefficient beta instead of delta.","sha256":"a828f2beba953a0e4f7d325e106b93ce4b0e799e43b1e1536e38b486575780bf","title":"Lotka-Volterra predator-prey Euler integration: conversion efficiency · 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":43.451,"exit_code":1,"observations":[{"actual":[[[40.0,9.0],[38.4,8.75],[36.96,8.5045],[35.6647,8.2641],[34.5006,8.0292],[33.4555,7.8002],[32.5187,7.5775]],[10.0,5.0]],"check":"regression: hare and lynx","expected":[[[40.0,9.0],[38.4,10.35],[36.3456,11.8197],[33.8669,13.3767],[31.03,14.973],[27.9354,16.5474],[24.7096,18.0313]],[10.0,5.0]],"passed":false},{"actual":[[[10.0,50.0],[0.0,30.2],[0.0,18.12],[0.0,10.872],[0.0,6.5232]],[20.0,5.0]],"check":"regression: large step overshoot","expected":[[[10.0,50.0],[0.0,40.0],[0.0,24.0],[0.0,14.4],[0.0,8.64]],[20.0,5.0]],"passed":false},{"actual":[[[20.0,0.0],[23.0,0.2],[26.335,0.41],[30.0153,0.6324],[34.0431,0.8693]],[10.0,6.0]],"check":"regression: predators absent","expected":[[[20.0,0.0],[23.0,0.0],[26.45,0.0],[30.4175,0.0],[34.9801,0.0]],[10.0,6.0]],"passed":false},{"actual":[[[0.0,10.0],[0.0,9.0],[0.0,8.1],[0.0,7.29],[0.0,6.561]],[10.0,6.0]],"check":"control: prey absent","expected":[[[0.0,10.0],[0.0,9.0],[0.0,8.1],[0.0,7.29],[0.0,6.561]],[10.0,6.0]],"passed":true},{"actual":[[[30.0,5.0],[36.0,4.5],[43.2,4.05],[51.84,3.645]],null],"check":"control: no interaction","expected":[[[30.0,5.0],[36.0,4.5],[43.2,4.05],[51.84,3.645]],null],"passed":true},{"actual":[[[10.0,5.0],[10.0,4.8],[10.05,4.61],[10.148,4.4297],[10.2927,4.259]],[10.0,5.0]],"check":"regression: at equilibrium","expected":[[[10.0,5.0],[10.0,5.0],[10.0,5.0],[10.0,5.0],[10.0,5.0]],[10.0,5.0]],"passed":false},{"actual":[[[15.0,4.0],[15.6,3.835],[16.2497,3.6829],[16.9513,3.5432],[17.7067,3.4153],[18.5185,3.299],[19.3891,3.1936],[20.321,3.0989],[21.317,3.0146]],[12.0,8.0]],"check":"regression: fine steps","expected":[[[15.0,4.0],[15.6,4.06],[16.2146,4.1331],[16.8416,4.2202],[17.4782,4.3223],[18.121,4.4407],[18.766,4.5766],[19.4084,4.7315],[20.0428,4.9067]],[12.0,8.0]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: hare and lynx\", \"actual\": [[[40.0, 9.0], [38.4, 8.75], [36.96, 8.5045], [35.6647, 8.2641], [34.5006, 8.0292], [33.4555, 7.8002], [32.5187, 7.5775]], [10.0, 5.0]], \"expected\": [[[40.0, 9.0], [38.4, 10.35], [36.3456, 11.8197], [33.8669, 13.3767], [31.03, 14.973], [27.9354, 16.5474], [24.7096, 18.0313]], [10.0, 5.0]], \"passed\": false}, {\"check\": \"regression: large step overshoot\", \"actual\": [[[10.0, 50.0], [0.0, 30.2], [0.0, 18.12], [0.0, 10.872], [0.0, 6.5232]], [20.0, 5.0]], \"expected\": [[[10.0, 50.0], [0.0, 40.0], [0.0, 24.0], [0.0, 14.4], [0.0, 8.64]], [20.0, 5.0]], \"passed\": false}, {\"check\": \"regression: predators absent\", \"actual\": [[[20.0, 0.0], [23.0, 0.2], [26.335, 0.41], [30.0153, 0.6324], [34.0431, 0.8693]], [10.0, 6.0]], \"expected\": [[[20.0, 0.0], [23.0, 0.0], [26.45, 0.0], [30.4175, 0.0], [34.9801, 0.0]], [10.0, 6.0]], \"passed\": false}, {\"check\": \"control: prey absent\", \"actual\": [[[0.0, 10.0], [0.0, 9.0], [0.0, 8.1], [0.0, 7.29], [0.0, 6.561]], [10.0, 6.0]], \"expected\": [[[0.0, 10.0], [0.0, 9.0], [0.0, 8.1], [0.0, 7.29], [0.0, 6.561]], [10.0, 6.0]], \"passed\": true}, {\"check\": \"control: no interaction\", \"actual\": [[[30.0, 5.0], [36.0, 4.5], [43.2, 4.05], [51.84, 3.645]], null], \"expected\": [[[30.0, 5.0], [36.0, 4.5], [43.2, 4.05], [51.84, 3.645]], null], \"passed\": true}, {\"check\": \"regression: at equilibrium\", \"actual\": [[[10.0, 5.0], [10.0, 4.8], [10.05, 4.61], [10.148, 4.4297], [10.2927, 4.259]], [10.0, 5.0]], \"expected\": [[[10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0]], [10.0, 5.0]], \"passed\": false}, {\"check\": \"regression: fine steps\", \"actual\": [[[15.0, 4.0], [15.6, 3.835], [16.2497, 3.6829], [16.9513, 3.5432], [17.7067, 3.4153], [18.5185, 3.299], [19.3891, 3.1936], [20.321, 3.0989], [21.317, 3.0146]], [12.0, 8.0]], \"expected\": [[[15.0, 4.0], [15.6, 4.06], [16.2146, 4.1331], [16.8416, 4.2202], [17.4782, 4.3223], [18.121, 4.4407], [18.766, 4.5766], [19.4084, 4.7315], [20.0428, 4.9067]], [12.0, 8.0]], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.615,"exit_code":1,"observations":[{"actual":[[[40.0,9.0],[38.4,12.15],[35.6544,16.2081],[31.6582,21.1766],[26.537,26.8219],[20.7461,32.5985],[15.0205,37.7315]],[10.0,5.0]],"check":"regression: hare and lynx","expected":[[[40.0,9.0],[38.4,10.35],[36.3456,11.8197],[33.8669,13.3767],[31.03,14.973],[27.9354,16.5474],[24.7096,18.0313]],[10.0,5.0]],"passed":false},{"actual":[[[10.0,50.0],[0.0,80.0],[0.0,48.0],[0.0,28.8],[0.0,17.28]],[20.0,5.0]],"check":"regression: large step overshoot","expected":[[[10.0,50.0],[0.0,40.0],[0.0,24.0],[0.0,14.4],[0.0,8.64]],[20.0,5.0]],"passed":false},{"actual":[[[20.0,0.0],[23.0,0.0],[26.45,0.0],[30.4175,0.0],[34.9801,0.0]],[10.0,6.0]],"check":"regression: predators absent","expected":[[[20.0,0.0],[23.0,0.0],[26.45,0.0],[30.4175,0.0],[34.9801,0.0]],[10.0,6.0]],"passed":true},{"actual":[[[0.0,10.0],[0.0,9.0],[0.0,8.1],[0.0,7.29],[0.0,6.561]],[10.0,6.0]],"check":"control: prey absent","expected":[[[0.0,10.0],[0.0,9.0],[0.0,8.1],[0.0,7.29],[0.0,6.561]],[10.0,6.0]],"passed":true},{"actual":[[[30.0,5.0],[36.0,4.5],[43.2,4.05],[51.84,3.645]],null],"check":"control: no interaction","expected":[[[30.0,5.0],[36.0,4.5],[43.2,4.05],[51.84,3.645]],null],"passed":true},{"actual":[[[10.0,5.0],[10.0,6.0],[9.75,7.2],[9.2137,8.595],[8.3857,10.1451]],[10.0,5.0]],"check":"regression: at equilibrium","expected":[[[10.0,5.0],[10.0,5.0],[10.0,5.0],[10.0,5.0],[10.0,5.0]],[10.0,5.0]],"passed":false},{"actual":[[[15.0,4.0],[15.6,4.36],[16.1678,4.7786],[16.6887,5.2644],[17.1452,5.8271],[17.5177,6.4766],[17.7846,7.2225],[17.9229,8.0737],[17.9097,9.0363]],[12.0,8.0]],"check":"regression: fine steps","expected":[[[15.0,4.0],[15.6,4.06],[16.2146,4.1331],[16.8416,4.2202],[17.4782,4.3223],[18.121,4.4407],[18.766,4.5766],[19.4084,4.7315],[20.0428,4.9067]],[12.0,8.0]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: hare and lynx\", \"actual\": [[[40.0, 9.0], [38.4, 12.15], [35.6544, 16.2081], [31.6582, 21.1766], [26.537, 26.8219], [20.7461, 32.5985], [15.0205, 37.7315]], [10.0, 5.0]], \"expected\": [[[40.0, 9.0], [38.4, 10.35], [36.3456, 11.8197], [33.8669, 13.3767], [31.03, 14.973], [27.9354, 16.5474], [24.7096, 18.0313]], [10.0, 5.0]], \"passed\": false}, {\"check\": \"regression: large step overshoot\", \"actual\": [[[10.0, 50.0], [0.0, 80.0], [0.0, 48.0], [0.0, 28.8], [0.0, 17.28]], [20.0, 5.0]], \"expected\": [[[10.0, 50.0], [0.0, 40.0], [0.0, 24.0], [0.0, 14.4], [0.0, 8.64]], [20.0, 5.0]], \"passed\": false}, {\"check\": \"regression: predators absent\", \"actual\": [[[20.0, 0.0], [23.0, 0.0], [26.45, 0.0], [30.4175, 0.0], [34.9801, 0.0]], [10.0, 6.0]], \"expected\": [[[20.0, 0.0], [23.0, 0.0], [26.45, 0.0], [30.4175, 0.0], [34.9801, 0.0]], [10.0, 6.0]], \"passed\": true}, {\"check\": \"control: prey absent\", \"actual\": [[[0.0, 10.0], [0.0, 9.0], [0.0, 8.1], [0.0, 7.29], [0.0, 6.561]], [10.0, 6.0]], \"expected\": [[[0.0, 10.0], [0.0, 9.0], [0.0, 8.1], [0.0, 7.29], [0.0, 6.561]], [10.0, 6.0]], \"passed\": true}, {\"check\": \"control: no interaction\", \"actual\": [[[30.0, 5.0], [36.0, 4.5], [43.2, 4.05], [51.84, 3.645]], null], \"expected\": [[[30.0, 5.0], [36.0, 4.5], [43.2, 4.05], [51.84, 3.645]], null], \"passed\": true}, {\"check\": \"regression: at equilibrium\", \"actual\": [[[10.0, 5.0], [10.0, 6.0], [9.75, 7.2], [9.2137, 8.595], [8.3857, 10.1451]], [10.0, 5.0]], \"expected\": [[[10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0]], [10.0, 5.0]], \"passed\": false}, {\"check\": \"regression: fine steps\", \"actual\": [[[15.0, 4.0], [15.6, 4.36], [16.1678, 4.7786], [16.6887, 5.2644], [17.1452, 5.8271], [17.5177, 6.4766], [17.7846, 7.2225], [17.9229, 8.0737], [17.9097, 9.0363]], [12.0, 8.0]], \"expected\": [[[15.0, 4.0], [15.6, 4.06], [16.2146, 4.1331], [16.8416, 4.2202], [17.4782, 4.3223], [18.121, 4.4407], [18.766, 4.5766], [19.4084, 4.7315], [20.0428, 4.9067]], [12.0, 8.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."}}