{"abstract":"A schedule publishing Monday then Friday of the next week is rejected although the weeks are successive.","category":"Legal deadline computation","checks":7,"contract":"Stipulated: service by publication requires at least four publications, one in each of successive calendar weeks (weeks run Sunday to Saturday), with no two in the same week. Service is complete on the 28th day after the first publication, and the response is due 30 days after completion (a closed last day moves to the next open day). Return {\"valid\": false} or {\"valid\": true, \"complete\", \"respond\"}.","evaluation_group":"w2-legal-deadline-computation-publication-service-completion","failed_approach":"The partial repair `any((pubs[i + 1] - pubs[i]).days > 7 for i in range(len(pubs) - 1))` allows shorter gaps but still rejects gaps longer than seven days within successive weeks.","family":"w2-legal-deadline-computation-publication-service-completion-successive-weeks","id":"FA-77691","implementations":{"attempt":{"sha256":"4709b70d828411ca98fd4e820d7aa773b084ae0e5e4ac31516c7e8e00d6efd8e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(publications, holidays):\n    pubs = sorted(dt.date.fromisoformat(p) for p in publications)\n    hol = {dt.date.fromisoformat(x) for x in holidays}\n    weeks = [p - dt.timedelta(days=(p.weekday() + 1) % 7) for p in pubs]\n    uw = sorted(set(weeks))\n    if len(set(weeks)) != len(weeks):\n        return {'valid': False}\n    if len(pubs) < 4 or any((pubs[i + 1] - pubs[i]).days > 7 for i in range(len(pubs) - 1)):\n        return {'valid': False}\n    complete = pubs[0] + dt.timedelta(days=28)\n    respond = complete + dt.timedelta(days=30)\n    while respond.weekday() >= 5 or respond in hol:\n        respond += dt.timedelta(days=1)\n    return {'valid': True, 'complete': complete.isoformat(), 'respond': respond.isoformat()}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: saturday then sunday publications',\n   [['2024-03-02', '2024-03-10', '2024-03-17', '2024-03-24'],\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   {'valid': False}),\n  ('weekly thursdays',\n   [['2024-03-07', '2024-03-14', '2024-03-21', '2024-03-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   {'valid': True, 'complete': '2024-04-04', 'respond': '2024-05-06'}),\n  ('two in one week',\n   [['2024-03-04', '2024-03-08', '2024-03-12', '2024-03-19', '2024-03-26'],\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   {'valid': False}),\n  ('two in one week of five',\n   [['2024-03-04', '2024-03-08', '2024-03-12', '2024-03-19', '2024-03-26', '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   {'valid': False}),\n  ('uneven successive weeks',\n   [['2024-04-01', '2024-04-12', '2024-04-15', '2024-04-26'],\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   {'valid': True, 'complete': '2024-04-29', 'respond': '2024-05-29'}),\n  ('gap week',\n   [['2024-04-01', '2024-04-08', '2024-04-22', '2024-04-29'],\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   {'valid': False}),\n  ('only three',\n   [['2024-05-01', '2024-05-08', '2024-05-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   {'valid': False})],\n [('two in one week',\n   [['2024-03-04', '2024-03-08', '2024-03-12', '2024-03-19', '2024-03-26'],\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   {'valid': False}),\n  ('two in one week of five',\n   [['2024-03-04', '2024-03-08', '2024-03-12', '2024-03-19', '2024-03-26', '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   {'valid': False}),\n  ('uneven successive weeks',\n   [['2024-04-01', '2024-04-12', '2024-04-15', '2024-04-26'],\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   {'valid': True, 'complete': '2024-04-29', 'respond': '2024-05-29'}),\n  ('gap week',\n   [['2024-04-01', '2024-04-08', '2024-04-22', '2024-04-29'],\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   {'valid': False}),\n  ('only three',\n   [['2024-05-01', '2024-05-08', '2024-05-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   {'valid': False}),\n  ('five publications',\n   [['2024-05-02', '2024-05-09', '2024-05-16', '2024-05-23', '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   {'valid': True, 'complete': '2024-05-30', 'respond': '2024-07-01'}),\n  ('sunday saturday pairs',\n   [['2024-06-02', '2024-06-15', '2024-06-16', '2024-06-29'],\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   {'valid': True, 'complete': '2024-06-30', 'respond': '2024-07-30'})],\n [('uneven successive weeks',\n   [['2024-04-01', '2024-04-12', '2024-04-15', '2024-04-26'],\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   {'valid': True, 'complete': '2024-04-29', 'respond': '2024-05-29'}),\n  ('gap week',\n   [['2024-04-01', '2024-04-08', '2024-04-22', '2024-04-29'],\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   {'valid': False}),\n  ('only three',\n   [['2024-05-01', '2024-05-08', '2024-05-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   {'valid': False}),\n  ('five publications',\n   [['2024-05-02', '2024-05-09', '2024-05-16', '2024-05-23', '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   {'valid': True, 'complete': '2024-05-30', 'respond': '2024-07-01'}),\n  ('sunday saturday pairs',\n   [['2024-06-02', '2024-06-15', '2024-06-16', '2024-06-29'],\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   {'valid': True, 'complete': '2024-06-30', 'respond': '2024-07-30'}),\n  ('respond lands holiday',\n   [['2024-08-07', '2024-08-14', '2024-08-21', '2024-08-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   {'valid': True, 'complete': '2024-09-04', 'respond': '2024-10-04'}),\n  ('unsorted input',\n   [['2024-09-24', '2024-09-03', '2024-09-17', '2024-09-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   {'valid': True, 'complete': '2024-10-01', 'respond': '2024-10-31'})],\n [('only three',\n   [['2024-05-01', '2024-05-08', '2024-05-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   {'valid': False}),\n  ('five publications',\n   [['2024-05-02', '2024-05-09', '2024-05-16', '2024-05-23', '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   {'valid': True, 'complete': '2024-05-30', 'respond': '2024-07-01'}),\n  ('sunday saturday pairs',\n   [['2024-06-02', '2024-06-15', '2024-06-16', '2024-06-29'],\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   {'valid': True, 'complete': '2024-06-30', 'respond': '2024-07-30'}),\n  ('respond lands holiday',\n   [['2024-08-07', '2024-08-14', '2024-08-21', '2024-08-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   {'valid': True, 'complete': '2024-09-04', 'respond': '2024-10-04'}),\n  ('unsorted input',\n   [['2024-09-24', '2024-09-03', '2024-09-17', '2024-09-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   {'valid': True, 'complete': '2024-10-01', 'respond': '2024-10-31'}),\n  ('monday sunday same week',\n   [['2024-10-06', '2024-10-07', '2024-10-14', '2024-10-21', '2024-10-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   {'valid': False}),\n  ('regression: saturday then sunday publications',\n   [['2024-03-02', '2024-03-10', '2024-03-17', '2024-03-24'],\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   {'valid': False})],\n [('sunday saturday pairs',\n   [['2024-06-02', '2024-06-15', '2024-06-16', '2024-06-29'],\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   {'valid': True, 'complete': '2024-06-30', 'respond': '2024-07-30'}),\n  ('respond lands holiday',\n   [['2024-08-07', '2024-08-14', '2024-08-21', '2024-08-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   {'valid': True, 'complete': '2024-09-04', 'respond': '2024-10-04'}),\n  ('unsorted input',\n   [['2024-09-24', '2024-09-03', '2024-09-17', '2024-09-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   {'valid': True, 'complete': '2024-10-01', 'respond': '2024-10-31'}),\n  ('monday sunday same week',\n   [['2024-10-06', '2024-10-07', '2024-10-14', '2024-10-21', '2024-10-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   {'valid': False}),\n  ('regression: saturday then sunday publications',\n   [['2024-03-02', '2024-03-10', '2024-03-17', '2024-03-24'],\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   {'valid': False}),\n  ('weekly thursdays',\n   [['2024-03-07', '2024-03-14', '2024-03-21', '2024-03-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   {'valid': True, 'complete': '2024-04-04', 'respond': '2024-05-06'}),\n  ('two in one week',\n   [['2024-03-04', '2024-03-08', '2024-03-12', '2024-03-19', '2024-03-26'],\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   {'valid': False})]]\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":"66f6db6570e802a703bf7c39312665b326874f868240b5b0ab2dc7341b81c8fe","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(publications, holidays):\n    pubs = sorted(dt.date.fromisoformat(p) for p in publications)\n    hol = {dt.date.fromisoformat(x) for x in holidays}\n    weeks = [p - dt.timedelta(days=(p.weekday() + 1) % 7) for p in pubs]\n    uw = sorted(set(weeks))\n    if len(set(weeks)) != len(weeks):\n        return {'valid': False}\n    if len(pubs) < 4 or any((pubs[i + 1] - pubs[i]).days != 7 for i in range(len(pubs) - 1)):\n        return {'valid': False}\n    complete = pubs[0] + dt.timedelta(days=28)\n    respond = complete + dt.timedelta(days=30)\n    while respond.weekday() >= 5 or respond in hol:\n        respond += dt.timedelta(days=1)\n    return {'valid': True, 'complete': complete.isoformat(), 'respond': respond.isoformat()}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: saturday then sunday publications',\n   [['2024-03-02', '2024-03-10', '2024-03-17', '2024-03-24'],\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   {'valid': False}),\n  ('weekly thursdays',\n   [['2024-03-07', '2024-03-14', '2024-03-21', '2024-03-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   {'valid': True, 'complete': '2024-04-04', 'respond': '2024-05-06'}),\n  ('two in one week',\n   [['2024-03-04', '2024-03-08', '2024-03-12', '2024-03-19', '2024-03-26'],\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   {'valid': False}),\n  ('two in one week of five',\n   [['2024-03-04', '2024-03-08', '2024-03-12', '2024-03-19', '2024-03-26', '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   {'valid': False}),\n  ('uneven successive weeks',\n   [['2024-04-01', '2024-04-12', '2024-04-15', '2024-04-26'],\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   {'valid': True, 'complete': '2024-04-29', 'respond': '2024-05-29'}),\n  ('gap week',\n   [['2024-04-01', '2024-04-08', '2024-04-22', '2024-04-29'],\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   {'valid': False}),\n  ('only three',\n   [['2024-05-01', '2024-05-08', '2024-05-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   {'valid': False})],\n [('two in one week',\n   [['2024-03-04', '2024-03-08', '2024-03-12', '2024-03-19', '2024-03-26'],\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   {'valid': False}),\n  ('two in one week of five',\n   [['2024-03-04', '2024-03-08', '2024-03-12', '2024-03-19', '2024-03-26', '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   {'valid': False}),\n  ('uneven successive weeks',\n   [['2024-04-01', '2024-04-12', '2024-04-15', '2024-04-26'],\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   {'valid': True, 'complete': '2024-04-29', 'respond': '2024-05-29'}),\n  ('gap week',\n   [['2024-04-01', '2024-04-08', '2024-04-22', '2024-04-29'],\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   {'valid': False}),\n  ('only three',\n   [['2024-05-01', '2024-05-08', '2024-05-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   {'valid': False}),\n  ('five publications',\n   [['2024-05-02', '2024-05-09', '2024-05-16', '2024-05-23', '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   {'valid': True, 'complete': '2024-05-30', 'respond': '2024-07-01'}),\n  ('sunday saturday pairs',\n   [['2024-06-02', '2024-06-15', '2024-06-16', '2024-06-29'],\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   {'valid': True, 'complete': '2024-06-30', 'respond': '2024-07-30'})],\n [('uneven successive weeks',\n   [['2024-04-01', '2024-04-12', '2024-04-15', '2024-04-26'],\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   {'valid': True, 'complete': '2024-04-29', 'respond': '2024-05-29'}),\n  ('gap week',\n   [['2024-04-01', '2024-04-08', '2024-04-22', '2024-04-29'],\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   {'valid': False}),\n  ('only three',\n   [['2024-05-01', '2024-05-08', '2024-05-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   {'valid': False}),\n  ('five publications',\n   [['2024-05-02', '2024-05-09', '2024-05-16', '2024-05-23', '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   {'valid': True, 'complete': '2024-05-30', 'respond': '2024-07-01'}),\n  ('sunday saturday pairs',\n   [['2024-06-02', '2024-06-15', '2024-06-16', '2024-06-29'],\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   {'valid': True, 'complete': '2024-06-30', 'respond': '2024-07-30'}),\n  ('respond lands holiday',\n   [['2024-08-07', '2024-08-14', '2024-08-21', '2024-08-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   {'valid': True, 'complete': '2024-09-04', 'respond': '2024-10-04'}),\n  ('unsorted input',\n   [['2024-09-24', '2024-09-03', '2024-09-17', '2024-09-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   {'valid': True, 'complete': '2024-10-01', 'respond': '2024-10-31'})],\n [('only three',\n   [['2024-05-01', '2024-05-08', '2024-05-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   {'valid': False}),\n  ('five publications',\n   [['2024-05-02', '2024-05-09', '2024-05-16', '2024-05-23', '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   {'valid': True, 'complete': '2024-05-30', 'respond': '2024-07-01'}),\n  ('sunday saturday pairs',\n   [['2024-06-02', '2024-06-15', '2024-06-16', '2024-06-29'],\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   {'valid': True, 'complete': '2024-06-30', 'respond': '2024-07-30'}),\n  ('respond lands holiday',\n   [['2024-08-07', '2024-08-14', '2024-08-21', '2024-08-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   {'valid': True, 'complete': '2024-09-04', 'respond': '2024-10-04'}),\n  ('unsorted input',\n   [['2024-09-24', '2024-09-03', '2024-09-17', '2024-09-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   {'valid': True, 'complete': '2024-10-01', 'respond': '2024-10-31'}),\n  ('monday sunday same week',\n   [['2024-10-06', '2024-10-07', '2024-10-14', '2024-10-21', '2024-10-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   {'valid': False}),\n  ('regression: saturday then sunday publications',\n   [['2024-03-02', '2024-03-10', '2024-03-17', '2024-03-24'],\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   {'valid': False})],\n [('sunday saturday pairs',\n   [['2024-06-02', '2024-06-15', '2024-06-16', '2024-06-29'],\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   {'valid': True, 'complete': '2024-06-30', 'respond': '2024-07-30'}),\n  ('respond lands holiday',\n   [['2024-08-07', '2024-08-14', '2024-08-21', '2024-08-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   {'valid': True, 'complete': '2024-09-04', 'respond': '2024-10-04'}),\n  ('unsorted input',\n   [['2024-09-24', '2024-09-03', '2024-09-17', '2024-09-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   {'valid': True, 'complete': '2024-10-01', 'respond': '2024-10-31'}),\n  ('monday sunday same week',\n   [['2024-10-06', '2024-10-07', '2024-10-14', '2024-10-21', '2024-10-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   {'valid': False}),\n  ('regression: saturday then sunday publications',\n   [['2024-03-02', '2024-03-10', '2024-03-17', '2024-03-24'],\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   {'valid': False}),\n  ('weekly thursdays',\n   [['2024-03-07', '2024-03-14', '2024-03-21', '2024-03-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   {'valid': True, 'complete': '2024-04-04', 'respond': '2024-05-06'}),\n  ('two in one week',\n   [['2024-03-04', '2024-03-08', '2024-03-12', '2024-03-19', '2024-03-26'],\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   {'valid': False})]]\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":"83b5f0a1128b93d94197bc37020d192a128255e8123506e19ac7a0907debb609","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(publications, holidays):\n    pubs = sorted(dt.date.fromisoformat(p) for p in publications)\n    hol = {dt.date.fromisoformat(x) for x in holidays}\n    weeks = [p - dt.timedelta(days=(p.weekday() + 1) % 7) for p in pubs]\n    uw = sorted(set(weeks))\n    if len(set(weeks)) != len(weeks):\n        return {'valid': False}\n    if len(pubs) < 4 or any((uw[i + 1] - uw[i]).days != 7 for i in range(len(uw) - 1)):\n        return {'valid': False}\n    complete = pubs[0] + dt.timedelta(days=28)\n    respond = complete + dt.timedelta(days=30)\n    while respond.weekday() >= 5 or respond in hol:\n        respond += dt.timedelta(days=1)\n    return {'valid': True, 'complete': complete.isoformat(), 'respond': respond.isoformat()}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: saturday then sunday publications',\n   [['2024-03-02', '2024-03-10', '2024-03-17', '2024-03-24'],\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   {'valid': False}),\n  ('weekly thursdays',\n   [['2024-03-07', '2024-03-14', '2024-03-21', '2024-03-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   {'valid': True, 'complete': '2024-04-04', 'respond': '2024-05-06'}),\n  ('two in one week',\n   [['2024-03-04', '2024-03-08', '2024-03-12', '2024-03-19', '2024-03-26'],\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   {'valid': False}),\n  ('two in one week of five',\n   [['2024-03-04', '2024-03-08', '2024-03-12', '2024-03-19', '2024-03-26', '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   {'valid': False}),\n  ('uneven successive weeks',\n   [['2024-04-01', '2024-04-12', '2024-04-15', '2024-04-26'],\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   {'valid': True, 'complete': '2024-04-29', 'respond': '2024-05-29'}),\n  ('gap week',\n   [['2024-04-01', '2024-04-08', '2024-04-22', '2024-04-29'],\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   {'valid': False}),\n  ('only three',\n   [['2024-05-01', '2024-05-08', '2024-05-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   {'valid': False})],\n [('two in one week',\n   [['2024-03-04', '2024-03-08', '2024-03-12', '2024-03-19', '2024-03-26'],\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   {'valid': False}),\n  ('two in one week of five',\n   [['2024-03-04', '2024-03-08', '2024-03-12', '2024-03-19', '2024-03-26', '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   {'valid': False}),\n  ('uneven successive weeks',\n   [['2024-04-01', '2024-04-12', '2024-04-15', '2024-04-26'],\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   {'valid': True, 'complete': '2024-04-29', 'respond': '2024-05-29'}),\n  ('gap week',\n   [['2024-04-01', '2024-04-08', '2024-04-22', '2024-04-29'],\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   {'valid': False}),\n  ('only three',\n   [['2024-05-01', '2024-05-08', '2024-05-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   {'valid': False}),\n  ('five publications',\n   [['2024-05-02', '2024-05-09', '2024-05-16', '2024-05-23', '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   {'valid': True, 'complete': '2024-05-30', 'respond': '2024-07-01'}),\n  ('sunday saturday pairs',\n   [['2024-06-02', '2024-06-15', '2024-06-16', '2024-06-29'],\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   {'valid': True, 'complete': '2024-06-30', 'respond': '2024-07-30'})],\n [('uneven successive weeks',\n   [['2024-04-01', '2024-04-12', '2024-04-15', '2024-04-26'],\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   {'valid': True, 'complete': '2024-04-29', 'respond': '2024-05-29'}),\n  ('gap week',\n   [['2024-04-01', '2024-04-08', '2024-04-22', '2024-04-29'],\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   {'valid': False}),\n  ('only three',\n   [['2024-05-01', '2024-05-08', '2024-05-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   {'valid': False}),\n  ('five publications',\n   [['2024-05-02', '2024-05-09', '2024-05-16', '2024-05-23', '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   {'valid': True, 'complete': '2024-05-30', 'respond': '2024-07-01'}),\n  ('sunday saturday pairs',\n   [['2024-06-02', '2024-06-15', '2024-06-16', '2024-06-29'],\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   {'valid': True, 'complete': '2024-06-30', 'respond': '2024-07-30'}),\n  ('respond lands holiday',\n   [['2024-08-07', '2024-08-14', '2024-08-21', '2024-08-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   {'valid': True, 'complete': '2024-09-04', 'respond': '2024-10-04'}),\n  ('unsorted input',\n   [['2024-09-24', '2024-09-03', '2024-09-17', '2024-09-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   {'valid': True, 'complete': '2024-10-01', 'respond': '2024-10-31'})],\n [('only three',\n   [['2024-05-01', '2024-05-08', '2024-05-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   {'valid': False}),\n  ('five publications',\n   [['2024-05-02', '2024-05-09', '2024-05-16', '2024-05-23', '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   {'valid': True, 'complete': '2024-05-30', 'respond': '2024-07-01'}),\n  ('sunday saturday pairs',\n   [['2024-06-02', '2024-06-15', '2024-06-16', '2024-06-29'],\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   {'valid': True, 'complete': '2024-06-30', 'respond': '2024-07-30'}),\n  ('respond lands holiday',\n   [['2024-08-07', '2024-08-14', '2024-08-21', '2024-08-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   {'valid': True, 'complete': '2024-09-04', 'respond': '2024-10-04'}),\n  ('unsorted input',\n   [['2024-09-24', '2024-09-03', '2024-09-17', '2024-09-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   {'valid': True, 'complete': '2024-10-01', 'respond': '2024-10-31'}),\n  ('monday sunday same week',\n   [['2024-10-06', '2024-10-07', '2024-10-14', '2024-10-21', '2024-10-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   {'valid': False}),\n  ('regression: saturday then sunday publications',\n   [['2024-03-02', '2024-03-10', '2024-03-17', '2024-03-24'],\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   {'valid': False})],\n [('sunday saturday pairs',\n   [['2024-06-02', '2024-06-15', '2024-06-16', '2024-06-29'],\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   {'valid': True, 'complete': '2024-06-30', 'respond': '2024-07-30'}),\n  ('respond lands holiday',\n   [['2024-08-07', '2024-08-14', '2024-08-21', '2024-08-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   {'valid': True, 'complete': '2024-09-04', 'respond': '2024-10-04'}),\n  ('unsorted input',\n   [['2024-09-24', '2024-09-03', '2024-09-17', '2024-09-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   {'valid': True, 'complete': '2024-10-01', 'respond': '2024-10-31'}),\n  ('monday sunday same week',\n   [['2024-10-06', '2024-10-07', '2024-10-14', '2024-10-21', '2024-10-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   {'valid': False}),\n  ('regression: saturday then sunday publications',\n   [['2024-03-02', '2024-03-10', '2024-03-17', '2024-03-24'],\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   {'valid': False}),\n  ('weekly thursdays',\n   [['2024-03-07', '2024-03-14', '2024-03-21', '2024-03-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   {'valid': True, 'complete': '2024-04-04', 'respond': '2024-05-06'}),\n  ('two in one week',\n   [['2024-03-04', '2024-03-08', '2024-03-12', '2024-03-19', '2024-03-26'],\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   {'valid': False})]]\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-publication-service-completion-successive-weeks","generated_at":"2026-09-29T14:49:27.950154+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 successive weeks decision use `any((uw[i + 1] - uw[i]).days != 7 for i in range(len(uw) - 1))`, leaving the other decision sites of the model unchanged.","root_cause":"Successive weeks are checked by exact 7-day gaps between publication dates.","sha256":"06b972dfee134f6f778d6cd4b29fcdfcd3b48dbf839e38ff273643ef1331ab6d","title":"Service by publication: schedule validity and completion date: successive weeks · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":47.224,"exit_code":1,"observations":[{"actual":{"valid":false},"check":"regression: saturday then sunday publications","expected":{"valid":false},"passed":true},{"actual":{"complete":"2024-04-04","respond":"2024-05-06","valid":true},"check":"weekly thursdays","expected":{"complete":"2024-04-04","respond":"2024-05-06","valid":true},"passed":true},{"actual":{"valid":false},"check":"two in one week","expected":{"valid":false},"passed":true},{"actual":{"valid":false},"check":"two in one week of five","expected":{"valid":false},"passed":true},{"actual":{"valid":false},"check":"uneven successive weeks","expected":{"complete":"2024-04-29","respond":"2024-05-29","valid":true},"passed":false},{"actual":{"valid":false},"check":"gap week","expected":{"valid":false},"passed":true},{"actual":{"valid":false},"check":"only three","expected":{"valid":false},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: saturday then sunday publications\", \"actual\": {\"valid\": false}, \"expected\": {\"valid\": false}, \"passed\": true}, {\"check\": \"weekly thursdays\", \"actual\": {\"valid\": true, \"complete\": \"2024-04-04\", \"respond\": \"2024-05-06\"}, \"expected\": {\"valid\": true, \"complete\": \"2024-04-04\", \"respond\": \"2024-05-06\"}, \"passed\": true}, {\"check\": \"two in one week\", \"actual\": {\"valid\": false}, \"expected\": {\"valid\": false}, \"passed\": true}, {\"check\": \"two in one week of five\", \"actual\": {\"valid\": false}, \"expected\": {\"valid\": false}, \"passed\": true}, {\"check\": \"uneven successive weeks\", \"actual\": {\"valid\": false}, \"expected\": {\"valid\": true, \"complete\": \"2024-04-29\", \"respond\": \"2024-05-29\"}, \"passed\": false}, {\"check\": \"gap week\", \"actual\": {\"valid\": false}, \"expected\": {\"valid\": false}, \"passed\": true}, {\"check\": \"only three\", \"actual\": {\"valid\": false}, \"expected\": {\"valid\": false}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":49.302,"exit_code":1,"observations":[{"actual":{"valid":false},"check":"regression: saturday then sunday publications","expected":{"valid":false},"passed":true},{"actual":{"complete":"2024-04-04","respond":"2024-05-06","valid":true},"check":"weekly thursdays","expected":{"complete":"2024-04-04","respond":"2024-05-06","valid":true},"passed":true},{"actual":{"valid":false},"check":"two in one week","expected":{"valid":false},"passed":true},{"actual":{"valid":false},"check":"two in one week of five","expected":{"valid":false},"passed":true},{"actual":{"valid":false},"check":"uneven successive weeks","expected":{"complete":"2024-04-29","respond":"2024-05-29","valid":true},"passed":false},{"actual":{"valid":false},"check":"gap week","expected":{"valid":false},"passed":true},{"actual":{"valid":false},"check":"only three","expected":{"valid":false},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: saturday then sunday publications\", \"actual\": {\"valid\": false}, \"expected\": {\"valid\": false}, \"passed\": true}, {\"check\": \"weekly thursdays\", \"actual\": {\"valid\": true, \"complete\": \"2024-04-04\", \"respond\": \"2024-05-06\"}, \"expected\": {\"valid\": true, \"complete\": \"2024-04-04\", \"respond\": \"2024-05-06\"}, \"passed\": true}, {\"check\": \"two in one week\", \"actual\": {\"valid\": false}, \"expected\": {\"valid\": false}, \"passed\": true}, {\"check\": \"two in one week of five\", \"actual\": {\"valid\": false}, \"expected\": {\"valid\": false}, \"passed\": true}, {\"check\": \"uneven successive weeks\", \"actual\": {\"valid\": false}, \"expected\": {\"valid\": true, \"complete\": \"2024-04-29\", \"respond\": \"2024-05-29\"}, \"passed\": false}, {\"check\": \"gap week\", \"actual\": {\"valid\": false}, \"expected\": {\"valid\": false}, \"passed\": true}, {\"check\": \"only three\", \"actual\": {\"valid\": false}, \"expected\": {\"valid\": false}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":46.763,"exit_code":0,"observations":[{"actual":{"valid":false},"check":"regression: saturday then sunday publications","expected":{"valid":false},"passed":true},{"actual":{"complete":"2024-04-04","respond":"2024-05-06","valid":true},"check":"weekly thursdays","expected":{"complete":"2024-04-04","respond":"2024-05-06","valid":true},"passed":true},{"actual":{"valid":false},"check":"two in one week","expected":{"valid":false},"passed":true},{"actual":{"valid":false},"check":"two in one week of five","expected":{"valid":false},"passed":true},{"actual":{"complete":"2024-04-29","respond":"2024-05-29","valid":true},"check":"uneven successive weeks","expected":{"complete":"2024-04-29","respond":"2024-05-29","valid":true},"passed":true},{"actual":{"valid":false},"check":"gap week","expected":{"valid":false},"passed":true},{"actual":{"valid":false},"check":"only three","expected":{"valid":false},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: saturday then sunday publications\", \"actual\": {\"valid\": false}, \"expected\": {\"valid\": false}, \"passed\": true}, {\"check\": \"weekly thursdays\", \"actual\": {\"valid\": true, \"complete\": \"2024-04-04\", \"respond\": \"2024-05-06\"}, \"expected\": {\"valid\": true, \"complete\": \"2024-04-04\", \"respond\": \"2024-05-06\"}, \"passed\": true}, {\"check\": \"two in one week\", \"actual\": {\"valid\": false}, \"expected\": {\"valid\": false}, \"passed\": true}, {\"check\": \"two in one week of five\", \"actual\": {\"valid\": false}, \"expected\": {\"valid\": false}, \"passed\": true}, {\"check\": \"uneven successive weeks\", \"actual\": {\"valid\": true, \"complete\": \"2024-04-29\", \"respond\": \"2024-05-29\"}, \"expected\": {\"valid\": true, \"complete\": \"2024-04-29\", \"respond\": \"2024-05-29\"}, \"passed\": true}, {\"check\": \"gap week\", \"actual\": {\"valid\": false}, \"expected\": {\"valid\": false}, \"passed\": true}, {\"check\": \"only three\", \"actual\": {\"valid\": false}, \"expected\": {\"valid\": false}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}