FAILURE MAP
← Case archive

FA-77596 / Legal deadline computation / Open access

Quarterly and annual report due dates for a fiscal year: annual period · case 01

An accelerated filer's annual report is computed with the large-filer period.

Verified by executionVariant 1 · 7 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

Accelerated filers are grouped with large filers for the annual period.

VERIFIED REPAIR

At the annual period decision use `{'large': 60, 'accelerated': 75, 'non-accelerated': 90}[filer]`, leaving the other decision sites of the model unchanged.

Unsuccessful approach: The partial repair `{'large': 60, 'accelerated': 90, 'non-accelerated': 90}[filer]` groups accelerated filers with non-accelerated ones instead.

Case contract

Stipulated: a fiscal year labelled year ends on the last day of fy_end_month in that year. Quarterly reports cover the first three fiscal quarters, which end on the last day of the months 9, 6 and 3 months before the fiscal year end; they are due 40 days after quarter end (45 for non-accelerated filers). The annual report is due 60/75/90 days after year end for large/accelerated/non-accelerated filers. Each due date on a weekend or listed holiday moves to the next open day. Return [Q1, Q2, Q3, annual].

Why this case matters

Docketing systems compute filing and response deadlines from trigger events; a wrong date can forfeit a right.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import datetime as dt
import calendar
N = 1
observations = []
def solve(year, fy_end_month, filer, holidays):
    hol = {dt.date.fromisoformat(x) for x in holidays}
    def roll(d):
        while d.weekday() >= 5 or d in hol:
            d += dt.timedelta(days=1)
        return d
    qdays = 45 if filer == 'non-accelerated' else 40
    adays = {'large': 60, 'accelerated': 60, 'non-accelerated': 90}[filer]
    out = []
    for q in (1, 2, 3):
        mi = fy_end_month - 1 - 3 * (4 - q) + year * 12
        y, m = mi // 12, mi % 12 + 1
        qend = dt.date(y, m, calendar.monthrange(y, m)[1])
        out.append(roll(qend + dt.timedelta(days=qdays)).isoformat())
    fy_end = dt.date(year, fy_end_month, calendar.monthrange(year, fy_end_month)[1])
    out.append(roll(fy_end + dt.timedelta(days=adays)).isoformat())
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: calendar year non-accelerated',
   [2024,
    12,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),
  ('calendar year large',
   [2024,
    12,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),
  ('accelerated june fiscal year',
   [2024,
    6,
    'accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),
  ('large september fiscal year',
   [2024,
    9,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),
  ('march fiscal year leap feb quarter',
   [2024,
    5,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),
  ('january fiscal year',
   [2024,
    1,
    'accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25',
     '2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),
  ('november fiscal year',
   [2024,
    11,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29'])],
 [('accelerated june fiscal year',
   [2024,
    6,
    'accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),
  ('large september fiscal year',
   [2024,
    9,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),
  ('march fiscal year leap feb quarter',
   [2024,
    5,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),
  ('january fiscal year',
   [2024,
    1,
    'accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25',
     '2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),
  ('november fiscal year',
   [2024,
    11,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']),
  ('october fiscal year non-accelerated',
   [2023,
    10,
    'non-accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25']],
   ['2023-03-17', '2023-06-14', '2023-09-14', '2024-01-29']),
  ('regression: calendar year non-accelerated',
   [2024,
    12,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31'])],
 [('march fiscal year leap feb quarter',
   [2024,
    5,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),
  ('january fiscal year',
   [2024,
    1,
    'accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25',
     '2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),
  ('november fiscal year',
   [2024,
    11,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']),
  ('october fiscal year non-accelerated',
   [2023,
    10,
    'non-accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25']],
   ['2023-03-17', '2023-06-14', '2023-09-14', '2024-01-29']),
  ('regression: calendar year non-accelerated',
   [2024,
    12,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),
  ('calendar year large',
   [2024,
    12,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),
  ('accelerated june fiscal year',
   [2024,
    6,
    'accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13'])],
 [('november fiscal year',
   [2024,
    11,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']),
  ('october fiscal year non-accelerated',
   [2023,
    10,
    'non-accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25']],
   ['2023-03-17', '2023-06-14', '2023-09-14', '2024-01-29']),
  ('regression: calendar year non-accelerated',
   [2024,
    12,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),
  ('calendar year large',
   [2024,
    12,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),
  ('accelerated june fiscal year',
   [2024,
    6,
    'accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),
  ('large september fiscal year',
   [2024,
    9,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),
  ('march fiscal year leap feb quarter',
   [2024,
    5,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29'])],
 [('regression: calendar year non-accelerated',
   [2024,
    12,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),
  ('calendar year large',
   [2024,
    12,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),
  ('accelerated june fiscal year',
   [2024,
    6,
    'accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),
  ('large september fiscal year',
   [2024,
    9,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),
  ('march fiscal year leap feb quarter',
   [2024,
    5,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),
  ('january fiscal year',
   [2024,
    1,
    'accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25',
     '2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),
  ('november fiscal year',
   [2024,
    11,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29'])]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: calendar year non-accelerated['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']Passed
calendar year large['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']Passed
accelerated june fiscal year['2023-11-09', '2024-02-09', '2024-05-10', '2024-08-29']['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']Failed
large september fiscal year['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']Passed
march fiscal year leap feb quarter['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']Passed
january fiscal year['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-01']['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']Failed
november fiscal year['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']Passed

SHA-256 / ba70fd2710a7df47296dc2d4009199a86b20d9be102fb506fb30b8ea5611e99c

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import datetime as dt
import calendar
N = 1
observations = []
def solve(year, fy_end_month, filer, holidays):
    hol = {dt.date.fromisoformat(x) for x in holidays}
    def roll(d):
        while d.weekday() >= 5 or d in hol:
            d += dt.timedelta(days=1)
        return d
    qdays = 45 if filer == 'non-accelerated' else 40
    adays = {'large': 60, 'accelerated': 90, 'non-accelerated': 90}[filer]
    out = []
    for q in (1, 2, 3):
        mi = fy_end_month - 1 - 3 * (4 - q) + year * 12
        y, m = mi // 12, mi % 12 + 1
        qend = dt.date(y, m, calendar.monthrange(y, m)[1])
        out.append(roll(qend + dt.timedelta(days=qdays)).isoformat())
    fy_end = dt.date(year, fy_end_month, calendar.monthrange(year, fy_end_month)[1])
    out.append(roll(fy_end + dt.timedelta(days=adays)).isoformat())
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: calendar year non-accelerated',
   [2024,
    12,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),
  ('calendar year large',
   [2024,
    12,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),
  ('accelerated june fiscal year',
   [2024,
    6,
    'accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),
  ('large september fiscal year',
   [2024,
    9,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),
  ('march fiscal year leap feb quarter',
   [2024,
    5,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),
  ('january fiscal year',
   [2024,
    1,
    'accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25',
     '2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),
  ('november fiscal year',
   [2024,
    11,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29'])],
 [('accelerated june fiscal year',
   [2024,
    6,
    'accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),
  ('large september fiscal year',
   [2024,
    9,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),
  ('march fiscal year leap feb quarter',
   [2024,
    5,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),
  ('january fiscal year',
   [2024,
    1,
    'accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25',
     '2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),
  ('november fiscal year',
   [2024,
    11,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']),
  ('october fiscal year non-accelerated',
   [2023,
    10,
    'non-accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25']],
   ['2023-03-17', '2023-06-14', '2023-09-14', '2024-01-29']),
  ('regression: calendar year non-accelerated',
   [2024,
    12,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31'])],
 [('march fiscal year leap feb quarter',
   [2024,
    5,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),
  ('january fiscal year',
   [2024,
    1,
    'accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25',
     '2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),
  ('november fiscal year',
   [2024,
    11,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']),
  ('october fiscal year non-accelerated',
   [2023,
    10,
    'non-accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25']],
   ['2023-03-17', '2023-06-14', '2023-09-14', '2024-01-29']),
  ('regression: calendar year non-accelerated',
   [2024,
    12,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),
  ('calendar year large',
   [2024,
    12,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),
  ('accelerated june fiscal year',
   [2024,
    6,
    'accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13'])],
 [('november fiscal year',
   [2024,
    11,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']),
  ('october fiscal year non-accelerated',
   [2023,
    10,
    'non-accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25']],
   ['2023-03-17', '2023-06-14', '2023-09-14', '2024-01-29']),
  ('regression: calendar year non-accelerated',
   [2024,
    12,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),
  ('calendar year large',
   [2024,
    12,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),
  ('accelerated june fiscal year',
   [2024,
    6,
    'accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),
  ('large september fiscal year',
   [2024,
    9,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),
  ('march fiscal year leap feb quarter',
   [2024,
    5,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29'])],
 [('regression: calendar year non-accelerated',
   [2024,
    12,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),
  ('calendar year large',
   [2024,
    12,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),
  ('accelerated june fiscal year',
   [2024,
    6,
    'accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),
  ('large september fiscal year',
   [2024,
    9,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),
  ('march fiscal year leap feb quarter',
   [2024,
    5,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),
  ('january fiscal year',
   [2024,
    1,
    'accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25',
     '2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),
  ('november fiscal year',
   [2024,
    11,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29'])]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: calendar year non-accelerated['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']Passed
calendar year large['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']Passed
accelerated june fiscal year['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-30']['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']Failed
large september fiscal year['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']Passed
march fiscal year leap feb quarter['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']Passed
january fiscal year['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-30']['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']Failed
november fiscal year['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']Passed

SHA-256 / 9ae1f65a49f4c33804a7fea4952925f3f7915ff4d01be3365c7fbdf6441006b1

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
import datetime as dt
import calendar
N = 1
observations = []
def solve(year, fy_end_month, filer, holidays):
    hol = {dt.date.fromisoformat(x) for x in holidays}
    def roll(d):
        while d.weekday() >= 5 or d in hol:
            d += dt.timedelta(days=1)
        return d
    qdays = 45 if filer == 'non-accelerated' else 40
    adays = {'large': 60, 'accelerated': 75, 'non-accelerated': 90}[filer]
    out = []
    for q in (1, 2, 3):
        mi = fy_end_month - 1 - 3 * (4 - q) + year * 12
        y, m = mi // 12, mi % 12 + 1
        qend = dt.date(y, m, calendar.monthrange(y, m)[1])
        out.append(roll(qend + dt.timedelta(days=qdays)).isoformat())
    fy_end = dt.date(year, fy_end_month, calendar.monthrange(year, fy_end_month)[1])
    out.append(roll(fy_end + dt.timedelta(days=adays)).isoformat())
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: calendar year non-accelerated',
   [2024,
    12,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),
  ('calendar year large',
   [2024,
    12,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),
  ('accelerated june fiscal year',
   [2024,
    6,
    'accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),
  ('large september fiscal year',
   [2024,
    9,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),
  ('march fiscal year leap feb quarter',
   [2024,
    5,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),
  ('january fiscal year',
   [2024,
    1,
    'accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25',
     '2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),
  ('november fiscal year',
   [2024,
    11,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29'])],
 [('accelerated june fiscal year',
   [2024,
    6,
    'accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),
  ('large september fiscal year',
   [2024,
    9,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),
  ('march fiscal year leap feb quarter',
   [2024,
    5,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),
  ('january fiscal year',
   [2024,
    1,
    'accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25',
     '2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),
  ('november fiscal year',
   [2024,
    11,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']),
  ('october fiscal year non-accelerated',
   [2023,
    10,
    'non-accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25']],
   ['2023-03-17', '2023-06-14', '2023-09-14', '2024-01-29']),
  ('regression: calendar year non-accelerated',
   [2024,
    12,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31'])],
 [('march fiscal year leap feb quarter',
   [2024,
    5,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),
  ('january fiscal year',
   [2024,
    1,
    'accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25',
     '2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),
  ('november fiscal year',
   [2024,
    11,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']),
  ('october fiscal year non-accelerated',
   [2023,
    10,
    'non-accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25']],
   ['2023-03-17', '2023-06-14', '2023-09-14', '2024-01-29']),
  ('regression: calendar year non-accelerated',
   [2024,
    12,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),
  ('calendar year large',
   [2024,
    12,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),
  ('accelerated june fiscal year',
   [2024,
    6,
    'accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13'])],
 [('november fiscal year',
   [2024,
    11,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']),
  ('october fiscal year non-accelerated',
   [2023,
    10,
    'non-accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25']],
   ['2023-03-17', '2023-06-14', '2023-09-14', '2024-01-29']),
  ('regression: calendar year non-accelerated',
   [2024,
    12,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),
  ('calendar year large',
   [2024,
    12,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),
  ('accelerated june fiscal year',
   [2024,
    6,
    'accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),
  ('large september fiscal year',
   [2024,
    9,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),
  ('march fiscal year leap feb quarter',
   [2024,
    5,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29'])],
 [('regression: calendar year non-accelerated',
   [2024,
    12,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']),
  ('calendar year large',
   [2024,
    12,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']),
  ('accelerated june fiscal year',
   [2024,
    6,
    'accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']),
  ('large september fiscal year',
   [2024,
    9,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']),
  ('march fiscal year leap feb quarter',
   [2024,
    5,
    'non-accelerated',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']),
  ('january fiscal year',
   [2024,
    1,
    'accelerated',
    ['2023-01-02',
     '2023-01-16',
     '2023-02-20',
     '2023-05-29',
     '2023-06-19',
     '2023-07-04',
     '2023-09-04',
     '2023-10-09',
     '2023-11-10',
     '2023-11-23',
     '2023-12-25',
     '2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']),
  ('november fiscal year',
   [2024,
    11,
    'large',
    ['2024-01-01',
     '2024-01-15',
     '2024-02-19',
     '2024-05-27',
     '2024-06-19',
     '2024-07-04',
     '2024-09-02',
     '2024-10-14',
     '2024-11-11',
     '2024-11-28',
     '2024-12-25']],
   ['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29'])]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: calendar year non-accelerated['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']['2024-05-15', '2024-08-14', '2024-11-14', '2025-03-31']Passed
calendar year large['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']['2024-05-10', '2024-08-09', '2024-11-12', '2025-03-03']Passed
accelerated june fiscal year['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']['2023-11-09', '2024-02-09', '2024-05-10', '2024-09-13']Passed
large september fiscal year['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']['2024-02-09', '2024-05-10', '2024-08-09', '2024-11-29']Passed
march fiscal year leap feb quarter['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']['2023-10-16', '2024-01-16', '2024-04-15', '2024-08-29']Passed
january fiscal year['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']['2023-06-09', '2023-09-11', '2023-12-11', '2024-04-15']Passed
november fiscal year['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']['2024-04-09', '2024-07-10', '2024-10-10', '2025-01-29']Passed

SHA-256 / fbb32385c4075cbec09a976eeaf3e26955a8cea8982b1b7c4b4e120f8f415716

Verification & scope

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.

Observations recorded using Python 3.12.14 at 2026-09-29T14:49:27.125929+00:00.

Case digest / a3e0a635d180b2b8eeb608efc7931f1dcef022c0f26b4ccb9fb04f6555f592d7