{"abstract":"The carryforward schedule lists zero balances and long-expired losses.","category":"Tax bracket computation","checks":8,"contract":"solve(years, life): years are pre-deduction incomes by year index (negative = operating loss). A loss year reports taxable 0 and creates a carryforward [origin, amount]. In an income year, carryforwards older than life years (year - origin > life) expire; the rest are applied oldest first, limited in total to floor(80% of that year's income). Return [taxable_by_year, remaining] where remaining lists [origin, amount] with amount > 0 not expired as of the final year.","evaluation_group":"w2-tax_bracket_computation-loss-carryforward-limitation","failed_approach":"Dropping zero balances but keeping expired ones still overstates available losses.","family":"w2-tax_bracket_computation-loss-carryforward-limitation-remaining-report","id":"FA-62661","implementations":{"attempt":{"sha256":"46cc6396a67078f0ed2a9b32f9d97cd06a837d039effed7178061c9ca82b25b1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(years, life):\n    nols, out = [], []\n    for y, inc in enumerate(years):\n        if inc < 0:\n            out.append(0)\n            nols.append([y, -inc])\n            continue\n        nols = [n for n in nols if y - n[0] <= life]\n        room = inc * 80 // 100\n        for n in nols:\n            use = min(n[1], room)\n            n[1] -= use\n            room -= use\n            inc -= use\n        out.append(inc)\n    last = len(years) - 1\n    return [out, [[o, a] for o, a in nols if a > 0]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression remaining-report 1', ([-10000, 5000, 20000], 5), [[0, 1000, 14000], []]),\n  ('regression remaining-report 2', ([-5000, -3000, 10000], 5), [[0, 0, 2000], []]),\n  ('partial repair guard 1', ([5000, 20000, -10000, -50000, -50000, -27330, -50000], 3),\n   [[5000, 20000, 0, 0, 0, 0, 0], [[3, 50000], [4, 50000], [5, 27330], [6, 50000]]]),\n  ('partial repair guard 2', ([0, 60000, -10000, -37062, -3000, 0, -3000], 2),\n   [[0, 60000, 0, 0, 0, 0, 0], [[4, 3000], [6, 3000]]]),\n  ('control: expired', ([-10000, 0, 0, 10000], 2), [[0, 0, 0, 10000], []]),\n  ('control: odd cap', ([-50000, 10001], 5), [[0, 2001], [[0, 42000]]]),\n  ('control: expiry boundary', ([-8000, 0, 5000], 2), [[0, 0, 1000], [[0, 4000]]]),\n  ('control: losses after income', ([10000, -4000, -6000, 5000, 5000], 3), [[10000, 0, 0, 1000, 1000], [[2, 2000]]])],\n [('regression remaining-report 1', ([10000, -4000, -6000, 5000, 5000], 3), [[10000, 0, 0, 1000, 1000], [[2, 2000]]]),\n  ('regression remaining-report 2', ([-3000, 20000, -3000, 60000, -50000], 20),\n   [[0, 17000, 0, 57000, 0], [[4, 50000]]]),\n  ('partial repair guard 1', ([-15586, -10000, 60000, 5000, -50000, 60000, -10000], 1),\n   [[0, 0, 50000, 5000, 0, 12000, 0], [[6, 10000]]]),\n  ('partial repair guard 2', ([-50000, 20000, -10000, 0, -50000], 1), [[0, 4000, 0, 0, 0], [[4, 50000]]]),\n  ('control: odd cap', ([-50000, 10001], 5), [[0, 2001], [[0, 42000]]]),\n  ('control: expiry boundary', ([-8000, 0, 5000], 2), [[0, 0, 1000], [[0, 4000]]]),\n  ('control: no losses', ([1000, 2000], 1), [[1000, 2000], []]),\n  ('control: fifo two years', ([-10000, 5000, 20000], 5), [[0, 1000, 14000], []])],\n [('regression remaining-report 1', ([5000, 20000, -10000, -50000, -50000, -27330, -50000], 3),\n   [[5000, 20000, 0, 0, 0, 0, 0], [[3, 50000], [4, 50000], [5, 27330], [6, 50000]]]),\n  ('regression remaining-report 2', ([-50000, 0, -10000, 20000, -10000, 20000], 1), [[0, 0, 0, 10000, 0, 10000], []]),\n  ('partial repair guard 1', ([65824, -10000, 20000, -3000, -50000, -10000], 1),\n   [[65824, 0, 10000, 0, 0, 0], [[4, 50000], [5, 10000]]]),\n  ('partial repair guard 2', ([60000, 0, -3000, -11890, -7608, -50000], 1),\n   [[60000, 0, 0, 0, 0, 0], [[4, 7608], [5, 50000]]]),\n  ('control: no losses', ([1000, 2000], 1), [[1000, 2000], []]),\n  ('control: fifo two years', ([-10000, 5000, 20000], 5), [[0, 1000, 14000], []]),\n  ('control: two losses', ([-5000, -3000, 10000], 5), [[0, 0, 2000], []]),\n  ('control: expired', ([-10000, 0, 0, 10000], 2), [[0, 0, 0, 10000], []])],\n [('regression remaining-report 1', ([-10000, -3000, 31547], 5), [[0, 0, 18547], []]),\n  ('regression remaining-report 2', ([-3000, -10000, -10000, -3000, -3000, 51657, -50000], 5),\n   [[0, 0, 0, 0, 0, 22657, 0], [[6, 50000]]]),\n  ('partial repair guard 1', ([-10000, 0, -10000, -3000], 2), [[0, 0, 0, 0], [[2, 10000], [3, 3000]]]),\n  ('partial repair guard 2', ([0, -50000, 20000, 63705, -50000, 5000, -50000], 1),\n   [[0, 0, 4000, 63705, 0, 1000, 0], [[6, 50000]]]),\n  ('control: expired', ([-10000, 0, 0, 10000], 2), [[0, 0, 0, 10000], []]),\n  ('control: odd cap', ([-50000, 10001], 5), [[0, 2001], [[0, 42000]]]),\n  ('control: expiry boundary', ([-8000, 0, 5000], 2), [[0, 0, 1000], [[0, 4000]]]),\n  ('control: losses after income', ([10000, -4000, -6000, 5000, 5000], 3), [[10000, 0, 0, 1000, 1000], [[2, 2000]]])],\n [('regression remaining-report 1', ([-3000, 5000, 31590, 60000, -50000], 5),\n   [[0, 2000, 31590, 60000, 0], [[4, 50000]]]),\n  ('regression remaining-report 2', ([5000, -3000, 4980, -1988, -10000, -10000, 20000], 5),\n   [[5000, 0, 1980, 0, 0, 0, 4000], [[5, 5988]]]),\n  ('partial repair guard 1', ([-3000, -50000, -50000, -36495], 1), [[0, 0, 0, 0], [[2, 50000], [3, 36495]]]),\n  ('partial repair guard 2', ([-50000, 0, -50000, -10000], 2), [[0, 0, 0, 0], [[2, 50000], [3, 10000]]]),\n  ('control: losses after income', ([10000, -4000, -6000, 5000, 5000], 3), [[10000, 0, 0, 1000, 1000], [[2, 2000]]]),\n  ('control: no losses', ([1000, 2000], 1), [[1000, 2000], []]),\n  ('control: fifo two years', ([-10000, 5000, 20000], 5), [[0, 1000, 14000], []]),\n  ('control: two losses', ([-5000, -3000, 10000], 5), [[0, 0, 2000], []])]]\nfor label, args, expected in cases[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":"0d39eae041218c0ef19daee3ec3d98b2abc3dbfa2f1da743a35c22d302200fb5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(years, life):\n    nols, out = [], []\n    for y, inc in enumerate(years):\n        if inc < 0:\n            out.append(0)\n            nols.append([y, -inc])\n            continue\n        nols = [n for n in nols if y - n[0] <= life]\n        room = inc * 80 // 100\n        for n in nols:\n            use = min(n[1], room)\n            n[1] -= use\n            room -= use\n            inc -= use\n        out.append(inc)\n    last = len(years) - 1\n    return [out, [[o, a] for o, a in nols]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression remaining-report 1', ([-10000, 5000, 20000], 5), [[0, 1000, 14000], []]),\n  ('regression remaining-report 2', ([-5000, -3000, 10000], 5), [[0, 0, 2000], []]),\n  ('partial repair guard 1', ([5000, 20000, -10000, -50000, -50000, -27330, -50000], 3),\n   [[5000, 20000, 0, 0, 0, 0, 0], [[3, 50000], [4, 50000], [5, 27330], [6, 50000]]]),\n  ('partial repair guard 2', ([0, 60000, -10000, -37062, -3000, 0, -3000], 2),\n   [[0, 60000, 0, 0, 0, 0, 0], [[4, 3000], [6, 3000]]]),\n  ('control: expired', ([-10000, 0, 0, 10000], 2), [[0, 0, 0, 10000], []]),\n  ('control: odd cap', ([-50000, 10001], 5), [[0, 2001], [[0, 42000]]]),\n  ('control: expiry boundary', ([-8000, 0, 5000], 2), [[0, 0, 1000], [[0, 4000]]]),\n  ('control: losses after income', ([10000, -4000, -6000, 5000, 5000], 3), [[10000, 0, 0, 1000, 1000], [[2, 2000]]])],\n [('regression remaining-report 1', ([10000, -4000, -6000, 5000, 5000], 3), [[10000, 0, 0, 1000, 1000], [[2, 2000]]]),\n  ('regression remaining-report 2', ([-3000, 20000, -3000, 60000, -50000], 20),\n   [[0, 17000, 0, 57000, 0], [[4, 50000]]]),\n  ('partial repair guard 1', ([-15586, -10000, 60000, 5000, -50000, 60000, -10000], 1),\n   [[0, 0, 50000, 5000, 0, 12000, 0], [[6, 10000]]]),\n  ('partial repair guard 2', ([-50000, 20000, -10000, 0, -50000], 1), [[0, 4000, 0, 0, 0], [[4, 50000]]]),\n  ('control: odd cap', ([-50000, 10001], 5), [[0, 2001], [[0, 42000]]]),\n  ('control: expiry boundary', ([-8000, 0, 5000], 2), [[0, 0, 1000], [[0, 4000]]]),\n  ('control: no losses', ([1000, 2000], 1), [[1000, 2000], []]),\n  ('control: fifo two years', ([-10000, 5000, 20000], 5), [[0, 1000, 14000], []])],\n [('regression remaining-report 1', ([5000, 20000, -10000, -50000, -50000, -27330, -50000], 3),\n   [[5000, 20000, 0, 0, 0, 0, 0], [[3, 50000], [4, 50000], [5, 27330], [6, 50000]]]),\n  ('regression remaining-report 2', ([-50000, 0, -10000, 20000, -10000, 20000], 1), [[0, 0, 0, 10000, 0, 10000], []]),\n  ('partial repair guard 1', ([65824, -10000, 20000, -3000, -50000, -10000], 1),\n   [[65824, 0, 10000, 0, 0, 0], [[4, 50000], [5, 10000]]]),\n  ('partial repair guard 2', ([60000, 0, -3000, -11890, -7608, -50000], 1),\n   [[60000, 0, 0, 0, 0, 0], [[4, 7608], [5, 50000]]]),\n  ('control: no losses', ([1000, 2000], 1), [[1000, 2000], []]),\n  ('control: fifo two years', ([-10000, 5000, 20000], 5), [[0, 1000, 14000], []]),\n  ('control: two losses', ([-5000, -3000, 10000], 5), [[0, 0, 2000], []]),\n  ('control: expired', ([-10000, 0, 0, 10000], 2), [[0, 0, 0, 10000], []])],\n [('regression remaining-report 1', ([-10000, -3000, 31547], 5), [[0, 0, 18547], []]),\n  ('regression remaining-report 2', ([-3000, -10000, -10000, -3000, -3000, 51657, -50000], 5),\n   [[0, 0, 0, 0, 0, 22657, 0], [[6, 50000]]]),\n  ('partial repair guard 1', ([-10000, 0, -10000, -3000], 2), [[0, 0, 0, 0], [[2, 10000], [3, 3000]]]),\n  ('partial repair guard 2', ([0, -50000, 20000, 63705, -50000, 5000, -50000], 1),\n   [[0, 0, 4000, 63705, 0, 1000, 0], [[6, 50000]]]),\n  ('control: expired', ([-10000, 0, 0, 10000], 2), [[0, 0, 0, 10000], []]),\n  ('control: odd cap', ([-50000, 10001], 5), [[0, 2001], [[0, 42000]]]),\n  ('control: expiry boundary', ([-8000, 0, 5000], 2), [[0, 0, 1000], [[0, 4000]]]),\n  ('control: losses after income', ([10000, -4000, -6000, 5000, 5000], 3), [[10000, 0, 0, 1000, 1000], [[2, 2000]]])],\n [('regression remaining-report 1', ([-3000, 5000, 31590, 60000, -50000], 5),\n   [[0, 2000, 31590, 60000, 0], [[4, 50000]]]),\n  ('regression remaining-report 2', ([5000, -3000, 4980, -1988, -10000, -10000, 20000], 5),\n   [[5000, 0, 1980, 0, 0, 0, 4000], [[5, 5988]]]),\n  ('partial repair guard 1', ([-3000, -50000, -50000, -36495], 1), [[0, 0, 0, 0], [[2, 50000], [3, 36495]]]),\n  ('partial repair guard 2', ([-50000, 0, -50000, -10000], 2), [[0, 0, 0, 0], [[2, 50000], [3, 10000]]]),\n  ('control: losses after income', ([10000, -4000, -6000, 5000, 5000], 3), [[10000, 0, 0, 1000, 1000], [[2, 2000]]]),\n  ('control: no losses', ([1000, 2000], 1), [[1000, 2000], []]),\n  ('control: fifo two years', ([-10000, 5000, 20000], 5), [[0, 1000, 14000], []]),\n  ('control: two losses', ([-5000, -3000, 10000], 5), [[0, 0, 2000], []])]]\nfor label, args, expected in cases[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":"609ed1cb7fbf810e0649fbee953ea6592cdb90dc9d627893141f7fc39b9eae3b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(years, life):\n    nols, out = [], []\n    for y, inc in enumerate(years):\n        if inc < 0:\n            out.append(0)\n            nols.append([y, -inc])\n            continue\n        nols = [n for n in nols if y - n[0] <= life]\n        room = inc * 80 // 100\n        for n in nols:\n            use = min(n[1], room)\n            n[1] -= use\n            room -= use\n            inc -= use\n        out.append(inc)\n    last = len(years) - 1\n    return [out, [[o, a] for o, a in nols if a > 0 and last - o <= life]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression remaining-report 1', ([-10000, 5000, 20000], 5), [[0, 1000, 14000], []]),\n  ('regression remaining-report 2', ([-5000, -3000, 10000], 5), [[0, 0, 2000], []]),\n  ('partial repair guard 1', ([5000, 20000, -10000, -50000, -50000, -27330, -50000], 3),\n   [[5000, 20000, 0, 0, 0, 0, 0], [[3, 50000], [4, 50000], [5, 27330], [6, 50000]]]),\n  ('partial repair guard 2', ([0, 60000, -10000, -37062, -3000, 0, -3000], 2),\n   [[0, 60000, 0, 0, 0, 0, 0], [[4, 3000], [6, 3000]]]),\n  ('control: expired', ([-10000, 0, 0, 10000], 2), [[0, 0, 0, 10000], []]),\n  ('control: odd cap', ([-50000, 10001], 5), [[0, 2001], [[0, 42000]]]),\n  ('control: expiry boundary', ([-8000, 0, 5000], 2), [[0, 0, 1000], [[0, 4000]]]),\n  ('control: losses after income', ([10000, -4000, -6000, 5000, 5000], 3), [[10000, 0, 0, 1000, 1000], [[2, 2000]]])],\n [('regression remaining-report 1', ([10000, -4000, -6000, 5000, 5000], 3), [[10000, 0, 0, 1000, 1000], [[2, 2000]]]),\n  ('regression remaining-report 2', ([-3000, 20000, -3000, 60000, -50000], 20),\n   [[0, 17000, 0, 57000, 0], [[4, 50000]]]),\n  ('partial repair guard 1', ([-15586, -10000, 60000, 5000, -50000, 60000, -10000], 1),\n   [[0, 0, 50000, 5000, 0, 12000, 0], [[6, 10000]]]),\n  ('partial repair guard 2', ([-50000, 20000, -10000, 0, -50000], 1), [[0, 4000, 0, 0, 0], [[4, 50000]]]),\n  ('control: odd cap', ([-50000, 10001], 5), [[0, 2001], [[0, 42000]]]),\n  ('control: expiry boundary', ([-8000, 0, 5000], 2), [[0, 0, 1000], [[0, 4000]]]),\n  ('control: no losses', ([1000, 2000], 1), [[1000, 2000], []]),\n  ('control: fifo two years', ([-10000, 5000, 20000], 5), [[0, 1000, 14000], []])],\n [('regression remaining-report 1', ([5000, 20000, -10000, -50000, -50000, -27330, -50000], 3),\n   [[5000, 20000, 0, 0, 0, 0, 0], [[3, 50000], [4, 50000], [5, 27330], [6, 50000]]]),\n  ('regression remaining-report 2', ([-50000, 0, -10000, 20000, -10000, 20000], 1), [[0, 0, 0, 10000, 0, 10000], []]),\n  ('partial repair guard 1', ([65824, -10000, 20000, -3000, -50000, -10000], 1),\n   [[65824, 0, 10000, 0, 0, 0], [[4, 50000], [5, 10000]]]),\n  ('partial repair guard 2', ([60000, 0, -3000, -11890, -7608, -50000], 1),\n   [[60000, 0, 0, 0, 0, 0], [[4, 7608], [5, 50000]]]),\n  ('control: no losses', ([1000, 2000], 1), [[1000, 2000], []]),\n  ('control: fifo two years', ([-10000, 5000, 20000], 5), [[0, 1000, 14000], []]),\n  ('control: two losses', ([-5000, -3000, 10000], 5), [[0, 0, 2000], []]),\n  ('control: expired', ([-10000, 0, 0, 10000], 2), [[0, 0, 0, 10000], []])],\n [('regression remaining-report 1', ([-10000, -3000, 31547], 5), [[0, 0, 18547], []]),\n  ('regression remaining-report 2', ([-3000, -10000, -10000, -3000, -3000, 51657, -50000], 5),\n   [[0, 0, 0, 0, 0, 22657, 0], [[6, 50000]]]),\n  ('partial repair guard 1', ([-10000, 0, -10000, -3000], 2), [[0, 0, 0, 0], [[2, 10000], [3, 3000]]]),\n  ('partial repair guard 2', ([0, -50000, 20000, 63705, -50000, 5000, -50000], 1),\n   [[0, 0, 4000, 63705, 0, 1000, 0], [[6, 50000]]]),\n  ('control: expired', ([-10000, 0, 0, 10000], 2), [[0, 0, 0, 10000], []]),\n  ('control: odd cap', ([-50000, 10001], 5), [[0, 2001], [[0, 42000]]]),\n  ('control: expiry boundary', ([-8000, 0, 5000], 2), [[0, 0, 1000], [[0, 4000]]]),\n  ('control: losses after income', ([10000, -4000, -6000, 5000, 5000], 3), [[10000, 0, 0, 1000, 1000], [[2, 2000]]])],\n [('regression remaining-report 1', ([-3000, 5000, 31590, 60000, -50000], 5),\n   [[0, 2000, 31590, 60000, 0], [[4, 50000]]]),\n  ('regression remaining-report 2', ([5000, -3000, 4980, -1988, -10000, -10000, 20000], 5),\n   [[5000, 0, 1980, 0, 0, 0, 4000], [[5, 5988]]]),\n  ('partial repair guard 1', ([-3000, -50000, -50000, -36495], 1), [[0, 0, 0, 0], [[2, 50000], [3, 36495]]]),\n  ('partial repair guard 2', ([-50000, 0, -50000, -10000], 2), [[0, 0, 0, 0], [[2, 50000], [3, 10000]]]),\n  ('control: losses after income', ([10000, -4000, -6000, 5000, 5000], 3), [[10000, 0, 0, 1000, 1000], [[2, 2000]]]),\n  ('control: no losses', ([1000, 2000], 1), [[1000, 2000], []]),\n  ('control: fifo two years', ([-10000, 5000, 20000], 5), [[0, 1000, 14000], []]),\n  ('control: two losses', ([-5000, -3000, 10000], 5), [[0, 0, 2000], []])]]\nfor label, args, expected in cases[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":"A deterministic, bounded teaching model with a stipulated toy contract; it makes no claim of conformance to any real regulation, standard, or institution's rules. 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-tax_bracket_computation-loss-carryforward-limitation-remaining-report","generated_at":"2026-09-29T14:47:06.663268+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Tax computations hinge on which slice, threshold, ordering and rounding rule applies at each step; a misplaced boundary silently misstates liabilities.","repair":"Report only positive, unexpired balances.","root_cause":"The remaining list is not filtered.","sha256":"1574e81df388a82e4c6c110db45864f25b976a5d292db3e8808c930f7f83e410","title":"Fully used and expired carryforwards remain in the report · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.65,"exit_code":1,"observations":[{"actual":[[0,1000,14000],[]],"check":"regression remaining-report 1","expected":[[0,1000,14000],[]],"passed":true},{"actual":[[0,0,2000],[]],"check":"regression remaining-report 2","expected":[[0,0,2000],[]],"passed":true},{"actual":[[5000,20000,0,0,0,0,0],[[2,10000],[3,50000],[4,50000],[5,27330],[6,50000]]],"check":"partial repair guard 1","expected":[[5000,20000,0,0,0,0,0],[[3,50000],[4,50000],[5,27330],[6,50000]]],"passed":false},{"actual":[[0,60000,0,0,0,0,0],[[3,37062],[4,3000],[6,3000]]],"check":"partial repair guard 2","expected":[[0,60000,0,0,0,0,0],[[4,3000],[6,3000]]],"passed":false},{"actual":[[0,0,0,10000],[]],"check":"control: expired","expected":[[0,0,0,10000],[]],"passed":true},{"actual":[[0,2001],[[0,42000]]],"check":"control: odd cap","expected":[[0,2001],[[0,42000]]],"passed":true},{"actual":[[0,0,1000],[[0,4000]]],"check":"control: expiry boundary","expected":[[0,0,1000],[[0,4000]]],"passed":true},{"actual":[[10000,0,0,1000,1000],[[2,2000]]],"check":"control: losses after income","expected":[[10000,0,0,1000,1000],[[2,2000]]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression remaining-report 1\", \"actual\": [[0, 1000, 14000], []], \"expected\": [[0, 1000, 14000], []], \"passed\": true}, {\"check\": \"regression remaining-report 2\", \"actual\": [[0, 0, 2000], []], \"expected\": [[0, 0, 2000], []], \"passed\": true}, {\"check\": \"partial repair guard 1\", \"actual\": [[5000, 20000, 0, 0, 0, 0, 0], [[2, 10000], [3, 50000], [4, 50000], [5, 27330], [6, 50000]]], \"expected\": [[5000, 20000, 0, 0, 0, 0, 0], [[3, 50000], [4, 50000], [5, 27330], [6, 50000]]], \"passed\": false}, {\"check\": \"partial repair guard 2\", \"actual\": [[0, 60000, 0, 0, 0, 0, 0], [[3, 37062], [4, 3000], [6, 3000]]], \"expected\": [[0, 60000, 0, 0, 0, 0, 0], [[4, 3000], [6, 3000]]], \"passed\": false}, {\"check\": \"control: expired\", \"actual\": [[0, 0, 0, 10000], []], \"expected\": [[0, 0, 0, 10000], []], \"passed\": true}, {\"check\": \"control: odd cap\", \"actual\": [[0, 2001], [[0, 42000]]], \"expected\": [[0, 2001], [[0, 42000]]], \"passed\": true}, {\"check\": \"control: expiry boundary\", \"actual\": [[0, 0, 1000], [[0, 4000]]], \"expected\": [[0, 0, 1000], [[0, 4000]]], \"passed\": true}, {\"check\": \"control: losses after income\", \"actual\": [[10000, 0, 0, 1000, 1000], [[2, 2000]]], \"expected\": [[10000, 0, 0, 1000, 1000], [[2, 2000]]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.953,"exit_code":1,"observations":[{"actual":[[0,1000,14000],[[0,0]]],"check":"regression remaining-report 1","expected":[[0,1000,14000],[]],"passed":false},{"actual":[[0,0,2000],[[0,0],[1,0]]],"check":"regression remaining-report 2","expected":[[0,0,2000],[]],"passed":false},{"actual":[[5000,20000,0,0,0,0,0],[[2,10000],[3,50000],[4,50000],[5,27330],[6,50000]]],"check":"partial repair guard 1","expected":[[5000,20000,0,0,0,0,0],[[3,50000],[4,50000],[5,27330],[6,50000]]],"passed":false},{"actual":[[0,60000,0,0,0,0,0],[[3,37062],[4,3000],[6,3000]]],"check":"partial repair guard 2","expected":[[0,60000,0,0,0,0,0],[[4,3000],[6,3000]]],"passed":false},{"actual":[[0,0,0,10000],[]],"check":"control: expired","expected":[[0,0,0,10000],[]],"passed":true},{"actual":[[0,2001],[[0,42000]]],"check":"control: odd cap","expected":[[0,2001],[[0,42000]]],"passed":true},{"actual":[[0,0,1000],[[0,4000]]],"check":"control: expiry boundary","expected":[[0,0,1000],[[0,4000]]],"passed":true},{"actual":[[10000,0,0,1000,1000],[[1,0],[2,2000]]],"check":"control: losses after income","expected":[[10000,0,0,1000,1000],[[2,2000]]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression remaining-report 1\", \"actual\": [[0, 1000, 14000], [[0, 0]]], \"expected\": [[0, 1000, 14000], []], \"passed\": false}, {\"check\": \"regression remaining-report 2\", \"actual\": [[0, 0, 2000], [[0, 0], [1, 0]]], \"expected\": [[0, 0, 2000], []], \"passed\": false}, {\"check\": \"partial repair guard 1\", \"actual\": [[5000, 20000, 0, 0, 0, 0, 0], [[2, 10000], [3, 50000], [4, 50000], [5, 27330], [6, 50000]]], \"expected\": [[5000, 20000, 0, 0, 0, 0, 0], [[3, 50000], [4, 50000], [5, 27330], [6, 50000]]], \"passed\": false}, {\"check\": \"partial repair guard 2\", \"actual\": [[0, 60000, 0, 0, 0, 0, 0], [[3, 37062], [4, 3000], [6, 3000]]], \"expected\": [[0, 60000, 0, 0, 0, 0, 0], [[4, 3000], [6, 3000]]], \"passed\": false}, {\"check\": \"control: expired\", \"actual\": [[0, 0, 0, 10000], []], \"expected\": [[0, 0, 0, 10000], []], \"passed\": true}, {\"check\": \"control: odd cap\", \"actual\": [[0, 2001], [[0, 42000]]], \"expected\": [[0, 2001], [[0, 42000]]], \"passed\": true}, {\"check\": \"control: expiry boundary\", \"actual\": [[0, 0, 1000], [[0, 4000]]], \"expected\": [[0, 0, 1000], [[0, 4000]]], \"passed\": true}, {\"check\": \"control: losses after income\", \"actual\": [[10000, 0, 0, 1000, 1000], [[1, 0], [2, 2000]]], \"expected\": [[10000, 0, 0, 1000, 1000], [[2, 2000]]], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.093,"exit_code":0,"observations":[{"actual":[[0,1000,14000],[]],"check":"regression remaining-report 1","expected":[[0,1000,14000],[]],"passed":true},{"actual":[[0,0,2000],[]],"check":"regression remaining-report 2","expected":[[0,0,2000],[]],"passed":true},{"actual":[[5000,20000,0,0,0,0,0],[[3,50000],[4,50000],[5,27330],[6,50000]]],"check":"partial repair guard 1","expected":[[5000,20000,0,0,0,0,0],[[3,50000],[4,50000],[5,27330],[6,50000]]],"passed":true},{"actual":[[0,60000,0,0,0,0,0],[[4,3000],[6,3000]]],"check":"partial repair guard 2","expected":[[0,60000,0,0,0,0,0],[[4,3000],[6,3000]]],"passed":true},{"actual":[[0,0,0,10000],[]],"check":"control: expired","expected":[[0,0,0,10000],[]],"passed":true},{"actual":[[0,2001],[[0,42000]]],"check":"control: odd cap","expected":[[0,2001],[[0,42000]]],"passed":true},{"actual":[[0,0,1000],[[0,4000]]],"check":"control: expiry boundary","expected":[[0,0,1000],[[0,4000]]],"passed":true},{"actual":[[10000,0,0,1000,1000],[[2,2000]]],"check":"control: losses after income","expected":[[10000,0,0,1000,1000],[[2,2000]]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression remaining-report 1\", \"actual\": [[0, 1000, 14000], []], \"expected\": [[0, 1000, 14000], []], \"passed\": true}, {\"check\": \"regression remaining-report 2\", \"actual\": [[0, 0, 2000], []], \"expected\": [[0, 0, 2000], []], \"passed\": true}, {\"check\": \"partial repair guard 1\", \"actual\": [[5000, 20000, 0, 0, 0, 0, 0], [[3, 50000], [4, 50000], [5, 27330], [6, 50000]]], \"expected\": [[5000, 20000, 0, 0, 0, 0, 0], [[3, 50000], [4, 50000], [5, 27330], [6, 50000]]], \"passed\": true}, {\"check\": \"partial repair guard 2\", \"actual\": [[0, 60000, 0, 0, 0, 0, 0], [[4, 3000], [6, 3000]]], \"expected\": [[0, 60000, 0, 0, 0, 0, 0], [[4, 3000], [6, 3000]]], \"passed\": true}, {\"check\": \"control: expired\", \"actual\": [[0, 0, 0, 10000], []], \"expected\": [[0, 0, 0, 10000], []], \"passed\": true}, {\"check\": \"control: odd cap\", \"actual\": [[0, 2001], [[0, 42000]]], \"expected\": [[0, 2001], [[0, 42000]]], \"passed\": true}, {\"check\": \"control: expiry boundary\", \"actual\": [[0, 0, 1000], [[0, 4000]]], \"expected\": [[0, 0, 1000], [[0, 4000]]], \"passed\": true}, {\"check\": \"control: losses after income\", \"actual\": [[10000, 0, 0, 1000, 1000], [[2, 2000]]], \"expected\": [[10000, 0, 0, 1000, 1000], [[2, 2000]]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}