{"abstract":"Three 14-day stipulations extend the deadline by 42 days.","category":"Legal deadline computation","checks":7,"contract":"Stipulated: the original deadline (rolled forward to an open day) may be extended by stipulations [signed, days] processed in order, without court order, up to 30 days in total across all stipulations. A stipulation is valid only if signed on or before the then-current deadline; it grants min(days, remaining cap), added to the current deadline, and the result is rolled forward to an open day (not weekend or listed holiday). Return [final deadline, total days granted].","evaluation_group":"w2-legal-deadline-computation-stipulated-extensions","failed_approach":"The partial repair `min(days, 30)` caps each stipulation separately instead of cumulatively.","family":"w2-legal-deadline-computation-stipulated-extensions-cap-remaining","id":"FA-77726","implementations":{"attempt":{"sha256":"c8c697783376e1e043fc7b3994193c6a365b383bbef390079a05115fa011a6a5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(original, stipulations, holidays):\n    hol = {dt.date.fromisoformat(x) for x in holidays}\n    def roll(d):\n        while d.weekday() >= 5 or d in hol:\n            d += dt.timedelta(days=1)\n        return d\n    base = roll(dt.date.fromisoformat(original))\n    cur = base\n    used = 0\n    for signed, days in stipulations:\n        s = dt.date.fromisoformat(signed)\n        if s > cur:\n            continue\n        grant = min(days, 30)\n        if grant <= 0:\n            continue\n        used += grant\n        nxt = cur + dt.timedelta(days=grant)\n        cur = roll(nxt)\n    return [cur.isoformat(), used]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: second stipulation after original',\n   ['2024-03-01',\n    [['2024-02-28', 10], ['2024-03-08', 10]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-03-21', 20]),\n  ('cap exceeded',\n   ['2024-04-01',\n    [['2024-03-30', 14], ['2024-04-10', 14], ['2024-04-20', 14]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-01', 30]),\n  ('signed on deadline day',\n   ['2024-04-01',\n    [['2024-04-01', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 7]),\n  ('late stipulation',\n   ['2024-04-01',\n    [['2024-04-02', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-01', 0]),\n  ('extension to saturday',\n   ['2024-04-01',\n    [['2024-03-25', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 5]),\n  ('extension to holiday',\n   ['2024-06-12',\n    [['2024-06-10', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-20', 7]),\n  ('original on weekend',\n   ['2024-06-01',\n    [['2024-06-03', 3]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-06', 3])],\n [('signed on deadline day',\n   ['2024-04-01',\n    [['2024-04-01', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 7]),\n  ('late stipulation',\n   ['2024-04-01',\n    [['2024-04-02', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-01', 0]),\n  ('extension to saturday',\n   ['2024-04-01',\n    [['2024-03-25', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 5]),\n  ('extension to holiday',\n   ['2024-06-12',\n    [['2024-06-10', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-20', 7]),\n  ('original on weekend',\n   ['2024-06-01',\n    [['2024-06-03', 3]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-06', 3]),\n  ('exact cap',\n   ['2024-01-08',\n    [['2024-01-05', 20], ['2024-01-20', 10], ['2024-02-01', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-08', 30]),\n  ('single thirty',\n   ['2024-08-01',\n    [['2024-07-01', 30]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-03', 30])],\n [('extension to saturday',\n   ['2024-04-01',\n    [['2024-03-25', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 5]),\n  ('extension to holiday',\n   ['2024-06-12',\n    [['2024-06-10', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-20', 7]),\n  ('original on weekend',\n   ['2024-06-01',\n    [['2024-06-03', 3]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-06', 3]),\n  ('exact cap',\n   ['2024-01-08',\n    [['2024-01-05', 20], ['2024-01-20', 10], ['2024-02-01', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-08', 30]),\n  ('single thirty',\n   ['2024-08-01',\n    [['2024-07-01', 30]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-03', 30]),\n  ('three stacked short',\n   ['2024-09-03',\n    [['2024-09-01', 3], ['2024-09-05', 4], ['2024-09-09', 2]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-12', 9]),\n  ('regression: second stipulation after original',\n   ['2024-03-01',\n    [['2024-02-28', 10], ['2024-03-08', 10]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-03-21', 20])],\n [('original on weekend',\n   ['2024-06-01',\n    [['2024-06-03', 3]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-06', 3]),\n  ('exact cap',\n   ['2024-01-08',\n    [['2024-01-05', 20], ['2024-01-20', 10], ['2024-02-01', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-08', 30]),\n  ('single thirty',\n   ['2024-08-01',\n    [['2024-07-01', 30]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-03', 30]),\n  ('three stacked short',\n   ['2024-09-03',\n    [['2024-09-01', 3], ['2024-09-05', 4], ['2024-09-09', 2]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-12', 9]),\n  ('regression: second stipulation after original',\n   ['2024-03-01',\n    [['2024-02-28', 10], ['2024-03-08', 10]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-03-21', 20]),\n  ('cap exceeded',\n   ['2024-04-01',\n    [['2024-03-30', 14], ['2024-04-10', 14], ['2024-04-20', 14]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-01', 30]),\n  ('signed on deadline day',\n   ['2024-04-01',\n    [['2024-04-01', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 7])],\n [('single thirty',\n   ['2024-08-01',\n    [['2024-07-01', 30]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-03', 30]),\n  ('three stacked short',\n   ['2024-09-03',\n    [['2024-09-01', 3], ['2024-09-05', 4], ['2024-09-09', 2]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-12', 9]),\n  ('regression: second stipulation after original',\n   ['2024-03-01',\n    [['2024-02-28', 10], ['2024-03-08', 10]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-03-21', 20]),\n  ('cap exceeded',\n   ['2024-04-01',\n    [['2024-03-30', 14], ['2024-04-10', 14], ['2024-04-20', 14]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-01', 30]),\n  ('signed on deadline day',\n   ['2024-04-01',\n    [['2024-04-01', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 7]),\n  ('late stipulation',\n   ['2024-04-01',\n    [['2024-04-02', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-01', 0]),\n  ('extension to saturday',\n   ['2024-04-01',\n    [['2024-03-25', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 5])]]\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":"7429ec429dc40df5af2676daaae6232579918597cf8418845b2d4c279e26cf08","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(original, stipulations, holidays):\n    hol = {dt.date.fromisoformat(x) for x in holidays}\n    def roll(d):\n        while d.weekday() >= 5 or d in hol:\n            d += dt.timedelta(days=1)\n        return d\n    base = roll(dt.date.fromisoformat(original))\n    cur = base\n    used = 0\n    for signed, days in stipulations:\n        s = dt.date.fromisoformat(signed)\n        if s > cur:\n            continue\n        grant = days\n        if grant <= 0:\n            continue\n        used += grant\n        nxt = cur + dt.timedelta(days=grant)\n        cur = roll(nxt)\n    return [cur.isoformat(), used]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: second stipulation after original',\n   ['2024-03-01',\n    [['2024-02-28', 10], ['2024-03-08', 10]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-03-21', 20]),\n  ('cap exceeded',\n   ['2024-04-01',\n    [['2024-03-30', 14], ['2024-04-10', 14], ['2024-04-20', 14]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-01', 30]),\n  ('signed on deadline day',\n   ['2024-04-01',\n    [['2024-04-01', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 7]),\n  ('late stipulation',\n   ['2024-04-01',\n    [['2024-04-02', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-01', 0]),\n  ('extension to saturday',\n   ['2024-04-01',\n    [['2024-03-25', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 5]),\n  ('extension to holiday',\n   ['2024-06-12',\n    [['2024-06-10', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-20', 7]),\n  ('original on weekend',\n   ['2024-06-01',\n    [['2024-06-03', 3]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-06', 3])],\n [('signed on deadline day',\n   ['2024-04-01',\n    [['2024-04-01', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 7]),\n  ('late stipulation',\n   ['2024-04-01',\n    [['2024-04-02', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-01', 0]),\n  ('extension to saturday',\n   ['2024-04-01',\n    [['2024-03-25', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 5]),\n  ('extension to holiday',\n   ['2024-06-12',\n    [['2024-06-10', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-20', 7]),\n  ('original on weekend',\n   ['2024-06-01',\n    [['2024-06-03', 3]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-06', 3]),\n  ('exact cap',\n   ['2024-01-08',\n    [['2024-01-05', 20], ['2024-01-20', 10], ['2024-02-01', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-08', 30]),\n  ('single thirty',\n   ['2024-08-01',\n    [['2024-07-01', 30]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-03', 30])],\n [('extension to saturday',\n   ['2024-04-01',\n    [['2024-03-25', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 5]),\n  ('extension to holiday',\n   ['2024-06-12',\n    [['2024-06-10', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-20', 7]),\n  ('original on weekend',\n   ['2024-06-01',\n    [['2024-06-03', 3]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-06', 3]),\n  ('exact cap',\n   ['2024-01-08',\n    [['2024-01-05', 20], ['2024-01-20', 10], ['2024-02-01', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-08', 30]),\n  ('single thirty',\n   ['2024-08-01',\n    [['2024-07-01', 30]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-03', 30]),\n  ('three stacked short',\n   ['2024-09-03',\n    [['2024-09-01', 3], ['2024-09-05', 4], ['2024-09-09', 2]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-12', 9]),\n  ('regression: second stipulation after original',\n   ['2024-03-01',\n    [['2024-02-28', 10], ['2024-03-08', 10]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-03-21', 20])],\n [('original on weekend',\n   ['2024-06-01',\n    [['2024-06-03', 3]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-06', 3]),\n  ('exact cap',\n   ['2024-01-08',\n    [['2024-01-05', 20], ['2024-01-20', 10], ['2024-02-01', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-08', 30]),\n  ('single thirty',\n   ['2024-08-01',\n    [['2024-07-01', 30]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-03', 30]),\n  ('three stacked short',\n   ['2024-09-03',\n    [['2024-09-01', 3], ['2024-09-05', 4], ['2024-09-09', 2]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-12', 9]),\n  ('regression: second stipulation after original',\n   ['2024-03-01',\n    [['2024-02-28', 10], ['2024-03-08', 10]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-03-21', 20]),\n  ('cap exceeded',\n   ['2024-04-01',\n    [['2024-03-30', 14], ['2024-04-10', 14], ['2024-04-20', 14]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-01', 30]),\n  ('signed on deadline day',\n   ['2024-04-01',\n    [['2024-04-01', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 7])],\n [('single thirty',\n   ['2024-08-01',\n    [['2024-07-01', 30]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-03', 30]),\n  ('three stacked short',\n   ['2024-09-03',\n    [['2024-09-01', 3], ['2024-09-05', 4], ['2024-09-09', 2]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-12', 9]),\n  ('regression: second stipulation after original',\n   ['2024-03-01',\n    [['2024-02-28', 10], ['2024-03-08', 10]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-03-21', 20]),\n  ('cap exceeded',\n   ['2024-04-01',\n    [['2024-03-30', 14], ['2024-04-10', 14], ['2024-04-20', 14]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-01', 30]),\n  ('signed on deadline day',\n   ['2024-04-01',\n    [['2024-04-01', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 7]),\n  ('late stipulation',\n   ['2024-04-01',\n    [['2024-04-02', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-01', 0]),\n  ('extension to saturday',\n   ['2024-04-01',\n    [['2024-03-25', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 5])]]\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":"8eb27ce8df57574455c26701251e425539bac4e4a99c23aa87f103938f85ebf5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(original, stipulations, holidays):\n    hol = {dt.date.fromisoformat(x) for x in holidays}\n    def roll(d):\n        while d.weekday() >= 5 or d in hol:\n            d += dt.timedelta(days=1)\n        return d\n    base = roll(dt.date.fromisoformat(original))\n    cur = base\n    used = 0\n    for signed, days in stipulations:\n        s = dt.date.fromisoformat(signed)\n        if s > cur:\n            continue\n        grant = min(days, 30 - used)\n        if grant <= 0:\n            continue\n        used += grant\n        nxt = cur + dt.timedelta(days=grant)\n        cur = roll(nxt)\n    return [cur.isoformat(), used]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: second stipulation after original',\n   ['2024-03-01',\n    [['2024-02-28', 10], ['2024-03-08', 10]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-03-21', 20]),\n  ('cap exceeded',\n   ['2024-04-01',\n    [['2024-03-30', 14], ['2024-04-10', 14], ['2024-04-20', 14]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-01', 30]),\n  ('signed on deadline day',\n   ['2024-04-01',\n    [['2024-04-01', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 7]),\n  ('late stipulation',\n   ['2024-04-01',\n    [['2024-04-02', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-01', 0]),\n  ('extension to saturday',\n   ['2024-04-01',\n    [['2024-03-25', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 5]),\n  ('extension to holiday',\n   ['2024-06-12',\n    [['2024-06-10', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-20', 7]),\n  ('original on weekend',\n   ['2024-06-01',\n    [['2024-06-03', 3]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-06', 3])],\n [('signed on deadline day',\n   ['2024-04-01',\n    [['2024-04-01', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 7]),\n  ('late stipulation',\n   ['2024-04-01',\n    [['2024-04-02', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-01', 0]),\n  ('extension to saturday',\n   ['2024-04-01',\n    [['2024-03-25', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 5]),\n  ('extension to holiday',\n   ['2024-06-12',\n    [['2024-06-10', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-20', 7]),\n  ('original on weekend',\n   ['2024-06-01',\n    [['2024-06-03', 3]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-06', 3]),\n  ('exact cap',\n   ['2024-01-08',\n    [['2024-01-05', 20], ['2024-01-20', 10], ['2024-02-01', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-08', 30]),\n  ('single thirty',\n   ['2024-08-01',\n    [['2024-07-01', 30]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-03', 30])],\n [('extension to saturday',\n   ['2024-04-01',\n    [['2024-03-25', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 5]),\n  ('extension to holiday',\n   ['2024-06-12',\n    [['2024-06-10', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-20', 7]),\n  ('original on weekend',\n   ['2024-06-01',\n    [['2024-06-03', 3]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-06', 3]),\n  ('exact cap',\n   ['2024-01-08',\n    [['2024-01-05', 20], ['2024-01-20', 10], ['2024-02-01', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-08', 30]),\n  ('single thirty',\n   ['2024-08-01',\n    [['2024-07-01', 30]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-03', 30]),\n  ('three stacked short',\n   ['2024-09-03',\n    [['2024-09-01', 3], ['2024-09-05', 4], ['2024-09-09', 2]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-12', 9]),\n  ('regression: second stipulation after original',\n   ['2024-03-01',\n    [['2024-02-28', 10], ['2024-03-08', 10]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-03-21', 20])],\n [('original on weekend',\n   ['2024-06-01',\n    [['2024-06-03', 3]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-06-06', 3]),\n  ('exact cap',\n   ['2024-01-08',\n    [['2024-01-05', 20], ['2024-01-20', 10], ['2024-02-01', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-02-08', 30]),\n  ('single thirty',\n   ['2024-08-01',\n    [['2024-07-01', 30]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-03', 30]),\n  ('three stacked short',\n   ['2024-09-03',\n    [['2024-09-01', 3], ['2024-09-05', 4], ['2024-09-09', 2]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-12', 9]),\n  ('regression: second stipulation after original',\n   ['2024-03-01',\n    [['2024-02-28', 10], ['2024-03-08', 10]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-03-21', 20]),\n  ('cap exceeded',\n   ['2024-04-01',\n    [['2024-03-30', 14], ['2024-04-10', 14], ['2024-04-20', 14]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-01', 30]),\n  ('signed on deadline day',\n   ['2024-04-01',\n    [['2024-04-01', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 7])],\n [('single thirty',\n   ['2024-08-01',\n    [['2024-07-01', 30]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-03', 30]),\n  ('three stacked short',\n   ['2024-09-03',\n    [['2024-09-01', 3], ['2024-09-05', 4], ['2024-09-09', 2]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-09-12', 9]),\n  ('regression: second stipulation after original',\n   ['2024-03-01',\n    [['2024-02-28', 10], ['2024-03-08', 10]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-03-21', 20]),\n  ('cap exceeded',\n   ['2024-04-01',\n    [['2024-03-30', 14], ['2024-04-10', 14], ['2024-04-20', 14]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-05-01', 30]),\n  ('signed on deadline day',\n   ['2024-04-01',\n    [['2024-04-01', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 7]),\n  ('late stipulation',\n   ['2024-04-01',\n    [['2024-04-02', 7]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-01', 0]),\n  ('extension to saturday',\n   ['2024-04-01',\n    [['2024-03-25', 5]],\n    ['2024-01-01',\n     '2024-01-15',\n     '2024-02-19',\n     '2024-05-27',\n     '2024-06-19',\n     '2024-07-04',\n     '2024-09-02',\n     '2024-10-14',\n     '2024-11-11',\n     '2024-11-28',\n     '2024-12-25']],\n   ['2024-04-08', 5])]]\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":"Stipulated toy deadline rules evaluated offline on explicit fixtures. The contract is inspired by common court-rule structures but is not legal advice and makes no claim to reproduce any jurisdiction'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-legal-deadline-computation-stipulated-extensions-cap-remaining","generated_at":"2026-09-29T14:49:28.540048+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Docketing systems compute filing and response deadlines from trigger events; a wrong date can forfeit a right.","repair":"At the cap remaining decision use `min(days, 30 - used)`, leaving the other decision sites of the model unchanged.","root_cause":"The 30-day limit is not enforced.","sha256":"b68a8545cf3852090ada2b51b229e3eacbb6942a2f74631f3644d02d3a1df352","title":"Stacking stipulated extensions under a cumulative cap: cap remaining · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":49.744,"exit_code":1,"observations":[{"actual":["2024-03-21",20],"check":"regression: second stipulation after original","expected":["2024-03-21",20],"passed":true},{"actual":["2024-05-13",42],"check":"cap exceeded","expected":["2024-05-01",30],"passed":false},{"actual":["2024-04-08",7],"check":"signed on deadline day","expected":["2024-04-08",7],"passed":true},{"actual":["2024-04-01",0],"check":"late stipulation","expected":["2024-04-01",0],"passed":true},{"actual":["2024-04-08",5],"check":"extension to saturday","expected":["2024-04-08",5],"passed":true},{"actual":["2024-06-20",7],"check":"extension to holiday","expected":["2024-06-20",7],"passed":true},{"actual":["2024-06-06",3],"check":"original on weekend","expected":["2024-06-06",3],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: second stipulation after original\", \"actual\": [\"2024-03-21\", 20], \"expected\": [\"2024-03-21\", 20], \"passed\": true}, {\"check\": \"cap exceeded\", \"actual\": [\"2024-05-13\", 42], \"expected\": [\"2024-05-01\", 30], \"passed\": false}, {\"check\": \"signed on deadline day\", \"actual\": [\"2024-04-08\", 7], \"expected\": [\"2024-04-08\", 7], \"passed\": true}, {\"check\": \"late stipulation\", \"actual\": [\"2024-04-01\", 0], \"expected\": [\"2024-04-01\", 0], \"passed\": true}, {\"check\": \"extension to saturday\", \"actual\": [\"2024-04-08\", 5], \"expected\": [\"2024-04-08\", 5], \"passed\": true}, {\"check\": \"extension to holiday\", \"actual\": [\"2024-06-20\", 7], \"expected\": [\"2024-06-20\", 7], \"passed\": true}, {\"check\": \"original on weekend\", \"actual\": [\"2024-06-06\", 3], \"expected\": [\"2024-06-06\", 3], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":48.483,"exit_code":1,"observations":[{"actual":["2024-03-21",20],"check":"regression: second stipulation after original","expected":["2024-03-21",20],"passed":true},{"actual":["2024-05-13",42],"check":"cap exceeded","expected":["2024-05-01",30],"passed":false},{"actual":["2024-04-08",7],"check":"signed on deadline day","expected":["2024-04-08",7],"passed":true},{"actual":["2024-04-01",0],"check":"late stipulation","expected":["2024-04-01",0],"passed":true},{"actual":["2024-04-08",5],"check":"extension to saturday","expected":["2024-04-08",5],"passed":true},{"actual":["2024-06-20",7],"check":"extension to holiday","expected":["2024-06-20",7],"passed":true},{"actual":["2024-06-06",3],"check":"original on weekend","expected":["2024-06-06",3],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: second stipulation after original\", \"actual\": [\"2024-03-21\", 20], \"expected\": [\"2024-03-21\", 20], \"passed\": true}, {\"check\": \"cap exceeded\", \"actual\": [\"2024-05-13\", 42], \"expected\": [\"2024-05-01\", 30], \"passed\": false}, {\"check\": \"signed on deadline day\", \"actual\": [\"2024-04-08\", 7], \"expected\": [\"2024-04-08\", 7], \"passed\": true}, {\"check\": \"late stipulation\", \"actual\": [\"2024-04-01\", 0], \"expected\": [\"2024-04-01\", 0], \"passed\": true}, {\"check\": \"extension to saturday\", \"actual\": [\"2024-04-08\", 5], \"expected\": [\"2024-04-08\", 5], \"passed\": true}, {\"check\": \"extension to holiday\", \"actual\": [\"2024-06-20\", 7], \"expected\": [\"2024-06-20\", 7], \"passed\": true}, {\"check\": \"original on weekend\", \"actual\": [\"2024-06-06\", 3], \"expected\": [\"2024-06-06\", 3], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":47.183,"exit_code":0,"observations":[{"actual":["2024-03-21",20],"check":"regression: second stipulation after original","expected":["2024-03-21",20],"passed":true},{"actual":["2024-05-01",30],"check":"cap exceeded","expected":["2024-05-01",30],"passed":true},{"actual":["2024-04-08",7],"check":"signed on deadline day","expected":["2024-04-08",7],"passed":true},{"actual":["2024-04-01",0],"check":"late stipulation","expected":["2024-04-01",0],"passed":true},{"actual":["2024-04-08",5],"check":"extension to saturday","expected":["2024-04-08",5],"passed":true},{"actual":["2024-06-20",7],"check":"extension to holiday","expected":["2024-06-20",7],"passed":true},{"actual":["2024-06-06",3],"check":"original on weekend","expected":["2024-06-06",3],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: second stipulation after original\", \"actual\": [\"2024-03-21\", 20], \"expected\": [\"2024-03-21\", 20], \"passed\": true}, {\"check\": \"cap exceeded\", \"actual\": [\"2024-05-01\", 30], \"expected\": [\"2024-05-01\", 30], \"passed\": true}, {\"check\": \"signed on deadline day\", \"actual\": [\"2024-04-08\", 7], \"expected\": [\"2024-04-08\", 7], \"passed\": true}, {\"check\": \"late stipulation\", \"actual\": [\"2024-04-01\", 0], \"expected\": [\"2024-04-01\", 0], \"passed\": true}, {\"check\": \"extension to saturday\", \"actual\": [\"2024-04-08\", 5], \"expected\": [\"2024-04-08\", 5], \"passed\": true}, {\"check\": \"extension to holiday\", \"actual\": [\"2024-06-20\", 7], \"expected\": [\"2024-06-20\", 7], \"passed\": true}, {\"check\": \"original on weekend\", \"actual\": [\"2024-06-06\", 3], \"expected\": [\"2024-06-06\", 3], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}