FAILURE MAP
← Case archive

FA-64866 / Epidemic compartment models / Open access

SEIR daily symptom-onset incidence: latent rate · case 01

Onsets drain the exposed class many times over per day and turn negative.

Verified by executionVariant 1 · 7 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The mean latent duration in days is used directly as the E->I rate.

VERIFIED REPAIR

Restore the latent rate rule: `sigma = 1.0 / latent_days`.

Unsuccessful approach: Using the whole generation interval as the latent duration makes onsets too slow.

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 = 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]),
  ('regression: 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: 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: 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]),
  ('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: 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: 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]),
  ('regression: 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 fixtureActualExpectedOutcome
regression: influenza-like 2 day latency[[20.0, -20.0, 43.76, -51.585, 97.9159, -127.113, 221.7333, -302.9904], 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[[40.0, -280.0, 2439.52, -19986.9154, 168253.9327, -1253943.7865, 12911814.6748, 1272047989.1468, -4907403491049.828, 1.883897914325542e+18, 2.772835196094218e+27, -1.5671180430573886e+42], -1.5671180430573858e+42][[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, 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
regression: no transmission[[60.0, -120.0, 240.0, -480.0, 960.0, -1920.0], 100.0][[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]Failed
control: boundary zero days[[], 100.0][[], 100.0]Passed
control: invalid zero latencyNoneNonePassed
control: invalid zero populationNoneNonePassed

SHA-256 / 1c555a8865e89cf3db55c27b0f393cd0bc281b31ce612ffe1ab04f4a928842cb

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 + infectious_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]),
  ('regression: 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: 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: 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]),
  ('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: 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: 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]),
  ('regression: 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 fixtureActualExpectedOutcome
regression: influenza-like 2 day latency[[2.0, 1.6, 1.5176, 1.5621, 1.6611, 1.7872, 1.9305, 2.0876], 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.3333, 0.3111, 0.3237, 0.3617, 0.421, 0.5005, 0.6014, 0.7262, 0.8791, 1.0653, 1.2915, 1.5659], 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[[0.8, 0.64, 0.5747, 0.5568, 0.563, 0.5816], 200.0][[4.0, 0.0, 1.568, 1.1666, 1.4758, 1.5459], 200.0]Failed
regression: no transmission[[2.5, 2.1875, 1.9141, 1.6748, 1.4655, 1.2823], 100.0][[6.6667, 4.4444, 2.963, 1.9753, 1.3169, 0.8779], 100.0]Failed
control: boundary zero days[[], 100.0][[], 100.0]Passed
control: invalid zero latencyNoneNonePassed
control: invalid zero populationNoneNonePassed

SHA-256 / 9ff42c6be09f48223d59db9e2aeb4a5c7ac50ccbea9cfcf147d113f7e31440f7

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]),
  ('regression: 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: 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: 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]),
  ('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: 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: 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]),
  ('regression: 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 fixtureActualExpectedOutcome
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
regression: 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 latencyNoneNonePassed
control: invalid zero populationNoneNonePassed

SHA-256 / e2333974ba5b009d7c4aee4e2387832467a11feea3b30d3810eef5a36d23d6d9

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.799425+00:00.

Case digest / 54620533396fa16caa023791f30e0595cb876b56c0a02284cc142babcb0cf367