{"abstract":"Fishing exactly at E_msy is labelled overfished.","category":"Ecological population dynamics","checks":7,"contract":"MSY = rK/4 at B=K/2 and E_msy = r/(2q); equilibrium biomass under effort E is K(1-qE/r) when qE<r else 0; yield = qEB; status 'overfished' when E>E_msy, 'at-msy' when equal, else 'sustainable'; return [MSY, Bmsy, Emsy, B, yield, status] rounded; None for invalid inputs.","evaluation_group":"w2-ecopop-schaefer-msy","failed_approach":"A one-unit tolerance mislabels slightly excessive effort as sustainable.","family":"w2-ecopop-schaefer-msy-status-boundary","id":"FA-65571","implementations":{"attempt":{"sha256":"0203ef2c68a83ac963c8f93334da7a13fa06985a6829fd0b581dd01d6f2a5125","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(r, k, effort, q):\n    if r <= 0 or k <= 0 or q <= 0 or effort < 0:\n        return None\n    msy = r * k / 4\n    bmsy = k / 2\n    emsy = r / (2 * q)\n    b = k * (1 - q * effort / r) if q * effort < r else 0.0\n    y = q * effort * b\n    if effort > emsy + 1:\n        status = 'overfished'\n    elif effort == emsy:\n        status = 'at-msy'\n    else:\n        status = 'sustainable'\n    return [round(msy, 4), round(bmsy, 4), round(emsy, 6), round(b, 4), round(y, 4), status]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control: tuna fishery moderate effort',\n   (0.4, 10000, 100, 0.001),\n   [1000.0, 5000.0, 200.0, 7500.0, 750.0, 'sustainable']),\n  ('regression: effort at msy', (0.5, 2000, 250, 0.001), [250.0, 1000.0, 250.0, 1000.0, 250.0, 'at-msy']),\n  ('control: overfished', (0.3, 5000, 250, 0.001), [375.0, 2500.0, 150.0, 833.3333, 208.3333, 'overfished']),\n  ('control: collapse effort', (0.2, 3000, 300, 0.001), [150.0, 1500.0, 100.0, 0.0, 0.0, 'overfished']),\n  ('control: no fishing', (0.6, 800, 0, 0.002), [120.0, 400.0, 150.0, 800.0, 0.0, 'sustainable']),\n  ('control: high catchability', (0.8, 1500, 50, 0.01), [300.0, 750.0, 40.0, 562.5, 281.25, 'overfished']),\n  ('regression: slightly over msy',\n   (0.5, 2000, 250.4, 0.001),\n   [250.0, 1000.0, 250.0, 998.4, 249.9994, 'overfished'])],\n [('regression: effort at msy', (0.5, 2000, 250, 0.001), [250.0, 1000.0, 250.0, 1000.0, 250.0, 'at-msy']),\n  ('control: collapse effort', (0.2, 3000, 300, 0.001), [150.0, 1500.0, 100.0, 0.0, 0.0, 'overfished']),\n  ('control: no fishing', (0.6, 800, 0, 0.002), [120.0, 400.0, 150.0, 800.0, 0.0, 'sustainable']),\n  ('control: high catchability', (0.8, 1500, 50, 0.01), [300.0, 750.0, 40.0, 562.5, 281.25, 'overfished']),\n  ('regression: slightly over msy',\n   (0.5, 2000, 250.4, 0.001),\n   [250.0, 1000.0, 250.0, 998.4, 249.9994, 'overfished']),\n  ('control: invalid q', (0.5, 2000, 100, 0.0), None),\n  ('control: light fishing', (1.2, 400, 20, 0.005), [120.0, 200.0, 120.0, 366.6667, 36.6667, 'sustainable'])],\n [('control: tuna fishery moderate effort',\n   (0.4, 10000, 100, 0.001),\n   [1000.0, 5000.0, 200.0, 7500.0, 750.0, 'sustainable']),\n  ('regression: effort at msy', (0.5, 2000, 250, 0.001), [250.0, 1000.0, 250.0, 1000.0, 250.0, 'at-msy']),\n  ('control: overfished', (0.3, 5000, 250, 0.001), [375.0, 2500.0, 150.0, 833.3333, 208.3333, 'overfished']),\n  ('control: collapse effort', (0.2, 3000, 300, 0.001), [150.0, 1500.0, 100.0, 0.0, 0.0, 'overfished']),\n  ('regression: slightly over msy',\n   (0.5, 2000, 250.4, 0.001),\n   [250.0, 1000.0, 250.0, 998.4, 249.9994, 'overfished']),\n  ('control: invalid q', (0.5, 2000, 100, 0.0), None),\n  ('control: light fishing', (1.2, 400, 20, 0.005), [120.0, 200.0, 120.0, 366.6667, 36.6667, 'sustainable'])],\n [('control: tuna fishery moderate effort',\n   (0.4, 10000, 100, 0.001),\n   [1000.0, 5000.0, 200.0, 7500.0, 750.0, 'sustainable']),\n  ('regression: effort at msy', (0.5, 2000, 250, 0.001), [250.0, 1000.0, 250.0, 1000.0, 250.0, 'at-msy']),\n  ('control: overfished', (0.3, 5000, 250, 0.001), [375.0, 2500.0, 150.0, 833.3333, 208.3333, 'overfished']),\n  ('control: collapse effort', (0.2, 3000, 300, 0.001), [150.0, 1500.0, 100.0, 0.0, 0.0, 'overfished']),\n  ('control: no fishing', (0.6, 800, 0, 0.002), [120.0, 400.0, 150.0, 800.0, 0.0, 'sustainable']),\n  ('control: high catchability', (0.8, 1500, 50, 0.01), [300.0, 750.0, 40.0, 562.5, 281.25, 'overfished']),\n  ('regression: slightly over msy',\n   (0.5, 2000, 250.4, 0.001),\n   [250.0, 1000.0, 250.0, 998.4, 249.9994, 'overfished'])],\n [('regression: effort at msy', (0.5, 2000, 250, 0.001), [250.0, 1000.0, 250.0, 1000.0, 250.0, 'at-msy']),\n  ('control: collapse effort', (0.2, 3000, 300, 0.001), [150.0, 1500.0, 100.0, 0.0, 0.0, 'overfished']),\n  ('control: no fishing', (0.6, 800, 0, 0.002), [120.0, 400.0, 150.0, 800.0, 0.0, 'sustainable']),\n  ('control: high catchability', (0.8, 1500, 50, 0.01), [300.0, 750.0, 40.0, 562.5, 281.25, 'overfished']),\n  ('regression: slightly over msy',\n   (0.5, 2000, 250.4, 0.001),\n   [250.0, 1000.0, 250.0, 998.4, 249.9994, 'overfished']),\n  ('control: invalid q', (0.5, 2000, 100, 0.0), None),\n  ('control: light fishing', (1.2, 400, 20, 0.005), [120.0, 200.0, 120.0, 366.6667, 36.6667, 'sustainable'])]]\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":"1ce00ca6ed99b163ff0efeeca1c33aff5b105aa367a4ef2d3b4a0964929ec81b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(r, k, effort, q):\n    if r <= 0 or k <= 0 or q <= 0 or effort < 0:\n        return None\n    msy = r * k / 4\n    bmsy = k / 2\n    emsy = r / (2 * q)\n    b = k * (1 - q * effort / r) if q * effort < r else 0.0\n    y = q * effort * b\n    if effort >= emsy:\n        status = 'overfished'\n    elif effort == emsy:\n        status = 'at-msy'\n    else:\n        status = 'sustainable'\n    return [round(msy, 4), round(bmsy, 4), round(emsy, 6), round(b, 4), round(y, 4), status]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control: tuna fishery moderate effort',\n   (0.4, 10000, 100, 0.001),\n   [1000.0, 5000.0, 200.0, 7500.0, 750.0, 'sustainable']),\n  ('regression: effort at msy', (0.5, 2000, 250, 0.001), [250.0, 1000.0, 250.0, 1000.0, 250.0, 'at-msy']),\n  ('control: overfished', (0.3, 5000, 250, 0.001), [375.0, 2500.0, 150.0, 833.3333, 208.3333, 'overfished']),\n  ('control: collapse effort', (0.2, 3000, 300, 0.001), [150.0, 1500.0, 100.0, 0.0, 0.0, 'overfished']),\n  ('control: no fishing', (0.6, 800, 0, 0.002), [120.0, 400.0, 150.0, 800.0, 0.0, 'sustainable']),\n  ('control: high catchability', (0.8, 1500, 50, 0.01), [300.0, 750.0, 40.0, 562.5, 281.25, 'overfished']),\n  ('regression: slightly over msy',\n   (0.5, 2000, 250.4, 0.001),\n   [250.0, 1000.0, 250.0, 998.4, 249.9994, 'overfished'])],\n [('regression: effort at msy', (0.5, 2000, 250, 0.001), [250.0, 1000.0, 250.0, 1000.0, 250.0, 'at-msy']),\n  ('control: collapse effort', (0.2, 3000, 300, 0.001), [150.0, 1500.0, 100.0, 0.0, 0.0, 'overfished']),\n  ('control: no fishing', (0.6, 800, 0, 0.002), [120.0, 400.0, 150.0, 800.0, 0.0, 'sustainable']),\n  ('control: high catchability', (0.8, 1500, 50, 0.01), [300.0, 750.0, 40.0, 562.5, 281.25, 'overfished']),\n  ('regression: slightly over msy',\n   (0.5, 2000, 250.4, 0.001),\n   [250.0, 1000.0, 250.0, 998.4, 249.9994, 'overfished']),\n  ('control: invalid q', (0.5, 2000, 100, 0.0), None),\n  ('control: light fishing', (1.2, 400, 20, 0.005), [120.0, 200.0, 120.0, 366.6667, 36.6667, 'sustainable'])],\n [('control: tuna fishery moderate effort',\n   (0.4, 10000, 100, 0.001),\n   [1000.0, 5000.0, 200.0, 7500.0, 750.0, 'sustainable']),\n  ('regression: effort at msy', (0.5, 2000, 250, 0.001), [250.0, 1000.0, 250.0, 1000.0, 250.0, 'at-msy']),\n  ('control: overfished', (0.3, 5000, 250, 0.001), [375.0, 2500.0, 150.0, 833.3333, 208.3333, 'overfished']),\n  ('control: collapse effort', (0.2, 3000, 300, 0.001), [150.0, 1500.0, 100.0, 0.0, 0.0, 'overfished']),\n  ('regression: slightly over msy',\n   (0.5, 2000, 250.4, 0.001),\n   [250.0, 1000.0, 250.0, 998.4, 249.9994, 'overfished']),\n  ('control: invalid q', (0.5, 2000, 100, 0.0), None),\n  ('control: light fishing', (1.2, 400, 20, 0.005), [120.0, 200.0, 120.0, 366.6667, 36.6667, 'sustainable'])],\n [('control: tuna fishery moderate effort',\n   (0.4, 10000, 100, 0.001),\n   [1000.0, 5000.0, 200.0, 7500.0, 750.0, 'sustainable']),\n  ('regression: effort at msy', (0.5, 2000, 250, 0.001), [250.0, 1000.0, 250.0, 1000.0, 250.0, 'at-msy']),\n  ('control: overfished', (0.3, 5000, 250, 0.001), [375.0, 2500.0, 150.0, 833.3333, 208.3333, 'overfished']),\n  ('control: collapse effort', (0.2, 3000, 300, 0.001), [150.0, 1500.0, 100.0, 0.0, 0.0, 'overfished']),\n  ('control: no fishing', (0.6, 800, 0, 0.002), [120.0, 400.0, 150.0, 800.0, 0.0, 'sustainable']),\n  ('control: high catchability', (0.8, 1500, 50, 0.01), [300.0, 750.0, 40.0, 562.5, 281.25, 'overfished']),\n  ('regression: slightly over msy',\n   (0.5, 2000, 250.4, 0.001),\n   [250.0, 1000.0, 250.0, 998.4, 249.9994, 'overfished'])],\n [('regression: effort at msy', (0.5, 2000, 250, 0.001), [250.0, 1000.0, 250.0, 1000.0, 250.0, 'at-msy']),\n  ('control: collapse effort', (0.2, 3000, 300, 0.001), [150.0, 1500.0, 100.0, 0.0, 0.0, 'overfished']),\n  ('control: no fishing', (0.6, 800, 0, 0.002), [120.0, 400.0, 150.0, 800.0, 0.0, 'sustainable']),\n  ('control: high catchability', (0.8, 1500, 50, 0.01), [300.0, 750.0, 40.0, 562.5, 281.25, 'overfished']),\n  ('regression: slightly over msy',\n   (0.5, 2000, 250.4, 0.001),\n   [250.0, 1000.0, 250.0, 998.4, 249.9994, 'overfished']),\n  ('control: invalid q', (0.5, 2000, 100, 0.0), None),\n  ('control: light fishing', (1.2, 400, 20, 0.005), [120.0, 200.0, 120.0, 366.6667, 36.6667, 'sustainable'])]]\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":"2001816aeefc7bb9726d567c5e4b9aa19e768769c801468c3f032918e7d9d809","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(r, k, effort, q):\n    if r <= 0 or k <= 0 or q <= 0 or effort < 0:\n        return None\n    msy = r * k / 4\n    bmsy = k / 2\n    emsy = r / (2 * q)\n    b = k * (1 - q * effort / r) if q * effort < r else 0.0\n    y = q * effort * b\n    if effort > emsy:\n        status = 'overfished'\n    elif effort == emsy:\n        status = 'at-msy'\n    else:\n        status = 'sustainable'\n    return [round(msy, 4), round(bmsy, 4), round(emsy, 6), round(b, 4), round(y, 4), status]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('control: tuna fishery moderate effort',\n   (0.4, 10000, 100, 0.001),\n   [1000.0, 5000.0, 200.0, 7500.0, 750.0, 'sustainable']),\n  ('regression: effort at msy', (0.5, 2000, 250, 0.001), [250.0, 1000.0, 250.0, 1000.0, 250.0, 'at-msy']),\n  ('control: overfished', (0.3, 5000, 250, 0.001), [375.0, 2500.0, 150.0, 833.3333, 208.3333, 'overfished']),\n  ('control: collapse effort', (0.2, 3000, 300, 0.001), [150.0, 1500.0, 100.0, 0.0, 0.0, 'overfished']),\n  ('control: no fishing', (0.6, 800, 0, 0.002), [120.0, 400.0, 150.0, 800.0, 0.0, 'sustainable']),\n  ('control: high catchability', (0.8, 1500, 50, 0.01), [300.0, 750.0, 40.0, 562.5, 281.25, 'overfished']),\n  ('regression: slightly over msy',\n   (0.5, 2000, 250.4, 0.001),\n   [250.0, 1000.0, 250.0, 998.4, 249.9994, 'overfished'])],\n [('regression: effort at msy', (0.5, 2000, 250, 0.001), [250.0, 1000.0, 250.0, 1000.0, 250.0, 'at-msy']),\n  ('control: collapse effort', (0.2, 3000, 300, 0.001), [150.0, 1500.0, 100.0, 0.0, 0.0, 'overfished']),\n  ('control: no fishing', (0.6, 800, 0, 0.002), [120.0, 400.0, 150.0, 800.0, 0.0, 'sustainable']),\n  ('control: high catchability', (0.8, 1500, 50, 0.01), [300.0, 750.0, 40.0, 562.5, 281.25, 'overfished']),\n  ('regression: slightly over msy',\n   (0.5, 2000, 250.4, 0.001),\n   [250.0, 1000.0, 250.0, 998.4, 249.9994, 'overfished']),\n  ('control: invalid q', (0.5, 2000, 100, 0.0), None),\n  ('control: light fishing', (1.2, 400, 20, 0.005), [120.0, 200.0, 120.0, 366.6667, 36.6667, 'sustainable'])],\n [('control: tuna fishery moderate effort',\n   (0.4, 10000, 100, 0.001),\n   [1000.0, 5000.0, 200.0, 7500.0, 750.0, 'sustainable']),\n  ('regression: effort at msy', (0.5, 2000, 250, 0.001), [250.0, 1000.0, 250.0, 1000.0, 250.0, 'at-msy']),\n  ('control: overfished', (0.3, 5000, 250, 0.001), [375.0, 2500.0, 150.0, 833.3333, 208.3333, 'overfished']),\n  ('control: collapse effort', (0.2, 3000, 300, 0.001), [150.0, 1500.0, 100.0, 0.0, 0.0, 'overfished']),\n  ('regression: slightly over msy',\n   (0.5, 2000, 250.4, 0.001),\n   [250.0, 1000.0, 250.0, 998.4, 249.9994, 'overfished']),\n  ('control: invalid q', (0.5, 2000, 100, 0.0), None),\n  ('control: light fishing', (1.2, 400, 20, 0.005), [120.0, 200.0, 120.0, 366.6667, 36.6667, 'sustainable'])],\n [('control: tuna fishery moderate effort',\n   (0.4, 10000, 100, 0.001),\n   [1000.0, 5000.0, 200.0, 7500.0, 750.0, 'sustainable']),\n  ('regression: effort at msy', (0.5, 2000, 250, 0.001), [250.0, 1000.0, 250.0, 1000.0, 250.0, 'at-msy']),\n  ('control: overfished', (0.3, 5000, 250, 0.001), [375.0, 2500.0, 150.0, 833.3333, 208.3333, 'overfished']),\n  ('control: collapse effort', (0.2, 3000, 300, 0.001), [150.0, 1500.0, 100.0, 0.0, 0.0, 'overfished']),\n  ('control: no fishing', (0.6, 800, 0, 0.002), [120.0, 400.0, 150.0, 800.0, 0.0, 'sustainable']),\n  ('control: high catchability', (0.8, 1500, 50, 0.01), [300.0, 750.0, 40.0, 562.5, 281.25, 'overfished']),\n  ('regression: slightly over msy',\n   (0.5, 2000, 250.4, 0.001),\n   [250.0, 1000.0, 250.0, 998.4, 249.9994, 'overfished'])],\n [('regression: effort at msy', (0.5, 2000, 250, 0.001), [250.0, 1000.0, 250.0, 1000.0, 250.0, 'at-msy']),\n  ('control: collapse effort', (0.2, 3000, 300, 0.001), [150.0, 1500.0, 100.0, 0.0, 0.0, 'overfished']),\n  ('control: no fishing', (0.6, 800, 0, 0.002), [120.0, 400.0, 150.0, 800.0, 0.0, 'sustainable']),\n  ('control: high catchability', (0.8, 1500, 50, 0.01), [300.0, 750.0, 40.0, 562.5, 281.25, 'overfished']),\n  ('regression: slightly over msy',\n   (0.5, 2000, 250.4, 0.001),\n   [250.0, 1000.0, 250.0, 998.4, 249.9994, 'overfished']),\n  ('control: invalid q', (0.5, 2000, 100, 0.0), None),\n  ('control: light fishing', (1.2, 400, 20, 0.005), [120.0, 200.0, 120.0, 366.6667, 36.6667, 'sustainable'])]]\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-schaefer-msy-status-boundary","generated_at":"2026-09-29T14:47:35.298683+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 status boundary rule: `if effort > emsy:`.","root_cause":"The overfished comparison includes equality.","sha256":"993b94deb036cdd12639724ba85ae6550484ae817c5ebfb92975e5d6bbb00427","title":"Schaefer surplus-production harvest reference points: status boundary · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.058,"exit_code":1,"observations":[{"actual":[1000.0,5000.0,200.0,7500.0,750.0,"sustainable"],"check":"control: tuna fishery moderate effort","expected":[1000.0,5000.0,200.0,7500.0,750.0,"sustainable"],"passed":true},{"actual":[250.0,1000.0,250.0,1000.0,250.0,"at-msy"],"check":"regression: effort at msy","expected":[250.0,1000.0,250.0,1000.0,250.0,"at-msy"],"passed":true},{"actual":[375.0,2500.0,150.0,833.3333,208.3333,"overfished"],"check":"control: overfished","expected":[375.0,2500.0,150.0,833.3333,208.3333,"overfished"],"passed":true},{"actual":[150.0,1500.0,100.0,0.0,0.0,"overfished"],"check":"control: collapse effort","expected":[150.0,1500.0,100.0,0.0,0.0,"overfished"],"passed":true},{"actual":[120.0,400.0,150.0,800.0,0.0,"sustainable"],"check":"control: no fishing","expected":[120.0,400.0,150.0,800.0,0.0,"sustainable"],"passed":true},{"actual":[300.0,750.0,40.0,562.5,281.25,"overfished"],"check":"control: high catchability","expected":[300.0,750.0,40.0,562.5,281.25,"overfished"],"passed":true},{"actual":[250.0,1000.0,250.0,998.4,249.9994,"sustainable"],"check":"regression: slightly over msy","expected":[250.0,1000.0,250.0,998.4,249.9994,"overfished"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control: tuna fishery moderate effort\", \"actual\": [1000.0, 5000.0, 200.0, 7500.0, 750.0, \"sustainable\"], \"expected\": [1000.0, 5000.0, 200.0, 7500.0, 750.0, \"sustainable\"], \"passed\": true}, {\"check\": \"regression: effort at msy\", \"actual\": [250.0, 1000.0, 250.0, 1000.0, 250.0, \"at-msy\"], \"expected\": [250.0, 1000.0, 250.0, 1000.0, 250.0, \"at-msy\"], \"passed\": true}, {\"check\": \"control: overfished\", \"actual\": [375.0, 2500.0, 150.0, 833.3333, 208.3333, \"overfished\"], \"expected\": [375.0, 2500.0, 150.0, 833.3333, 208.3333, \"overfished\"], \"passed\": true}, {\"check\": \"control: collapse effort\", \"actual\": [150.0, 1500.0, 100.0, 0.0, 0.0, \"overfished\"], \"expected\": [150.0, 1500.0, 100.0, 0.0, 0.0, \"overfished\"], \"passed\": true}, {\"check\": \"control: no fishing\", \"actual\": [120.0, 400.0, 150.0, 800.0, 0.0, \"sustainable\"], \"expected\": [120.0, 400.0, 150.0, 800.0, 0.0, \"sustainable\"], \"passed\": true}, {\"check\": \"control: high catchability\", \"actual\": [300.0, 750.0, 40.0, 562.5, 281.25, \"overfished\"], \"expected\": [300.0, 750.0, 40.0, 562.5, 281.25, \"overfished\"], \"passed\": true}, {\"check\": \"regression: slightly over msy\", \"actual\": [250.0, 1000.0, 250.0, 998.4, 249.9994, \"sustainable\"], \"expected\": [250.0, 1000.0, 250.0, 998.4, 249.9994, \"overfished\"], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.153,"exit_code":1,"observations":[{"actual":[1000.0,5000.0,200.0,7500.0,750.0,"sustainable"],"check":"control: tuna fishery moderate effort","expected":[1000.0,5000.0,200.0,7500.0,750.0,"sustainable"],"passed":true},{"actual":[250.0,1000.0,250.0,1000.0,250.0,"overfished"],"check":"regression: effort at msy","expected":[250.0,1000.0,250.0,1000.0,250.0,"at-msy"],"passed":false},{"actual":[375.0,2500.0,150.0,833.3333,208.3333,"overfished"],"check":"control: overfished","expected":[375.0,2500.0,150.0,833.3333,208.3333,"overfished"],"passed":true},{"actual":[150.0,1500.0,100.0,0.0,0.0,"overfished"],"check":"control: collapse effort","expected":[150.0,1500.0,100.0,0.0,0.0,"overfished"],"passed":true},{"actual":[120.0,400.0,150.0,800.0,0.0,"sustainable"],"check":"control: no fishing","expected":[120.0,400.0,150.0,800.0,0.0,"sustainable"],"passed":true},{"actual":[300.0,750.0,40.0,562.5,281.25,"overfished"],"check":"control: high catchability","expected":[300.0,750.0,40.0,562.5,281.25,"overfished"],"passed":true},{"actual":[250.0,1000.0,250.0,998.4,249.9994,"overfished"],"check":"regression: slightly over msy","expected":[250.0,1000.0,250.0,998.4,249.9994,"overfished"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control: tuna fishery moderate effort\", \"actual\": [1000.0, 5000.0, 200.0, 7500.0, 750.0, \"sustainable\"], \"expected\": [1000.0, 5000.0, 200.0, 7500.0, 750.0, \"sustainable\"], \"passed\": true}, {\"check\": \"regression: effort at msy\", \"actual\": [250.0, 1000.0, 250.0, 1000.0, 250.0, \"overfished\"], \"expected\": [250.0, 1000.0, 250.0, 1000.0, 250.0, \"at-msy\"], \"passed\": false}, {\"check\": \"control: overfished\", \"actual\": [375.0, 2500.0, 150.0, 833.3333, 208.3333, \"overfished\"], \"expected\": [375.0, 2500.0, 150.0, 833.3333, 208.3333, \"overfished\"], \"passed\": true}, {\"check\": \"control: collapse effort\", \"actual\": [150.0, 1500.0, 100.0, 0.0, 0.0, \"overfished\"], \"expected\": [150.0, 1500.0, 100.0, 0.0, 0.0, \"overfished\"], \"passed\": true}, {\"check\": \"control: no fishing\", \"actual\": [120.0, 400.0, 150.0, 800.0, 0.0, \"sustainable\"], \"expected\": [120.0, 400.0, 150.0, 800.0, 0.0, \"sustainable\"], \"passed\": true}, {\"check\": \"control: high catchability\", \"actual\": [300.0, 750.0, 40.0, 562.5, 281.25, \"overfished\"], \"expected\": [300.0, 750.0, 40.0, 562.5, 281.25, \"overfished\"], \"passed\": true}, {\"check\": \"regression: slightly over msy\", \"actual\": [250.0, 1000.0, 250.0, 998.4, 249.9994, \"overfished\"], \"expected\": [250.0, 1000.0, 250.0, 998.4, 249.9994, \"overfished\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.442,"exit_code":0,"observations":[{"actual":[1000.0,5000.0,200.0,7500.0,750.0,"sustainable"],"check":"control: tuna fishery moderate effort","expected":[1000.0,5000.0,200.0,7500.0,750.0,"sustainable"],"passed":true},{"actual":[250.0,1000.0,250.0,1000.0,250.0,"at-msy"],"check":"regression: effort at msy","expected":[250.0,1000.0,250.0,1000.0,250.0,"at-msy"],"passed":true},{"actual":[375.0,2500.0,150.0,833.3333,208.3333,"overfished"],"check":"control: overfished","expected":[375.0,2500.0,150.0,833.3333,208.3333,"overfished"],"passed":true},{"actual":[150.0,1500.0,100.0,0.0,0.0,"overfished"],"check":"control: collapse effort","expected":[150.0,1500.0,100.0,0.0,0.0,"overfished"],"passed":true},{"actual":[120.0,400.0,150.0,800.0,0.0,"sustainable"],"check":"control: no fishing","expected":[120.0,400.0,150.0,800.0,0.0,"sustainable"],"passed":true},{"actual":[300.0,750.0,40.0,562.5,281.25,"overfished"],"check":"control: high catchability","expected":[300.0,750.0,40.0,562.5,281.25,"overfished"],"passed":true},{"actual":[250.0,1000.0,250.0,998.4,249.9994,"overfished"],"check":"regression: slightly over msy","expected":[250.0,1000.0,250.0,998.4,249.9994,"overfished"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control: tuna fishery moderate effort\", \"actual\": [1000.0, 5000.0, 200.0, 7500.0, 750.0, \"sustainable\"], \"expected\": [1000.0, 5000.0, 200.0, 7500.0, 750.0, \"sustainable\"], \"passed\": true}, {\"check\": \"regression: effort at msy\", \"actual\": [250.0, 1000.0, 250.0, 1000.0, 250.0, \"at-msy\"], \"expected\": [250.0, 1000.0, 250.0, 1000.0, 250.0, \"at-msy\"], \"passed\": true}, {\"check\": \"control: overfished\", \"actual\": [375.0, 2500.0, 150.0, 833.3333, 208.3333, \"overfished\"], \"expected\": [375.0, 2500.0, 150.0, 833.3333, 208.3333, \"overfished\"], \"passed\": true}, {\"check\": \"control: collapse effort\", \"actual\": [150.0, 1500.0, 100.0, 0.0, 0.0, \"overfished\"], \"expected\": [150.0, 1500.0, 100.0, 0.0, 0.0, \"overfished\"], \"passed\": true}, {\"check\": \"control: no fishing\", \"actual\": [120.0, 400.0, 150.0, 800.0, 0.0, \"sustainable\"], \"expected\": [120.0, 400.0, 150.0, 800.0, 0.0, \"sustainable\"], \"passed\": true}, {\"check\": \"control: high catchability\", \"actual\": [300.0, 750.0, 40.0, 562.5, 281.25, \"overfished\"], \"expected\": [300.0, 750.0, 40.0, 562.5, 281.25, \"overfished\"], \"passed\": true}, {\"check\": \"regression: slightly over msy\", \"actual\": [250.0, 1000.0, 250.0, 998.4, 249.9994, \"overfished\"], \"expected\": [250.0, 1000.0, 250.0, 998.4, 249.9994, \"overfished\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}