{"abstract":"Epidemics saturate too quickly because every past case keeps transmitting.","category":"Epidemic compartment models","checks":7,"contract":"Expected Reed-Frost: C[t+1] = S[t]*(1-(1-p)**C[t]), S[t+1]=S[t]-C[t+1]; cases are infectious for one generation only; stop early once expected cases fall below 1e-9; return [cases per generation including the index generation rounded to 4, final size including index cases rounded to 4]; None for invalid p or negative counts.","evaluation_group":"w2-epidemic-reed-frost","failed_approach":"Carrying half of the previous generation forward is still a multi-generation infectious period.","family":"w2-epidemic-reed-frost-one-generation-infectivity","id":"FA-64931","implementations":{"attempt":{"sha256":"f0626a5d90ec0bb379503a37867ca43296aad38eb152cad2166e1c029a3bf5dd","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(p, s0, i0, generations):\n    if not 0 <= p <= 1 or s0 < 0 or i0 < 0:\n        return None\n    q = 1 - p\n    s = float(s0)\n    c = float(i0)\n    cases = [round(c, 4)]\n    for _ in range(generations):\n        nxt = s * (1 - q ** c)\n        s -= nxt\n        c = nxt + c / 2\n        cases.append(round(c, 4))\n        if c < 1e-9:\n            break\n    return [cases, round(s0 + i0 - s, 4)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: household of 10',\n   (0.1, 9, 1, 6),\n   [[1.0, 0.9, 0.7328, 0.5474, 0.3822, 0.2541, 0.1633], 3.9798]),\n  ('regression: school class',\n   (0.04, 29, 1, 8),\n   [[1.0, 1.16, 1.2876, 1.3596, 1.3602, 1.2872, 1.1541, 0.9844, 0.8038], 10.3969]),\n  ('regression: high contact probability', (0.5, 20, 2, 5), [[2.0, 15.0, 4.9998, 0.0001, 0.0], 22.0]),\n  ('regression: p zero no spread', (0.0, 10, 1, 4), [[1.0, 0.0], 1.0]),\n  ('control: no index cases', (0.2, 10, 0, 4), [[0.0, 0.0], 0.0]),\n  ('control: invalid p', (1.5, 10, 1, 4), None),\n  ('control: zero generations', (0.3, 10, 2, 0), [[2.0], 2.0])],\n [('regression: p zero no spread', (0.0, 10, 1, 4), [[1.0, 0.0], 1.0]),\n  ('regression: p one immediate saturation', (1.0, 10, 1, 4), [[1.0, 10.0, 0.0], 11.0]),\n  ('control: no index cases', (0.2, 10, 0, 4), [[0.0, 0.0], 0.0]),\n  ('control: invalid p', (1.5, 10, 1, 4), None),\n  ('control: zero generations', (0.3, 10, 2, 0), [[2.0], 2.0]),\n  ('regression: fading chain',\n   (0.02, 30, 1, 10),\n   [[1.0, 0.6, 0.3542, 0.2071, 0.1204, 0.0698, 0.0404, 0.0233, 0.0135, 0.0078, 0.0045], 2.4409]),\n  ('regression: large ward',\n   (0.03, 60, 3, 8),\n   [[3.0, 5.2396, 8.0777, 10.182, 9.733, 6.8673, 3.7561, 1.7453, 0.7455], 49.3465])],\n [('regression: household of 10',\n   (0.1, 9, 1, 6),\n   [[1.0, 0.9, 0.7328, 0.5474, 0.3822, 0.2541, 0.1633], 3.9798]),\n  ('control: no index cases', (0.2, 10, 0, 4), [[0.0, 0.0], 0.0]),\n  ('control: invalid p', (1.5, 10, 1, 4), None),\n  ('control: zero generations', (0.3, 10, 2, 0), [[2.0], 2.0]),\n  ('regression: fading chain',\n   (0.02, 30, 1, 10),\n   [[1.0, 0.6, 0.3542, 0.2071, 0.1204, 0.0698, 0.0404, 0.0233, 0.0135, 0.0078, 0.0045], 2.4409]),\n  ('regression: large ward',\n   (0.03, 60, 3, 8),\n   [[3.0, 5.2396, 8.0777, 10.182, 9.733, 6.8673, 3.7561, 1.7453, 0.7455], 49.3465]),\n  ('regression: two generations only', (0.15, 40, 4, 2), [[4.0, 19.1198, 19.9465], 43.0662])],\n [('regression: household of 10',\n   (0.1, 9, 1, 6),\n   [[1.0, 0.9, 0.7328, 0.5474, 0.3822, 0.2541, 0.1633], 3.9798]),\n  ('regression: school class',\n   (0.04, 29, 1, 8),\n   [[1.0, 1.16, 1.2876, 1.3596, 1.3602, 1.2872, 1.1541, 0.9844, 0.8038], 10.3969]),\n  ('control: no index cases', (0.2, 10, 0, 4), [[0.0, 0.0], 0.0]),\n  ('control: invalid p', (1.5, 10, 1, 4), None),\n  ('control: zero generations', (0.3, 10, 2, 0), [[2.0], 2.0]),\n  ('regression: large ward',\n   (0.03, 60, 3, 8),\n   [[3.0, 5.2396, 8.0777, 10.182, 9.733, 6.8673, 3.7561, 1.7453, 0.7455], 49.3465]),\n  ('regression: two generations only', (0.15, 40, 4, 2), [[4.0, 19.1198, 19.9465], 43.0662])],\n [('regression: school class',\n   (0.04, 29, 1, 8),\n   [[1.0, 1.16, 1.2876, 1.3596, 1.3602, 1.2872, 1.1541, 0.9844, 0.8038], 10.3969]),\n  ('regression: high contact probability', (0.5, 20, 2, 5), [[2.0, 15.0, 4.9998, 0.0001, 0.0], 22.0]),\n  ('regression: p zero no spread', (0.0, 10, 1, 4), [[1.0, 0.0], 1.0]),\n  ('regression: p one immediate saturation', (1.0, 10, 1, 4), [[1.0, 10.0, 0.0], 11.0]),\n  ('control: no index cases', (0.2, 10, 0, 4), [[0.0, 0.0], 0.0]),\n  ('control: invalid p', (1.5, 10, 1, 4), None),\n  ('control: zero generations', (0.3, 10, 2, 0), [[2.0], 2.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":"f515906cdc1d4aa0547114898692f1f1ac00f7811ad58d910e158db48b5846ea","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(p, s0, i0, generations):\n    if not 0 <= p <= 1 or s0 < 0 or i0 < 0:\n        return None\n    q = 1 - p\n    s = float(s0)\n    c = float(i0)\n    cases = [round(c, 4)]\n    for _ in range(generations):\n        nxt = s * (1 - q ** c)\n        s -= nxt\n        c += nxt\n        cases.append(round(c, 4))\n        if c < 1e-9:\n            break\n    return [cases, round(s0 + i0 - s, 4)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: household of 10',\n   (0.1, 9, 1, 6),\n   [[1.0, 0.9, 0.7328, 0.5474, 0.3822, 0.2541, 0.1633], 3.9798]),\n  ('regression: school class',\n   (0.04, 29, 1, 8),\n   [[1.0, 1.16, 1.2876, 1.3596, 1.3602, 1.2872, 1.1541, 0.9844, 0.8038], 10.3969]),\n  ('regression: high contact probability', (0.5, 20, 2, 5), [[2.0, 15.0, 4.9998, 0.0001, 0.0], 22.0]),\n  ('regression: p zero no spread', (0.0, 10, 1, 4), [[1.0, 0.0], 1.0]),\n  ('control: no index cases', (0.2, 10, 0, 4), [[0.0, 0.0], 0.0]),\n  ('control: invalid p', (1.5, 10, 1, 4), None),\n  ('control: zero generations', (0.3, 10, 2, 0), [[2.0], 2.0])],\n [('regression: p zero no spread', (0.0, 10, 1, 4), [[1.0, 0.0], 1.0]),\n  ('regression: p one immediate saturation', (1.0, 10, 1, 4), [[1.0, 10.0, 0.0], 11.0]),\n  ('control: no index cases', (0.2, 10, 0, 4), [[0.0, 0.0], 0.0]),\n  ('control: invalid p', (1.5, 10, 1, 4), None),\n  ('control: zero generations', (0.3, 10, 2, 0), [[2.0], 2.0]),\n  ('regression: fading chain',\n   (0.02, 30, 1, 10),\n   [[1.0, 0.6, 0.3542, 0.2071, 0.1204, 0.0698, 0.0404, 0.0233, 0.0135, 0.0078, 0.0045], 2.4409]),\n  ('regression: large ward',\n   (0.03, 60, 3, 8),\n   [[3.0, 5.2396, 8.0777, 10.182, 9.733, 6.8673, 3.7561, 1.7453, 0.7455], 49.3465])],\n [('regression: household of 10',\n   (0.1, 9, 1, 6),\n   [[1.0, 0.9, 0.7328, 0.5474, 0.3822, 0.2541, 0.1633], 3.9798]),\n  ('control: no index cases', (0.2, 10, 0, 4), [[0.0, 0.0], 0.0]),\n  ('control: invalid p', (1.5, 10, 1, 4), None),\n  ('control: zero generations', (0.3, 10, 2, 0), [[2.0], 2.0]),\n  ('regression: fading chain',\n   (0.02, 30, 1, 10),\n   [[1.0, 0.6, 0.3542, 0.2071, 0.1204, 0.0698, 0.0404, 0.0233, 0.0135, 0.0078, 0.0045], 2.4409]),\n  ('regression: large ward',\n   (0.03, 60, 3, 8),\n   [[3.0, 5.2396, 8.0777, 10.182, 9.733, 6.8673, 3.7561, 1.7453, 0.7455], 49.3465]),\n  ('regression: two generations only', (0.15, 40, 4, 2), [[4.0, 19.1198, 19.9465], 43.0662])],\n [('regression: household of 10',\n   (0.1, 9, 1, 6),\n   [[1.0, 0.9, 0.7328, 0.5474, 0.3822, 0.2541, 0.1633], 3.9798]),\n  ('regression: school class',\n   (0.04, 29, 1, 8),\n   [[1.0, 1.16, 1.2876, 1.3596, 1.3602, 1.2872, 1.1541, 0.9844, 0.8038], 10.3969]),\n  ('control: no index cases', (0.2, 10, 0, 4), [[0.0, 0.0], 0.0]),\n  ('control: invalid p', (1.5, 10, 1, 4), None),\n  ('control: zero generations', (0.3, 10, 2, 0), [[2.0], 2.0]),\n  ('regression: large ward',\n   (0.03, 60, 3, 8),\n   [[3.0, 5.2396, 8.0777, 10.182, 9.733, 6.8673, 3.7561, 1.7453, 0.7455], 49.3465]),\n  ('regression: two generations only', (0.15, 40, 4, 2), [[4.0, 19.1198, 19.9465], 43.0662])],\n [('regression: school class',\n   (0.04, 29, 1, 8),\n   [[1.0, 1.16, 1.2876, 1.3596, 1.3602, 1.2872, 1.1541, 0.9844, 0.8038], 10.3969]),\n  ('regression: high contact probability', (0.5, 20, 2, 5), [[2.0, 15.0, 4.9998, 0.0001, 0.0], 22.0]),\n  ('regression: p zero no spread', (0.0, 10, 1, 4), [[1.0, 0.0], 1.0]),\n  ('regression: p one immediate saturation', (1.0, 10, 1, 4), [[1.0, 10.0, 0.0], 11.0]),\n  ('control: no index cases', (0.2, 10, 0, 4), [[0.0, 0.0], 0.0]),\n  ('control: invalid p', (1.5, 10, 1, 4), None),\n  ('control: zero generations', (0.3, 10, 2, 0), [[2.0], 2.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"},"fixed":{"sha256":"6d3b01b8ed8589d5b348cac8214cf97adb3646407601007e59a092e79ce81b41","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(p, s0, i0, generations):\n    if not 0 <= p <= 1 or s0 < 0 or i0 < 0:\n        return None\n    q = 1 - p\n    s = float(s0)\n    c = float(i0)\n    cases = [round(c, 4)]\n    for _ in range(generations):\n        nxt = s * (1 - q ** c)\n        s -= nxt\n        c = nxt\n        cases.append(round(c, 4))\n        if c < 1e-9:\n            break\n    return [cases, round(s0 + i0 - s, 4)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: household of 10',\n   (0.1, 9, 1, 6),\n   [[1.0, 0.9, 0.7328, 0.5474, 0.3822, 0.2541, 0.1633], 3.9798]),\n  ('regression: school class',\n   (0.04, 29, 1, 8),\n   [[1.0, 1.16, 1.2876, 1.3596, 1.3602, 1.2872, 1.1541, 0.9844, 0.8038], 10.3969]),\n  ('regression: high contact probability', (0.5, 20, 2, 5), [[2.0, 15.0, 4.9998, 0.0001, 0.0], 22.0]),\n  ('regression: p zero no spread', (0.0, 10, 1, 4), [[1.0, 0.0], 1.0]),\n  ('control: no index cases', (0.2, 10, 0, 4), [[0.0, 0.0], 0.0]),\n  ('control: invalid p', (1.5, 10, 1, 4), None),\n  ('control: zero generations', (0.3, 10, 2, 0), [[2.0], 2.0])],\n [('regression: p zero no spread', (0.0, 10, 1, 4), [[1.0, 0.0], 1.0]),\n  ('regression: p one immediate saturation', (1.0, 10, 1, 4), [[1.0, 10.0, 0.0], 11.0]),\n  ('control: no index cases', (0.2, 10, 0, 4), [[0.0, 0.0], 0.0]),\n  ('control: invalid p', (1.5, 10, 1, 4), None),\n  ('control: zero generations', (0.3, 10, 2, 0), [[2.0], 2.0]),\n  ('regression: fading chain',\n   (0.02, 30, 1, 10),\n   [[1.0, 0.6, 0.3542, 0.2071, 0.1204, 0.0698, 0.0404, 0.0233, 0.0135, 0.0078, 0.0045], 2.4409]),\n  ('regression: large ward',\n   (0.03, 60, 3, 8),\n   [[3.0, 5.2396, 8.0777, 10.182, 9.733, 6.8673, 3.7561, 1.7453, 0.7455], 49.3465])],\n [('regression: household of 10',\n   (0.1, 9, 1, 6),\n   [[1.0, 0.9, 0.7328, 0.5474, 0.3822, 0.2541, 0.1633], 3.9798]),\n  ('control: no index cases', (0.2, 10, 0, 4), [[0.0, 0.0], 0.0]),\n  ('control: invalid p', (1.5, 10, 1, 4), None),\n  ('control: zero generations', (0.3, 10, 2, 0), [[2.0], 2.0]),\n  ('regression: fading chain',\n   (0.02, 30, 1, 10),\n   [[1.0, 0.6, 0.3542, 0.2071, 0.1204, 0.0698, 0.0404, 0.0233, 0.0135, 0.0078, 0.0045], 2.4409]),\n  ('regression: large ward',\n   (0.03, 60, 3, 8),\n   [[3.0, 5.2396, 8.0777, 10.182, 9.733, 6.8673, 3.7561, 1.7453, 0.7455], 49.3465]),\n  ('regression: two generations only', (0.15, 40, 4, 2), [[4.0, 19.1198, 19.9465], 43.0662])],\n [('regression: household of 10',\n   (0.1, 9, 1, 6),\n   [[1.0, 0.9, 0.7328, 0.5474, 0.3822, 0.2541, 0.1633], 3.9798]),\n  ('regression: school class',\n   (0.04, 29, 1, 8),\n   [[1.0, 1.16, 1.2876, 1.3596, 1.3602, 1.2872, 1.1541, 0.9844, 0.8038], 10.3969]),\n  ('control: no index cases', (0.2, 10, 0, 4), [[0.0, 0.0], 0.0]),\n  ('control: invalid p', (1.5, 10, 1, 4), None),\n  ('control: zero generations', (0.3, 10, 2, 0), [[2.0], 2.0]),\n  ('regression: large ward',\n   (0.03, 60, 3, 8),\n   [[3.0, 5.2396, 8.0777, 10.182, 9.733, 6.8673, 3.7561, 1.7453, 0.7455], 49.3465]),\n  ('regression: two generations only', (0.15, 40, 4, 2), [[4.0, 19.1198, 19.9465], 43.0662])],\n [('regression: school class',\n   (0.04, 29, 1, 8),\n   [[1.0, 1.16, 1.2876, 1.3596, 1.3602, 1.2872, 1.1541, 0.9844, 0.8038], 10.3969]),\n  ('regression: high contact probability', (0.5, 20, 2, 5), [[2.0, 15.0, 4.9998, 0.0001, 0.0], 22.0]),\n  ('regression: p zero no spread', (0.0, 10, 1, 4), [[1.0, 0.0], 1.0]),\n  ('regression: p one immediate saturation', (1.0, 10, 1, 4), [[1.0, 10.0, 0.0], 11.0]),\n  ('control: no index cases', (0.2, 10, 0, 4), [[0.0, 0.0], 0.0]),\n  ('control: invalid p', (1.5, 10, 1, 4), None),\n  ('control: zero generations', (0.3, 10, 2, 0), [[2.0], 2.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-reed-frost-one-generation-infectivity","generated_at":"2026-09-29T14:47:29.446734+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.","repair":"Restore the one-generation infectivity rule: `c = nxt`.","root_cause":"Cases accumulate across generations instead of being infectious for one generation.","sha256":"857d1b7316e0c2ef912b5ba92ae205f94ffc7e01ccb0989d677b9eb41c34f79d","title":"Reed-Frost expected chain-binomial generations: one-generation infectivity · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":38.61,"exit_code":1,"observations":[{"actual":[[1.0,1.4,1.8108,2.1194,2.2155,2.0694,1.7513],7.0588],"check":"regression: household of 10","expected":[[1.0,0.9,0.7328,0.5474,0.3822,0.2541,0.1633],3.9798],"passed":false},{"actual":[[1.0,1.66,2.6541,3.9984,5.5148,6.7546,7.1926,6.6537,5.4578],23.1719],"check":"regression: school class","expected":[[1.0,1.16,1.2876,1.3596,1.3602,1.2872,1.1541,0.9844,0.8038],10.3969],"passed":false},{"actual":[[2.0,16.0,12.9999,6.5,3.25,1.625],22.0],"check":"regression: high contact probability","expected":[[2.0,15.0,4.9998,0.0001,0.0],22.0],"passed":false},{"actual":[[1.0,0.5,0.25,0.125,0.0625],1.0],"check":"regression: p zero no spread","expected":[[1.0,0.0],1.0],"passed":false},{"actual":[[0.0,0.0],0.0],"check":"control: no index cases","expected":[[0.0,0.0],0.0],"passed":true},{"actual":null,"check":"control: invalid p","expected":null,"passed":true},{"actual":[[2.0],2.0],"check":"control: zero generations","expected":[[2.0],2.0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: household of 10\", \"actual\": [[1.0, 1.4, 1.8108, 2.1194, 2.2155, 2.0694, 1.7513], 7.0588], \"expected\": [[1.0, 0.9, 0.7328, 0.5474, 0.3822, 0.2541, 0.1633], 3.9798], \"passed\": false}, {\"check\": \"regression: school class\", \"actual\": [[1.0, 1.66, 2.6541, 3.9984, 5.5148, 6.7546, 7.1926, 6.6537, 5.4578], 23.1719], \"expected\": [[1.0, 1.16, 1.2876, 1.3596, 1.3602, 1.2872, 1.1541, 0.9844, 0.8038], 10.3969], \"passed\": false}, {\"check\": \"regression: high contact probability\", \"actual\": [[2.0, 16.0, 12.9999, 6.5, 3.25, 1.625], 22.0], \"expected\": [[2.0, 15.0, 4.9998, 0.0001, 0.0], 22.0], \"passed\": false}, {\"check\": \"regression: p zero no spread\", \"actual\": [[1.0, 0.5, 0.25, 0.125, 0.0625], 1.0], \"expected\": [[1.0, 0.0], 1.0], \"passed\": false}, {\"check\": \"control: no index cases\", \"actual\": [[0.0, 0.0], 0.0], \"expected\": [[0.0, 0.0], 0.0], \"passed\": true}, {\"check\": \"control: invalid p\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control: zero generations\", \"actual\": [[2.0], 2.0], \"expected\": [[2.0], 2.0], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.837,"exit_code":1,"observations":[{"actual":[[1.0,1.9,3.3695,5.3509,7.3544,8.781,9.5167],9.5167],"check":"regression: household of 10","expected":[[1.0,0.9,0.7328,0.5474,0.3822,0.2541,0.1633],3.9798],"passed":false},{"actual":[[1.0,2.16,4.5097,8.7957,15.1923,22.0357,26.7605,28.9135,29.6662],29.6662],"check":"regression: school class","expected":[[1.0,1.16,1.2876,1.3596,1.3602,1.2872,1.1541,0.9844,0.8038],10.3969],"passed":false},{"actual":[[2.0,17.0,22.0,22.0,22.0,22.0],22.0],"check":"regression: high contact probability","expected":[[2.0,15.0,4.9998,0.0001,0.0],22.0],"passed":false},{"actual":[[1.0,1.0,1.0,1.0,1.0],1.0],"check":"regression: p zero no spread","expected":[[1.0,0.0],1.0],"passed":false},{"actual":[[0.0,0.0],0.0],"check":"control: no index cases","expected":[[0.0,0.0],0.0],"passed":true},{"actual":null,"check":"control: invalid p","expected":null,"passed":true},{"actual":[[2.0],2.0],"check":"control: zero generations","expected":[[2.0],2.0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: household of 10\", \"actual\": [[1.0, 1.9, 3.3695, 5.3509, 7.3544, 8.781, 9.5167], 9.5167], \"expected\": [[1.0, 0.9, 0.7328, 0.5474, 0.3822, 0.2541, 0.1633], 3.9798], \"passed\": false}, {\"check\": \"regression: school class\", \"actual\": [[1.0, 2.16, 4.5097, 8.7957, 15.1923, 22.0357, 26.7605, 28.9135, 29.6662], 29.6662], \"expected\": [[1.0, 1.16, 1.2876, 1.3596, 1.3602, 1.2872, 1.1541, 0.9844, 0.8038], 10.3969], \"passed\": false}, {\"check\": \"regression: high contact probability\", \"actual\": [[2.0, 17.0, 22.0, 22.0, 22.0, 22.0], 22.0], \"expected\": [[2.0, 15.0, 4.9998, 0.0001, 0.0], 22.0], \"passed\": false}, {\"check\": \"regression: p zero no spread\", \"actual\": [[1.0, 1.0, 1.0, 1.0, 1.0], 1.0], \"expected\": [[1.0, 0.0], 1.0], \"passed\": false}, {\"check\": \"control: no index cases\", \"actual\": [[0.0, 0.0], 0.0], \"expected\": [[0.0, 0.0], 0.0], \"passed\": true}, {\"check\": \"control: invalid p\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control: zero generations\", \"actual\": [[2.0], 2.0], \"expected\": [[2.0], 2.0], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.498,"exit_code":0,"observations":[{"actual":[[1.0,0.9,0.7328,0.5474,0.3822,0.2541,0.1633],3.9798],"check":"regression: household of 10","expected":[[1.0,0.9,0.7328,0.5474,0.3822,0.2541,0.1633],3.9798],"passed":true},{"actual":[[1.0,1.16,1.2876,1.3596,1.3602,1.2872,1.1541,0.9844,0.8038],10.3969],"check":"regression: school class","expected":[[1.0,1.16,1.2876,1.3596,1.3602,1.2872,1.1541,0.9844,0.8038],10.3969],"passed":true},{"actual":[[2.0,15.0,4.9998,0.0001,0.0],22.0],"check":"regression: high contact probability","expected":[[2.0,15.0,4.9998,0.0001,0.0],22.0],"passed":true},{"actual":[[1.0,0.0],1.0],"check":"regression: p zero no spread","expected":[[1.0,0.0],1.0],"passed":true},{"actual":[[0.0,0.0],0.0],"check":"control: no index cases","expected":[[0.0,0.0],0.0],"passed":true},{"actual":null,"check":"control: invalid p","expected":null,"passed":true},{"actual":[[2.0],2.0],"check":"control: zero generations","expected":[[2.0],2.0],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: household of 10\", \"actual\": [[1.0, 0.9, 0.7328, 0.5474, 0.3822, 0.2541, 0.1633], 3.9798], \"expected\": [[1.0, 0.9, 0.7328, 0.5474, 0.3822, 0.2541, 0.1633], 3.9798], \"passed\": true}, {\"check\": \"regression: school class\", \"actual\": [[1.0, 1.16, 1.2876, 1.3596, 1.3602, 1.2872, 1.1541, 0.9844, 0.8038], 10.3969], \"expected\": [[1.0, 1.16, 1.2876, 1.3596, 1.3602, 1.2872, 1.1541, 0.9844, 0.8038], 10.3969], \"passed\": true}, {\"check\": \"regression: high contact probability\", \"actual\": [[2.0, 15.0, 4.9998, 0.0001, 0.0], 22.0], \"expected\": [[2.0, 15.0, 4.9998, 0.0001, 0.0], 22.0], \"passed\": true}, {\"check\": \"regression: p zero no spread\", \"actual\": [[1.0, 0.0], 1.0], \"expected\": [[1.0, 0.0], 1.0], \"passed\": true}, {\"check\": \"control: no index cases\", \"actual\": [[0.0, 0.0], 0.0], \"expected\": [[0.0, 0.0], 0.0], \"passed\": true}, {\"check\": \"control: invalid p\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"control: zero generations\", \"actual\": [[2.0], 2.0], \"expected\": [[2.0], 2.0], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}