{"abstract":"Friday payday next-day deposits come due on Saturday.","category":"Payroll withholding rules","checks":8,"contract":"Input {pay_date, lookback_total, accumulated}. If accumulated liability is 100,000.00 or more, deposit the next weekday after pay date. Else if lookback liability is 50,000.00 or less, deposit monthly by the 15th of the following month. Else semiweekly: Wed/Thu/Fri paydays deposit the following Wednesday; Sat-Tue paydays the following Friday. Return [schedule, ISO due date].","evaluation_group":"w2-payroll-withholding-tax-deposit-schedule","failed_approach":"The attempt skips a single day, landing on Sunday for Friday paydays.","family":"w2-payroll-withholding-tax-deposit-schedule-next-weekday-skip","id":"FA-59276","implementations":{"attempt":{"sha256":"896d4346a76ac35a6601fece0baf8c08165dfc9660da1837d6e9a6d3480d720f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime\nN = 1\nobservations = []\ndef solve(x):\n    d = datetime.date(*x['pay_date'])\n    if x['accumulated'] >= 10000000:\n        nd = d + datetime.timedelta(days=1)\n        if nd.weekday() >= 5:\n            nd += datetime.timedelta(days=1)\n        return ['next-day', nd.isoformat()]\n    if x['lookback_total'] <= 5000000:\n        y, m = (d.year + 1, 1) if d.month == 12 else (d.year, d.month + 1)\n        return ['monthly', datetime.date(y, m, 15).isoformat()]\n    wd = d.weekday()\n    if wd in (2, 3, 4):\n        delta = (2 - wd) % 7 or 7\n    else:\n        delta = (4 - wd) % 7\n    return ['semiweekly', (d + datetime.timedelta(days=delta)).isoformat()]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression', {'pay_date': [2025, 11, 21], 'lookback_total': 130512, 'accumulated': 10000000}, ['next-day', '2025-11-24']), ('regression', {'pay_date': [2024, 11, 22], 'lookback_total': 5000001, 'accumulated': 10000000}, ['next-day', '2024-11-25']), ('partial-repair probe', {'pay_date': [2025, 10, 17], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-10-20']), ('partial-repair probe', {'pay_date': [2025, 12, 5], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-12-08']), ('normal control', {'pay_date': [2025, 7, 24], 'lookback_total': 5000000, 'accumulated': 9999999}, ['monthly', '2025-08-15']), ('normal control', {'pay_date': [2025, 7, 23], 'lookback_total': 4030366, 'accumulated': 7676976}, ['monthly', '2025-08-15']), ('normal control', {'pay_date': [2026, 1, 10], 'lookback_total': 8559426, 'accumulated': 10000000}, ['next-day', '2026-01-12']), ('normal control', {'pay_date': [2025, 11, 30], 'lookback_total': 5000000, 'accumulated': 9999999}, ['monthly', '2025-12-15'])], [('regression', {'pay_date': [2024, 11, 22], 'lookback_total': 5000001, 'accumulated': 10000000}, ['next-day', '2024-11-25']), ('regression', {'pay_date': [2025, 10, 17], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-10-20']), ('partial-repair probe', {'pay_date': [2025, 12, 5], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-12-08']), ('partial-repair probe', {'pay_date': [2025, 5, 30], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-06-02']), ('normal control', {'pay_date': [2025, 10, 17], 'lookback_total': 5000001, 'accumulated': 9999999}, ['semiweekly', '2025-10-22']), ('normal control', {'pay_date': [2025, 3, 12], 'lookback_total': 5000000, 'accumulated': 5561044}, ['monthly', '2025-04-15']), ('normal control', {'pay_date': [2025, 7, 6], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-07-07']), ('normal control', {'pay_date': [2026, 1, 1], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2026-01-02'])], [('regression', {'pay_date': [2025, 10, 17], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-10-20']), ('regression', {'pay_date': [2025, 12, 5], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-12-08']), ('partial-repair probe', {'pay_date': [2025, 5, 30], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-06-02']), ('partial-repair probe', {'pay_date': [2025, 5, 9], 'lookback_total': 7093041, 'accumulated': 10000000}, ['next-day', '2025-05-12']), ('normal control', {'pay_date': [2025, 7, 12], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-07-14']), ('normal control', {'pay_date': [2026, 1, 15], 'lookback_total': 5000001, 'accumulated': 128367}, ['semiweekly', '2026-01-21']), ('normal control', {'pay_date': [2025, 8, 20], 'lookback_total': 15073801, 'accumulated': 1953477}, ['semiweekly', '2025-08-27']), ('normal control', {'pay_date': [2024, 12, 14], 'lookback_total': 5000000, 'accumulated': 9999999}, ['monthly', '2025-01-15'])], [('regression', {'pay_date': [2025, 12, 5], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-12-08']), ('regression', {'pay_date': [2025, 5, 30], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-06-02']), ('partial-repair probe', {'pay_date': [2025, 8, 1], 'lookback_total': 1498430, 'accumulated': 10000000}, ['next-day', '2025-08-04']), ('partial-repair probe', {'pay_date': [2025, 1, 17], 'lookback_total': 5000001, 'accumulated': 10000000}, ['next-day', '2025-01-20']), ('normal control', {'pay_date': [2025, 4, 9], 'lookback_total': 5000000, 'accumulated': 17594}, ['monthly', '2025-05-15']), ('normal control', {'pay_date': [2025, 1, 28], 'lookback_total': 5000001, 'accumulated': 2892395}, ['semiweekly', '2025-01-31']), ('normal control', {'pay_date': [2026, 1, 11], 'lookback_total': 5000000, 'accumulated': 106033}, ['monthly', '2026-02-15']), ('normal control', {'pay_date': [2025, 1, 9], 'lookback_total': 5000001, 'accumulated': 9999999}, ['semiweekly', '2025-01-15'])], [('regression', {'pay_date': [2025, 5, 30], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-06-02']), ('regression', {'pay_date': [2025, 5, 9], 'lookback_total': 7093041, 'accumulated': 10000000}, ['next-day', '2025-05-12']), ('partial-repair probe', {'pay_date': [2025, 8, 1], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-08-04']), ('partial-repair probe', {'pay_date': [2025, 6, 6], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-06-09']), ('normal control', {'pay_date': [2025, 12, 21], 'lookback_total': 5000000, 'accumulated': 9999999}, ['monthly', '2026-01-15']), ('normal control', {'pay_date': [2024, 12, 8], 'lookback_total': 7946403, 'accumulated': 200852}, ['semiweekly', '2024-12-13']), ('normal control', {'pay_date': [2025, 9, 18], 'lookback_total': 5000001, 'accumulated': 171509}, ['semiweekly', '2025-09-24']), ('normal control', {'pay_date': [2024, 12, 27], 'lookback_total': 14968828, 'accumulated': 48129}, ['semiweekly', '2025-01-01'])]]\nfor i, (label, args, expected) in enumerate(fixtures[N-1]):\n    check(\"%s %d\" % (label, i), 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":"1eb6e8345a10c74aa6b017e393ba490ce9465769fc6d1d9ec8e680f33193fcfb","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime\nN = 1\nobservations = []\ndef solve(x):\n    d = datetime.date(*x['pay_date'])\n    if x['accumulated'] >= 10000000:\n        nd = d + datetime.timedelta(days=1)\n        while nd.weekday() > 5:\n            nd += datetime.timedelta(days=1)\n        return ['next-day', nd.isoformat()]\n    if x['lookback_total'] <= 5000000:\n        y, m = (d.year + 1, 1) if d.month == 12 else (d.year, d.month + 1)\n        return ['monthly', datetime.date(y, m, 15).isoformat()]\n    wd = d.weekday()\n    if wd in (2, 3, 4):\n        delta = (2 - wd) % 7 or 7\n    else:\n        delta = (4 - wd) % 7\n    return ['semiweekly', (d + datetime.timedelta(days=delta)).isoformat()]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression', {'pay_date': [2025, 11, 21], 'lookback_total': 130512, 'accumulated': 10000000}, ['next-day', '2025-11-24']), ('regression', {'pay_date': [2024, 11, 22], 'lookback_total': 5000001, 'accumulated': 10000000}, ['next-day', '2024-11-25']), ('partial-repair probe', {'pay_date': [2025, 10, 17], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-10-20']), ('partial-repair probe', {'pay_date': [2025, 12, 5], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-12-08']), ('normal control', {'pay_date': [2025, 7, 24], 'lookback_total': 5000000, 'accumulated': 9999999}, ['monthly', '2025-08-15']), ('normal control', {'pay_date': [2025, 7, 23], 'lookback_total': 4030366, 'accumulated': 7676976}, ['monthly', '2025-08-15']), ('normal control', {'pay_date': [2026, 1, 10], 'lookback_total': 8559426, 'accumulated': 10000000}, ['next-day', '2026-01-12']), ('normal control', {'pay_date': [2025, 11, 30], 'lookback_total': 5000000, 'accumulated': 9999999}, ['monthly', '2025-12-15'])], [('regression', {'pay_date': [2024, 11, 22], 'lookback_total': 5000001, 'accumulated': 10000000}, ['next-day', '2024-11-25']), ('regression', {'pay_date': [2025, 10, 17], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-10-20']), ('partial-repair probe', {'pay_date': [2025, 12, 5], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-12-08']), ('partial-repair probe', {'pay_date': [2025, 5, 30], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-06-02']), ('normal control', {'pay_date': [2025, 10, 17], 'lookback_total': 5000001, 'accumulated': 9999999}, ['semiweekly', '2025-10-22']), ('normal control', {'pay_date': [2025, 3, 12], 'lookback_total': 5000000, 'accumulated': 5561044}, ['monthly', '2025-04-15']), ('normal control', {'pay_date': [2025, 7, 6], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-07-07']), ('normal control', {'pay_date': [2026, 1, 1], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2026-01-02'])], [('regression', {'pay_date': [2025, 10, 17], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-10-20']), ('regression', {'pay_date': [2025, 12, 5], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-12-08']), ('partial-repair probe', {'pay_date': [2025, 5, 30], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-06-02']), ('partial-repair probe', {'pay_date': [2025, 5, 9], 'lookback_total': 7093041, 'accumulated': 10000000}, ['next-day', '2025-05-12']), ('normal control', {'pay_date': [2025, 7, 12], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-07-14']), ('normal control', {'pay_date': [2026, 1, 15], 'lookback_total': 5000001, 'accumulated': 128367}, ['semiweekly', '2026-01-21']), ('normal control', {'pay_date': [2025, 8, 20], 'lookback_total': 15073801, 'accumulated': 1953477}, ['semiweekly', '2025-08-27']), ('normal control', {'pay_date': [2024, 12, 14], 'lookback_total': 5000000, 'accumulated': 9999999}, ['monthly', '2025-01-15'])], [('regression', {'pay_date': [2025, 12, 5], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-12-08']), ('regression', {'pay_date': [2025, 5, 30], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-06-02']), ('partial-repair probe', {'pay_date': [2025, 8, 1], 'lookback_total': 1498430, 'accumulated': 10000000}, ['next-day', '2025-08-04']), ('partial-repair probe', {'pay_date': [2025, 1, 17], 'lookback_total': 5000001, 'accumulated': 10000000}, ['next-day', '2025-01-20']), ('normal control', {'pay_date': [2025, 4, 9], 'lookback_total': 5000000, 'accumulated': 17594}, ['monthly', '2025-05-15']), ('normal control', {'pay_date': [2025, 1, 28], 'lookback_total': 5000001, 'accumulated': 2892395}, ['semiweekly', '2025-01-31']), ('normal control', {'pay_date': [2026, 1, 11], 'lookback_total': 5000000, 'accumulated': 106033}, ['monthly', '2026-02-15']), ('normal control', {'pay_date': [2025, 1, 9], 'lookback_total': 5000001, 'accumulated': 9999999}, ['semiweekly', '2025-01-15'])], [('regression', {'pay_date': [2025, 5, 30], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-06-02']), ('regression', {'pay_date': [2025, 5, 9], 'lookback_total': 7093041, 'accumulated': 10000000}, ['next-day', '2025-05-12']), ('partial-repair probe', {'pay_date': [2025, 8, 1], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-08-04']), ('partial-repair probe', {'pay_date': [2025, 6, 6], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-06-09']), ('normal control', {'pay_date': [2025, 12, 21], 'lookback_total': 5000000, 'accumulated': 9999999}, ['monthly', '2026-01-15']), ('normal control', {'pay_date': [2024, 12, 8], 'lookback_total': 7946403, 'accumulated': 200852}, ['semiweekly', '2024-12-13']), ('normal control', {'pay_date': [2025, 9, 18], 'lookback_total': 5000001, 'accumulated': 171509}, ['semiweekly', '2025-09-24']), ('normal control', {'pay_date': [2024, 12, 27], 'lookback_total': 14968828, 'accumulated': 48129}, ['semiweekly', '2025-01-01'])]]\nfor i, (label, args, expected) in enumerate(fixtures[N-1]):\n    check(\"%s %d\" % (label, i), 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":"7c3ed95386b9cd16fe1152af892a6d78eee9fb0995853416421b029f9c15b644","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime\nN = 1\nobservations = []\ndef solve(x):\n    d = datetime.date(*x['pay_date'])\n    if x['accumulated'] >= 10000000:\n        nd = d + datetime.timedelta(days=1)\n        while nd.weekday() >= 5:\n            nd += datetime.timedelta(days=1)\n        return ['next-day', nd.isoformat()]\n    if x['lookback_total'] <= 5000000:\n        y, m = (d.year + 1, 1) if d.month == 12 else (d.year, d.month + 1)\n        return ['monthly', datetime.date(y, m, 15).isoformat()]\n    wd = d.weekday()\n    if wd in (2, 3, 4):\n        delta = (2 - wd) % 7 or 7\n    else:\n        delta = (4 - wd) % 7\n    return ['semiweekly', (d + datetime.timedelta(days=delta)).isoformat()]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression', {'pay_date': [2025, 11, 21], 'lookback_total': 130512, 'accumulated': 10000000}, ['next-day', '2025-11-24']), ('regression', {'pay_date': [2024, 11, 22], 'lookback_total': 5000001, 'accumulated': 10000000}, ['next-day', '2024-11-25']), ('partial-repair probe', {'pay_date': [2025, 10, 17], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-10-20']), ('partial-repair probe', {'pay_date': [2025, 12, 5], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-12-08']), ('normal control', {'pay_date': [2025, 7, 24], 'lookback_total': 5000000, 'accumulated': 9999999}, ['monthly', '2025-08-15']), ('normal control', {'pay_date': [2025, 7, 23], 'lookback_total': 4030366, 'accumulated': 7676976}, ['monthly', '2025-08-15']), ('normal control', {'pay_date': [2026, 1, 10], 'lookback_total': 8559426, 'accumulated': 10000000}, ['next-day', '2026-01-12']), ('normal control', {'pay_date': [2025, 11, 30], 'lookback_total': 5000000, 'accumulated': 9999999}, ['monthly', '2025-12-15'])], [('regression', {'pay_date': [2024, 11, 22], 'lookback_total': 5000001, 'accumulated': 10000000}, ['next-day', '2024-11-25']), ('regression', {'pay_date': [2025, 10, 17], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-10-20']), ('partial-repair probe', {'pay_date': [2025, 12, 5], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-12-08']), ('partial-repair probe', {'pay_date': [2025, 5, 30], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-06-02']), ('normal control', {'pay_date': [2025, 10, 17], 'lookback_total': 5000001, 'accumulated': 9999999}, ['semiweekly', '2025-10-22']), ('normal control', {'pay_date': [2025, 3, 12], 'lookback_total': 5000000, 'accumulated': 5561044}, ['monthly', '2025-04-15']), ('normal control', {'pay_date': [2025, 7, 6], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-07-07']), ('normal control', {'pay_date': [2026, 1, 1], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2026-01-02'])], [('regression', {'pay_date': [2025, 10, 17], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-10-20']), ('regression', {'pay_date': [2025, 12, 5], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-12-08']), ('partial-repair probe', {'pay_date': [2025, 5, 30], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-06-02']), ('partial-repair probe', {'pay_date': [2025, 5, 9], 'lookback_total': 7093041, 'accumulated': 10000000}, ['next-day', '2025-05-12']), ('normal control', {'pay_date': [2025, 7, 12], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-07-14']), ('normal control', {'pay_date': [2026, 1, 15], 'lookback_total': 5000001, 'accumulated': 128367}, ['semiweekly', '2026-01-21']), ('normal control', {'pay_date': [2025, 8, 20], 'lookback_total': 15073801, 'accumulated': 1953477}, ['semiweekly', '2025-08-27']), ('normal control', {'pay_date': [2024, 12, 14], 'lookback_total': 5000000, 'accumulated': 9999999}, ['monthly', '2025-01-15'])], [('regression', {'pay_date': [2025, 12, 5], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-12-08']), ('regression', {'pay_date': [2025, 5, 30], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-06-02']), ('partial-repair probe', {'pay_date': [2025, 8, 1], 'lookback_total': 1498430, 'accumulated': 10000000}, ['next-day', '2025-08-04']), ('partial-repair probe', {'pay_date': [2025, 1, 17], 'lookback_total': 5000001, 'accumulated': 10000000}, ['next-day', '2025-01-20']), ('normal control', {'pay_date': [2025, 4, 9], 'lookback_total': 5000000, 'accumulated': 17594}, ['monthly', '2025-05-15']), ('normal control', {'pay_date': [2025, 1, 28], 'lookback_total': 5000001, 'accumulated': 2892395}, ['semiweekly', '2025-01-31']), ('normal control', {'pay_date': [2026, 1, 11], 'lookback_total': 5000000, 'accumulated': 106033}, ['monthly', '2026-02-15']), ('normal control', {'pay_date': [2025, 1, 9], 'lookback_total': 5000001, 'accumulated': 9999999}, ['semiweekly', '2025-01-15'])], [('regression', {'pay_date': [2025, 5, 30], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-06-02']), ('regression', {'pay_date': [2025, 5, 9], 'lookback_total': 7093041, 'accumulated': 10000000}, ['next-day', '2025-05-12']), ('partial-repair probe', {'pay_date': [2025, 8, 1], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-08-04']), ('partial-repair probe', {'pay_date': [2025, 6, 6], 'lookback_total': 5000000, 'accumulated': 10000000}, ['next-day', '2025-06-09']), ('normal control', {'pay_date': [2025, 12, 21], 'lookback_total': 5000000, 'accumulated': 9999999}, ['monthly', '2026-01-15']), ('normal control', {'pay_date': [2024, 12, 8], 'lookback_total': 7946403, 'accumulated': 200852}, ['semiweekly', '2024-12-13']), ('normal control', {'pay_date': [2025, 9, 18], 'lookback_total': 5000001, 'accumulated': 171509}, ['semiweekly', '2025-09-24']), ('normal control', {'pay_date': [2024, 12, 27], 'lookback_total': 14968828, 'accumulated': 48129}, ['semiweekly', '2025-01-01'])]]\nfor i, (label, args, expected) in enumerate(fixtures[N-1]):\n    check(\"%s %d\" % (label, i), solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"A deterministic teaching model of a stipulated payroll rule with toy thresholds and rates. It makes no claim of conformance to any tax authority, statute or jurisdiction and is not payroll software. 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-payroll-withholding-tax-deposit-schedule-next-weekday-skip","generated_at":"2026-09-29T14:46:34.786831+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Deposit schedules depend on lookback liability and weekday of payment; a wrong due date means penalties.","repair":"Restore the contract rule at the next weekday skip step: use `while nd.weekday() >= 5:`.","root_cause":"Only Sunday is skipped when looking for the next weekday.","sha256":"983afa7bdc9225f63a76f30e85d22743ed87f2ad3fc89ac551fc50c488c18b47","title":"Employment tax deposit due date: next weekday skip · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.802,"exit_code":1,"observations":[{"actual":["next-day","2025-11-23"],"check":"regression 0","expected":["next-day","2025-11-24"],"passed":false},{"actual":["next-day","2024-11-24"],"check":"regression 1","expected":["next-day","2024-11-25"],"passed":false},{"actual":["next-day","2025-10-19"],"check":"partial-repair probe 2","expected":["next-day","2025-10-20"],"passed":false},{"actual":["next-day","2025-12-07"],"check":"partial-repair probe 3","expected":["next-day","2025-12-08"],"passed":false},{"actual":["monthly","2025-08-15"],"check":"normal control 4","expected":["monthly","2025-08-15"],"passed":true},{"actual":["monthly","2025-08-15"],"check":"normal control 5","expected":["monthly","2025-08-15"],"passed":true},{"actual":["next-day","2026-01-12"],"check":"normal control 6","expected":["next-day","2026-01-12"],"passed":true},{"actual":["monthly","2025-12-15"],"check":"normal control 7","expected":["monthly","2025-12-15"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression 0\", \"actual\": [\"next-day\", \"2025-11-23\"], \"expected\": [\"next-day\", \"2025-11-24\"], \"passed\": false}, {\"check\": \"regression 1\", \"actual\": [\"next-day\", \"2024-11-24\"], \"expected\": [\"next-day\", \"2024-11-25\"], \"passed\": false}, {\"check\": \"partial-repair probe 2\", \"actual\": [\"next-day\", \"2025-10-19\"], \"expected\": [\"next-day\", \"2025-10-20\"], \"passed\": false}, {\"check\": \"partial-repair probe 3\", \"actual\": [\"next-day\", \"2025-12-07\"], \"expected\": [\"next-day\", \"2025-12-08\"], \"passed\": false}, {\"check\": \"normal control 4\", \"actual\": [\"monthly\", \"2025-08-15\"], \"expected\": [\"monthly\", \"2025-08-15\"], \"passed\": true}, {\"check\": \"normal control 5\", \"actual\": [\"monthly\", \"2025-08-15\"], \"expected\": [\"monthly\", \"2025-08-15\"], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [\"next-day\", \"2026-01-12\"], \"expected\": [\"next-day\", \"2026-01-12\"], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [\"monthly\", \"2025-12-15\"], \"expected\": [\"monthly\", \"2025-12-15\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.336,"exit_code":1,"observations":[{"actual":["next-day","2025-11-22"],"check":"regression 0","expected":["next-day","2025-11-24"],"passed":false},{"actual":["next-day","2024-11-23"],"check":"regression 1","expected":["next-day","2024-11-25"],"passed":false},{"actual":["next-day","2025-10-18"],"check":"partial-repair probe 2","expected":["next-day","2025-10-20"],"passed":false},{"actual":["next-day","2025-12-06"],"check":"partial-repair probe 3","expected":["next-day","2025-12-08"],"passed":false},{"actual":["monthly","2025-08-15"],"check":"normal control 4","expected":["monthly","2025-08-15"],"passed":true},{"actual":["monthly","2025-08-15"],"check":"normal control 5","expected":["monthly","2025-08-15"],"passed":true},{"actual":["next-day","2026-01-12"],"check":"normal control 6","expected":["next-day","2026-01-12"],"passed":true},{"actual":["monthly","2025-12-15"],"check":"normal control 7","expected":["monthly","2025-12-15"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression 0\", \"actual\": [\"next-day\", \"2025-11-22\"], \"expected\": [\"next-day\", \"2025-11-24\"], \"passed\": false}, {\"check\": \"regression 1\", \"actual\": [\"next-day\", \"2024-11-23\"], \"expected\": [\"next-day\", \"2024-11-25\"], \"passed\": false}, {\"check\": \"partial-repair probe 2\", \"actual\": [\"next-day\", \"2025-10-18\"], \"expected\": [\"next-day\", \"2025-10-20\"], \"passed\": false}, {\"check\": \"partial-repair probe 3\", \"actual\": [\"next-day\", \"2025-12-06\"], \"expected\": [\"next-day\", \"2025-12-08\"], \"passed\": false}, {\"check\": \"normal control 4\", \"actual\": [\"monthly\", \"2025-08-15\"], \"expected\": [\"monthly\", \"2025-08-15\"], \"passed\": true}, {\"check\": \"normal control 5\", \"actual\": [\"monthly\", \"2025-08-15\"], \"expected\": [\"monthly\", \"2025-08-15\"], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [\"next-day\", \"2026-01-12\"], \"expected\": [\"next-day\", \"2026-01-12\"], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [\"monthly\", \"2025-12-15\"], \"expected\": [\"monthly\", \"2025-12-15\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.067,"exit_code":0,"observations":[{"actual":["next-day","2025-11-24"],"check":"regression 0","expected":["next-day","2025-11-24"],"passed":true},{"actual":["next-day","2024-11-25"],"check":"regression 1","expected":["next-day","2024-11-25"],"passed":true},{"actual":["next-day","2025-10-20"],"check":"partial-repair probe 2","expected":["next-day","2025-10-20"],"passed":true},{"actual":["next-day","2025-12-08"],"check":"partial-repair probe 3","expected":["next-day","2025-12-08"],"passed":true},{"actual":["monthly","2025-08-15"],"check":"normal control 4","expected":["monthly","2025-08-15"],"passed":true},{"actual":["monthly","2025-08-15"],"check":"normal control 5","expected":["monthly","2025-08-15"],"passed":true},{"actual":["next-day","2026-01-12"],"check":"normal control 6","expected":["next-day","2026-01-12"],"passed":true},{"actual":["monthly","2025-12-15"],"check":"normal control 7","expected":["monthly","2025-12-15"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression 0\", \"actual\": [\"next-day\", \"2025-11-24\"], \"expected\": [\"next-day\", \"2025-11-24\"], \"passed\": true}, {\"check\": \"regression 1\", \"actual\": [\"next-day\", \"2024-11-25\"], \"expected\": [\"next-day\", \"2024-11-25\"], \"passed\": true}, {\"check\": \"partial-repair probe 2\", \"actual\": [\"next-day\", \"2025-10-20\"], \"expected\": [\"next-day\", \"2025-10-20\"], \"passed\": true}, {\"check\": \"partial-repair probe 3\", \"actual\": [\"next-day\", \"2025-12-08\"], \"expected\": [\"next-day\", \"2025-12-08\"], \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": [\"monthly\", \"2025-08-15\"], \"expected\": [\"monthly\", \"2025-08-15\"], \"passed\": true}, {\"check\": \"normal control 5\", \"actual\": [\"monthly\", \"2025-08-15\"], \"expected\": [\"monthly\", \"2025-08-15\"], \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": [\"next-day\", \"2026-01-12\"], \"expected\": [\"next-day\", \"2026-01-12\"], \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": [\"monthly\", \"2025-12-15\"], \"expected\": [\"monthly\", \"2025-12-15\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}