{"abstract":"Life expectancy ignores that deaths occur during the interval.","category":"Ecological population dynamics","checks":7,"contract":"l0=1 and l[x+1]=l[x]*px[x]; R0=sum l[x]*mx[x]; generation time T=sum x*l[x]*mx[x]/R0; r=ln(R0)/T (None if T=0); e0 = sum over x of (l[x]+l[x+1])/2; return [R0, T, r, e0] rounded 6 with [0.0, None, None, e0] when R0=0; None for empty or mismatched schedules.","evaluation_group":"w2-ecopop-life-table","failed_approach":"End-of-interval survivorship understates person-years.","family":"w2-ecopop-life-table-life-expectancy-trapezoid","id":"FA-65496","implementations":{"attempt":{"sha256":"c9b9d2b0581bca567c7fc3bd6fe968e806d2472aebb2f1f17c004b95ba7b1f48","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(px, mx):\n    n = len(px)\n    if n == 0 or len(mx) != n:\n        return None\n    l = [1.0]\n    for x in range(1, n + 1):\n        l.append(l[-1] * px[x - 1])\n    e0 = round(sum(l[x + 1] for x in range(n)), 6)\n    r0 = sum(l[x] * mx[x] for x in range(n))\n    if r0 <= 0:\n        return [0.0, None, None, e0]\n    gen = sum(x * l[x] * mx[x] for x in range(n)) / r0\n    rate = math.log(r0) / gen if gen > 0 else None\n    return [round(r0, 6), round(gen, 6), None if rate is None else round(rate, 6), e0]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: songbird', ([0.3, 0.6, 0.6, 0.5], [0.0, 1.5, 2.0, 2.0]), [1.026, 1.77193, 0.014486, 1.115]),\n  ('regression: perennial plant',\n   ([0.1, 0.8, 0.9, 0.9, 0.0], [0.0, 0.0, 5.0, 8.0, 8.0]),\n   [1.4944, 3.079229, 0.130463, 0.8168]),\n  ('regression: replacement cohort', ([0.5, 0.5], [0.0, 4.0]), [2.0, 1.0, 0.693147, 1.125]),\n  ('regression: age zero breeding only', ([0.5, 0.2], [1.5, 0.0]), [1.5, 0.0, None, 1.05]),\n  ('regression: sterile cohort', ([0.9, 0.9], [0.0, 0.0]), [0.0, None, None, 1.805]),\n  ('control: mismatched schedules', ([0.5], [0.0, 1.0]), None),\n  ('regression: annual insect', ([0.05, 0.0], [0.0, 30.0]), [1.5, 1.0, 0.405465, 0.55])],\n [('regression: songbird', ([0.3, 0.6, 0.6, 0.5], [0.0, 1.5, 2.0, 2.0]), [1.026, 1.77193, 0.014486, 1.115]),\n  ('regression: perennial plant',\n   ([0.1, 0.8, 0.9, 0.9, 0.0], [0.0, 0.0, 5.0, 8.0, 8.0]),\n   [1.4944, 3.079229, 0.130463, 0.8168]),\n  ('regression: age zero breeding only', ([0.5, 0.2], [1.5, 0.0]), [1.5, 0.0, None, 1.05]),\n  ('regression: sterile cohort', ([0.9, 0.9], [0.0, 0.0]), [0.0, None, None, 1.805]),\n  ('control: mismatched schedules', ([0.5], [0.0, 1.0]), None),\n  ('regression: annual insect', ([0.05, 0.0], [0.0, 30.0]), [1.5, 1.0, 0.405465, 0.55]),\n  ('regression: long-lived',\n   ([0.95, 0.95, 0.95, 0.95, 0.95, 0.9], [0.0, 0.0, 0.2, 0.4, 0.4, 0.4]),\n   [1.158765, 3.659605, 0.040265, 5.146364])],\n [('regression: songbird', ([0.3, 0.6, 0.6, 0.5], [0.0, 1.5, 2.0, 2.0]), [1.026, 1.77193, 0.014486, 1.115]),\n  ('regression: perennial plant',\n   ([0.1, 0.8, 0.9, 0.9, 0.0], [0.0, 0.0, 5.0, 8.0, 8.0]),\n   [1.4944, 3.079229, 0.130463, 0.8168]),\n  ('regression: replacement cohort', ([0.5, 0.5], [0.0, 4.0]), [2.0, 1.0, 0.693147, 1.125]),\n  ('regression: age zero breeding only', ([0.5, 0.2], [1.5, 0.0]), [1.5, 0.0, None, 1.05]),\n  ('control: mismatched schedules', ([0.5], [0.0, 1.0]), None),\n  ('regression: annual insect', ([0.05, 0.0], [0.0, 30.0]), [1.5, 1.0, 0.405465, 0.55]),\n  ('regression: long-lived',\n   ([0.95, 0.95, 0.95, 0.95, 0.95, 0.9], [0.0, 0.0, 0.2, 0.4, 0.4, 0.4]),\n   [1.158765, 3.659605, 0.040265, 5.146364])],\n [('regression: perennial plant',\n   ([0.1, 0.8, 0.9, 0.9, 0.0], [0.0, 0.0, 5.0, 8.0, 8.0]),\n   [1.4944, 3.079229, 0.130463, 0.8168]),\n  ('regression: replacement cohort', ([0.5, 0.5], [0.0, 4.0]), [2.0, 1.0, 0.693147, 1.125]),\n  ('regression: age zero breeding only', ([0.5, 0.2], [1.5, 0.0]), [1.5, 0.0, None, 1.05]),\n  ('regression: sterile cohort', ([0.9, 0.9], [0.0, 0.0]), [0.0, None, None, 1.805]),\n  ('control: mismatched schedules', ([0.5], [0.0, 1.0]), None),\n  ('regression: annual insect', ([0.05, 0.0], [0.0, 30.0]), [1.5, 1.0, 0.405465, 0.55]),\n  ('regression: long-lived',\n   ([0.95, 0.95, 0.95, 0.95, 0.95, 0.9], [0.0, 0.0, 0.2, 0.4, 0.4, 0.4]),\n   [1.158765, 3.659605, 0.040265, 5.146364])],\n [('regression: songbird', ([0.3, 0.6, 0.6, 0.5], [0.0, 1.5, 2.0, 2.0]), [1.026, 1.77193, 0.014486, 1.115]),\n  ('regression: perennial plant',\n   ([0.1, 0.8, 0.9, 0.9, 0.0], [0.0, 0.0, 5.0, 8.0, 8.0]),\n   [1.4944, 3.079229, 0.130463, 0.8168]),\n  ('regression: replacement cohort', ([0.5, 0.5], [0.0, 4.0]), [2.0, 1.0, 0.693147, 1.125]),\n  ('regression: sterile cohort', ([0.9, 0.9], [0.0, 0.0]), [0.0, None, None, 1.805]),\n  ('control: mismatched schedules', ([0.5], [0.0, 1.0]), None),\n  ('regression: annual insect', ([0.05, 0.0], [0.0, 30.0]), [1.5, 1.0, 0.405465, 0.55]),\n  ('regression: long-lived',\n   ([0.95, 0.95, 0.95, 0.95, 0.95, 0.9], [0.0, 0.0, 0.2, 0.4, 0.4, 0.4]),\n   [1.158765, 3.659605, 0.040265, 5.146364])]]\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":"b875e0c34397d4b9e007108d0bc18f9de327692b3d40336a7c45163768d1dfba","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(px, mx):\n    n = len(px)\n    if n == 0 or len(mx) != n:\n        return None\n    l = [1.0]\n    for x in range(1, n + 1):\n        l.append(l[-1] * px[x - 1])\n    e0 = round(sum(l[x] for x in range(n)), 6)\n    r0 = sum(l[x] * mx[x] for x in range(n))\n    if r0 <= 0:\n        return [0.0, None, None, e0]\n    gen = sum(x * l[x] * mx[x] for x in range(n)) / r0\n    rate = math.log(r0) / gen if gen > 0 else None\n    return [round(r0, 6), round(gen, 6), None if rate is None else round(rate, 6), e0]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: songbird', ([0.3, 0.6, 0.6, 0.5], [0.0, 1.5, 2.0, 2.0]), [1.026, 1.77193, 0.014486, 1.115]),\n  ('regression: perennial plant',\n   ([0.1, 0.8, 0.9, 0.9, 0.0], [0.0, 0.0, 5.0, 8.0, 8.0]),\n   [1.4944, 3.079229, 0.130463, 0.8168]),\n  ('regression: replacement cohort', ([0.5, 0.5], [0.0, 4.0]), [2.0, 1.0, 0.693147, 1.125]),\n  ('regression: age zero breeding only', ([0.5, 0.2], [1.5, 0.0]), [1.5, 0.0, None, 1.05]),\n  ('regression: sterile cohort', ([0.9, 0.9], [0.0, 0.0]), [0.0, None, None, 1.805]),\n  ('control: mismatched schedules', ([0.5], [0.0, 1.0]), None),\n  ('regression: annual insect', ([0.05, 0.0], [0.0, 30.0]), [1.5, 1.0, 0.405465, 0.55])],\n [('regression: songbird', ([0.3, 0.6, 0.6, 0.5], [0.0, 1.5, 2.0, 2.0]), [1.026, 1.77193, 0.014486, 1.115]),\n  ('regression: perennial plant',\n   ([0.1, 0.8, 0.9, 0.9, 0.0], [0.0, 0.0, 5.0, 8.0, 8.0]),\n   [1.4944, 3.079229, 0.130463, 0.8168]),\n  ('regression: age zero breeding only', ([0.5, 0.2], [1.5, 0.0]), [1.5, 0.0, None, 1.05]),\n  ('regression: sterile cohort', ([0.9, 0.9], [0.0, 0.0]), [0.0, None, None, 1.805]),\n  ('control: mismatched schedules', ([0.5], [0.0, 1.0]), None),\n  ('regression: annual insect', ([0.05, 0.0], [0.0, 30.0]), [1.5, 1.0, 0.405465, 0.55]),\n  ('regression: long-lived',\n   ([0.95, 0.95, 0.95, 0.95, 0.95, 0.9], [0.0, 0.0, 0.2, 0.4, 0.4, 0.4]),\n   [1.158765, 3.659605, 0.040265, 5.146364])],\n [('regression: songbird', ([0.3, 0.6, 0.6, 0.5], [0.0, 1.5, 2.0, 2.0]), [1.026, 1.77193, 0.014486, 1.115]),\n  ('regression: perennial plant',\n   ([0.1, 0.8, 0.9, 0.9, 0.0], [0.0, 0.0, 5.0, 8.0, 8.0]),\n   [1.4944, 3.079229, 0.130463, 0.8168]),\n  ('regression: replacement cohort', ([0.5, 0.5], [0.0, 4.0]), [2.0, 1.0, 0.693147, 1.125]),\n  ('regression: age zero breeding only', ([0.5, 0.2], [1.5, 0.0]), [1.5, 0.0, None, 1.05]),\n  ('control: mismatched schedules', ([0.5], [0.0, 1.0]), None),\n  ('regression: annual insect', ([0.05, 0.0], [0.0, 30.0]), [1.5, 1.0, 0.405465, 0.55]),\n  ('regression: long-lived',\n   ([0.95, 0.95, 0.95, 0.95, 0.95, 0.9], [0.0, 0.0, 0.2, 0.4, 0.4, 0.4]),\n   [1.158765, 3.659605, 0.040265, 5.146364])],\n [('regression: perennial plant',\n   ([0.1, 0.8, 0.9, 0.9, 0.0], [0.0, 0.0, 5.0, 8.0, 8.0]),\n   [1.4944, 3.079229, 0.130463, 0.8168]),\n  ('regression: replacement cohort', ([0.5, 0.5], [0.0, 4.0]), [2.0, 1.0, 0.693147, 1.125]),\n  ('regression: age zero breeding only', ([0.5, 0.2], [1.5, 0.0]), [1.5, 0.0, None, 1.05]),\n  ('regression: sterile cohort', ([0.9, 0.9], [0.0, 0.0]), [0.0, None, None, 1.805]),\n  ('control: mismatched schedules', ([0.5], [0.0, 1.0]), None),\n  ('regression: annual insect', ([0.05, 0.0], [0.0, 30.0]), [1.5, 1.0, 0.405465, 0.55]),\n  ('regression: long-lived',\n   ([0.95, 0.95, 0.95, 0.95, 0.95, 0.9], [0.0, 0.0, 0.2, 0.4, 0.4, 0.4]),\n   [1.158765, 3.659605, 0.040265, 5.146364])],\n [('regression: songbird', ([0.3, 0.6, 0.6, 0.5], [0.0, 1.5, 2.0, 2.0]), [1.026, 1.77193, 0.014486, 1.115]),\n  ('regression: perennial plant',\n   ([0.1, 0.8, 0.9, 0.9, 0.0], [0.0, 0.0, 5.0, 8.0, 8.0]),\n   [1.4944, 3.079229, 0.130463, 0.8168]),\n  ('regression: replacement cohort', ([0.5, 0.5], [0.0, 4.0]), [2.0, 1.0, 0.693147, 1.125]),\n  ('regression: sterile cohort', ([0.9, 0.9], [0.0, 0.0]), [0.0, None, None, 1.805]),\n  ('control: mismatched schedules', ([0.5], [0.0, 1.0]), None),\n  ('regression: annual insect', ([0.05, 0.0], [0.0, 30.0]), [1.5, 1.0, 0.405465, 0.55]),\n  ('regression: long-lived',\n   ([0.95, 0.95, 0.95, 0.95, 0.95, 0.9], [0.0, 0.0, 0.2, 0.4, 0.4, 0.4]),\n   [1.158765, 3.659605, 0.040265, 5.146364])]]\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":"ca3511178ca0f4d6474e809257ca347cf7aa35cd49976da13fbea900bd0b9aed","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(px, mx):\n    n = len(px)\n    if n == 0 or len(mx) != n:\n        return None\n    l = [1.0]\n    for x in range(1, n + 1):\n        l.append(l[-1] * px[x - 1])\n    e0 = round(sum((l[x] + l[x + 1]) / 2 for x in range(n)), 6)\n    r0 = sum(l[x] * mx[x] for x in range(n))\n    if r0 <= 0:\n        return [0.0, None, None, e0]\n    gen = sum(x * l[x] * mx[x] for x in range(n)) / r0\n    rate = math.log(r0) / gen if gen > 0 else None\n    return [round(r0, 6), round(gen, 6), None if rate is None else round(rate, 6), e0]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: songbird', ([0.3, 0.6, 0.6, 0.5], [0.0, 1.5, 2.0, 2.0]), [1.026, 1.77193, 0.014486, 1.115]),\n  ('regression: perennial plant',\n   ([0.1, 0.8, 0.9, 0.9, 0.0], [0.0, 0.0, 5.0, 8.0, 8.0]),\n   [1.4944, 3.079229, 0.130463, 0.8168]),\n  ('regression: replacement cohort', ([0.5, 0.5], [0.0, 4.0]), [2.0, 1.0, 0.693147, 1.125]),\n  ('regression: age zero breeding only', ([0.5, 0.2], [1.5, 0.0]), [1.5, 0.0, None, 1.05]),\n  ('regression: sterile cohort', ([0.9, 0.9], [0.0, 0.0]), [0.0, None, None, 1.805]),\n  ('control: mismatched schedules', ([0.5], [0.0, 1.0]), None),\n  ('regression: annual insect', ([0.05, 0.0], [0.0, 30.0]), [1.5, 1.0, 0.405465, 0.55])],\n [('regression: songbird', ([0.3, 0.6, 0.6, 0.5], [0.0, 1.5, 2.0, 2.0]), [1.026, 1.77193, 0.014486, 1.115]),\n  ('regression: perennial plant',\n   ([0.1, 0.8, 0.9, 0.9, 0.0], [0.0, 0.0, 5.0, 8.0, 8.0]),\n   [1.4944, 3.079229, 0.130463, 0.8168]),\n  ('regression: age zero breeding only', ([0.5, 0.2], [1.5, 0.0]), [1.5, 0.0, None, 1.05]),\n  ('regression: sterile cohort', ([0.9, 0.9], [0.0, 0.0]), [0.0, None, None, 1.805]),\n  ('control: mismatched schedules', ([0.5], [0.0, 1.0]), None),\n  ('regression: annual insect', ([0.05, 0.0], [0.0, 30.0]), [1.5, 1.0, 0.405465, 0.55]),\n  ('regression: long-lived',\n   ([0.95, 0.95, 0.95, 0.95, 0.95, 0.9], [0.0, 0.0, 0.2, 0.4, 0.4, 0.4]),\n   [1.158765, 3.659605, 0.040265, 5.146364])],\n [('regression: songbird', ([0.3, 0.6, 0.6, 0.5], [0.0, 1.5, 2.0, 2.0]), [1.026, 1.77193, 0.014486, 1.115]),\n  ('regression: perennial plant',\n   ([0.1, 0.8, 0.9, 0.9, 0.0], [0.0, 0.0, 5.0, 8.0, 8.0]),\n   [1.4944, 3.079229, 0.130463, 0.8168]),\n  ('regression: replacement cohort', ([0.5, 0.5], [0.0, 4.0]), [2.0, 1.0, 0.693147, 1.125]),\n  ('regression: age zero breeding only', ([0.5, 0.2], [1.5, 0.0]), [1.5, 0.0, None, 1.05]),\n  ('control: mismatched schedules', ([0.5], [0.0, 1.0]), None),\n  ('regression: annual insect', ([0.05, 0.0], [0.0, 30.0]), [1.5, 1.0, 0.405465, 0.55]),\n  ('regression: long-lived',\n   ([0.95, 0.95, 0.95, 0.95, 0.95, 0.9], [0.0, 0.0, 0.2, 0.4, 0.4, 0.4]),\n   [1.158765, 3.659605, 0.040265, 5.146364])],\n [('regression: perennial plant',\n   ([0.1, 0.8, 0.9, 0.9, 0.0], [0.0, 0.0, 5.0, 8.0, 8.0]),\n   [1.4944, 3.079229, 0.130463, 0.8168]),\n  ('regression: replacement cohort', ([0.5, 0.5], [0.0, 4.0]), [2.0, 1.0, 0.693147, 1.125]),\n  ('regression: age zero breeding only', ([0.5, 0.2], [1.5, 0.0]), [1.5, 0.0, None, 1.05]),\n  ('regression: sterile cohort', ([0.9, 0.9], [0.0, 0.0]), [0.0, None, None, 1.805]),\n  ('control: mismatched schedules', ([0.5], [0.0, 1.0]), None),\n  ('regression: annual insect', ([0.05, 0.0], [0.0, 30.0]), [1.5, 1.0, 0.405465, 0.55]),\n  ('regression: long-lived',\n   ([0.95, 0.95, 0.95, 0.95, 0.95, 0.9], [0.0, 0.0, 0.2, 0.4, 0.4, 0.4]),\n   [1.158765, 3.659605, 0.040265, 5.146364])],\n [('regression: songbird', ([0.3, 0.6, 0.6, 0.5], [0.0, 1.5, 2.0, 2.0]), [1.026, 1.77193, 0.014486, 1.115]),\n  ('regression: perennial plant',\n   ([0.1, 0.8, 0.9, 0.9, 0.0], [0.0, 0.0, 5.0, 8.0, 8.0]),\n   [1.4944, 3.079229, 0.130463, 0.8168]),\n  ('regression: replacement cohort', ([0.5, 0.5], [0.0, 4.0]), [2.0, 1.0, 0.693147, 1.125]),\n  ('regression: sterile cohort', ([0.9, 0.9], [0.0, 0.0]), [0.0, None, None, 1.805]),\n  ('control: mismatched schedules', ([0.5], [0.0, 1.0]), None),\n  ('regression: annual insect', ([0.05, 0.0], [0.0, 30.0]), [1.5, 1.0, 0.405465, 0.55]),\n  ('regression: long-lived',\n   ([0.95, 0.95, 0.95, 0.95, 0.95, 0.9], [0.0, 0.0, 0.2, 0.4, 0.4, 0.4]),\n   [1.158765, 3.659605, 0.040265, 5.146364])]]\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-life-table-life-expectancy-trapezoid","generated_at":"2026-09-29T14:47:34.652925+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.","repair":"Restore the life expectancy trapezoid rule: `(l[x] + l[x + 1]) / 2`.","root_cause":"Person-years use start-of-interval survivorship.","sha256":"18d8da193dd8e0f72c25305e289ff242d48f600ce404e8bb020d820c05906faa","title":"Cohort life table statistics: life expectancy trapezoid · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.722,"exit_code":1,"observations":[{"actual":[1.026,1.77193,0.014486,0.642],"check":"regression: songbird","expected":[1.026,1.77193,0.014486,1.115],"passed":false},{"actual":[1.4944,3.079229,0.130463,0.3168],"check":"regression: perennial plant","expected":[1.4944,3.079229,0.130463,0.8168],"passed":false},{"actual":[2.0,1.0,0.693147,0.75],"check":"regression: replacement cohort","expected":[2.0,1.0,0.693147,1.125],"passed":false},{"actual":[1.5,0.0,null,0.6],"check":"regression: age zero breeding only","expected":[1.5,0.0,null,1.05],"passed":false},{"actual":[0.0,null,null,1.71],"check":"regression: sterile cohort","expected":[0.0,null,null,1.805],"passed":false},{"actual":null,"check":"control: mismatched schedules","expected":null,"passed":true},{"actual":[1.5,1.0,0.405465,0.05],"check":"regression: annual insect","expected":[1.5,1.0,0.405465,0.55],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: songbird\", \"actual\": [1.026, 1.77193, 0.014486, 0.642], \"expected\": [1.026, 1.77193, 0.014486, 1.115], \"passed\": false}, {\"check\": \"regression: perennial plant\", \"actual\": [1.4944, 3.079229, 0.130463, 0.3168], \"expected\": [1.4944, 3.079229, 0.130463, 0.8168], \"passed\": false}, {\"check\": \"regression: replacement cohort\", \"actual\": [2.0, 1.0, 0.693147, 0.75], \"expected\": [2.0, 1.0, 0.693147, 1.125], \"passed\": false}, {\"check\": \"regression: age zero breeding only\", \"actual\": [1.5, 0.0, null, 0.6], \"expected\": [1.5, 0.0, null, 1.05], \"passed\": false}, {\"check\": \"regression: sterile cohort\", \"actual\": [0.0, null, null, 1.71], \"expected\": [0.0, null, null, 1.805], \"passed\": false}, {\"check\": \"control: mismatched schedules\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"regression: annual insect\", \"actual\": [1.5, 1.0, 0.405465, 0.05], \"expected\": [1.5, 1.0, 0.405465, 0.55], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.151,"exit_code":1,"observations":[{"actual":[1.026,1.77193,0.014486,1.588],"check":"regression: songbird","expected":[1.026,1.77193,0.014486,1.115],"passed":false},{"actual":[1.4944,3.079229,0.130463,1.3168],"check":"regression: perennial plant","expected":[1.4944,3.079229,0.130463,0.8168],"passed":false},{"actual":[2.0,1.0,0.693147,1.5],"check":"regression: replacement cohort","expected":[2.0,1.0,0.693147,1.125],"passed":false},{"actual":[1.5,0.0,null,1.5],"check":"regression: age zero breeding only","expected":[1.5,0.0,null,1.05],"passed":false},{"actual":[0.0,null,null,1.9],"check":"regression: sterile cohort","expected":[0.0,null,null,1.805],"passed":false},{"actual":null,"check":"control: mismatched schedules","expected":null,"passed":true},{"actual":[1.5,1.0,0.405465,1.05],"check":"regression: annual insect","expected":[1.5,1.0,0.405465,0.55],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: songbird\", \"actual\": [1.026, 1.77193, 0.014486, 1.588], \"expected\": [1.026, 1.77193, 0.014486, 1.115], \"passed\": false}, {\"check\": \"regression: perennial plant\", \"actual\": [1.4944, 3.079229, 0.130463, 1.3168], \"expected\": [1.4944, 3.079229, 0.130463, 0.8168], \"passed\": false}, {\"check\": \"regression: replacement cohort\", \"actual\": [2.0, 1.0, 0.693147, 1.5], \"expected\": [2.0, 1.0, 0.693147, 1.125], \"passed\": false}, {\"check\": \"regression: age zero breeding only\", \"actual\": [1.5, 0.0, null, 1.5], \"expected\": [1.5, 0.0, null, 1.05], \"passed\": false}, {\"check\": \"regression: sterile cohort\", \"actual\": [0.0, null, null, 1.9], \"expected\": [0.0, null, null, 1.805], \"passed\": false}, {\"check\": \"control: mismatched schedules\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"regression: annual insect\", \"actual\": [1.5, 1.0, 0.405465, 1.05], \"expected\": [1.5, 1.0, 0.405465, 0.55], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.503,"exit_code":0,"observations":[{"actual":[1.026,1.77193,0.014486,1.115],"check":"regression: songbird","expected":[1.026,1.77193,0.014486,1.115],"passed":true},{"actual":[1.4944,3.079229,0.130463,0.8168],"check":"regression: perennial plant","expected":[1.4944,3.079229,0.130463,0.8168],"passed":true},{"actual":[2.0,1.0,0.693147,1.125],"check":"regression: replacement cohort","expected":[2.0,1.0,0.693147,1.125],"passed":true},{"actual":[1.5,0.0,null,1.05],"check":"regression: age zero breeding only","expected":[1.5,0.0,null,1.05],"passed":true},{"actual":[0.0,null,null,1.805],"check":"regression: sterile cohort","expected":[0.0,null,null,1.805],"passed":true},{"actual":null,"check":"control: mismatched schedules","expected":null,"passed":true},{"actual":[1.5,1.0,0.405465,0.55],"check":"regression: annual insect","expected":[1.5,1.0,0.405465,0.55],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: songbird\", \"actual\": [1.026, 1.77193, 0.014486, 1.115], \"expected\": [1.026, 1.77193, 0.014486, 1.115], \"passed\": true}, {\"check\": \"regression: perennial plant\", \"actual\": [1.4944, 3.079229, 0.130463, 0.8168], \"expected\": [1.4944, 3.079229, 0.130463, 0.8168], \"passed\": true}, {\"check\": \"regression: replacement cohort\", \"actual\": [2.0, 1.0, 0.693147, 1.125], \"expected\": [2.0, 1.0, 0.693147, 1.125], \"passed\": true}, {\"check\": \"regression: age zero breeding only\", \"actual\": [1.5, 0.0, null, 1.05], \"expected\": [1.5, 0.0, null, 1.05], \"passed\": true}, {\"check\": \"regression: sterile cohort\", \"actual\": [0.0, null, null, 1.805], \"expected\": [0.0, null, null, 1.805], \"passed\": true}, {\"check\": \"control: mismatched schedules\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"regression: annual insect\", \"actual\": [1.5, 1.0, 0.405465, 0.55], \"expected\": [1.5, 1.0, 0.405465, 0.55], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}