FA-64871 / Epidemic compartment models / Open access
SEIR daily symptom-onset incidence: infectious compartment in force · case 01
Transmission starts on day 0 although no seed is infectious yet.
ROOT CAUSE
Exposed (latent) people are counted as infectious in the force of infection.
VERIFIED REPAIR
Restore the infectious compartment in force rule: `beta * s * i / pop`.
Unsuccessful approach: Using only E makes the latent class the sole transmitter and ignores the infectious class.
Case 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.
Why this case matters
Compartmental epidemic calculations drive outbreak forecasts, vaccine targets and hospital planning; a single wrong flow, rate conversion or boundary silently changes every downstream number.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(beta, latent_days, infectious_days, pop, e0, days):
if latent_days <= 0 or infectious_days <= 0 or pop <= 0:
return None
sigma = 1.0 / latent_days
gamma = 1.0 / infectious_days
s, e, i, r = float(pop - e0), float(e0), 0.0, 0.0
incidence = []
for day in range(days):
exposure = beta * s * (e + i) / pop
onset = sigma * e
removal = gamma * i
s -= exposure
e += exposure - onset
i += onset - removal
r += removal
incidence.append(round(onset, 4))
return [incidence, round(s + e + i + r, 4)]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: influenza-like 2 day latency',
(0.6, 2, 3, 1000, 10, 8),
[[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0]),
('regression: measles-like long latency',
(1.5, 8, 7, 5000, 5, 12),
[[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]),
('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]),
('control: no transmission',
(0.0, 3, 5, 100, 20, 6),
[[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),
('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),
('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),
('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None)],
[('control: no transmission',
(0.0, 3, 5, 100, 20, 6),
[[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),
('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),
('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),
('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None),
('regression: fractional latency',
(0.8, 1.5, 2.5, 300, 6, 7),
[[4.0, 1.3333, 2.5351, 2.7755, 3.3698, 3.9741, 4.6871], 300.0]),
('regression: large seed', (0.9, 4, 3, 100, 60, 6), [[15.0, 11.25, 9.7875, 8.9949, 8.2544, 7.4237], 100.0]),
('regression: long infectious period',
(0.3, 5, 14, 2000, 50, 10),
[[10.0, 8.0, 6.985, 6.5977, 6.6203, 6.9212, 7.4223, 8.0781, 8.8635, 9.7655], 2000.0])],
[('regression: influenza-like 2 day latency',
(0.6, 2, 3, 1000, 10, 8),
[[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0]),
('control: no transmission',
(0.0, 3, 5, 100, 20, 6),
[[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),
('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),
('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None),
('regression: fractional latency',
(0.8, 1.5, 2.5, 300, 6, 7),
[[4.0, 1.3333, 2.5351, 2.7755, 3.3698, 3.9741, 4.6871], 300.0]),
('regression: large seed', (0.9, 4, 3, 100, 60, 6), [[15.0, 11.25, 9.7875, 8.9949, 8.2544, 7.4237], 100.0]),
('regression: long infectious period',
(0.3, 5, 14, 2000, 50, 10),
[[10.0, 8.0, 6.985, 6.5977, 6.6203, 6.9212, 7.4223, 8.0781, 8.8635, 9.7655], 2000.0])],
[('regression: influenza-like 2 day latency',
(0.6, 2, 3, 1000, 10, 8),
[[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0]),
('regression: measles-like long latency',
(1.5, 8, 7, 5000, 5, 12),
[[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]),
('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]),
('control: no transmission',
(0.0, 3, 5, 100, 20, 6),
[[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),
('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),
('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),
('regression: long infectious period',
(0.3, 5, 14, 2000, 50, 10),
[[10.0, 8.0, 6.985, 6.5977, 6.6203, 6.9212, 7.4223, 8.0781, 8.8635, 9.7655], 2000.0])],
[('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]),
('control: no transmission',
(0.0, 3, 5, 100, 20, 6),
[[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),
('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),
('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),
('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None),
('regression: fractional latency',
(0.8, 1.5, 2.5, 300, 6, 7),
[[4.0, 1.3333, 2.5351, 2.7755, 3.3698, 3.9741, 4.6871], 300.0]),
('regression: large seed',
(0.9, 4, 3, 100, 60, 6),
[[15.0, 11.25, 9.7875, 8.9949, 8.2544, 7.4237], 100.0])]]
for label, args, expected in fixtures[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: influenza-like 2 day latency | [[5.0, 5.47, 7.4408, 10.6457, 15.2963, 21.7923, 30.5783, 41.9623], 1000.0] | [[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0] | Failed |
| regression: measles-like long latency | [[0.625, 1.4834, 3.6345, 8.9742, 22.0953, 53.6545, 125.6625, 269.2276, 467.3723, 530.4366, 426.7079, 391.4225], 5000.0] | [[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] | Failed |
| regression: one-day latency | [[4.0, 1.568, 2.1652, 2.5891, 3.1033, 3.6889], 200.0] | [[4.0, 0.0, 1.568, 1.1666, 1.4758, 1.5459], 200.0] | Failed |
| control: no transmission | [[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0] | [[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0] | Passed |
| control: boundary zero days | [[], 100.0] | [[], 100.0] | Passed |
| control: invalid zero latency | None | None | Passed |
| control: invalid zero population | None | None | Passed |
SHA-256 / 8a2597a5de58fe9157ce51b1f7e62f9f77d739ae6b755c91da7f8d2fe5da1233
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(beta, latent_days, infectious_days, pop, e0, days):
if latent_days <= 0 or infectious_days <= 0 or pop <= 0:
return None
sigma = 1.0 / latent_days
gamma = 1.0 / infectious_days
s, e, i, r = float(pop - e0), float(e0), 0.0, 0.0
incidence = []
for day in range(days):
exposure = beta * s * e / pop
onset = sigma * e
removal = gamma * i
s -= exposure
e += exposure - onset
i += onset - removal
r += removal
incidence.append(round(onset, 4))
return [incidence, round(s + e + i + r, 4)]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: influenza-like 2 day latency',
(0.6, 2, 3, 1000, 10, 8),
[[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0]),
('regression: measles-like long latency',
(1.5, 8, 7, 5000, 5, 12),
[[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]),
('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]),
('control: no transmission',
(0.0, 3, 5, 100, 20, 6),
[[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),
('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),
('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),
('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None)],
[('control: no transmission',
(0.0, 3, 5, 100, 20, 6),
[[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),
('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),
('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),
('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None),
('regression: fractional latency',
(0.8, 1.5, 2.5, 300, 6, 7),
[[4.0, 1.3333, 2.5351, 2.7755, 3.3698, 3.9741, 4.6871], 300.0]),
('regression: large seed', (0.9, 4, 3, 100, 60, 6), [[15.0, 11.25, 9.7875, 8.9949, 8.2544, 7.4237], 100.0]),
('regression: long infectious period',
(0.3, 5, 14, 2000, 50, 10),
[[10.0, 8.0, 6.985, 6.5977, 6.6203, 6.9212, 7.4223, 8.0781, 8.8635, 9.7655], 2000.0])],
[('regression: influenza-like 2 day latency',
(0.6, 2, 3, 1000, 10, 8),
[[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0]),
('control: no transmission',
(0.0, 3, 5, 100, 20, 6),
[[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),
('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),
('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None),
('regression: fractional latency',
(0.8, 1.5, 2.5, 300, 6, 7),
[[4.0, 1.3333, 2.5351, 2.7755, 3.3698, 3.9741, 4.6871], 300.0]),
('regression: large seed', (0.9, 4, 3, 100, 60, 6), [[15.0, 11.25, 9.7875, 8.9949, 8.2544, 7.4237], 100.0]),
('regression: long infectious period',
(0.3, 5, 14, 2000, 50, 10),
[[10.0, 8.0, 6.985, 6.5977, 6.6203, 6.9212, 7.4223, 8.0781, 8.8635, 9.7655], 2000.0])],
[('regression: influenza-like 2 day latency',
(0.6, 2, 3, 1000, 10, 8),
[[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0]),
('regression: measles-like long latency',
(1.5, 8, 7, 5000, 5, 12),
[[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]),
('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]),
('control: no transmission',
(0.0, 3, 5, 100, 20, 6),
[[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),
('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),
('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),
('regression: long infectious period',
(0.3, 5, 14, 2000, 50, 10),
[[10.0, 8.0, 6.985, 6.5977, 6.6203, 6.9212, 7.4223, 8.0781, 8.8635, 9.7655], 2000.0])],
[('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]),
('control: no transmission',
(0.0, 3, 5, 100, 20, 6),
[[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),
('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),
('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),
('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None),
('regression: fractional latency',
(0.8, 1.5, 2.5, 300, 6, 7),
[[4.0, 1.3333, 2.5351, 2.7755, 3.3698, 3.9741, 4.6871], 300.0]),
('regression: large seed',
(0.9, 4, 3, 100, 60, 6),
[[15.0, 11.25, 9.7875, 8.9949, 8.2544, 7.4237], 100.0])]]
for label, args, expected in fixtures[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: influenza-like 2 day latency | [[5.0, 5.47, 5.9647, 6.481, 7.0148, 7.5608, 8.1125, 8.6622], 1000.0] | [[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0] | Failed |
| regression: measles-like long latency | [[0.625, 1.4834, 3.5176, 8.3224, 19.5854, 45.5128, 102.6635, 216.0958, 389.3738, 514.4255, 465.1563, 403.8223], 5000.0] | [[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] | Failed |
| regression: one-day latency | [[4.0, 1.568, 0.6097, 0.2364, 0.0915, 0.0354], 200.0] | [[4.0, 0.0, 1.568, 1.1666, 1.4758, 1.5459], 200.0] | Failed |
| control: no transmission | [[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0] | [[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0] | Passed |
| control: boundary zero days | [[], 100.0] | [[], 100.0] | Passed |
| control: invalid zero latency | None | None | Passed |
| control: invalid zero population | None | None | Passed |
SHA-256 / f4a1440e2fc98b1516c3ae75f73e2f8108672a67ac4b6e13bce47b811b4af3cc
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(beta, latent_days, infectious_days, pop, e0, days):
if latent_days <= 0 or infectious_days <= 0 or pop <= 0:
return None
sigma = 1.0 / latent_days
gamma = 1.0 / infectious_days
s, e, i, r = float(pop - e0), float(e0), 0.0, 0.0
incidence = []
for day in range(days):
exposure = beta * s * i / pop
onset = sigma * e
removal = gamma * i
s -= exposure
e += exposure - onset
i += onset - removal
r += removal
incidence.append(round(onset, 4))
return [incidence, round(s + e + i + r, 4)]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: influenza-like 2 day latency',
(0.6, 2, 3, 1000, 10, 8),
[[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0]),
('regression: measles-like long latency',
(1.5, 8, 7, 5000, 5, 12),
[[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]),
('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]),
('control: no transmission',
(0.0, 3, 5, 100, 20, 6),
[[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),
('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),
('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),
('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None)],
[('control: no transmission',
(0.0, 3, 5, 100, 20, 6),
[[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),
('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),
('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),
('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None),
('regression: fractional latency',
(0.8, 1.5, 2.5, 300, 6, 7),
[[4.0, 1.3333, 2.5351, 2.7755, 3.3698, 3.9741, 4.6871], 300.0]),
('regression: large seed', (0.9, 4, 3, 100, 60, 6), [[15.0, 11.25, 9.7875, 8.9949, 8.2544, 7.4237], 100.0]),
('regression: long infectious period',
(0.3, 5, 14, 2000, 50, 10),
[[10.0, 8.0, 6.985, 6.5977, 6.6203, 6.9212, 7.4223, 8.0781, 8.8635, 9.7655], 2000.0])],
[('regression: influenza-like 2 day latency',
(0.6, 2, 3, 1000, 10, 8),
[[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0]),
('control: no transmission',
(0.0, 3, 5, 100, 20, 6),
[[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),
('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),
('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None),
('regression: fractional latency',
(0.8, 1.5, 2.5, 300, 6, 7),
[[4.0, 1.3333, 2.5351, 2.7755, 3.3698, 3.9741, 4.6871], 300.0]),
('regression: large seed', (0.9, 4, 3, 100, 60, 6), [[15.0, 11.25, 9.7875, 8.9949, 8.2544, 7.4237], 100.0]),
('regression: long infectious period',
(0.3, 5, 14, 2000, 50, 10),
[[10.0, 8.0, 6.985, 6.5977, 6.6203, 6.9212, 7.4223, 8.0781, 8.8635, 9.7655], 2000.0])],
[('regression: influenza-like 2 day latency',
(0.6, 2, 3, 1000, 10, 8),
[[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0]),
('regression: measles-like long latency',
(1.5, 8, 7, 5000, 5, 12),
[[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]),
('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]),
('control: no transmission',
(0.0, 3, 5, 100, 20, 6),
[[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),
('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),
('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),
('regression: long infectious period',
(0.3, 5, 14, 2000, 50, 10),
[[10.0, 8.0, 6.985, 6.5977, 6.6203, 6.9212, 7.4223, 8.0781, 8.8635, 9.7655], 2000.0])],
[('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]),
('control: no transmission',
(0.0, 3, 5, 100, 20, 6),
[[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]),
('control: boundary zero days', (0.5, 3, 5, 100, 5, 0), [[], 100.0]),
('control: invalid zero latency', (0.5, 0, 5, 100, 5, 5), None),
('control: invalid zero population', (0.5, 2, 5, 0, 0, 5), None),
('regression: fractional latency',
(0.8, 1.5, 2.5, 300, 6, 7),
[[4.0, 1.3333, 2.5351, 2.7755, 3.3698, 3.9741, 4.6871], 300.0]),
('regression: large seed',
(0.9, 4, 3, 100, 60, 6),
[[15.0, 11.25, 9.7875, 8.9949, 8.2544, 7.4237], 100.0])]]
for label, args, expected in fixtures[N - 1]:
check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: influenza-like 2 day latency | [[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0] | [[5.0, 2.5, 2.735, 3.0948, 3.5019, 3.9584, 4.4687, 5.0378], 1000.0] | Passed |
| regression: measles-like long latency | [[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] | [[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 |
| regression: one-day latency | [[4.0, 0.0, 1.568, 1.1666, 1.4758, 1.5459], 200.0] | [[4.0, 0.0, 1.568, 1.1666, 1.4758, 1.5459], 200.0] | Passed |
| control: no transmission | [[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0] | [[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0] | Passed |
| control: boundary zero days | [[], 100.0] | [[], 100.0] | Passed |
| control: invalid zero latency | None | None | Passed |
| control: invalid zero population | None | None | Passed |
SHA-256 / 7beb58fba9bdd732135f3db794de27365054a60243c8799256eb58e180e994a1
Verification & scope
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.
Observations recorded using Python 3.12.14 at 2026-09-29T14:47:28.805723+00:00.
Case digest / 6f8e6f468e04cd1bb74890e5cc35ce0278c806bca4ab2cfbe9f2a3e1db597c3d