{"abstract":"The last breeding month produces no births.","category":"Ecological population dynamics","checks":7,"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.","contract_signature":"n0, monthly_survival, fecundity, breed_start, breed_end, start_month, months, cap","evaluation_group":"w2-ecopop-birth-pulse","failed_approach":"Excluding the start month drops the first breeding month.","family":"w2-ecopop-birth-pulse-inclusive-window-end","id":"FA-65776","implementations":{"attempt":{"sha256":"0ec84b127853791b35af3b673741fa4ea68545f1de953cf6215eb2f8f5563232","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(n0, monthly_survival, fecundity, breed_start, breed_end, start_month, months, cap):\n    n = float(n0)\n    traj = []\n    for t in range(months):\n        month = (start_month - 1 + t) % 12 + 1\n        if breed_start <= breed_end:\n            breeding = breed_start < month <= breed_end\n        else:\n            breeding = month >= breed_start or month <= breed_end\n        n *= monthly_survival\n        if breeding:\n            n += fecundity * n * max(0.0, 1 - n / cap)\n        traj.append(round(n, 4))\n    return traj\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: deer spring births',\n   (100, 0.97, 0.4, 5, 6, 3, 6, 400),\n   [97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),\n  ('control: southern winter breeding wraps',\n   (50, 0.95, 0.3, 11, 2, 10, 6, 300),\n   [47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636]),\n  ('control: december start', (80, 0.98, 0.25, 12, 1, 12, 3, 500), [94.9267, 111.9581, 109.7189]),\n  ('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),\n  ('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),\n  ('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),\n  ('regression: full year',\n   (30, 0.96, 0.2, 3, 5, 1, 12, 100),\n   [28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377])],\n [('regression: deer spring births',\n   (100, 0.97, 0.4, 5, 6, 3, 6, 400),\n   [97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),\n  ('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),\n  ('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),\n  ('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),\n  ('regression: full year',\n   (30, 0.96, 0.2, 3, 5, 1, 12, 100),\n   [28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377]),\n  ('regression: late-autumn window through december',\n   (80, 0.98, 0.3, 11, 12, 10, 4, 500),\n   [78.4, 96.3397, 117.3885, 115.0407]),\n  ('control: start inside wrap', (70, 0.93, 0.35, 10, 3, 1, 4, 250), [81.9518, 94.7582, 108.0965, 100.5297])],\n [('regression: deer spring births',\n   (100, 0.97, 0.4, 5, 6, 3, 6, 400),\n   [97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),\n  ('control: southern winter breeding wraps',\n   (50, 0.95, 0.3, 11, 2, 10, 6, 300),\n   [47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636]),\n  ('control: december start', (80, 0.98, 0.25, 12, 1, 12, 3, 500), [94.9267, 111.9581, 109.7189]),\n  ('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),\n  ('regression: full year',\n   (30, 0.96, 0.2, 3, 5, 1, 12, 100),\n   [28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377]),\n  ('regression: late-autumn window through december',\n   (80, 0.98, 0.3, 11, 12, 10, 4, 500),\n   [78.4, 96.3397, 117.3885, 115.0407]),\n  ('control: start inside wrap', (70, 0.93, 0.35, 10, 3, 1, 4, 250), [81.9518, 94.7582, 108.0965, 100.5297])],\n [('regression: deer spring births',\n   (100, 0.97, 0.4, 5, 6, 3, 6, 400),\n   [97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),\n  ('control: southern winter breeding wraps',\n   (50, 0.95, 0.3, 11, 2, 10, 6, 300),\n   [47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636]),\n  ('control: december start', (80, 0.98, 0.25, 12, 1, 12, 3, 500), [94.9267, 111.9581, 109.7189]),\n  ('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),\n  ('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),\n  ('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),\n  ('regression: full year',\n   (30, 0.96, 0.2, 3, 5, 1, 12, 100),\n   [28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377])],\n [('regression: deer spring births',\n   (100, 0.97, 0.4, 5, 6, 3, 6, 400),\n   [97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),\n  ('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),\n  ('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),\n  ('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),\n  ('regression: full year',\n   (30, 0.96, 0.2, 3, 5, 1, 12, 100),\n   [28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377]),\n  ('regression: late-autumn window through december',\n   (80, 0.98, 0.3, 11, 12, 10, 4, 500),\n   [78.4, 96.3397, 117.3885, 115.0407]),\n  ('control: start inside wrap', (70, 0.93, 0.35, 10, 3, 1, 4, 250), [81.9518, 94.7582, 108.0965, 100.5297])]]\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":"abc00de1713514ff2b882f06aa655d555522882b625c37cbda0f3f5e9bed325a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(n0, monthly_survival, fecundity, breed_start, breed_end, start_month, months, cap):\n    n = float(n0)\n    traj = []\n    for t in range(months):\n        month = (start_month - 1 + t) % 12 + 1\n        if breed_start <= breed_end:\n            breeding = breed_start <= month < breed_end\n        else:\n            breeding = month >= breed_start or month <= breed_end\n        n *= monthly_survival\n        if breeding:\n            n += fecundity * n * max(0.0, 1 - n / cap)\n        traj.append(round(n, 4))\n    return traj\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: deer spring births',\n   (100, 0.97, 0.4, 5, 6, 3, 6, 400),\n   [97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),\n  ('control: southern winter breeding wraps',\n   (50, 0.95, 0.3, 11, 2, 10, 6, 300),\n   [47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636]),\n  ('control: december start', (80, 0.98, 0.25, 12, 1, 12, 3, 500), [94.9267, 111.9581, 109.7189]),\n  ('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),\n  ('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),\n  ('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),\n  ('regression: full year',\n   (30, 0.96, 0.2, 3, 5, 1, 12, 100),\n   [28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377])],\n [('regression: deer spring births',\n   (100, 0.97, 0.4, 5, 6, 3, 6, 400),\n   [97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),\n  ('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),\n  ('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),\n  ('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),\n  ('regression: full year',\n   (30, 0.96, 0.2, 3, 5, 1, 12, 100),\n   [28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377]),\n  ('regression: late-autumn window through december',\n   (80, 0.98, 0.3, 11, 12, 10, 4, 500),\n   [78.4, 96.3397, 117.3885, 115.0407]),\n  ('control: start inside wrap', (70, 0.93, 0.35, 10, 3, 1, 4, 250), [81.9518, 94.7582, 108.0965, 100.5297])],\n [('regression: deer spring births',\n   (100, 0.97, 0.4, 5, 6, 3, 6, 400),\n   [97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),\n  ('control: southern winter breeding wraps',\n   (50, 0.95, 0.3, 11, 2, 10, 6, 300),\n   [47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636]),\n  ('control: december start', (80, 0.98, 0.25, 12, 1, 12, 3, 500), [94.9267, 111.9581, 109.7189]),\n  ('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),\n  ('regression: full year',\n   (30, 0.96, 0.2, 3, 5, 1, 12, 100),\n   [28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377]),\n  ('regression: late-autumn window through december',\n   (80, 0.98, 0.3, 11, 12, 10, 4, 500),\n   [78.4, 96.3397, 117.3885, 115.0407]),\n  ('control: start inside wrap', (70, 0.93, 0.35, 10, 3, 1, 4, 250), [81.9518, 94.7582, 108.0965, 100.5297])],\n [('regression: deer spring births',\n   (100, 0.97, 0.4, 5, 6, 3, 6, 400),\n   [97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),\n  ('control: southern winter breeding wraps',\n   (50, 0.95, 0.3, 11, 2, 10, 6, 300),\n   [47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636]),\n  ('control: december start', (80, 0.98, 0.25, 12, 1, 12, 3, 500), [94.9267, 111.9581, 109.7189]),\n  ('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),\n  ('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),\n  ('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),\n  ('regression: full year',\n   (30, 0.96, 0.2, 3, 5, 1, 12, 100),\n   [28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377])],\n [('regression: deer spring births',\n   (100, 0.97, 0.4, 5, 6, 3, 6, 400),\n   [97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888]),\n  ('regression: single month window end', (60, 0.9, 0.5, 4, 4, 3, 3, 200), [54.0, 66.9951, 60.2956]),\n  ('control: above cap no births', (500, 0.99, 0.3, 1, 12, 1, 3, 400), [495.0, 490.05, 485.1495]),\n  ('control: no breeding months reached', (40, 0.95, 0.3, 8, 9, 1, 4, 200), [38.0, 36.1, 34.295, 32.5802]),\n  ('regression: full year',\n   (30, 0.96, 0.2, 3, 5, 1, 12, 100),\n   [28.8, 27.648, 30.4415, 33.3606, 36.38, 34.9248, 33.5278, 32.1867, 30.8993, 29.6633, 28.4768, 27.3377]),\n  ('regression: late-autumn window through december',\n   (80, 0.98, 0.3, 11, 12, 10, 4, 500),\n   [78.4, 96.3397, 117.3885, 115.0407]),\n  ('control: start inside wrap', (70, 0.93, 0.35, 10, 3, 1, 4, 250), [81.9518, 94.7582, 108.0965, 100.5297])]]\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-ecopop-birth-pulse-inclusive-window-end","generated_at":"2026-09-29T14:47:37.221464+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Population projections set harvest quotas, conservation status and pest-control timing; a wrong update order, boundary or rate conversion silently changes management advice.","root_cause":"The breeding window excludes its end month.","sha256":"8f22daf7609f1b0dd69d2e3301ba77812e640c2049260e4def154b3895ad5b51","title":"Monthly population with seasonal breeding window: inclusive window end · 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":41.457,"exit_code":1,"observations":[{"actual":[97.0,94.09,91.2673,116.1036,112.6205,109.2418],"check":"regression: deer spring births","expected":[97.0,94.09,119.4445,148.7818,144.3184,139.9888],"passed":false},{"actual":[47.5,56.6262,67.0395,78.7377,91.6459,87.0636],"check":"control: southern winter breeding wraps","expected":[47.5,56.6262,67.0395,78.7377,91.6459,87.0636],"passed":true},{"actual":[94.9267,111.9581,109.7189],"check":"control: december start","expected":[94.9267,111.9581,109.7189],"passed":true},{"actual":[54.0,48.6,43.74],"check":"regression: single month window end","expected":[54.0,66.9951,60.2956],"passed":false},{"actual":[495.0,490.05,485.1495],"check":"control: above cap no births","expected":[495.0,490.05,485.1495],"passed":true},{"actual":[38.0,36.1,34.295,32.5802],"check":"control: no breeding months reached","expected":[38.0,36.1,34.295,32.5802],"passed":true},{"actual":[28.8,27.648,26.5421,29.278,32.1482,30.8623,29.6278,28.4427,27.305,26.2128,25.1643,24.1577],"check":"regression: full year","expected":[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":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: deer spring births\", \"actual\": [97.0, 94.09, 91.2673, 116.1036, 112.6205, 109.2418], \"expected\": [97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888], \"passed\": false}, {\"check\": \"control: southern winter breeding wraps\", \"actual\": [47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636], \"expected\": [47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636], \"passed\": true}, {\"check\": \"control: december start\", \"actual\": [94.9267, 111.9581, 109.7189], \"expected\": [94.9267, 111.9581, 109.7189], \"passed\": true}, {\"check\": \"regression: single month window end\", \"actual\": [54.0, 48.6, 43.74], \"expected\": [54.0, 66.9951, 60.2956], \"passed\": false}, {\"check\": \"control: above cap no births\", \"actual\": [495.0, 490.05, 485.1495], \"expected\": [495.0, 490.05, 485.1495], \"passed\": true}, {\"check\": \"control: no breeding months reached\", \"actual\": [38.0, 36.1, 34.295, 32.5802], \"expected\": [38.0, 36.1, 34.295, 32.5802], \"passed\": true}, {\"check\": \"regression: full year\", \"actual\": [28.8, 27.648, 26.5421, 29.278, 32.1482, 30.8623, 29.6278, 28.4427, 27.305, 26.2128, 25.1643, 24.1577], \"expected\": [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\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.706,"exit_code":1,"observations":[{"actual":[97.0,94.09,119.4445,115.8612,112.3853,109.0138],"check":"regression: deer spring births","expected":[97.0,94.09,119.4445,148.7818,144.3184,139.9888],"passed":false},{"actual":[47.5,56.6262,67.0395,78.7377,91.6459,87.0636],"check":"control: southern winter breeding wraps","expected":[47.5,56.6262,67.0395,78.7377,91.6459,87.0636],"passed":true},{"actual":[94.9267,111.9581,109.7189],"check":"control: december start","expected":[94.9267,111.9581,109.7189],"passed":true},{"actual":[54.0,48.6,43.74],"check":"regression: single month window end","expected":[54.0,66.9951,60.2956],"passed":false},{"actual":[495.0,490.05,485.1495],"check":"control: above cap no births","expected":[495.0,490.05,485.1495],"passed":true},{"actual":[38.0,36.1,34.295,32.5802],"check":"control: no breeding months reached","expected":[38.0,36.1,34.295,32.5802],"passed":true},{"actual":[28.8,27.648,30.4415,33.3606,32.0262,30.7451,29.5153,28.3347,27.2013,26.1133,25.0687,24.066],"check":"regression: full year","expected":[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":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: deer spring births\", \"actual\": [97.0, 94.09, 119.4445, 115.8612, 112.3853, 109.0138], \"expected\": [97.0, 94.09, 119.4445, 148.7818, 144.3184, 139.9888], \"passed\": false}, {\"check\": \"control: southern winter breeding wraps\", \"actual\": [47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636], \"expected\": [47.5, 56.6262, 67.0395, 78.7377, 91.6459, 87.0636], \"passed\": true}, {\"check\": \"control: december start\", \"actual\": [94.9267, 111.9581, 109.7189], \"expected\": [94.9267, 111.9581, 109.7189], \"passed\": true}, {\"check\": \"regression: single month window end\", \"actual\": [54.0, 48.6, 43.74], \"expected\": [54.0, 66.9951, 60.2956], \"passed\": false}, {\"check\": \"control: above cap no births\", \"actual\": [495.0, 490.05, 485.1495], \"expected\": [495.0, 490.05, 485.1495], \"passed\": true}, {\"check\": \"control: no breeding months reached\", \"actual\": [38.0, 36.1, 34.295, 32.5802], \"expected\": [38.0, 36.1, 34.295, 32.5802], \"passed\": true}, {\"check\": \"regression: full year\", \"actual\": [28.8, 27.648, 30.4415, 33.3606, 32.0262, 30.7451, 29.5153, 28.3347, 27.2013, 26.1133, 25.0687, 24.066], \"expected\": [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\": false}], \"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."}}