{"abstract":"A Monday deadline viewed on Saturday is reported as due today.","category":"Legal deadline computation","checks":8,"contract":"For today and a deadline, return [calendar days remaining, court days remaining, status]. Court days remaining counts open days (not Saturday, Sunday or a listed holiday) after today up to and including the deadline; it is None when the deadline has passed. Status is \"overdue\" if the deadline is before today, \"due today\" if equal, \"due soon\" if at most 3 court days remain, else \"open\".","evaluation_group":"w2-legal-deadline-computation-docket-countdown-status","failed_approach":"The partial repair `cal <= 1` also marks tomorrow as due today.","family":"w2-legal-deadline-computation-docket-countdown-status-due-today","id":"FA-77711","implementations":{"attempt":{"sha256":"a775c5a8ddaf933e464500538ac422cffde0a242d719b7d3dc842baa91e1a0c1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(today, deadline, holidays):\n    t = dt.date.fromisoformat(today)\n    dl = dt.date.fromisoformat(deadline)\n    hol = {dt.date.fromisoformat(x) for x in holidays}\n    cal = (dl - t).days\n    if cal < 0:\n        court = None\n    else:\n        court = sum(1 for i in range(1, cal + 1) if (t + dt.timedelta(days=i)).weekday() < 5 and t + dt.timedelta(days=i) not in hol)\n    if cal < 0:\n        status = 'overdue'\n    elif cal <= 1:\n        status = 'due today'\n    elif court <= 3:\n        status = 'due soon'\n    else:\n        status = 'open'\n    return [cal, court, status]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: saturday before monday deadline',\n   ['2024-03-09',\n    '2024-03-11',\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   [2, 1, 'due soon']),\n  ('deadline today',\n   ['2024-03-11',\n    '2024-03-11',\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   [0, 0, 'due today']),\n  ('yesterday',\n   ['2024-03-12',\n    '2024-03-11',\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   [-1, None, 'overdue']),\n  ('three court days',\n   ['2024-03-11',\n    '2024-03-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   [3, 3, 'due soon']),\n  ('long weekend',\n   ['2024-05-24',\n    '2024-05-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   [6, 3, 'due soon']),\n  ('five calendar four court',\n   ['2024-05-23',\n    '2024-05-28',\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   [5, 2, 'due soon']),\n  ('far off',\n   ['2024-01-02',\n    '2024-02-15',\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   [44, 31, 'open']),\n  ('saturday before sunday deadline',\n   ['2024-03-09',\n    '2024-03-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   [1, 0, 'due soon'])],\n [('yesterday',\n   ['2024-03-12',\n    '2024-03-11',\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   [-1, None, 'overdue']),\n  ('three court days',\n   ['2024-03-11',\n    '2024-03-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   [3, 3, 'due soon']),\n  ('long weekend',\n   ['2024-05-24',\n    '2024-05-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   [6, 3, 'due soon']),\n  ('five calendar four court',\n   ['2024-05-23',\n    '2024-05-28',\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   [5, 2, 'due soon']),\n  ('far off',\n   ['2024-01-02',\n    '2024-02-15',\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   [44, 31, 'open']),\n  ('tomorrow',\n   ['2024-04-01',\n    '2024-04-02',\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   [1, 1, 'due soon']),\n  ('two weeks ago',\n   ['2024-04-15',\n    '2024-04-01',\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   [-14, None, 'overdue']),\n  ('saturday before sunday deadline',\n   ['2024-03-09',\n    '2024-03-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   [1, 0, 'due soon'])],\n [('long weekend',\n   ['2024-05-24',\n    '2024-05-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   [6, 3, 'due soon']),\n  ('five calendar four court',\n   ['2024-05-23',\n    '2024-05-28',\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   [5, 2, 'due soon']),\n  ('far off',\n   ['2024-01-02',\n    '2024-02-15',\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   [44, 31, 'open']),\n  ('tomorrow',\n   ['2024-04-01',\n    '2024-04-02',\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   [1, 1, 'due soon']),\n  ('two weeks ago',\n   ['2024-04-15',\n    '2024-04-01',\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   [-14, None, 'overdue']),\n  ('friday to wednesday',\n   ['2024-06-14',\n    '2024-06-19',\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   [5, 2, 'due soon']),\n  ('thanksgiving week',\n   ['2024-11-26',\n    '2024-12-02',\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   [6, 3, 'due soon']),\n  ('saturday before sunday deadline',\n   ['2024-03-09',\n    '2024-03-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   [1, 0, 'due soon'])],\n [('far off',\n   ['2024-01-02',\n    '2024-02-15',\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   [44, 31, 'open']),\n  ('tomorrow',\n   ['2024-04-01',\n    '2024-04-02',\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   [1, 1, 'due soon']),\n  ('two weeks ago',\n   ['2024-04-15',\n    '2024-04-01',\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   [-14, None, 'overdue']),\n  ('friday to wednesday',\n   ['2024-06-14',\n    '2024-06-19',\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   [5, 2, 'due soon']),\n  ('thanksgiving week',\n   ['2024-11-26',\n    '2024-12-02',\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   [6, 3, 'due soon']),\n  ('saturday before sunday deadline',\n   ['2024-03-09',\n    '2024-03-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   [1, 0, 'due soon']),\n  ('regression: saturday before monday deadline',\n   ['2024-03-09',\n    '2024-03-11',\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   [2, 1, 'due soon'])],\n [('two weeks ago',\n   ['2024-04-15',\n    '2024-04-01',\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   [-14, None, 'overdue']),\n  ('friday to wednesday',\n   ['2024-06-14',\n    '2024-06-19',\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   [5, 2, 'due soon']),\n  ('thanksgiving week',\n   ['2024-11-26',\n    '2024-12-02',\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   [6, 3, 'due soon']),\n  ('saturday before sunday deadline',\n   ['2024-03-09',\n    '2024-03-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   [1, 0, 'due soon']),\n  ('regression: saturday before monday deadline',\n   ['2024-03-09',\n    '2024-03-11',\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   [2, 1, 'due soon']),\n  ('deadline today',\n   ['2024-03-11',\n    '2024-03-11',\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   [0, 0, 'due today']),\n  ('yesterday',\n   ['2024-03-12',\n    '2024-03-11',\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   [-1, None, 'overdue'])]]\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":"7e0062a8ea686cfb9976e904c3a6f482e1f9d6af6c2a1ada3ac82631d9a2d6e8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(today, deadline, holidays):\n    t = dt.date.fromisoformat(today)\n    dl = dt.date.fromisoformat(deadline)\n    hol = {dt.date.fromisoformat(x) for x in holidays}\n    cal = (dl - t).days\n    if cal < 0:\n        court = None\n    else:\n        court = sum(1 for i in range(1, cal + 1) if (t + dt.timedelta(days=i)).weekday() < 5 and t + dt.timedelta(days=i) not in hol)\n    if cal < 0:\n        status = 'overdue'\n    elif court == 0:\n        status = 'due today'\n    elif court <= 3:\n        status = 'due soon'\n    else:\n        status = 'open'\n    return [cal, court, status]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: saturday before monday deadline',\n   ['2024-03-09',\n    '2024-03-11',\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   [2, 1, 'due soon']),\n  ('deadline today',\n   ['2024-03-11',\n    '2024-03-11',\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   [0, 0, 'due today']),\n  ('yesterday',\n   ['2024-03-12',\n    '2024-03-11',\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   [-1, None, 'overdue']),\n  ('three court days',\n   ['2024-03-11',\n    '2024-03-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   [3, 3, 'due soon']),\n  ('long weekend',\n   ['2024-05-24',\n    '2024-05-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   [6, 3, 'due soon']),\n  ('five calendar four court',\n   ['2024-05-23',\n    '2024-05-28',\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   [5, 2, 'due soon']),\n  ('far off',\n   ['2024-01-02',\n    '2024-02-15',\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   [44, 31, 'open']),\n  ('saturday before sunday deadline',\n   ['2024-03-09',\n    '2024-03-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   [1, 0, 'due soon'])],\n [('yesterday',\n   ['2024-03-12',\n    '2024-03-11',\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   [-1, None, 'overdue']),\n  ('three court days',\n   ['2024-03-11',\n    '2024-03-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   [3, 3, 'due soon']),\n  ('long weekend',\n   ['2024-05-24',\n    '2024-05-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   [6, 3, 'due soon']),\n  ('five calendar four court',\n   ['2024-05-23',\n    '2024-05-28',\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   [5, 2, 'due soon']),\n  ('far off',\n   ['2024-01-02',\n    '2024-02-15',\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   [44, 31, 'open']),\n  ('tomorrow',\n   ['2024-04-01',\n    '2024-04-02',\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   [1, 1, 'due soon']),\n  ('two weeks ago',\n   ['2024-04-15',\n    '2024-04-01',\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   [-14, None, 'overdue']),\n  ('saturday before sunday deadline',\n   ['2024-03-09',\n    '2024-03-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   [1, 0, 'due soon'])],\n [('long weekend',\n   ['2024-05-24',\n    '2024-05-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   [6, 3, 'due soon']),\n  ('five calendar four court',\n   ['2024-05-23',\n    '2024-05-28',\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   [5, 2, 'due soon']),\n  ('far off',\n   ['2024-01-02',\n    '2024-02-15',\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   [44, 31, 'open']),\n  ('tomorrow',\n   ['2024-04-01',\n    '2024-04-02',\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   [1, 1, 'due soon']),\n  ('two weeks ago',\n   ['2024-04-15',\n    '2024-04-01',\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   [-14, None, 'overdue']),\n  ('friday to wednesday',\n   ['2024-06-14',\n    '2024-06-19',\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   [5, 2, 'due soon']),\n  ('thanksgiving week',\n   ['2024-11-26',\n    '2024-12-02',\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   [6, 3, 'due soon']),\n  ('saturday before sunday deadline',\n   ['2024-03-09',\n    '2024-03-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   [1, 0, 'due soon'])],\n [('far off',\n   ['2024-01-02',\n    '2024-02-15',\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   [44, 31, 'open']),\n  ('tomorrow',\n   ['2024-04-01',\n    '2024-04-02',\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   [1, 1, 'due soon']),\n  ('two weeks ago',\n   ['2024-04-15',\n    '2024-04-01',\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   [-14, None, 'overdue']),\n  ('friday to wednesday',\n   ['2024-06-14',\n    '2024-06-19',\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   [5, 2, 'due soon']),\n  ('thanksgiving week',\n   ['2024-11-26',\n    '2024-12-02',\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   [6, 3, 'due soon']),\n  ('saturday before sunday deadline',\n   ['2024-03-09',\n    '2024-03-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   [1, 0, 'due soon']),\n  ('regression: saturday before monday deadline',\n   ['2024-03-09',\n    '2024-03-11',\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   [2, 1, 'due soon'])],\n [('two weeks ago',\n   ['2024-04-15',\n    '2024-04-01',\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   [-14, None, 'overdue']),\n  ('friday to wednesday',\n   ['2024-06-14',\n    '2024-06-19',\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   [5, 2, 'due soon']),\n  ('thanksgiving week',\n   ['2024-11-26',\n    '2024-12-02',\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   [6, 3, 'due soon']),\n  ('saturday before sunday deadline',\n   ['2024-03-09',\n    '2024-03-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   [1, 0, 'due soon']),\n  ('regression: saturday before monday deadline',\n   ['2024-03-09',\n    '2024-03-11',\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   [2, 1, 'due soon']),\n  ('deadline today',\n   ['2024-03-11',\n    '2024-03-11',\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   [0, 0, 'due today']),\n  ('yesterday',\n   ['2024-03-12',\n    '2024-03-11',\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   [-1, None, 'overdue'])]]\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":"065f19b0ed52bb655e35b9c7232aa6e23d34767348b26553d4bcd12f34641fec","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(today, deadline, holidays):\n    t = dt.date.fromisoformat(today)\n    dl = dt.date.fromisoformat(deadline)\n    hol = {dt.date.fromisoformat(x) for x in holidays}\n    cal = (dl - t).days\n    if cal < 0:\n        court = None\n    else:\n        court = sum(1 for i in range(1, cal + 1) if (t + dt.timedelta(days=i)).weekday() < 5 and t + dt.timedelta(days=i) not in hol)\n    if cal < 0:\n        status = 'overdue'\n    elif cal == 0:\n        status = 'due today'\n    elif court <= 3:\n        status = 'due soon'\n    else:\n        status = 'open'\n    return [cal, court, status]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: saturday before monday deadline',\n   ['2024-03-09',\n    '2024-03-11',\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   [2, 1, 'due soon']),\n  ('deadline today',\n   ['2024-03-11',\n    '2024-03-11',\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   [0, 0, 'due today']),\n  ('yesterday',\n   ['2024-03-12',\n    '2024-03-11',\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   [-1, None, 'overdue']),\n  ('three court days',\n   ['2024-03-11',\n    '2024-03-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   [3, 3, 'due soon']),\n  ('long weekend',\n   ['2024-05-24',\n    '2024-05-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   [6, 3, 'due soon']),\n  ('five calendar four court',\n   ['2024-05-23',\n    '2024-05-28',\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   [5, 2, 'due soon']),\n  ('far off',\n   ['2024-01-02',\n    '2024-02-15',\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   [44, 31, 'open']),\n  ('saturday before sunday deadline',\n   ['2024-03-09',\n    '2024-03-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   [1, 0, 'due soon'])],\n [('yesterday',\n   ['2024-03-12',\n    '2024-03-11',\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   [-1, None, 'overdue']),\n  ('three court days',\n   ['2024-03-11',\n    '2024-03-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   [3, 3, 'due soon']),\n  ('long weekend',\n   ['2024-05-24',\n    '2024-05-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   [6, 3, 'due soon']),\n  ('five calendar four court',\n   ['2024-05-23',\n    '2024-05-28',\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   [5, 2, 'due soon']),\n  ('far off',\n   ['2024-01-02',\n    '2024-02-15',\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   [44, 31, 'open']),\n  ('tomorrow',\n   ['2024-04-01',\n    '2024-04-02',\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   [1, 1, 'due soon']),\n  ('two weeks ago',\n   ['2024-04-15',\n    '2024-04-01',\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   [-14, None, 'overdue']),\n  ('saturday before sunday deadline',\n   ['2024-03-09',\n    '2024-03-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   [1, 0, 'due soon'])],\n [('long weekend',\n   ['2024-05-24',\n    '2024-05-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   [6, 3, 'due soon']),\n  ('five calendar four court',\n   ['2024-05-23',\n    '2024-05-28',\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   [5, 2, 'due soon']),\n  ('far off',\n   ['2024-01-02',\n    '2024-02-15',\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   [44, 31, 'open']),\n  ('tomorrow',\n   ['2024-04-01',\n    '2024-04-02',\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   [1, 1, 'due soon']),\n  ('two weeks ago',\n   ['2024-04-15',\n    '2024-04-01',\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   [-14, None, 'overdue']),\n  ('friday to wednesday',\n   ['2024-06-14',\n    '2024-06-19',\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   [5, 2, 'due soon']),\n  ('thanksgiving week',\n   ['2024-11-26',\n    '2024-12-02',\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   [6, 3, 'due soon']),\n  ('saturday before sunday deadline',\n   ['2024-03-09',\n    '2024-03-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   [1, 0, 'due soon'])],\n [('far off',\n   ['2024-01-02',\n    '2024-02-15',\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   [44, 31, 'open']),\n  ('tomorrow',\n   ['2024-04-01',\n    '2024-04-02',\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   [1, 1, 'due soon']),\n  ('two weeks ago',\n   ['2024-04-15',\n    '2024-04-01',\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   [-14, None, 'overdue']),\n  ('friday to wednesday',\n   ['2024-06-14',\n    '2024-06-19',\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   [5, 2, 'due soon']),\n  ('thanksgiving week',\n   ['2024-11-26',\n    '2024-12-02',\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   [6, 3, 'due soon']),\n  ('saturday before sunday deadline',\n   ['2024-03-09',\n    '2024-03-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   [1, 0, 'due soon']),\n  ('regression: saturday before monday deadline',\n   ['2024-03-09',\n    '2024-03-11',\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   [2, 1, 'due soon'])],\n [('two weeks ago',\n   ['2024-04-15',\n    '2024-04-01',\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   [-14, None, 'overdue']),\n  ('friday to wednesday',\n   ['2024-06-14',\n    '2024-06-19',\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   [5, 2, 'due soon']),\n  ('thanksgiving week',\n   ['2024-11-26',\n    '2024-12-02',\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   [6, 3, 'due soon']),\n  ('saturday before sunday deadline',\n   ['2024-03-09',\n    '2024-03-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   [1, 0, 'due soon']),\n  ('regression: saturday before monday deadline',\n   ['2024-03-09',\n    '2024-03-11',\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   [2, 1, 'due soon']),\n  ('deadline today',\n   ['2024-03-11',\n    '2024-03-11',\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   [0, 0, 'due today']),\n  ('yesterday',\n   ['2024-03-12',\n    '2024-03-11',\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   [-1, None, 'overdue'])]]\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-docket-countdown-status-due-today","generated_at":"2026-09-29T14:49:28.339192+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 due today decision use `cal == 0`, leaving the other decision sites of the model unchanged.","root_cause":"Due today is inferred from zero court days remaining.","sha256":"b69a91013a14ec2269a0acda01f296e5143967b2ed676f5aec1aa44d7c36e7ba","title":"Docket countdown: court days remaining and urgency status: due today · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":48.257,"exit_code":1,"observations":[{"actual":[2,1,"due soon"],"check":"regression: saturday before monday deadline","expected":[2,1,"due soon"],"passed":true},{"actual":[0,0,"due today"],"check":"deadline today","expected":[0,0,"due today"],"passed":true},{"actual":[-1,null,"overdue"],"check":"yesterday","expected":[-1,null,"overdue"],"passed":true},{"actual":[3,3,"due soon"],"check":"three court days","expected":[3,3,"due soon"],"passed":true},{"actual":[6,3,"due soon"],"check":"long weekend","expected":[6,3,"due soon"],"passed":true},{"actual":[5,2,"due soon"],"check":"five calendar four court","expected":[5,2,"due soon"],"passed":true},{"actual":[44,31,"open"],"check":"far off","expected":[44,31,"open"],"passed":true},{"actual":[1,0,"due today"],"check":"saturday before sunday deadline","expected":[1,0,"due soon"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: saturday before monday deadline\", \"actual\": [2, 1, \"due soon\"], \"expected\": [2, 1, \"due soon\"], \"passed\": true}, {\"check\": \"deadline today\", \"actual\": [0, 0, \"due today\"], \"expected\": [0, 0, \"due today\"], \"passed\": true}, {\"check\": \"yesterday\", \"actual\": [-1, null, \"overdue\"], \"expected\": [-1, null, \"overdue\"], \"passed\": true}, {\"check\": \"three court days\", \"actual\": [3, 3, \"due soon\"], \"expected\": [3, 3, \"due soon\"], \"passed\": true}, {\"check\": \"long weekend\", \"actual\": [6, 3, \"due soon\"], \"expected\": [6, 3, \"due soon\"], \"passed\": true}, {\"check\": \"five calendar four court\", \"actual\": [5, 2, \"due soon\"], \"expected\": [5, 2, \"due soon\"], \"passed\": true}, {\"check\": \"far off\", \"actual\": [44, 31, \"open\"], \"expected\": [44, 31, \"open\"], \"passed\": true}, {\"check\": \"saturday before sunday deadline\", \"actual\": [1, 0, \"due today\"], \"expected\": [1, 0, \"due soon\"], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":46.194,"exit_code":1,"observations":[{"actual":[2,1,"due soon"],"check":"regression: saturday before monday deadline","expected":[2,1,"due soon"],"passed":true},{"actual":[0,0,"due today"],"check":"deadline today","expected":[0,0,"due today"],"passed":true},{"actual":[-1,null,"overdue"],"check":"yesterday","expected":[-1,null,"overdue"],"passed":true},{"actual":[3,3,"due soon"],"check":"three court days","expected":[3,3,"due soon"],"passed":true},{"actual":[6,3,"due soon"],"check":"long weekend","expected":[6,3,"due soon"],"passed":true},{"actual":[5,2,"due soon"],"check":"five calendar four court","expected":[5,2,"due soon"],"passed":true},{"actual":[44,31,"open"],"check":"far off","expected":[44,31,"open"],"passed":true},{"actual":[1,0,"due today"],"check":"saturday before sunday deadline","expected":[1,0,"due soon"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: saturday before monday deadline\", \"actual\": [2, 1, \"due soon\"], \"expected\": [2, 1, \"due soon\"], \"passed\": true}, {\"check\": \"deadline today\", \"actual\": [0, 0, \"due today\"], \"expected\": [0, 0, \"due today\"], \"passed\": true}, {\"check\": \"yesterday\", \"actual\": [-1, null, \"overdue\"], \"expected\": [-1, null, \"overdue\"], \"passed\": true}, {\"check\": \"three court days\", \"actual\": [3, 3, \"due soon\"], \"expected\": [3, 3, \"due soon\"], \"passed\": true}, {\"check\": \"long weekend\", \"actual\": [6, 3, \"due soon\"], \"expected\": [6, 3, \"due soon\"], \"passed\": true}, {\"check\": \"five calendar four court\", \"actual\": [5, 2, \"due soon\"], \"expected\": [5, 2, \"due soon\"], \"passed\": true}, {\"check\": \"far off\", \"actual\": [44, 31, \"open\"], \"expected\": [44, 31, \"open\"], \"passed\": true}, {\"check\": \"saturday before sunday deadline\", \"actual\": [1, 0, \"due today\"], \"expected\": [1, 0, \"due soon\"], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":45.007,"exit_code":0,"observations":[{"actual":[2,1,"due soon"],"check":"regression: saturday before monday deadline","expected":[2,1,"due soon"],"passed":true},{"actual":[0,0,"due today"],"check":"deadline today","expected":[0,0,"due today"],"passed":true},{"actual":[-1,null,"overdue"],"check":"yesterday","expected":[-1,null,"overdue"],"passed":true},{"actual":[3,3,"due soon"],"check":"three court days","expected":[3,3,"due soon"],"passed":true},{"actual":[6,3,"due soon"],"check":"long weekend","expected":[6,3,"due soon"],"passed":true},{"actual":[5,2,"due soon"],"check":"five calendar four court","expected":[5,2,"due soon"],"passed":true},{"actual":[44,31,"open"],"check":"far off","expected":[44,31,"open"],"passed":true},{"actual":[1,0,"due soon"],"check":"saturday before sunday deadline","expected":[1,0,"due soon"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: saturday before monday deadline\", \"actual\": [2, 1, \"due soon\"], \"expected\": [2, 1, \"due soon\"], \"passed\": true}, {\"check\": \"deadline today\", \"actual\": [0, 0, \"due today\"], \"expected\": [0, 0, \"due today\"], \"passed\": true}, {\"check\": \"yesterday\", \"actual\": [-1, null, \"overdue\"], \"expected\": [-1, null, \"overdue\"], \"passed\": true}, {\"check\": \"three court days\", \"actual\": [3, 3, \"due soon\"], \"expected\": [3, 3, \"due soon\"], \"passed\": true}, {\"check\": \"long weekend\", \"actual\": [6, 3, \"due soon\"], \"expected\": [6, 3, \"due soon\"], \"passed\": true}, {\"check\": \"five calendar four court\", \"actual\": [5, 2, \"due soon\"], \"expected\": [5, 2, \"due soon\"], \"passed\": true}, {\"check\": \"far off\", \"actual\": [44, 31, \"open\"], \"expected\": [44, 31, \"open\"], \"passed\": true}, {\"check\": \"saturday before sunday deadline\", \"actual\": [1, 0, \"due soon\"], \"expected\": [1, 0, \"due soon\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}