{"abstract":"The stock settles well below the stated carrying capacity.","category":"Ecological population dynamics","checks":7,"contract":"N[t+1] = r0*N/(1+(r0-1)*N/K); equilibrium K if r0>1 else 0; band = 0.01*K; hit = first year (0 = start) with |N-eq|<=band, else None; return [trajectory rounded 4, equilibrium, hit]; None for invalid inputs.","evaluation_group":"w2-ecopop-beverton-holt","failed_approach":"Using r0*N/K moves the equilibrium to K*(r0-1)/r0.","family":"w2-ecopop-beverton-holt-density-denominator","id":"FA-65381","implementations":{"attempt":{"sha256":"93e452af5adaf024329a95f012383f9aa14a37c4f23bd8992579d0467f9bbf45","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(n0, r0, k, years):\n    if k <= 0 or r0 <= 0 or n0 < 0:\n        return None\n    eq = float(k) if r0 > 1 else 0.0\n    band = 0.01 * k\n    n = float(n0)\n    traj = []\n    hit = 0 if abs(n - eq) <= band else None\n    for year in range(1, years + 1):\n        n = r0 * n / (1 + r0 * n / k)\n        traj.append(round(n, 4))\n        if hit is None and abs(n - eq) <= band:\n            hit = year\n    return [traj, eq, hit]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: herring recruitment',\n   (50, 3.0, 1000, 10),\n   [[136.3636, 321.4286, 586.9565, 810.0, 927.4809, 974.5989, 991.3871, 997.1125, 999.0356, 999.6783],\n    1000.0,\n    7]),\n  ('regression: slow approach',\n   (10, 1.5, 500, 12),\n   [[14.8515,\n     21.9512,\n     32.2196,\n     46.8208,\n     67.09,\n     94.3079,\n     129.2706,\n     171.709,\n     219.8186,\n     270.309,\n     319.1849,\n     362.9343],\n    500.0,\n    None]),\n  ('regression: start at capacity', (1000, 2.0, 1000, 4), [[1000.0, 1000.0, 1000.0, 1000.0], 1000.0, 0]),\n  ('regression: start within band', (995, 2.0, 1000, 3), [[997.4937, 998.7453, 999.3723], 1000.0, 0]),\n  ('regression: replacement r0 one', (200, 1.0, 1000, 4), [[200.0, 200.0, 200.0, 200.0], 0.0, None]),\n  ('regression: declining r0 half',\n   (400, 0.5, 1000, 8),\n   [[250.0, 142.8571, 76.9231, 40.0, 20.4082, 10.3093, 5.1813, 2.5974], 0.0, 7]),\n  ('control: invalid r0', (100, 0.0, 1000, 5), None)],\n [('regression: start within band', (995, 2.0, 1000, 3), [[997.4937, 998.7453, 999.3723], 1000.0, 0]),\n  ('regression: replacement r0 one', (200, 1.0, 1000, 4), [[200.0, 200.0, 200.0, 200.0], 0.0, None]),\n  ('regression: declining r0 half',\n   (400, 0.5, 1000, 8),\n   [[250.0, 142.8571, 76.9231, 40.0, 20.4082, 10.3093, 5.1813, 2.5974], 0.0, 7]),\n  ('regression: above capacity',\n   (3000, 2.5, 1000, 6),\n   [[1363.6364, 1119.403, 1044.5682, 1017.363, 1006.8736, 1002.7381], 1000.0, 5]),\n  ('control: invalid r0', (100, 0.0, 1000, 5), None),\n  ('regression: never reaches band',\n   (1, 1.2, 10000, 5),\n   [[1.2, 1.4399, 1.7279, 2.0734, 2.4879], 10000.0, None]),\n  ('regression: one year from band',\n   (985, 2.0, 1000, 4),\n   [[992.4433, 996.2073, 998.1001, 999.0491], 1000.0, 1])],\n [('regression: herring recruitment',\n   (50, 3.0, 1000, 10),\n   [[136.3636, 321.4286, 586.9565, 810.0, 927.4809, 974.5989, 991.3871, 997.1125, 999.0356, 999.6783],\n    1000.0,\n    7]),\n  ('regression: slow approach',\n   (10, 1.5, 500, 12),\n   [[14.8515,\n     21.9512,\n     32.2196,\n     46.8208,\n     67.09,\n     94.3079,\n     129.2706,\n     171.709,\n     219.8186,\n     270.309,\n     319.1849,\n     362.9343],\n    500.0,\n    None]),\n  ('regression: above capacity',\n   (3000, 2.5, 1000, 6),\n   [[1363.6364, 1119.403, 1044.5682, 1017.363, 1006.8736, 1002.7381], 1000.0, 5]),\n  ('control: invalid r0', (100, 0.0, 1000, 5), None),\n  ('regression: never reaches band',\n   (1, 1.2, 10000, 5),\n   [[1.2, 1.4399, 1.7279, 2.0734, 2.4879], 10000.0, None]),\n  ('regression: one year from band',\n   (985, 2.0, 1000, 4),\n   [[992.4433, 996.2073, 998.1001, 999.0491], 1000.0, 1]),\n  ('regression: small capacity',\n   (2, 4.0, 20, 6),\n   [[6.1538, 12.8, 17.5342, 19.3208, 19.8258, 19.9562], 20.0, 5])],\n [('regression: herring recruitment',\n   (50, 3.0, 1000, 10),\n   [[136.3636, 321.4286, 586.9565, 810.0, 927.4809, 974.5989, 991.3871, 997.1125, 999.0356, 999.6783],\n    1000.0,\n    7]),\n  ('regression: slow approach',\n   (10, 1.5, 500, 12),\n   [[14.8515,\n     21.9512,\n     32.2196,\n     46.8208,\n     67.09,\n     94.3079,\n     129.2706,\n     171.709,\n     219.8186,\n     270.309,\n     319.1849,\n     362.9343],\n    500.0,\n    None]),\n  ('regression: start at capacity', (1000, 2.0, 1000, 4), [[1000.0, 1000.0, 1000.0, 1000.0], 1000.0, 0]),\n  ('regression: start within band', (995, 2.0, 1000, 3), [[997.4937, 998.7453, 999.3723], 1000.0, 0]),\n  ('control: invalid r0', (100, 0.0, 1000, 5), None),\n  ('regression: one year from band',\n   (985, 2.0, 1000, 4),\n   [[992.4433, 996.2073, 998.1001, 999.0491], 1000.0, 1]),\n  ('regression: small capacity',\n   (2, 4.0, 20, 6),\n   [[6.1538, 12.8, 17.5342, 19.3208, 19.8258, 19.9562], 20.0, 5])],\n [('regression: slow approach',\n   (10, 1.5, 500, 12),\n   [[14.8515,\n     21.9512,\n     32.2196,\n     46.8208,\n     67.09,\n     94.3079,\n     129.2706,\n     171.709,\n     219.8186,\n     270.309,\n     319.1849,\n     362.9343],\n    500.0,\n    None]),\n  ('regression: start at capacity', (1000, 2.0, 1000, 4), [[1000.0, 1000.0, 1000.0, 1000.0], 1000.0, 0]),\n  ('regression: start within band', (995, 2.0, 1000, 3), [[997.4937, 998.7453, 999.3723], 1000.0, 0]),\n  ('regression: replacement r0 one', (200, 1.0, 1000, 4), [[200.0, 200.0, 200.0, 200.0], 0.0, None]),\n  ('regression: declining r0 half',\n   (400, 0.5, 1000, 8),\n   [[250.0, 142.8571, 76.9231, 40.0, 20.4082, 10.3093, 5.1813, 2.5974], 0.0, 7]),\n  ('regression: above capacity',\n   (3000, 2.5, 1000, 6),\n   [[1363.6364, 1119.403, 1044.5682, 1017.363, 1006.8736, 1002.7381], 1000.0, 5]),\n  ('control: invalid r0', (100, 0.0, 1000, 5), None)]]\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":"f6d3307b9fa3c2c023514081b944ced687e68a0c2566484153aac8383ec442b6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(n0, r0, k, years):\n    if k <= 0 or r0 <= 0 or n0 < 0:\n        return None\n    eq = float(k) if r0 > 1 else 0.0\n    band = 0.01 * k\n    n = float(n0)\n    traj = []\n    hit = 0 if abs(n - eq) <= band else None\n    for year in range(1, years + 1):\n        n = r0 * n / (1 + n / k)\n        traj.append(round(n, 4))\n        if hit is None and abs(n - eq) <= band:\n            hit = year\n    return [traj, eq, hit]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: herring recruitment',\n   (50, 3.0, 1000, 10),\n   [[136.3636, 321.4286, 586.9565, 810.0, 927.4809, 974.5989, 991.3871, 997.1125, 999.0356, 999.6783],\n    1000.0,\n    7]),\n  ('regression: slow approach',\n   (10, 1.5, 500, 12),\n   [[14.8515,\n     21.9512,\n     32.2196,\n     46.8208,\n     67.09,\n     94.3079,\n     129.2706,\n     171.709,\n     219.8186,\n     270.309,\n     319.1849,\n     362.9343],\n    500.0,\n    None]),\n  ('regression: start at capacity', (1000, 2.0, 1000, 4), [[1000.0, 1000.0, 1000.0, 1000.0], 1000.0, 0]),\n  ('regression: start within band', (995, 2.0, 1000, 3), [[997.4937, 998.7453, 999.3723], 1000.0, 0]),\n  ('regression: replacement r0 one', (200, 1.0, 1000, 4), [[200.0, 200.0, 200.0, 200.0], 0.0, None]),\n  ('regression: declining r0 half',\n   (400, 0.5, 1000, 8),\n   [[250.0, 142.8571, 76.9231, 40.0, 20.4082, 10.3093, 5.1813, 2.5974], 0.0, 7]),\n  ('control: invalid r0', (100, 0.0, 1000, 5), None)],\n [('regression: start within band', (995, 2.0, 1000, 3), [[997.4937, 998.7453, 999.3723], 1000.0, 0]),\n  ('regression: replacement r0 one', (200, 1.0, 1000, 4), [[200.0, 200.0, 200.0, 200.0], 0.0, None]),\n  ('regression: declining r0 half',\n   (400, 0.5, 1000, 8),\n   [[250.0, 142.8571, 76.9231, 40.0, 20.4082, 10.3093, 5.1813, 2.5974], 0.0, 7]),\n  ('regression: above capacity',\n   (3000, 2.5, 1000, 6),\n   [[1363.6364, 1119.403, 1044.5682, 1017.363, 1006.8736, 1002.7381], 1000.0, 5]),\n  ('control: invalid r0', (100, 0.0, 1000, 5), None),\n  ('regression: never reaches band',\n   (1, 1.2, 10000, 5),\n   [[1.2, 1.4399, 1.7279, 2.0734, 2.4879], 10000.0, None]),\n  ('regression: one year from band',\n   (985, 2.0, 1000, 4),\n   [[992.4433, 996.2073, 998.1001, 999.0491], 1000.0, 1])],\n [('regression: herring recruitment',\n   (50, 3.0, 1000, 10),\n   [[136.3636, 321.4286, 586.9565, 810.0, 927.4809, 974.5989, 991.3871, 997.1125, 999.0356, 999.6783],\n    1000.0,\n    7]),\n  ('regression: slow approach',\n   (10, 1.5, 500, 12),\n   [[14.8515,\n     21.9512,\n     32.2196,\n     46.8208,\n     67.09,\n     94.3079,\n     129.2706,\n     171.709,\n     219.8186,\n     270.309,\n     319.1849,\n     362.9343],\n    500.0,\n    None]),\n  ('regression: above capacity',\n   (3000, 2.5, 1000, 6),\n   [[1363.6364, 1119.403, 1044.5682, 1017.363, 1006.8736, 1002.7381], 1000.0, 5]),\n  ('control: invalid r0', (100, 0.0, 1000, 5), None),\n  ('regression: never reaches band',\n   (1, 1.2, 10000, 5),\n   [[1.2, 1.4399, 1.7279, 2.0734, 2.4879], 10000.0, None]),\n  ('regression: one year from band',\n   (985, 2.0, 1000, 4),\n   [[992.4433, 996.2073, 998.1001, 999.0491], 1000.0, 1]),\n  ('regression: small capacity',\n   (2, 4.0, 20, 6),\n   [[6.1538, 12.8, 17.5342, 19.3208, 19.8258, 19.9562], 20.0, 5])],\n [('regression: herring recruitment',\n   (50, 3.0, 1000, 10),\n   [[136.3636, 321.4286, 586.9565, 810.0, 927.4809, 974.5989, 991.3871, 997.1125, 999.0356, 999.6783],\n    1000.0,\n    7]),\n  ('regression: slow approach',\n   (10, 1.5, 500, 12),\n   [[14.8515,\n     21.9512,\n     32.2196,\n     46.8208,\n     67.09,\n     94.3079,\n     129.2706,\n     171.709,\n     219.8186,\n     270.309,\n     319.1849,\n     362.9343],\n    500.0,\n    None]),\n  ('regression: start at capacity', (1000, 2.0, 1000, 4), [[1000.0, 1000.0, 1000.0, 1000.0], 1000.0, 0]),\n  ('regression: start within band', (995, 2.0, 1000, 3), [[997.4937, 998.7453, 999.3723], 1000.0, 0]),\n  ('control: invalid r0', (100, 0.0, 1000, 5), None),\n  ('regression: one year from band',\n   (985, 2.0, 1000, 4),\n   [[992.4433, 996.2073, 998.1001, 999.0491], 1000.0, 1]),\n  ('regression: small capacity',\n   (2, 4.0, 20, 6),\n   [[6.1538, 12.8, 17.5342, 19.3208, 19.8258, 19.9562], 20.0, 5])],\n [('regression: slow approach',\n   (10, 1.5, 500, 12),\n   [[14.8515,\n     21.9512,\n     32.2196,\n     46.8208,\n     67.09,\n     94.3079,\n     129.2706,\n     171.709,\n     219.8186,\n     270.309,\n     319.1849,\n     362.9343],\n    500.0,\n    None]),\n  ('regression: start at capacity', (1000, 2.0, 1000, 4), [[1000.0, 1000.0, 1000.0, 1000.0], 1000.0, 0]),\n  ('regression: start within band', (995, 2.0, 1000, 3), [[997.4937, 998.7453, 999.3723], 1000.0, 0]),\n  ('regression: replacement r0 one', (200, 1.0, 1000, 4), [[200.0, 200.0, 200.0, 200.0], 0.0, None]),\n  ('regression: declining r0 half',\n   (400, 0.5, 1000, 8),\n   [[250.0, 142.8571, 76.9231, 40.0, 20.4082, 10.3093, 5.1813, 2.5974], 0.0, 7]),\n  ('regression: above capacity',\n   (3000, 2.5, 1000, 6),\n   [[1363.6364, 1119.403, 1044.5682, 1017.363, 1006.8736, 1002.7381], 1000.0, 5]),\n  ('control: invalid r0', (100, 0.0, 1000, 5), None)]]\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"},"fixed":{"sha256":"7f5c8ecbbfdd4b3b3c5ed7e233fc2a862b48961d0c94c01a4f144df99aa495ec","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(n0, r0, k, years):\n    if k <= 0 or r0 <= 0 or n0 < 0:\n        return None\n    eq = float(k) if r0 > 1 else 0.0\n    band = 0.01 * k\n    n = float(n0)\n    traj = []\n    hit = 0 if abs(n - eq) <= band else None\n    for year in range(1, years + 1):\n        n = r0 * n / (1 + (r0 - 1) * n / k)\n        traj.append(round(n, 4))\n        if hit is None and abs(n - eq) <= band:\n            hit = year\n    return [traj, eq, hit]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: herring recruitment',\n   (50, 3.0, 1000, 10),\n   [[136.3636, 321.4286, 586.9565, 810.0, 927.4809, 974.5989, 991.3871, 997.1125, 999.0356, 999.6783],\n    1000.0,\n    7]),\n  ('regression: slow approach',\n   (10, 1.5, 500, 12),\n   [[14.8515,\n     21.9512,\n     32.2196,\n     46.8208,\n     67.09,\n     94.3079,\n     129.2706,\n     171.709,\n     219.8186,\n     270.309,\n     319.1849,\n     362.9343],\n    500.0,\n    None]),\n  ('regression: start at capacity', (1000, 2.0, 1000, 4), [[1000.0, 1000.0, 1000.0, 1000.0], 1000.0, 0]),\n  ('regression: start within band', (995, 2.0, 1000, 3), [[997.4937, 998.7453, 999.3723], 1000.0, 0]),\n  ('regression: replacement r0 one', (200, 1.0, 1000, 4), [[200.0, 200.0, 200.0, 200.0], 0.0, None]),\n  ('regression: declining r0 half',\n   (400, 0.5, 1000, 8),\n   [[250.0, 142.8571, 76.9231, 40.0, 20.4082, 10.3093, 5.1813, 2.5974], 0.0, 7]),\n  ('control: invalid r0', (100, 0.0, 1000, 5), None)],\n [('regression: start within band', (995, 2.0, 1000, 3), [[997.4937, 998.7453, 999.3723], 1000.0, 0]),\n  ('regression: replacement r0 one', (200, 1.0, 1000, 4), [[200.0, 200.0, 200.0, 200.0], 0.0, None]),\n  ('regression: declining r0 half',\n   (400, 0.5, 1000, 8),\n   [[250.0, 142.8571, 76.9231, 40.0, 20.4082, 10.3093, 5.1813, 2.5974], 0.0, 7]),\n  ('regression: above capacity',\n   (3000, 2.5, 1000, 6),\n   [[1363.6364, 1119.403, 1044.5682, 1017.363, 1006.8736, 1002.7381], 1000.0, 5]),\n  ('control: invalid r0', (100, 0.0, 1000, 5), None),\n  ('regression: never reaches band',\n   (1, 1.2, 10000, 5),\n   [[1.2, 1.4399, 1.7279, 2.0734, 2.4879], 10000.0, None]),\n  ('regression: one year from band',\n   (985, 2.0, 1000, 4),\n   [[992.4433, 996.2073, 998.1001, 999.0491], 1000.0, 1])],\n [('regression: herring recruitment',\n   (50, 3.0, 1000, 10),\n   [[136.3636, 321.4286, 586.9565, 810.0, 927.4809, 974.5989, 991.3871, 997.1125, 999.0356, 999.6783],\n    1000.0,\n    7]),\n  ('regression: slow approach',\n   (10, 1.5, 500, 12),\n   [[14.8515,\n     21.9512,\n     32.2196,\n     46.8208,\n     67.09,\n     94.3079,\n     129.2706,\n     171.709,\n     219.8186,\n     270.309,\n     319.1849,\n     362.9343],\n    500.0,\n    None]),\n  ('regression: above capacity',\n   (3000, 2.5, 1000, 6),\n   [[1363.6364, 1119.403, 1044.5682, 1017.363, 1006.8736, 1002.7381], 1000.0, 5]),\n  ('control: invalid r0', (100, 0.0, 1000, 5), None),\n  ('regression: never reaches band',\n   (1, 1.2, 10000, 5),\n   [[1.2, 1.4399, 1.7279, 2.0734, 2.4879], 10000.0, None]),\n  ('regression: one year from band',\n   (985, 2.0, 1000, 4),\n   [[992.4433, 996.2073, 998.1001, 999.0491], 1000.0, 1]),\n  ('regression: small capacity',\n   (2, 4.0, 20, 6),\n   [[6.1538, 12.8, 17.5342, 19.3208, 19.8258, 19.9562], 20.0, 5])],\n [('regression: herring recruitment',\n   (50, 3.0, 1000, 10),\n   [[136.3636, 321.4286, 586.9565, 810.0, 927.4809, 974.5989, 991.3871, 997.1125, 999.0356, 999.6783],\n    1000.0,\n    7]),\n  ('regression: slow approach',\n   (10, 1.5, 500, 12),\n   [[14.8515,\n     21.9512,\n     32.2196,\n     46.8208,\n     67.09,\n     94.3079,\n     129.2706,\n     171.709,\n     219.8186,\n     270.309,\n     319.1849,\n     362.9343],\n    500.0,\n    None]),\n  ('regression: start at capacity', (1000, 2.0, 1000, 4), [[1000.0, 1000.0, 1000.0, 1000.0], 1000.0, 0]),\n  ('regression: start within band', (995, 2.0, 1000, 3), [[997.4937, 998.7453, 999.3723], 1000.0, 0]),\n  ('control: invalid r0', (100, 0.0, 1000, 5), None),\n  ('regression: one year from band',\n   (985, 2.0, 1000, 4),\n   [[992.4433, 996.2073, 998.1001, 999.0491], 1000.0, 1]),\n  ('regression: small capacity',\n   (2, 4.0, 20, 6),\n   [[6.1538, 12.8, 17.5342, 19.3208, 19.8258, 19.9562], 20.0, 5])],\n [('regression: slow approach',\n   (10, 1.5, 500, 12),\n   [[14.8515,\n     21.9512,\n     32.2196,\n     46.8208,\n     67.09,\n     94.3079,\n     129.2706,\n     171.709,\n     219.8186,\n     270.309,\n     319.1849,\n     362.9343],\n    500.0,\n    None]),\n  ('regression: start at capacity', (1000, 2.0, 1000, 4), [[1000.0, 1000.0, 1000.0, 1000.0], 1000.0, 0]),\n  ('regression: start within band', (995, 2.0, 1000, 3), [[997.4937, 998.7453, 999.3723], 1000.0, 0]),\n  ('regression: replacement r0 one', (200, 1.0, 1000, 4), [[200.0, 200.0, 200.0, 200.0], 0.0, None]),\n  ('regression: declining r0 half',\n   (400, 0.5, 1000, 8),\n   [[250.0, 142.8571, 76.9231, 40.0, 20.4082, 10.3093, 5.1813, 2.5974], 0.0, 7]),\n  ('regression: above capacity',\n   (3000, 2.5, 1000, 6),\n   [[1363.6364, 1119.403, 1044.5682, 1017.363, 1006.8736, 1002.7381], 1000.0, 5]),\n  ('control: invalid r0', (100, 0.0, 1000, 5), None)]]\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-beverton-holt-density-denominator","generated_at":"2026-09-29T14:47:33.378907+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.","repair":"Restore the density denominator rule: `(1 + (r0 - 1) * n / k)`.","root_cause":"The half-saturation constant is taken as K instead of K/(r0-1).","sha256":"2ebc0c240e46af04fe5cd6fffe5efea087eb0386452cab34e7629dcf91755814","title":"Beverton-Holt recruitment convergence: density denominator · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":45.724,"exit_code":1,"observations":[{"actual":[[130.4348,281.25,457.6271,578.5714,634.4648,655.5755,662.9282,665.4158,666.2492,666.5275],1000.0,null],"check":"regression: herring recruitment","expected":[[136.3636,321.4286,586.9565,810.0,927.4809,974.5989,991.3871,997.1125,999.0356,999.6783],1000.0,7],"passed":false},{"actual":[[14.5631,20.9302,29.5405,40.7035,54.4111,70.1636,86.9444,103.4369,118.4111,131.0598,141.1087,148.7101],500.0,null],"check":"regression: slow approach","expected":[[14.8515,21.9512,32.2196,46.8208,67.09,94.3079,129.2706,171.709,219.8186,270.309,319.1849,362.9343],500.0,null],"passed":false},{"actual":[[666.6667,571.4286,533.3333,516.129],1000.0,0],"check":"regression: start at capacity","expected":[[1000.0,1000.0,1000.0,1000.0],1000.0,0],"passed":false},{"actual":[[665.5518,571.0187,533.1547],1000.0,0],"check":"regression: start within band","expected":[[997.4937,998.7453,999.3723],1000.0,0],"passed":false},{"actual":[[166.6667,142.8571,125.0,111.1111],0.0,null],"check":"regression: replacement r0 one","expected":[[200.0,200.0,200.0,200.0],0.0,null],"passed":false},{"actual":[[166.6667,76.9231,37.037,18.1818,9.009,4.4843,2.2371,1.1173],0.0,5],"check":"regression: declining r0 half","expected":[[250.0,142.8571,76.9231,40.0,20.4082,10.3093,5.1813,2.5974],0.0,7],"passed":false},{"actual":null,"check":"control: invalid r0","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: herring recruitment\", \"actual\": [[130.4348, 281.25, 457.6271, 578.5714, 634.4648, 655.5755, 662.9282, 665.4158, 666.2492, 666.5275], 1000.0, null], \"expected\": [[136.3636, 321.4286, 586.9565, 810.0, 927.4809, 974.5989, 991.3871, 997.1125, 999.0356, 999.6783], 1000.0, 7], \"passed\": false}, {\"check\": \"regression: slow approach\", \"actual\": [[14.5631, 20.9302, 29.5405, 40.7035, 54.4111, 70.1636, 86.9444, 103.4369, 118.4111, 131.0598, 141.1087, 148.7101], 500.0, null], \"expected\": [[14.8515, 21.9512, 32.2196, 46.8208, 67.09, 94.3079, 129.2706, 171.709, 219.8186, 270.309, 319.1849, 362.9343], 500.0, null], \"passed\": false}, {\"check\": \"regression: start at capacity\", \"actual\": [[666.6667, 571.4286, 533.3333, 516.129], 1000.0, 0], \"expected\": [[1000.0, 1000.0, 1000.0, 1000.0], 1000.0, 0], \"passed\": false}, {\"check\": \"regression: start within band\", \"actual\": [[665.5518, 571.0187, 533.1547], 1000.0, 0], \"expected\": [[997.4937, 998.7453, 999.3723], 1000.0, 0], \"passed\": false}, {\"check\": \"regression: replacement r0 one\", \"actual\": [[166.6667, 142.8571, 125.0, 111.1111], 0.0, null], \"expected\": [[200.0, 200.0, 200.0, 200.0], 0.0, null], \"passed\": false}, {\"check\": \"regression: declining r0 half\", \"actual\": [[166.6667, 76.9231, 37.037, 18.1818, 9.009, 4.4843, 2.2371, 1.1173], 0.0, 5], \"expected\": [[250.0, 142.8571, 76.9231, 40.0, 20.4082, 10.3093, 5.1813, 2.5974], 0.0, 7], \"passed\": false}, {\"check\": \"control: invalid r0\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.489,"exit_code":1,"observations":[{"actual":[[142.8571,375.0,818.1818,1350.0,1723.4043,1898.4375,1964.9596,1988.1818,1996.045,1998.6799],1000.0,null],"check":"regression: herring recruitment","expected":[[136.3636,321.4286,586.9565,810.0,927.4809,974.5989,991.3871,997.1125,999.0356,999.6783],1000.0,7],"passed":false},{"actual":[[14.7059,21.4286,30.8219,43.5484,60.089,80.4636,103.9646,129.1027,153.9129,176.5291,195.7002,210.9747],500.0,null],"check":"regression: slow approach","expected":[[14.8515,21.9512,32.2196,46.8208,67.09,94.3079,129.2706,171.709,219.8186,270.309,319.1849,362.9343],500.0,null],"passed":false},{"actual":[[1000.0,1000.0,1000.0,1000.0],1000.0,0],"check":"regression: start at capacity","expected":[[1000.0,1000.0,1000.0,1000.0],1000.0,0],"passed":true},{"actual":[[997.4937,998.7453,999.3723],1000.0,0],"check":"regression: start within band","expected":[[997.4937,998.7453,999.3723],1000.0,0],"passed":true},{"actual":[[166.6667,142.8571,125.0,111.1111],0.0,null],"check":"regression: replacement r0 one","expected":[[200.0,200.0,200.0,200.0],0.0,null],"passed":false},{"actual":[[142.8571,62.5,29.4118,14.2857,7.0423,3.4965,1.7422,0.8696],0.0,5],"check":"regression: declining r0 half","expected":[[250.0,142.8571,76.9231,40.0,20.4082,10.3093,5.1813,2.5974],0.0,7],"passed":false},{"actual":null,"check":"control: invalid r0","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: herring recruitment\", \"actual\": [[142.8571, 375.0, 818.1818, 1350.0, 1723.4043, 1898.4375, 1964.9596, 1988.1818, 1996.045, 1998.6799], 1000.0, null], \"expected\": [[136.3636, 321.4286, 586.9565, 810.0, 927.4809, 974.5989, 991.3871, 997.1125, 999.0356, 999.6783], 1000.0, 7], \"passed\": false}, {\"check\": \"regression: slow approach\", \"actual\": [[14.7059, 21.4286, 30.8219, 43.5484, 60.089, 80.4636, 103.9646, 129.1027, 153.9129, 176.5291, 195.7002, 210.9747], 500.0, null], \"expected\": [[14.8515, 21.9512, 32.2196, 46.8208, 67.09, 94.3079, 129.2706, 171.709, 219.8186, 270.309, 319.1849, 362.9343], 500.0, null], \"passed\": false}, {\"check\": \"regression: start at capacity\", \"actual\": [[1000.0, 1000.0, 1000.0, 1000.0], 1000.0, 0], \"expected\": [[1000.0, 1000.0, 1000.0, 1000.0], 1000.0, 0], \"passed\": true}, {\"check\": \"regression: start within band\", \"actual\": [[997.4937, 998.7453, 999.3723], 1000.0, 0], \"expected\": [[997.4937, 998.7453, 999.3723], 1000.0, 0], \"passed\": true}, {\"check\": \"regression: replacement r0 one\", \"actual\": [[166.6667, 142.8571, 125.0, 111.1111], 0.0, null], \"expected\": [[200.0, 200.0, 200.0, 200.0], 0.0, null], \"passed\": false}, {\"check\": \"regression: declining r0 half\", \"actual\": [[142.8571, 62.5, 29.4118, 14.2857, 7.0423, 3.4965, 1.7422, 0.8696], 0.0, 5], \"expected\": [[250.0, 142.8571, 76.9231, 40.0, 20.4082, 10.3093, 5.1813, 2.5974], 0.0, 7], \"passed\": false}, {\"check\": \"control: invalid r0\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.752,"exit_code":0,"observations":[{"actual":[[136.3636,321.4286,586.9565,810.0,927.4809,974.5989,991.3871,997.1125,999.0356,999.6783],1000.0,7],"check":"regression: herring recruitment","expected":[[136.3636,321.4286,586.9565,810.0,927.4809,974.5989,991.3871,997.1125,999.0356,999.6783],1000.0,7],"passed":true},{"actual":[[14.8515,21.9512,32.2196,46.8208,67.09,94.3079,129.2706,171.709,219.8186,270.309,319.1849,362.9343],500.0,null],"check":"regression: slow approach","expected":[[14.8515,21.9512,32.2196,46.8208,67.09,94.3079,129.2706,171.709,219.8186,270.309,319.1849,362.9343],500.0,null],"passed":true},{"actual":[[1000.0,1000.0,1000.0,1000.0],1000.0,0],"check":"regression: start at capacity","expected":[[1000.0,1000.0,1000.0,1000.0],1000.0,0],"passed":true},{"actual":[[997.4937,998.7453,999.3723],1000.0,0],"check":"regression: start within band","expected":[[997.4937,998.7453,999.3723],1000.0,0],"passed":true},{"actual":[[200.0,200.0,200.0,200.0],0.0,null],"check":"regression: replacement r0 one","expected":[[200.0,200.0,200.0,200.0],0.0,null],"passed":true},{"actual":[[250.0,142.8571,76.9231,40.0,20.4082,10.3093,5.1813,2.5974],0.0,7],"check":"regression: declining r0 half","expected":[[250.0,142.8571,76.9231,40.0,20.4082,10.3093,5.1813,2.5974],0.0,7],"passed":true},{"actual":null,"check":"control: invalid r0","expected":null,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: herring recruitment\", \"actual\": [[136.3636, 321.4286, 586.9565, 810.0, 927.4809, 974.5989, 991.3871, 997.1125, 999.0356, 999.6783], 1000.0, 7], \"expected\": [[136.3636, 321.4286, 586.9565, 810.0, 927.4809, 974.5989, 991.3871, 997.1125, 999.0356, 999.6783], 1000.0, 7], \"passed\": true}, {\"check\": \"regression: slow approach\", \"actual\": [[14.8515, 21.9512, 32.2196, 46.8208, 67.09, 94.3079, 129.2706, 171.709, 219.8186, 270.309, 319.1849, 362.9343], 500.0, null], \"expected\": [[14.8515, 21.9512, 32.2196, 46.8208, 67.09, 94.3079, 129.2706, 171.709, 219.8186, 270.309, 319.1849, 362.9343], 500.0, null], \"passed\": true}, {\"check\": \"regression: start at capacity\", \"actual\": [[1000.0, 1000.0, 1000.0, 1000.0], 1000.0, 0], \"expected\": [[1000.0, 1000.0, 1000.0, 1000.0], 1000.0, 0], \"passed\": true}, {\"check\": \"regression: start within band\", \"actual\": [[997.4937, 998.7453, 999.3723], 1000.0, 0], \"expected\": [[997.4937, 998.7453, 999.3723], 1000.0, 0], \"passed\": true}, {\"check\": \"regression: replacement r0 one\", \"actual\": [[200.0, 200.0, 200.0, 200.0], 0.0, null], \"expected\": [[200.0, 200.0, 200.0, 200.0], 0.0, null], \"passed\": true}, {\"check\": \"regression: declining r0 half\", \"actual\": [[250.0, 142.8571, 76.9231, 40.0, 20.4082, 10.3093, 5.1813, 2.5974], 0.0, 7], \"expected\": [[250.0, 142.8571, 76.9231, 40.0, 20.4082, 10.3093, 5.1813, 2.5974], 0.0, 7], \"passed\": true}, {\"check\": \"control: invalid r0\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}