{"abstract":"The reported coexistence point has prey and predator swapped.","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":"Pairing the rates with the wrong coefficients misplaces both coordinates.","family":"w2-ecopop-lotka-volterra-equilibrium-coordinates","id":"FA-65421","implementations":{"attempt":{"sha256":"8416139dfb17d2773169fc30b1533ad545a51a9b3e4ea7f573703609bef844a2","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 * 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 / beta, 4), round(alpha / delta, 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  ('regression: 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  ('regression: 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  ('regression: 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  ('regression: 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: 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":"4d27184b934c4dcd90ad372fb68fa1d0bf76d6d36a2a9ac203aeb62d10722202","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 * 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(alpha / beta, 4), round(gamma / delta, 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  ('regression: 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  ('regression: 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  ('regression: 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  ('regression: 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: 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-equilibrium-coordinates","generated_at":"2026-09-29T14:47:33.963040+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 equilibrium coordinates are returned in [predator, prey] order.","sha256":"196a6fd2deed83125adf0623ded28cc43f764d7341915a87f0fe592aa1a4fae9","title":"Lotka-Volterra predator-prey Euler integration: equilibrium coordinates · 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":40.449,"exit_code":1,"observations":[{"actual":[[[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]],[5.0,10.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,40.0],[0.0,24.0],[0.0,14.4],[0.0,8.64]],[4.0,25.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]],[4.0,15.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]],[4.0,15.0]],"check":"regression: 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":false},{"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,5.0],[10.0,5.0],[10.0,5.0],[10.0,5.0]],[2.0,25.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.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]],[6.0,16.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, 10.35], [36.3456, 11.8197], [33.8669, 13.3767], [31.03, 14.973], [27.9354, 16.5474], [24.7096, 18.0313]], [5.0, 10.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, 40.0], [0.0, 24.0], [0.0, 14.4], [0.0, 8.64]], [4.0, 25.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]], [4.0, 15.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\": \"regression: prey absent\", \"actual\": [[[0.0, 10.0], [0.0, 9.0], [0.0, 8.1], [0.0, 7.29], [0.0, 6.561]], [4.0, 15.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\": false}, {\"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, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0]], [2.0, 25.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.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]], [6.0, 16.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":43.181,"exit_code":1,"observations":[{"actual":[[[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]],[5.0,10.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,40.0],[0.0,24.0],[0.0,14.4],[0.0,8.64]],[5.0,20.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]],[6.0,10.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]],[6.0,10.0]],"check":"regression: 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":false},{"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,5.0],[10.0,5.0],[10.0,5.0],[10.0,5.0]],[5.0,10.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.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]],[8.0,12.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, 10.35], [36.3456, 11.8197], [33.8669, 13.3767], [31.03, 14.973], [27.9354, 16.5474], [24.7096, 18.0313]], [5.0, 10.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, 40.0], [0.0, 24.0], [0.0, 14.4], [0.0, 8.64]], [5.0, 20.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]], [6.0, 10.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\": \"regression: prey absent\", \"actual\": [[[0.0, 10.0], [0.0, 9.0], [0.0, 8.1], [0.0, 7.29], [0.0, 6.561]], [6.0, 10.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\": false}, {\"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, 5.0], [10.0, 5.0], [10.0, 5.0], [10.0, 5.0]], [5.0, 10.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.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]], [8.0, 12.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."}}