FA-65781 / Ecological population dynamics / Open access
Monthly population with seasonal breeding window: survival before births · case 01
Newborns are subjected to the month's mortality.
ROOT CAUSE
Births are added before survival is applied.
VERIFIED REPAIR
Restore the survival before births rule: `n *= monthly_survival / if breeding: / n += fecundity * n * max(0.0, 1 - n / cap)`.
Unsuccessful approach: Computing births from pre-survival adults still credits animals that died.
Case contract
Calendar month of step t is ((start_month-1+t) mod 12)+1; the breeding window is inclusive and may wrap across the new year (start > end); each month survival is applied first, then in breeding months births fecundity*N*max(0,1-N/cap); return monthly N rounded 4.
Why this case matters
Population projections set harvest quotas, conservation status and pest-control timing; a wrong update order, boundary or rate conversion silently changes management advice.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(n0, monthly_survival, fecundity, breed_start, breed_end, start_month, months, cap):
n = float(n0)
traj = []
for t in range(months):
month = (start_month - 1 + t) % 12 + 1
if breed_start <= breed_end:
breeding = breed_start <= month <= breed_end
else:
breeding = month >= breed_start or month <= breed_end
if breeding:
n += fecundity * n * max(0.0, 1 - n / cap)
n *= monthly_survival
traj.append(round(n, 4))
return traj
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: deer spring births',
(100, 0.97, 0.4, 5, 6, 3, 6, 400),
[97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),
('regression: southern winter breeding wraps',
(50, 0.95, 0.3, 11, 2, 10, 6, 300),
[47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636]),
('regression: december start', (80, 0.98, 0.25, 12, 1, 12, 3, 500), [94.9267, 111.9581, 109.7189]),
('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),
('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),
('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),
('regression: full year',
(30, 0.96, 0.2, 3, 5, 1, 12, 100),
[28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377])],
[('regression: deer spring births',
(100, 0.97, 0.4, 5, 6, 3, 6, 400),
[97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),
('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),
('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),
('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),
('regression: full year',
(30, 0.96, 0.2, 3, 5, 1, 12, 100),
[28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377]),
('regression: late-autumn window through december',
(80, 0.98, 0.3, 11, 12, 10, 4, 500),
[78.4, 96.3397, 117.3885, 115.0407]),
('regression: start inside wrap',
(70, 0.93, 0.35, 10, 3, 1, 4, 250),
[81.9518, 94.7582, 108.0965, 100.5297])],
[('regression: deer spring births',
(100, 0.97, 0.4, 5, 6, 3, 6, 400),
[97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),
('regression: southern winter breeding wraps',
(50, 0.95, 0.3, 11, 2, 10, 6, 300),
[47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636]),
('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),
('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),
('regression: full year',
(30, 0.96, 0.2, 3, 5, 1, 12, 100),
[28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377]),
('regression: late-autumn window through december',
(80, 0.98, 0.3, 11, 12, 10, 4, 500),
[78.4, 96.3397, 117.3885, 115.0407]),
('regression: start inside wrap',
(70, 0.93, 0.35, 10, 3, 1, 4, 250),
[81.9518, 94.7582, 108.0965, 100.5297])],
[('regression: deer spring births',
(100, 0.97, 0.4, 5, 6, 3, 6, 400),
[97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),
('regression: southern winter breeding wraps',
(50, 0.95, 0.3, 11, 2, 10, 6, 300),
[47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636]),
('regression: december start', (80, 0.98, 0.25, 12, 1, 12, 3, 500), [94.9267, 111.9581, 109.7189]),
('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),
('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),
('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),
('regression: full year',
(30, 0.96, 0.2, 3, 5, 1, 12, 100),
[28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377])],
[('regression: deer spring births',
(100, 0.97, 0.4, 5, 6, 3, 6, 400),
[97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),
('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),
('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),
('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),
('regression: full year',
(30, 0.96, 0.2, 3, 5, 1, 12, 100),
[28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377]),
('regression: late-autumn window through december',
(80, 0.98, 0.3, 11, 12, 10, 4, 500),
[78.4, 96.3397, 117.3885, 115.0407]),
('regression: start inside wrap',
(70, 0.93, 0.35, 10, 3, 1, 4, 250),
[81.9518, 94.7582, 108.0965, 100.5297])]]
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: deer spring births | [97.0, 94.09, 119.1869, 148.0764, 143.6341, 139.3251] | [97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888] | Failed |
| regression: southern winter breeding wraps | [47.5, 56.5191, 66.7664, 78.2216, 90.791, 86.2514] | [47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636] | Failed |
| regression: december start | [94.864, 111.7988, 109.5628] | [94.9267, 111.9581, 109.7189] | Failed |
| regression: single month window end | [54.0, 66.339, 59.7051] | [54.0, 66.9951, 60.2956] | Failed |
| control: above cap no births | [495.0, 490.05, 485.1495] | [495.0, 490.05, 485.1495] | Passed |
| control: no breeding months reached | [38.0, 36.1, 34.295, 32.5802] | [38.0, 36.1, 34.295, 32.5802] | Passed |
| regression: full year | [28.8, 27.648, 30.3828, 33.2286, 36.1594, 34.7131, 33.3245, 31.9916, 30.7119, 29.4834, 28.3041, 27.1719] | [28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377] | Failed |
SHA-256 / f64897660db2de99cf23eb59a659c9c9a6c7334c91c6dbb302cc4d007f5f6975
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(n0, monthly_survival, fecundity, breed_start, breed_end, start_month, months, cap):
n = float(n0)
traj = []
for t in range(months):
month = (start_month - 1 + t) % 12 + 1
if breed_start <= breed_end:
breeding = breed_start <= month <= breed_end
else:
breeding = month >= breed_start or month <= breed_end
births = fecundity * n * max(0.0, 1 - n / cap) if breeding else 0.0
n = n * monthly_survival + births
traj.append(round(n, 4))
return traj
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: deer spring births',
(100, 0.97, 0.4, 5, 6, 3, 6, 400),
[97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),
('regression: southern winter breeding wraps',
(50, 0.95, 0.3, 11, 2, 10, 6, 300),
[47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636]),
('regression: december start', (80, 0.98, 0.25, 12, 1, 12, 3, 500), [94.9267, 111.9581, 109.7189]),
('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),
('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),
('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),
('regression: full year',
(30, 0.96, 0.2, 3, 5, 1, 12, 100),
[28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377])],
[('regression: deer spring births',
(100, 0.97, 0.4, 5, 6, 3, 6, 400),
[97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),
('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),
('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),
('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),
('regression: full year',
(30, 0.96, 0.2, 3, 5, 1, 12, 100),
[28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377]),
('regression: late-autumn window through december',
(80, 0.98, 0.3, 11, 12, 10, 4, 500),
[78.4, 96.3397, 117.3885, 115.0407]),
('regression: start inside wrap',
(70, 0.93, 0.35, 10, 3, 1, 4, 250),
[81.9518, 94.7582, 108.0965, 100.5297])],
[('regression: deer spring births',
(100, 0.97, 0.4, 5, 6, 3, 6, 400),
[97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),
('regression: southern winter breeding wraps',
(50, 0.95, 0.3, 11, 2, 10, 6, 300),
[47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636]),
('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),
('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),
('regression: full year',
(30, 0.96, 0.2, 3, 5, 1, 12, 100),
[28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377]),
('regression: late-autumn window through december',
(80, 0.98, 0.3, 11, 12, 10, 4, 500),
[78.4, 96.3397, 117.3885, 115.0407]),
('regression: start inside wrap',
(70, 0.93, 0.35, 10, 3, 1, 4, 250),
[81.9518, 94.7582, 108.0965, 100.5297])],
[('regression: deer spring births',
(100, 0.97, 0.4, 5, 6, 3, 6, 400),
[97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),
('regression: southern winter breeding wraps',
(50, 0.95, 0.3, 11, 2, 10, 6, 300),
[47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636]),
('regression: december start', (80, 0.98, 0.25, 12, 1, 12, 3, 500), [94.9267, 111.9581, 109.7189]),
('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),
('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),
('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),
('regression: full year',
(30, 0.96, 0.2, 3, 5, 1, 12, 100),
[28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377])],
[('regression: deer spring births',
(100, 0.97, 0.4, 5, 6, 3, 6, 400),
[97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),
('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),
('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),
('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),
('regression: full year',
(30, 0.96, 0.2, 3, 5, 1, 12, 100),
[28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377]),
('regression: late-autumn window through december',
(80, 0.98, 0.3, 11, 12, 10, 4, 500),
[78.4, 96.3397, 117.3885, 115.0407]),
('regression: start inside wrap',
(70, 0.93, 0.35, 10, 3, 1, 4, 250),
[81.9518, 94.7582, 108.0965, 100.5297])]]
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: deer spring births | [97.0, 94.09, 120.0504, 150.0569, 145.5552, 141.1886] | [97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888] | Failed |
| regression: southern winter breeding wraps | [47.5, 57.1187, 68.1359, 80.5274, 94.1745, 89.4658] | [47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636] | Failed |
| regression: december start | [95.2, 112.5645, 110.3132] | [94.9267, 111.9581, 109.7189] | Failed |
| regression: single month window end | [54.0, 68.31, 61.479] | [54.0, 66.9951, 60.2956] | Failed |
| control: above cap no births | [495.0, 490.05, 485.1495] | [495.0, 490.05, 485.1495] | Passed |
| control: no breeding months reached | [38.0, 36.1, 34.295, 32.5802] | [38.0, 36.1, 34.295, 32.5802] | Passed |
| regression: full year | [28.8, 27.648, 30.5429, 33.564, 36.6811, 35.2139, 33.8053, 32.4531, 31.155, 29.9088, 28.7124, 27.5639] | [28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377] | Failed |
SHA-256 / 4e34effc91f74098957ba461d7e7b3e3d7f805317c835f4cb7cf600740e8bba5
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(n0, monthly_survival, fecundity, breed_start, breed_end, start_month, months, cap):
n = float(n0)
traj = []
for t in range(months):
month = (start_month - 1 + t) % 12 + 1
if breed_start <= breed_end:
breeding = breed_start <= month <= breed_end
else:
breeding = month >= breed_start or month <= breed_end
n *= monthly_survival
if breeding:
n += fecundity * n * max(0.0, 1 - n / cap)
traj.append(round(n, 4))
return traj
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: deer spring births',
(100, 0.97, 0.4, 5, 6, 3, 6, 400),
[97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),
('regression: southern winter breeding wraps',
(50, 0.95, 0.3, 11, 2, 10, 6, 300),
[47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636]),
('regression: december start', (80, 0.98, 0.25, 12, 1, 12, 3, 500), [94.9267, 111.9581, 109.7189]),
('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),
('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),
('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),
('regression: full year',
(30, 0.96, 0.2, 3, 5, 1, 12, 100),
[28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377])],
[('regression: deer spring births',
(100, 0.97, 0.4, 5, 6, 3, 6, 400),
[97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),
('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),
('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),
('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),
('regression: full year',
(30, 0.96, 0.2, 3, 5, 1, 12, 100),
[28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377]),
('regression: late-autumn window through december',
(80, 0.98, 0.3, 11, 12, 10, 4, 500),
[78.4, 96.3397, 117.3885, 115.0407]),
('regression: start inside wrap',
(70, 0.93, 0.35, 10, 3, 1, 4, 250),
[81.9518, 94.7582, 108.0965, 100.5297])],
[('regression: deer spring births',
(100, 0.97, 0.4, 5, 6, 3, 6, 400),
[97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),
('regression: southern winter breeding wraps',
(50, 0.95, 0.3, 11, 2, 10, 6, 300),
[47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636]),
('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),
('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),
('regression: full year',
(30, 0.96, 0.2, 3, 5, 1, 12, 100),
[28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377]),
('regression: late-autumn window through december',
(80, 0.98, 0.3, 11, 12, 10, 4, 500),
[78.4, 96.3397, 117.3885, 115.0407]),
('regression: start inside wrap',
(70, 0.93, 0.35, 10, 3, 1, 4, 250),
[81.9518, 94.7582, 108.0965, 100.5297])],
[('regression: deer spring births',
(100, 0.97, 0.4, 5, 6, 3, 6, 400),
[97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),
('regression: southern winter breeding wraps',
(50, 0.95, 0.3, 11, 2, 10, 6, 300),
[47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636]),
('regression: december start', (80, 0.98, 0.25, 12, 1, 12, 3, 500), [94.9267, 111.9581, 109.7189]),
('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),
('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),
('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),
('regression: full year',
(30, 0.96, 0.2, 3, 5, 1, 12, 100),
[28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377])],
[('regression: deer spring births',
(100, 0.97, 0.4, 5, 6, 3, 6, 400),
[97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),
('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),
('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),
('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),
('regression: full year',
(30, 0.96, 0.2, 3, 5, 1, 12, 100),
[28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377]),
('regression: late-autumn window through december',
(80, 0.98, 0.3, 11, 12, 10, 4, 500),
[78.4, 96.3397, 117.3885, 115.0407]),
('regression: start inside wrap',
(70, 0.93, 0.35, 10, 3, 1, 4, 250),
[81.9518, 94.7582, 108.0965, 100.5297])]]
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: deer spring births | [97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888] | [97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888] | Passed |
| regression: southern winter breeding wraps | [47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636] | [47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636] | Passed |
| regression: december start | [94.9267, 111.9581, 109.7189] | [94.9267, 111.9581, 109.7189] | Passed |
| regression: single month window end | [54.0, 66.9951, 60.2956] | [54.0, 66.9951, 60.2956] | Passed |
| control: above cap no births | [495.0, 490.05, 485.1495] | [495.0, 490.05, 485.1495] | Passed |
| control: no breeding months reached | [38.0, 36.1, 34.295, 32.5802] | [38.0, 36.1, 34.295, 32.5802] | Passed |
| regression: full year | [28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377] | [28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377] | Passed |
SHA-256 / 06b310310611694fe300d82260a1d6b7cc6b28477ea72b851f7189d6f1755d5d
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:37.231540+00:00.
Case digest / 16915ae5ce4e5da092afd673139c10a3de6fc9169e4df8545e0dcfa23cf00d37