{"abstract":"The reported onset curve is shifted a latent period earlier and starts at zero.","category":"Epidemic compartment models","checks":7,"contract":"Daily forward-Euler SEIR with sigma=1/latent_days and gamma=1/infectious_days; only I transmits (beta*S*I/pop); seeds start in E and are part of pop; return [daily E->I onsets rounded to 4, total population rounded to 4], or None for non-positive durations or population.","contract_signature":"beta, latent_days, infectious_days, pop, e0, days","evaluation_group":"w2-epidemic-seir-onset","failed_approach":"Reporting the net change of I subtracts removals and can be negative.","family":"w2-epidemic-seir-onset-incidence-definition","id":"FA-64876","implementations":{"attempt":{"sha256":"44a031b165a8e5432ea18085366844812735ab233ee1041c4fa43f35bd018f61","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(beta, latent_days, infectious_days, pop, e0, days):\n    if latent_days <= 0 or infectious_days <= 0 or pop <= 0:\n        return None\n    sigma = 1.0 / latent_days\n    gamma = 1.0 / infectious_days\n    s, e, i, r = float(pop - e0), float(e0), 0.0, 0.0\n    incidence = []\n    for day in range(days):\n        exposure = beta * s * i / pop\n        onset = sigma * e\n        removal = gamma * i\n        s -= exposure\n        e += exposure - onset\n        i += onset - removal\n        r += removal\n        incidence.append(round(onset - removal, 4))\n    return [incidence, round(s + e + i + r, 4)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: influenza-like 2 day latency',\n   (0.6, 2, 3, 1000, 10, 8),\n   [[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0]),\n  ('regression: measles-like long latency',\n   (1.5, 8, 7, 5000, 5, 12),\n   [[0.625, 0.5469, 0.5956, 0.7239, 0.9186, 1.1836, 1.5328, 1.9882, 2.5798, 3.3471, 4.3413, 5.6281], 5000.0]),\n  ('regression: one-day latency', (0.4, 1, 4, 200, 4, 6), [[4.0, 0.0, 1.568, 1.1666, 1.4758, 1.5459], 200.0]),\n  ('regression: no transmission',\n   (0.0, 3, 5, 100, 20, 6),\n   [[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),\n  ('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),\n  ('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),\n  ('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None)],\n [('regression: no transmission',\n   (0.0, 3, 5, 100, 20, 6),\n   [[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),\n  ('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),\n  ('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),\n  ('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None),\n  ('regression: fractional latency',\n   (0.8, 1.5, 2.5, 300, 6, 7),\n   [[4.0, 1.3333, 2.5351, 2.7755, 3.3698, 3.9741, 4.6871], 300.0]),\n  ('regression: large seed', (0.9, 4, 3, 100, 60, 6), [[15.0, 11.25, 9.7875, 8.9949, 8.2544, 7.4237], 100.0]),\n  ('regression: long infectious period',\n   (0.3, 5, 14, 2000, 50, 10),\n   [[10.0, 8.0, 6.985, 6.5977, 6.6203, 6.9212, 7.4223, 8.0781, 8.8635, 9.7655], 2000.0])],\n [('regression: influenza-like 2 day latency',\n   (0.6, 2, 3, 1000, 10, 8),\n   [[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0]),\n  ('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),\n  ('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),\n  ('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None),\n  ('regression: fractional latency',\n   (0.8, 1.5, 2.5, 300, 6, 7),\n   [[4.0, 1.3333, 2.5351, 2.7755, 3.3698, 3.9741, 4.6871], 300.0]),\n  ('regression: large seed', (0.9, 4, 3, 100, 60, 6), [[15.0, 11.25, 9.7875, 8.9949, 8.2544, 7.4237], 100.0]),\n  ('regression: long infectious period',\n   (0.3, 5, 14, 2000, 50, 10),\n   [[10.0, 8.0, 6.985, 6.5977, 6.6203, 6.9212, 7.4223, 8.0781, 8.8635, 9.7655], 2000.0])],\n [('regression: influenza-like 2 day latency',\n   (0.6, 2, 3, 1000, 10, 8),\n   [[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0]),\n  ('regression: measles-like long latency',\n   (1.5, 8, 7, 5000, 5, 12),\n   [[0.625, 0.5469, 0.5956, 0.7239, 0.9186, 1.1836, 1.5328, 1.9882, 2.5798, 3.3471, 4.3413, 5.6281], 5000.0]),\n  ('regression: one-day latency', (0.4, 1, 4, 200, 4, 6), [[4.0, 0.0, 1.568, 1.1666, 1.4758, 1.5459], 200.0]),\n  ('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),\n  ('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),\n  ('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None),\n  ('regression: long infectious period',\n   (0.3, 5, 14, 2000, 50, 10),\n   [[10.0, 8.0, 6.985, 6.5977, 6.6203, 6.9212, 7.4223, 8.0781, 8.8635, 9.7655], 2000.0])],\n [('regression: one-day latency', (0.4, 1, 4, 200, 4, 6), [[4.0, 0.0, 1.568, 1.1666, 1.4758, 1.5459], 200.0]),\n  ('regression: no transmission',\n   (0.0, 3, 5, 100, 20, 6),\n   [[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),\n  ('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),\n  ('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),\n  ('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None),\n  ('regression: fractional latency',\n   (0.8, 1.5, 2.5, 300, 6, 7),\n   [[4.0, 1.3333, 2.5351, 2.7755, 3.3698, 3.9741, 4.6871], 300.0]),\n  ('regression: large seed',\n   (0.9, 4, 3, 100, 60, 6),\n   [[15.0, 11.25, 9.7875, 8.9949, 8.2544, 7.4237], 100.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":"205dfecdece9ae1479ce69e719bfec1e9666d4ecdd614754195890db51f24019","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(beta, latent_days, infectious_days, pop, e0, days):\n    if latent_days <= 0 or infectious_days <= 0 or pop <= 0:\n        return None\n    sigma = 1.0 / latent_days\n    gamma = 1.0 / infectious_days\n    s, e, i, r = float(pop - e0), float(e0), 0.0, 0.0\n    incidence = []\n    for day in range(days):\n        exposure = beta * s * i / pop\n        onset = sigma * e\n        removal = gamma * i\n        s -= exposure\n        e += exposure - onset\n        i += onset - removal\n        r += removal\n        incidence.append(round(exposure, 4))\n    return [incidence, round(s + e + i + r, 4)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: influenza-like 2 day latency',\n   (0.6, 2, 3, 1000, 10, 8),\n   [[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0]),\n  ('regression: measles-like long latency',\n   (1.5, 8, 7, 5000, 5, 12),\n   [[0.625, 0.5469, 0.5956, 0.7239, 0.9186, 1.1836, 1.5328, 1.9882, 2.5798, 3.3471, 4.3413, 5.6281], 5000.0]),\n  ('regression: one-day latency', (0.4, 1, 4, 200, 4, 6), [[4.0, 0.0, 1.568, 1.1666, 1.4758, 1.5459], 200.0]),\n  ('regression: no transmission',\n   (0.0, 3, 5, 100, 20, 6),\n   [[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),\n  ('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),\n  ('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),\n  ('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None)],\n [('regression: no transmission',\n   (0.0, 3, 5, 100, 20, 6),\n   [[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),\n  ('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),\n  ('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),\n  ('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None),\n  ('regression: fractional latency',\n   (0.8, 1.5, 2.5, 300, 6, 7),\n   [[4.0, 1.3333, 2.5351, 2.7755, 3.3698, 3.9741, 4.6871], 300.0]),\n  ('regression: large seed', (0.9, 4, 3, 100, 60, 6), [[15.0, 11.25, 9.7875, 8.9949, 8.2544, 7.4237], 100.0]),\n  ('regression: long infectious period',\n   (0.3, 5, 14, 2000, 50, 10),\n   [[10.0, 8.0, 6.985, 6.5977, 6.6203, 6.9212, 7.4223, 8.0781, 8.8635, 9.7655], 2000.0])],\n [('regression: influenza-like 2 day latency',\n   (0.6, 2, 3, 1000, 10, 8),\n   [[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0]),\n  ('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),\n  ('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),\n  ('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None),\n  ('regression: fractional latency',\n   (0.8, 1.5, 2.5, 300, 6, 7),\n   [[4.0, 1.3333, 2.5351, 2.7755, 3.3698, 3.9741, 4.6871], 300.0]),\n  ('regression: large seed', (0.9, 4, 3, 100, 60, 6), [[15.0, 11.25, 9.7875, 8.9949, 8.2544, 7.4237], 100.0]),\n  ('regression: long infectious period',\n   (0.3, 5, 14, 2000, 50, 10),\n   [[10.0, 8.0, 6.985, 6.5977, 6.6203, 6.9212, 7.4223, 8.0781, 8.8635, 9.7655], 2000.0])],\n [('regression: influenza-like 2 day latency',\n   (0.6, 2, 3, 1000, 10, 8),\n   [[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0]),\n  ('regression: measles-like long latency',\n   (1.5, 8, 7, 5000, 5, 12),\n   [[0.625, 0.5469, 0.5956, 0.7239, 0.9186, 1.1836, 1.5328, 1.9882, 2.5798, 3.3471, 4.3413, 5.6281], 5000.0]),\n  ('regression: one-day latency', (0.4, 1, 4, 200, 4, 6), [[4.0, 0.0, 1.568, 1.1666, 1.4758, 1.5459], 200.0]),\n  ('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),\n  ('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),\n  ('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None),\n  ('regression: long infectious period',\n   (0.3, 5, 14, 2000, 50, 10),\n   [[10.0, 8.0, 6.985, 6.5977, 6.6203, 6.9212, 7.4223, 8.0781, 8.8635, 9.7655], 2000.0])],\n [('regression: one-day latency', (0.4, 1, 4, 200, 4, 6), [[4.0, 0.0, 1.568, 1.1666, 1.4758, 1.5459], 200.0]),\n  ('regression: no transmission',\n   (0.0, 3, 5, 100, 20, 6),\n   [[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),\n  ('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),\n  ('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),\n  ('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None),\n  ('regression: fractional latency',\n   (0.8, 1.5, 2.5, 300, 6, 7),\n   [[4.0, 1.3333, 2.5351, 2.7755, 3.3698, 3.9741, 4.6871], 300.0]),\n  ('regression: large seed',\n   (0.9, 4, 3, 100, 60, 6),\n   [[15.0, 11.25, 9.7875, 8.9949, 8.2544, 7.4237], 100.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-seir-onset-incidence-definition","generated_at":"2026-09-29T14:47:28.809087+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.","root_cause":"New infections S->E are reported instead of symptom onsets E->I.","sha256":"f7c62da91cf0581555c8da54670a742243cf58762e04d2393249e05aff047a33","title":"SEIR daily symptom-onset incidence: incidence definition · 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":42.446,"exit_code":1,"observations":[{"actual":[[5.0,0.8333,0.7906,0.8868,0.9984,1.122,1.2584,1.408],1000.0],"check":"regression: influenza-like 2 day latency","expected":[[5.0,2.5,2.735,3.0948,3.5019,3.9584,4.4687,5.0378],1000.0],"passed":false},{"actual":[[0.625,0.4576,0.4409,0.5062,0.6287,0.8039,1.0382,1.3453,1.7447,2.2628,2.9337,3.8014],5000.0],"check":"regression: measles-like long latency","expected":[[0.625,0.5469,0.5956,0.7239,0.9186,1.1836,1.5328,1.9882,2.5798,3.3471,4.3413,5.6281],5000.0],"passed":false},{"actual":[[4.0,-1.0,0.818,0.2121,0.4683,0.4213],200.0],"check":"regression: one-day latency","expected":[[4.0,0.0,1.568,1.1666,1.4758,1.5459],200.0],"passed":false},{"actual":[[6.6667,3.1111,1.0074,-0.1817,-0.8038,-1.082],100.0],"check":"regression: no transmission","expected":[[6.6667,4.4444,2.963,1.9753,1.3169,0.8779],100.0],"passed":false},{"actual":[[],100.0],"check":"control: boundary zero days","expected":[[],100.0],"passed":true},{"actual":null,"check":"control: invalid zero latency","expected":null,"passed":true},{"actual":null,"check":"control: invalid zero population","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: influenza-like 2 day latency\", \"actual\": [[5.0, 0.8333, 0.7906, 0.8868, 0.9984, 1.122, 1.2584, 1.408], 1000.0], \"expected\": [[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0], \"passed\": false}, {\"check\": \"regression: measles-like long latency\", \"actual\": [[0.625, 0.4576, 0.4409, 0.5062, 0.6287, 0.8039, 1.0382, 1.3453, 1.7447, 2.2628, 2.9337, 3.8014], 5000.0], \"expected\": [[0.625, 0.5469, 0.5956, 0.7239, 0.9186, 1.1836, 1.5328, 1.9882, 2.5798, 3.3471, 4.3413, 5.6281], 5000.0], \"passed\": false}, {\"check\": \"regression: one-day latency\", \"actual\": [[4.0, -1.0, 0.818, 0.2121, 0.4683, 0.4213], 200.0], \"expected\": [[4.0, 0.0, 1.568, 1.1666, 1.4758, 1.5459], 200.0], \"passed\": false}, {\"check\": \"regression: no transmission\", \"actual\": [[6.6667, 3.1111, 1.0074, -0.1817, -0.8038, -1.082], 100.0], \"expected\": [[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0], \"passed\": false}, {\"check\": \"control: boundary zero days\", \"actual\": [[], 100.0], \"expected\": [[], 100.0], \"passed\": true}, {\"check\": \"control: invalid zero latency\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control: invalid zero population\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.461,"exit_code":1,"observations":[{"actual":[[0.0,2.97,3.4546,3.9091,4.4148,4.9791,5.6069,6.3028],1000.0],"check":"regression: influenza-like 2 day latency","expected":[[5.0,2.5,2.735,3.0948,3.5019,3.9584,4.4687,5.0378],1000.0],"passed":false},{"actual":[[0.0,0.9366,1.622,2.2818,3.0386,3.9774,5.1759,6.721,8.7183,11.3004,14.6357,18.9372],5000.0],"check":"regression: measles-like long latency","expected":[[0.625,0.5469,0.5956,0.7239,0.9186,1.1836,1.5328,1.9882,2.5798,3.3471,4.3413,5.6281],5000.0],"passed":false},{"actual":[[0.0,1.568,1.1666,1.4758,1.5459,1.7116],200.0],"check":"regression: one-day latency","expected":[[4.0,0.0,1.568,1.1666,1.4758,1.5459],200.0],"passed":false},{"actual":[[0.0,0.0,0.0,0.0,0.0,0.0],100.0],"check":"regression: no transmission","expected":[[6.6667,4.4444,2.963,1.9753,1.3169,0.8779],100.0],"passed":false},{"actual":[[],100.0],"check":"control: boundary zero days","expected":[[],100.0],"passed":true},{"actual":null,"check":"control: invalid zero latency","expected":null,"passed":true},{"actual":null,"check":"control: invalid zero population","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: influenza-like 2 day latency\", \"actual\": [[0.0, 2.97, 3.4546, 3.9091, 4.4148, 4.9791, 5.6069, 6.3028], 1000.0], \"expected\": [[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0], \"passed\": false}, {\"check\": \"regression: measles-like long latency\", \"actual\": [[0.0, 0.9366, 1.622, 2.2818, 3.0386, 3.9774, 5.1759, 6.721, 8.7183, 11.3004, 14.6357, 18.9372], 5000.0], \"expected\": [[0.625, 0.5469, 0.5956, 0.7239, 0.9186, 1.1836, 1.5328, 1.9882, 2.5798, 3.3471, 4.3413, 5.6281], 5000.0], \"passed\": false}, {\"check\": \"regression: one-day latency\", \"actual\": [[0.0, 1.568, 1.1666, 1.4758, 1.5459, 1.7116], 200.0], \"expected\": [[4.0, 0.0, 1.568, 1.1666, 1.4758, 1.5459], 200.0], \"passed\": false}, {\"check\": \"regression: no transmission\", \"actual\": [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0], 100.0], \"expected\": [[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0], \"passed\": false}, {\"check\": \"control: boundary zero days\", \"actual\": [[], 100.0], \"expected\": [[], 100.0], \"passed\": true}, {\"check\": \"control: invalid zero latency\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control: invalid zero population\", \"actual\": null, \"expected\": null, \"passed\": true}], \"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."}}