{"abstract":"With two open-ended stops, the review is reported as expiring although an earlier stop froze it.","category":"Legal deadline computation","checks":7,"contract":"Stipulated: a review has days_allowed clock days, counted from the day after start. A pause [stop, resume] stops the clock on the stop day and every day before the resume day; the resume day counts. A pause with resume None is open-ended and starts on its stop day; if the clock would reach a day on or after the earliest open-ended stop before expiring, the result is None. Return the date of the last clock day.","contract_signature":"start, days_allowed, pauses","evaluation_group":"w2-legal-deadline-computation-regulatory-stop-clock","failed_approach":"The partial repair `max(open_ended, a)` keeps the latest open-ended stop instead of the earliest.","family":"w2-legal-deadline-computation-regulatory-stop-clock-open-ended-min","id":"FA-77571","implementations":{"attempt":{"sha256":"961f056581a503977096c5ad207291e5cd4c5ed84230676c5a3809a6ca8192c5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(start, days_allowed, pauses):\n    st = dt.date.fromisoformat(start)\n    paused = set()\n    open_ended = None\n    for a, b in pauses:\n        a = dt.date.fromisoformat(a)\n        if b is None:\n            open_ended = a if open_ended is None else max(open_ended, a)\n            continue\n        b = dt.date.fromisoformat(b)\n        for i in range((b - a).days):\n            paused.add(a + dt.timedelta(days=i))\n    d = st\n    counted = 0\n    while counted < days_allowed:\n        d += dt.timedelta(days=1)\n        if open_ended is not None and d >= open_ended:\n            return None\n        if d in paused:\n            continue\n        counted += 1\n    return d.isoformat()\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: pause resume day counts', ['2024-01-01', 10, [['2024-01-04', '2024-01-08']]], '2024-01-15'),\n  ('no pauses', ['2024-01-01', 30, []], '2024-01-31'),\n  ('two open-ended stops', ['2024-01-01', 30, [['2024-01-20', None], ['2024-01-10', None]]], None),\n  ('earlier open-ended listed first', ['2024-01-01', 12, [['2024-01-10', None], ['2024-01-20', None]]], None),\n  ('open-ended after expiry', ['2024-01-01', 10, [['2024-01-20', None]]], '2024-01-11'),\n  ('open-ended on last day', ['2024-01-01', 10, [['2024-01-11', None]]], None),\n  ('open-ended the day after', ['2024-01-01', 10, [['2024-01-12', None]]], '2024-01-11')],\n [('two open-ended stops', ['2024-01-01', 30, [['2024-01-20', None], ['2024-01-10', None]]], None),\n  ('earlier open-ended listed first', ['2024-01-01', 12, [['2024-01-10', None], ['2024-01-20', None]]], None),\n  ('open-ended after expiry', ['2024-01-01', 10, [['2024-01-20', None]]], '2024-01-11'),\n  ('open-ended on last day', ['2024-01-01', 10, [['2024-01-11', None]]], None),\n  ('open-ended the day after', ['2024-01-01', 10, [['2024-01-12', None]]], '2024-01-11'),\n  ('overlapping pauses',\n   ['2024-02-01', 15, [['2024-02-05', '2024-02-10'], ['2024-02-08', '2024-02-12']]],\n   '2024-02-23'),\n  ('pause before start', ['2024-03-10', 5, [['2024-03-01', '2024-03-05']]], '2024-03-15')],\n [('open-ended after expiry', ['2024-01-01', 10, [['2024-01-20', None]]], '2024-01-11'),\n  ('open-ended on last day', ['2024-01-01', 10, [['2024-01-11', None]]], None),\n  ('open-ended the day after', ['2024-01-01', 10, [['2024-01-12', None]]], '2024-01-11'),\n  ('overlapping pauses',\n   ['2024-02-01', 15, [['2024-02-05', '2024-02-10'], ['2024-02-08', '2024-02-12']]],\n   '2024-02-23'),\n  ('pause before start', ['2024-03-10', 5, [['2024-03-01', '2024-03-05']]], '2024-03-15'),\n  ('weekday start', ['2024-04-02', 7, []], '2024-04-09'),\n  ('saturday start', ['2024-04-06', 7, [['2024-04-08', '2024-04-09']]], '2024-04-14'),\n  ('earlier open-ended listed first',\n   ['2024-01-01', 12, [['2024-01-10', None], ['2024-01-20', None]]],\n   None)],\n [('open-ended the day after', ['2024-01-01', 10, [['2024-01-12', None]]], '2024-01-11'),\n  ('overlapping pauses',\n   ['2024-02-01', 15, [['2024-02-05', '2024-02-10'], ['2024-02-08', '2024-02-12']]],\n   '2024-02-23'),\n  ('pause before start', ['2024-03-10', 5, [['2024-03-01', '2024-03-05']]], '2024-03-15'),\n  ('weekday start', ['2024-04-02', 7, []], '2024-04-09'),\n  ('saturday start', ['2024-04-06', 7, [['2024-04-08', '2024-04-09']]], '2024-04-14'),\n  ('pause then open-ended', ['2024-05-01', 20, [['2024-05-05', '2024-05-15'], ['2024-05-25', None]]], None),\n  ('open-ended pushed by pause',\n   ['2024-06-01', 10, [['2024-06-03', '2024-06-06'], ['2024-06-14', None]]],\n   None),\n  ('earlier open-ended listed first',\n   ['2024-01-01', 12, [['2024-01-10', None], ['2024-01-20', None]]],\n   None)],\n [('pause before start', ['2024-03-10', 5, [['2024-03-01', '2024-03-05']]], '2024-03-15'),\n  ('weekday start', ['2024-04-02', 7, []], '2024-04-09'),\n  ('saturday start', ['2024-04-06', 7, [['2024-04-08', '2024-04-09']]], '2024-04-14'),\n  ('pause then open-ended', ['2024-05-01', 20, [['2024-05-05', '2024-05-15'], ['2024-05-25', None]]], None),\n  ('open-ended pushed by pause',\n   ['2024-06-01', 10, [['2024-06-03', '2024-06-06'], ['2024-06-14', None]]],\n   None),\n  ('regression: pause resume day counts', ['2024-01-01', 10, [['2024-01-04', '2024-01-08']]], '2024-01-15'),\n  ('no pauses', ['2024-01-01', 30, []], '2024-01-31'),\n  ('earlier open-ended listed first',\n   ['2024-01-01', 12, [['2024-01-10', None], ['2024-01-20', None]]],\n   None)]]\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":"9fb8a3783cd45b0736ef5eefdad6fcf3b9f8691a5219e84183dabfad2d5f1305","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(start, days_allowed, pauses):\n    st = dt.date.fromisoformat(start)\n    paused = set()\n    open_ended = None\n    for a, b in pauses:\n        a = dt.date.fromisoformat(a)\n        if b is None:\n            open_ended = a if open_ended is None else a\n            continue\n        b = dt.date.fromisoformat(b)\n        for i in range((b - a).days):\n            paused.add(a + dt.timedelta(days=i))\n    d = st\n    counted = 0\n    while counted < days_allowed:\n        d += dt.timedelta(days=1)\n        if open_ended is not None and d >= open_ended:\n            return None\n        if d in paused:\n            continue\n        counted += 1\n    return d.isoformat()\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: pause resume day counts', ['2024-01-01', 10, [['2024-01-04', '2024-01-08']]], '2024-01-15'),\n  ('no pauses', ['2024-01-01', 30, []], '2024-01-31'),\n  ('two open-ended stops', ['2024-01-01', 30, [['2024-01-20', None], ['2024-01-10', None]]], None),\n  ('earlier open-ended listed first', ['2024-01-01', 12, [['2024-01-10', None], ['2024-01-20', None]]], None),\n  ('open-ended after expiry', ['2024-01-01', 10, [['2024-01-20', None]]], '2024-01-11'),\n  ('open-ended on last day', ['2024-01-01', 10, [['2024-01-11', None]]], None),\n  ('open-ended the day after', ['2024-01-01', 10, [['2024-01-12', None]]], '2024-01-11')],\n [('two open-ended stops', ['2024-01-01', 30, [['2024-01-20', None], ['2024-01-10', None]]], None),\n  ('earlier open-ended listed first', ['2024-01-01', 12, [['2024-01-10', None], ['2024-01-20', None]]], None),\n  ('open-ended after expiry', ['2024-01-01', 10, [['2024-01-20', None]]], '2024-01-11'),\n  ('open-ended on last day', ['2024-01-01', 10, [['2024-01-11', None]]], None),\n  ('open-ended the day after', ['2024-01-01', 10, [['2024-01-12', None]]], '2024-01-11'),\n  ('overlapping pauses',\n   ['2024-02-01', 15, [['2024-02-05', '2024-02-10'], ['2024-02-08', '2024-02-12']]],\n   '2024-02-23'),\n  ('pause before start', ['2024-03-10', 5, [['2024-03-01', '2024-03-05']]], '2024-03-15')],\n [('open-ended after expiry', ['2024-01-01', 10, [['2024-01-20', None]]], '2024-01-11'),\n  ('open-ended on last day', ['2024-01-01', 10, [['2024-01-11', None]]], None),\n  ('open-ended the day after', ['2024-01-01', 10, [['2024-01-12', None]]], '2024-01-11'),\n  ('overlapping pauses',\n   ['2024-02-01', 15, [['2024-02-05', '2024-02-10'], ['2024-02-08', '2024-02-12']]],\n   '2024-02-23'),\n  ('pause before start', ['2024-03-10', 5, [['2024-03-01', '2024-03-05']]], '2024-03-15'),\n  ('weekday start', ['2024-04-02', 7, []], '2024-04-09'),\n  ('saturday start', ['2024-04-06', 7, [['2024-04-08', '2024-04-09']]], '2024-04-14'),\n  ('earlier open-ended listed first',\n   ['2024-01-01', 12, [['2024-01-10', None], ['2024-01-20', None]]],\n   None)],\n [('open-ended the day after', ['2024-01-01', 10, [['2024-01-12', None]]], '2024-01-11'),\n  ('overlapping pauses',\n   ['2024-02-01', 15, [['2024-02-05', '2024-02-10'], ['2024-02-08', '2024-02-12']]],\n   '2024-02-23'),\n  ('pause before start', ['2024-03-10', 5, [['2024-03-01', '2024-03-05']]], '2024-03-15'),\n  ('weekday start', ['2024-04-02', 7, []], '2024-04-09'),\n  ('saturday start', ['2024-04-06', 7, [['2024-04-08', '2024-04-09']]], '2024-04-14'),\n  ('pause then open-ended', ['2024-05-01', 20, [['2024-05-05', '2024-05-15'], ['2024-05-25', None]]], None),\n  ('open-ended pushed by pause',\n   ['2024-06-01', 10, [['2024-06-03', '2024-06-06'], ['2024-06-14', None]]],\n   None),\n  ('earlier open-ended listed first',\n   ['2024-01-01', 12, [['2024-01-10', None], ['2024-01-20', None]]],\n   None)],\n [('pause before start', ['2024-03-10', 5, [['2024-03-01', '2024-03-05']]], '2024-03-15'),\n  ('weekday start', ['2024-04-02', 7, []], '2024-04-09'),\n  ('saturday start', ['2024-04-06', 7, [['2024-04-08', '2024-04-09']]], '2024-04-14'),\n  ('pause then open-ended', ['2024-05-01', 20, [['2024-05-05', '2024-05-15'], ['2024-05-25', None]]], None),\n  ('open-ended pushed by pause',\n   ['2024-06-01', 10, [['2024-06-03', '2024-06-06'], ['2024-06-14', None]]],\n   None),\n  ('regression: pause resume day counts', ['2024-01-01', 10, [['2024-01-04', '2024-01-08']]], '2024-01-15'),\n  ('no pauses', ['2024-01-01', 30, []], '2024-01-31'),\n  ('earlier open-ended listed first',\n   ['2024-01-01', 12, [['2024-01-10', None], ['2024-01-20', None]]],\n   None)]]\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-regulatory-stop-clock-open-ended-min","generated_at":"2026-09-29T14:49:26.895948+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.","root_cause":"The last listed open-ended stop replaces earlier ones.","sha256":"692fba4ec52dc2a1c39127c6308eace31c824564d2c9df861ef263c8317d332f","title":"Regulatory review clock with stop-clock pauses: open ended min · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":43.026,"exit_code":1,"observations":[{"actual":"2024-01-15","check":"regression: pause resume day counts","expected":"2024-01-15","passed":true},{"actual":"2024-01-31","check":"no pauses","expected":"2024-01-31","passed":true},{"actual":null,"check":"two open-ended stops","expected":null,"passed":true},{"actual":"2024-01-13","check":"earlier open-ended listed first","expected":null,"passed":false},{"actual":"2024-01-11","check":"open-ended after expiry","expected":"2024-01-11","passed":true},{"actual":null,"check":"open-ended on last day","expected":null,"passed":true},{"actual":"2024-01-11","check":"open-ended the day after","expected":"2024-01-11","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: pause resume day counts\", \"actual\": \"2024-01-15\", \"expected\": \"2024-01-15\", \"passed\": true}, {\"check\": \"no pauses\", \"actual\": \"2024-01-31\", \"expected\": \"2024-01-31\", \"passed\": true}, {\"check\": \"two open-ended stops\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"earlier open-ended listed first\", \"actual\": \"2024-01-13\", \"expected\": null, \"passed\": false}, {\"check\": \"open-ended after expiry\", \"actual\": \"2024-01-11\", \"expected\": \"2024-01-11\", \"passed\": true}, {\"check\": \"open-ended on last day\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"open-ended the day after\", \"actual\": \"2024-01-11\", \"expected\": \"2024-01-11\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.467,"exit_code":1,"observations":[{"actual":"2024-01-15","check":"regression: pause resume day counts","expected":"2024-01-15","passed":true},{"actual":"2024-01-31","check":"no pauses","expected":"2024-01-31","passed":true},{"actual":null,"check":"two open-ended stops","expected":null,"passed":true},{"actual":"2024-01-13","check":"earlier open-ended listed first","expected":null,"passed":false},{"actual":"2024-01-11","check":"open-ended after expiry","expected":"2024-01-11","passed":true},{"actual":null,"check":"open-ended on last day","expected":null,"passed":true},{"actual":"2024-01-11","check":"open-ended the day after","expected":"2024-01-11","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: pause resume day counts\", \"actual\": \"2024-01-15\", \"expected\": \"2024-01-15\", \"passed\": true}, {\"check\": \"no pauses\", \"actual\": \"2024-01-31\", \"expected\": \"2024-01-31\", \"passed\": true}, {\"check\": \"two open-ended stops\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"earlier open-ended listed first\", \"actual\": \"2024-01-13\", \"expected\": null, \"passed\": false}, {\"check\": \"open-ended after expiry\", \"actual\": \"2024-01-11\", \"expected\": \"2024-01-11\", \"passed\": true}, {\"check\": \"open-ended on last day\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"open-ended the day after\", \"actual\": \"2024-01-11\", \"expected\": \"2024-01-11\", \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}