{"abstract":"Overshoot values are large even for mild epidemics.","category":"Epidemic compartment models","checks":7,"contract":"Attack fraction z is the positive root of z = 1-exp(-R0*z) found by bisection on (1e-9, 1] until the bracket is narrower than tol; for R0<=1 return [0.0, 0, 0.0]; return [z rounded 6, round(z*pop), overshoot z-(1-1/R0) rounded 6].","evaluation_group":"w2-epidemic-final-size","failed_approach":"Reversing the subtraction reports negative overshoot.","family":"w2-epidemic-final-size-overshoot-reference","id":"FA-65056","implementations":{"attempt":{"sha256":"b4c4ad9d8850922f4535165ae89098d0a2dc9821999f0f6b2b0a01798d183f2f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(r0, pop, tol):\n    if r0 <= 1:\n        return [0.0, 0, 0.0]\n    lo, hi = 1e-9, 1.0\n    for _ in range(200):\n        mid = (lo + hi) / 2\n        if mid - (1 - math.exp(-r0 * mid)) < 0:\n            lo = mid\n        else:\n            hi = mid\n        if hi - lo < tol:\n            break\n    z = (lo + hi) / 2\n    return [round(z, 6), round(z * pop), round((1 - 1 / r0) - z, 6)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: flu-like R0 1.5', (1.5, 10000, 1e-12), [0.582812, 5828, 0.249478]),\n  ('regression: measles-like R0 12', (12.0, 1000, 1e-12), [0.999994, 1000, 0.083327]),\n  ('regression: R0 2', (2.0, 5000, 1e-12), [0.796812, 3984, 0.296812]),\n  ('regression: near threshold 1.05', (1.05, 100000, 1e-12), [0.093702, 9370, 0.046083]),\n  ('control: boundary R0 exactly 1', (1.0, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.8', (0.8, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.5', (0.5, 100, 1e-12), [0.0, 0, 0.0])],\n [('regression: near threshold 1.05', (1.05, 100000, 1e-12), [0.093702, 9370, 0.046083]),\n  ('control: boundary R0 exactly 1', (1.0, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.8', (0.8, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('regression: coarse tolerance', (2.5, 1000, 0.0001), [0.89267, 893, 0.29267]),\n  ('regression: R0 3 small town', (3.0, 777, 1e-12), [0.94048, 731, 0.273813]),\n  ('regression: R0 1.2 mid city', (1.2, 250000, 1e-10), [0.313698, 78425, 0.147032]),\n  ('control: subcritical 0.5', (0.5, 100, 1e-12), [0.0, 0, 0.0])],\n [('regression: flu-like R0 1.5', (1.5, 10000, 1e-12), [0.582812, 5828, 0.249478]),\n  ('control: boundary R0 exactly 1', (1.0, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.8', (0.8, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('regression: coarse tolerance', (2.5, 1000, 0.0001), [0.89267, 893, 0.29267]),\n  ('regression: R0 3 small town', (3.0, 777, 1e-12), [0.94048, 731, 0.273813]),\n  ('regression: R0 1.2 mid city', (1.2, 250000, 1e-10), [0.313698, 78425, 0.147032]),\n  ('control: subcritical 0.5', (0.5, 100, 1e-12), [0.0, 0, 0.0])],\n [('regression: flu-like R0 1.5', (1.5, 10000, 1e-12), [0.582812, 5828, 0.249478]),\n  ('regression: measles-like R0 12', (12.0, 1000, 1e-12), [0.999994, 1000, 0.083327]),\n  ('regression: R0 2', (2.0, 5000, 1e-12), [0.796812, 3984, 0.296812]),\n  ('regression: near threshold 1.05', (1.05, 100000, 1e-12), [0.093702, 9370, 0.046083]),\n  ('control: boundary R0 exactly 1', (1.0, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.8', (0.8, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.5', (0.5, 100, 1e-12), [0.0, 0, 0.0])],\n [('regression: R0 2', (2.0, 5000, 1e-12), [0.796812, 3984, 0.296812]),\n  ('regression: near threshold 1.05', (1.05, 100000, 1e-12), [0.093702, 9370, 0.046083]),\n  ('control: boundary R0 exactly 1', (1.0, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.8', (0.8, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('regression: coarse tolerance', (2.5, 1000, 0.0001), [0.89267, 893, 0.29267]),\n  ('regression: R0 3 small town', (3.0, 777, 1e-12), [0.94048, 731, 0.273813]),\n  ('control: subcritical 0.5', (0.5, 100, 1e-12), [0.0, 0, 0.0])]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"5de6472ab28b9039bf9dc02139adf19c4070cd727ffe79cf15879bd7d5a5f2dc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(r0, pop, tol):\n    if r0 <= 1:\n        return [0.0, 0, 0.0]\n    lo, hi = 1e-9, 1.0\n    for _ in range(200):\n        mid = (lo + hi) / 2\n        if mid - (1 - math.exp(-r0 * mid)) < 0:\n            lo = mid\n        else:\n            hi = mid\n        if hi - lo < tol:\n            break\n    z = (lo + hi) / 2\n    return [round(z, 6), round(z * pop), round(z - 1 / r0, 6)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: flu-like R0 1.5', (1.5, 10000, 1e-12), [0.582812, 5828, 0.249478]),\n  ('regression: measles-like R0 12', (12.0, 1000, 1e-12), [0.999994, 1000, 0.083327]),\n  ('regression: R0 2', (2.0, 5000, 1e-12), [0.796812, 3984, 0.296812]),\n  ('regression: near threshold 1.05', (1.05, 100000, 1e-12), [0.093702, 9370, 0.046083]),\n  ('control: boundary R0 exactly 1', (1.0, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.8', (0.8, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.5', (0.5, 100, 1e-12), [0.0, 0, 0.0])],\n [('regression: near threshold 1.05', (1.05, 100000, 1e-12), [0.093702, 9370, 0.046083]),\n  ('control: boundary R0 exactly 1', (1.0, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.8', (0.8, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('regression: coarse tolerance', (2.5, 1000, 0.0001), [0.89267, 893, 0.29267]),\n  ('regression: R0 3 small town', (3.0, 777, 1e-12), [0.94048, 731, 0.273813]),\n  ('regression: R0 1.2 mid city', (1.2, 250000, 1e-10), [0.313698, 78425, 0.147032]),\n  ('control: subcritical 0.5', (0.5, 100, 1e-12), [0.0, 0, 0.0])],\n [('regression: flu-like R0 1.5', (1.5, 10000, 1e-12), [0.582812, 5828, 0.249478]),\n  ('control: boundary R0 exactly 1', (1.0, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.8', (0.8, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('regression: coarse tolerance', (2.5, 1000, 0.0001), [0.89267, 893, 0.29267]),\n  ('regression: R0 3 small town', (3.0, 777, 1e-12), [0.94048, 731, 0.273813]),\n  ('regression: R0 1.2 mid city', (1.2, 250000, 1e-10), [0.313698, 78425, 0.147032]),\n  ('control: subcritical 0.5', (0.5, 100, 1e-12), [0.0, 0, 0.0])],\n [('regression: flu-like R0 1.5', (1.5, 10000, 1e-12), [0.582812, 5828, 0.249478]),\n  ('regression: measles-like R0 12', (12.0, 1000, 1e-12), [0.999994, 1000, 0.083327]),\n  ('regression: R0 2', (2.0, 5000, 1e-12), [0.796812, 3984, 0.296812]),\n  ('regression: near threshold 1.05', (1.05, 100000, 1e-12), [0.093702, 9370, 0.046083]),\n  ('control: boundary R0 exactly 1', (1.0, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.8', (0.8, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.5', (0.5, 100, 1e-12), [0.0, 0, 0.0])],\n [('regression: R0 2', (2.0, 5000, 1e-12), [0.796812, 3984, 0.296812]),\n  ('regression: near threshold 1.05', (1.05, 100000, 1e-12), [0.093702, 9370, 0.046083]),\n  ('control: boundary R0 exactly 1', (1.0, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.8', (0.8, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('regression: coarse tolerance', (2.5, 1000, 0.0001), [0.89267, 893, 0.29267]),\n  ('regression: R0 3 small town', (3.0, 777, 1e-12), [0.94048, 731, 0.273813]),\n  ('control: subcritical 0.5', (0.5, 100, 1e-12), [0.0, 0, 0.0])]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"276fe074ca17ce115b08783f76d26d7774ee7427a71e69e15d95b8a4d32c785e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(r0, pop, tol):\n    if r0 <= 1:\n        return [0.0, 0, 0.0]\n    lo, hi = 1e-9, 1.0\n    for _ in range(200):\n        mid = (lo + hi) / 2\n        if mid - (1 - math.exp(-r0 * mid)) < 0:\n            lo = mid\n        else:\n            hi = mid\n        if hi - lo < tol:\n            break\n    z = (lo + hi) / 2\n    return [round(z, 6), round(z * pop), round(z - (1 - 1 / r0), 6)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: flu-like R0 1.5', (1.5, 10000, 1e-12), [0.582812, 5828, 0.249478]),\n  ('regression: measles-like R0 12', (12.0, 1000, 1e-12), [0.999994, 1000, 0.083327]),\n  ('regression: R0 2', (2.0, 5000, 1e-12), [0.796812, 3984, 0.296812]),\n  ('regression: near threshold 1.05', (1.05, 100000, 1e-12), [0.093702, 9370, 0.046083]),\n  ('control: boundary R0 exactly 1', (1.0, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.8', (0.8, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.5', (0.5, 100, 1e-12), [0.0, 0, 0.0])],\n [('regression: near threshold 1.05', (1.05, 100000, 1e-12), [0.093702, 9370, 0.046083]),\n  ('control: boundary R0 exactly 1', (1.0, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.8', (0.8, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('regression: coarse tolerance', (2.5, 1000, 0.0001), [0.89267, 893, 0.29267]),\n  ('regression: R0 3 small town', (3.0, 777, 1e-12), [0.94048, 731, 0.273813]),\n  ('regression: R0 1.2 mid city', (1.2, 250000, 1e-10), [0.313698, 78425, 0.147032]),\n  ('control: subcritical 0.5', (0.5, 100, 1e-12), [0.0, 0, 0.0])],\n [('regression: flu-like R0 1.5', (1.5, 10000, 1e-12), [0.582812, 5828, 0.249478]),\n  ('control: boundary R0 exactly 1', (1.0, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.8', (0.8, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('regression: coarse tolerance', (2.5, 1000, 0.0001), [0.89267, 893, 0.29267]),\n  ('regression: R0 3 small town', (3.0, 777, 1e-12), [0.94048, 731, 0.273813]),\n  ('regression: R0 1.2 mid city', (1.2, 250000, 1e-10), [0.313698, 78425, 0.147032]),\n  ('control: subcritical 0.5', (0.5, 100, 1e-12), [0.0, 0, 0.0])],\n [('regression: flu-like R0 1.5', (1.5, 10000, 1e-12), [0.582812, 5828, 0.249478]),\n  ('regression: measles-like R0 12', (12.0, 1000, 1e-12), [0.999994, 1000, 0.083327]),\n  ('regression: R0 2', (2.0, 5000, 1e-12), [0.796812, 3984, 0.296812]),\n  ('regression: near threshold 1.05', (1.05, 100000, 1e-12), [0.093702, 9370, 0.046083]),\n  ('control: boundary R0 exactly 1', (1.0, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.8', (0.8, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.5', (0.5, 100, 1e-12), [0.0, 0, 0.0])],\n [('regression: R0 2', (2.0, 5000, 1e-12), [0.796812, 3984, 0.296812]),\n  ('regression: near threshold 1.05', (1.05, 100000, 1e-12), [0.093702, 9370, 0.046083]),\n  ('control: boundary R0 exactly 1', (1.0, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('control: subcritical 0.8', (0.8, 1000, 1e-12), [0.0, 0, 0.0]),\n  ('regression: coarse tolerance', (2.5, 1000, 0.0001), [0.89267, 893, 0.29267]),\n  ('regression: R0 3 small town', (3.0, 777, 1e-12), [0.94048, 731, 0.273813]),\n  ('control: subcritical 0.5', (0.5, 100, 1e-12), [0.0, 0, 0.0])]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Deterministic bounded teaching model with a stipulated contract; not a validated scientific or public-health modelling library. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-epidemic-final-size-overshoot-reference","generated_at":"2026-09-29T14:47:30.477903+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Compartmental epidemic calculations drive outbreak forecasts, vaccine targets and hospital planning; a single wrong flow, rate conversion or boundary silently changes every downstream number.","repair":"Restore the overshoot reference rule: `round(z - (1 - 1 / r0), 6)`.","root_cause":"Overshoot is measured from 1/R0 instead of the herd threshold 1-1/R0.","sha256":"4ba7b9907797ee63e9b92869e50325c6fc760806c0200460ada3a884dd61d0b2","title":"Final epidemic size by bisection: overshoot reference · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.472,"exit_code":1,"observations":[{"actual":[0.582812,5828,-0.249478],"check":"regression: flu-like R0 1.5","expected":[0.582812,5828,0.249478],"passed":false},{"actual":[0.999994,1000,-0.083327],"check":"regression: measles-like R0 12","expected":[0.999994,1000,0.083327],"passed":false},{"actual":[0.796812,3984,-0.296812],"check":"regression: R0 2","expected":[0.796812,3984,0.296812],"passed":false},{"actual":[0.093702,9370,-0.046083],"check":"regression: near threshold 1.05","expected":[0.093702,9370,0.046083],"passed":false},{"actual":[0.0,0,0.0],"check":"control: boundary R0 exactly 1","expected":[0.0,0,0.0],"passed":true},{"actual":[0.0,0,0.0],"check":"control: subcritical 0.8","expected":[0.0,0,0.0],"passed":true},{"actual":[0.0,0,0.0],"check":"control: subcritical 0.5","expected":[0.0,0,0.0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: flu-like R0 1.5\", \"actual\": [0.582812, 5828, -0.249478], \"expected\": [0.582812, 5828, 0.249478], \"passed\": false}, {\"check\": \"regression: measles-like R0 12\", \"actual\": [0.999994, 1000, -0.083327], \"expected\": [0.999994, 1000, 0.083327], \"passed\": false}, {\"check\": \"regression: R0 2\", \"actual\": [0.796812, 3984, -0.296812], \"expected\": [0.796812, 3984, 0.296812], \"passed\": false}, {\"check\": \"regression: near threshold 1.05\", \"actual\": [0.093702, 9370, -0.046083], \"expected\": [0.093702, 9370, 0.046083], \"passed\": false}, {\"check\": \"control: boundary R0 exactly 1\", \"actual\": [0.0, 0, 0.0], \"expected\": [0.0, 0, 0.0], \"passed\": true}, {\"check\": \"control: subcritical 0.8\", \"actual\": [0.0, 0, 0.0], \"expected\": [0.0, 0, 0.0], \"passed\": true}, {\"check\": \"control: subcritical 0.5\", \"actual\": [0.0, 0, 0.0], \"expected\": [0.0, 0, 0.0], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.316,"exit_code":1,"observations":[{"actual":[0.582812,5828,-0.083855],"check":"regression: flu-like R0 1.5","expected":[0.582812,5828,0.249478],"passed":false},{"actual":[0.999994,1000,0.916661],"check":"regression: measles-like R0 12","expected":[0.999994,1000,0.083327],"passed":false},{"actual":[0.796812,3984,0.296812],"check":"regression: R0 2","expected":[0.796812,3984,0.296812],"passed":true},{"actual":[0.093702,9370,-0.858679],"check":"regression: near threshold 1.05","expected":[0.093702,9370,0.046083],"passed":false},{"actual":[0.0,0,0.0],"check":"control: boundary R0 exactly 1","expected":[0.0,0,0.0],"passed":true},{"actual":[0.0,0,0.0],"check":"control: subcritical 0.8","expected":[0.0,0,0.0],"passed":true},{"actual":[0.0,0,0.0],"check":"control: subcritical 0.5","expected":[0.0,0,0.0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: flu-like R0 1.5\", \"actual\": [0.582812, 5828, -0.083855], \"expected\": [0.582812, 5828, 0.249478], \"passed\": false}, {\"check\": \"regression: measles-like R0 12\", \"actual\": [0.999994, 1000, 0.916661], \"expected\": [0.999994, 1000, 0.083327], \"passed\": false}, {\"check\": \"regression: R0 2\", \"actual\": [0.796812, 3984, 0.296812], \"expected\": [0.796812, 3984, 0.296812], \"passed\": true}, {\"check\": \"regression: near threshold 1.05\", \"actual\": [0.093702, 9370, -0.858679], \"expected\": [0.093702, 9370, 0.046083], \"passed\": false}, {\"check\": \"control: boundary R0 exactly 1\", \"actual\": [0.0, 0, 0.0], \"expected\": [0.0, 0, 0.0], \"passed\": true}, {\"check\": \"control: subcritical 0.8\", \"actual\": [0.0, 0, 0.0], \"expected\": [0.0, 0, 0.0], \"passed\": true}, {\"check\": \"control: subcritical 0.5\", \"actual\": [0.0, 0, 0.0], \"expected\": [0.0, 0, 0.0], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.633,"exit_code":0,"observations":[{"actual":[0.582812,5828,0.249478],"check":"regression: flu-like R0 1.5","expected":[0.582812,5828,0.249478],"passed":true},{"actual":[0.999994,1000,0.083327],"check":"regression: measles-like R0 12","expected":[0.999994,1000,0.083327],"passed":true},{"actual":[0.796812,3984,0.296812],"check":"regression: R0 2","expected":[0.796812,3984,0.296812],"passed":true},{"actual":[0.093702,9370,0.046083],"check":"regression: near threshold 1.05","expected":[0.093702,9370,0.046083],"passed":true},{"actual":[0.0,0,0.0],"check":"control: boundary R0 exactly 1","expected":[0.0,0,0.0],"passed":true},{"actual":[0.0,0,0.0],"check":"control: subcritical 0.8","expected":[0.0,0,0.0],"passed":true},{"actual":[0.0,0,0.0],"check":"control: subcritical 0.5","expected":[0.0,0,0.0],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: flu-like R0 1.5\", \"actual\": [0.582812, 5828, 0.249478], \"expected\": [0.582812, 5828, 0.249478], \"passed\": true}, {\"check\": \"regression: measles-like R0 12\", \"actual\": [0.999994, 1000, 0.083327], \"expected\": [0.999994, 1000, 0.083327], \"passed\": true}, {\"check\": \"regression: R0 2\", \"actual\": [0.796812, 3984, 0.296812], \"expected\": [0.796812, 3984, 0.296812], \"passed\": true}, {\"check\": \"regression: near threshold 1.05\", \"actual\": [0.093702, 9370, 0.046083], \"expected\": [0.093702, 9370, 0.046083], \"passed\": true}, {\"check\": \"control: boundary R0 exactly 1\", \"actual\": [0.0, 0, 0.0], \"expected\": [0.0, 0, 0.0], \"passed\": true}, {\"check\": \"control: subcritical 0.8\", \"actual\": [0.0, 0, 0.0], \"expected\": [0.0, 0, 0.0], \"passed\": true}, {\"check\": \"control: subcritical 0.5\", \"actual\": [0.0, 0, 0.0], \"expected\": [0.0, 0, 0.0], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}