{"abstract":"An override for a date that is not an instance adds a phantom occurrence.","category":"Calendar recurrence rules","checks":7,"contract":"A daily-interval series of count instances. overrides is an ordered list of [original_date, new_date] where new_date None cancels; for repeated originals the last override wins; overrides whose original is not a series instance are ignored. Return [original, actual] pairs for instances whose actual date lies in [window_start, window_end], sorted by actual then original date.","evaluation_group":"w2-calendar-recurrence-rules-recurrence-id-overrides","failed_approach":"The partial repair `o not in origset and new is None` only discards orphan cancellations; orphan moves still create phantom instances.","family":"w2-calendar-recurrence-rules-recurrence-id-overrides-orphan-guard","id":"FA-76996","implementations":{"attempt":{"sha256":"74cfa54fe52afe451561b64d62894aaf3f1b1afb1716bbf65a02a5472889294b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(dtstart, interval, count, overrides, window_start, window_end):\n    start = dt.date.fromisoformat(dtstart)\n    ws = dt.date.fromisoformat(window_start)\n    we = dt.date.fromisoformat(window_end)\n    originals = [start + dt.timedelta(days=k * interval) for k in range(count)]\n    origset = set(originals)\n    actual = {o: o for o in originals}\n    for orig, new in overrides:\n        o = dt.date.fromisoformat(orig)\n        if o not in origset and new is None:\n            continue\n        actual[o] = None if new is None else dt.date.fromisoformat(new)\n    rows = [[o.isoformat(), a.isoformat()] for o, a in actual.items() if a is not None and ws <= a <= we]\n    return sorted(rows, key=lambda r: (r[1], r[0]))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: moved into window',\n   ['2024-01-01', 1, 10, [['2024-01-02', '2024-01-06']], '2024-01-05', '2024-01-07'],\n   [['2024-01-05', '2024-01-05'],\n    ['2024-01-02', '2024-01-06'],\n    ['2024-01-06', '2024-01-06'],\n    ['2024-01-07', '2024-01-07']]),\n  ('moved out of window',\n   ['2024-01-01', 1, 10, [['2024-01-06', '2024-01-20']], '2024-01-05', '2024-01-07'],\n   [['2024-01-05', '2024-01-05'], ['2024-01-07', '2024-01-07']]),\n  ('cancelled instance',\n   ['2024-01-01', 2, 5, [['2024-01-03', None]], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'],\n    ['2024-01-05', '2024-01-05'],\n    ['2024-01-07', '2024-01-07'],\n    ['2024-01-09', '2024-01-09']]),\n  ('orphan move',\n   ['2024-01-01', 2, 5, [['2024-01-02', '2024-01-04']], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'],\n    ['2024-01-03', '2024-01-03'],\n    ['2024-01-05', '2024-01-05'],\n    ['2024-01-07', '2024-01-07'],\n    ['2024-01-09', '2024-01-09']]),\n  ('orphan cancel',\n   ['2024-01-01', 2, 3, [['2024-01-04', None]], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'], ['2024-01-03', '2024-01-03'], ['2024-01-05', '2024-01-05']]),\n  ('last override wins',\n   ['2024-02-01',\n    1,\n    4,\n    [['2024-02-02', '2024-02-10'], ['2024-02-02', '2024-02-03']],\n    '2024-02-01',\n    '2024-02-10'],\n   [['2024-02-01', '2024-02-01'],\n    ['2024-02-02', '2024-02-03'],\n    ['2024-02-03', '2024-02-03'],\n    ['2024-02-04', '2024-02-04']]),\n  ('cancel then move',\n   ['2024-02-01', 1, 3, [['2024-02-02', None], ['2024-02-02', '2024-02-05']], '2024-02-01', '2024-02-05'],\n   [['2024-02-01', '2024-02-01'], ['2024-02-03', '2024-02-03'], ['2024-02-02', '2024-02-05']])],\n [('cancelled instance',\n   ['2024-01-01', 2, 5, [['2024-01-03', None]], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'],\n    ['2024-01-05', '2024-01-05'],\n    ['2024-01-07', '2024-01-07'],\n    ['2024-01-09', '2024-01-09']]),\n  ('orphan move',\n   ['2024-01-01', 2, 5, [['2024-01-02', '2024-01-04']], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'],\n    ['2024-01-03', '2024-01-03'],\n    ['2024-01-05', '2024-01-05'],\n    ['2024-01-07', '2024-01-07'],\n    ['2024-01-09', '2024-01-09']]),\n  ('orphan cancel',\n   ['2024-01-01', 2, 3, [['2024-01-04', None]], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'], ['2024-01-03', '2024-01-03'], ['2024-01-05', '2024-01-05']]),\n  ('last override wins',\n   ['2024-02-01',\n    1,\n    4,\n    [['2024-02-02', '2024-02-10'], ['2024-02-02', '2024-02-03']],\n    '2024-02-01',\n    '2024-02-10'],\n   [['2024-02-01', '2024-02-01'],\n    ['2024-02-02', '2024-02-03'],\n    ['2024-02-03', '2024-02-03'],\n    ['2024-02-04', '2024-02-04']]),\n  ('cancel then move',\n   ['2024-02-01', 1, 3, [['2024-02-02', None], ['2024-02-02', '2024-02-05']], '2024-02-01', '2024-02-05'],\n   [['2024-02-01', '2024-02-01'], ['2024-02-03', '2024-02-03'], ['2024-02-02', '2024-02-05']]),\n  ('restated original date',\n   ['2024-03-01', 7, 3, [['2024-03-08', '2024-03-08']], '2024-03-01', '2024-03-31'],\n   [['2024-03-01', '2024-03-01'], ['2024-03-08', '2024-03-08'], ['2024-03-15', '2024-03-15']]),\n  ('two moved onto same day',\n   ['2024-04-01',\n    1,\n    5,\n    [['2024-04-04', '2024-04-02'], ['2024-04-05', '2024-04-02']],\n    '2024-04-02',\n    '2024-04-03'],\n   [['2024-04-02', '2024-04-02'],\n    ['2024-04-04', '2024-04-02'],\n    ['2024-04-05', '2024-04-02'],\n    ['2024-04-03', '2024-04-03']])],\n [('orphan cancel',\n   ['2024-01-01', 2, 3, [['2024-01-04', None]], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'], ['2024-01-03', '2024-01-03'], ['2024-01-05', '2024-01-05']]),\n  ('last override wins',\n   ['2024-02-01',\n    1,\n    4,\n    [['2024-02-02', '2024-02-10'], ['2024-02-02', '2024-02-03']],\n    '2024-02-01',\n    '2024-02-10'],\n   [['2024-02-01', '2024-02-01'],\n    ['2024-02-02', '2024-02-03'],\n    ['2024-02-03', '2024-02-03'],\n    ['2024-02-04', '2024-02-04']]),\n  ('cancel then move',\n   ['2024-02-01', 1, 3, [['2024-02-02', None], ['2024-02-02', '2024-02-05']], '2024-02-01', '2024-02-05'],\n   [['2024-02-01', '2024-02-01'], ['2024-02-03', '2024-02-03'], ['2024-02-02', '2024-02-05']]),\n  ('restated original date',\n   ['2024-03-01', 7, 3, [['2024-03-08', '2024-03-08']], '2024-03-01', '2024-03-31'],\n   [['2024-03-01', '2024-03-01'], ['2024-03-08', '2024-03-08'], ['2024-03-15', '2024-03-15']]),\n  ('two moved onto same day',\n   ['2024-04-01',\n    1,\n    5,\n    [['2024-04-04', '2024-04-02'], ['2024-04-05', '2024-04-02']],\n    '2024-04-02',\n    '2024-04-03'],\n   [['2024-04-02', '2024-04-02'],\n    ['2024-04-04', '2024-04-02'],\n    ['2024-04-05', '2024-04-02'],\n    ['2024-04-03', '2024-04-03']]),\n  ('orphan after series end',\n   ['2024-05-01', 1, 3, [['2024-05-10', '2024-05-02']], '2024-05-01', '2024-05-10'],\n   [['2024-05-01', '2024-05-01'], ['2024-05-02', '2024-05-02'], ['2024-05-03', '2024-05-03']]),\n  ('move then cancel',\n   ['2024-06-01', 1, 3, [['2024-06-03', '2024-06-01'], ['2024-06-03', None]], '2024-06-01', '2024-06-05'],\n   [['2024-06-01', '2024-06-01'], ['2024-06-02', '2024-06-02']])],\n [('cancel then move',\n   ['2024-02-01', 1, 3, [['2024-02-02', None], ['2024-02-02', '2024-02-05']], '2024-02-01', '2024-02-05'],\n   [['2024-02-01', '2024-02-01'], ['2024-02-03', '2024-02-03'], ['2024-02-02', '2024-02-05']]),\n  ('restated original date',\n   ['2024-03-01', 7, 3, [['2024-03-08', '2024-03-08']], '2024-03-01', '2024-03-31'],\n   [['2024-03-01', '2024-03-01'], ['2024-03-08', '2024-03-08'], ['2024-03-15', '2024-03-15']]),\n  ('two moved onto same day',\n   ['2024-04-01',\n    1,\n    5,\n    [['2024-04-04', '2024-04-02'], ['2024-04-05', '2024-04-02']],\n    '2024-04-02',\n    '2024-04-03'],\n   [['2024-04-02', '2024-04-02'],\n    ['2024-04-04', '2024-04-02'],\n    ['2024-04-05', '2024-04-02'],\n    ['2024-04-03', '2024-04-03']]),\n  ('orphan after series end',\n   ['2024-05-01', 1, 3, [['2024-05-10', '2024-05-02']], '2024-05-01', '2024-05-10'],\n   [['2024-05-01', '2024-05-01'], ['2024-05-02', '2024-05-02'], ['2024-05-03', '2024-05-03']]),\n  ('move then cancel',\n   ['2024-06-01', 1, 3, [['2024-06-03', '2024-06-01'], ['2024-06-03', None]], '2024-06-01', '2024-06-05'],\n   [['2024-06-01', '2024-06-01'], ['2024-06-02', '2024-06-02']]),\n  ('no overrides',\n   ['2024-06-01', 3, 3, [], '2024-06-02', '2024-06-07'],\n   [['2024-06-04', '2024-06-04'], ['2024-06-07', '2024-06-07']]),\n  ('regression: moved into window',\n   ['2024-01-01', 1, 10, [['2024-01-02', '2024-01-06']], '2024-01-05', '2024-01-07'],\n   [['2024-01-05', '2024-01-05'],\n    ['2024-01-02', '2024-01-06'],\n    ['2024-01-06', '2024-01-06'],\n    ['2024-01-07', '2024-01-07']])],\n [('two moved onto same day',\n   ['2024-04-01',\n    1,\n    5,\n    [['2024-04-04', '2024-04-02'], ['2024-04-05', '2024-04-02']],\n    '2024-04-02',\n    '2024-04-03'],\n   [['2024-04-02', '2024-04-02'],\n    ['2024-04-04', '2024-04-02'],\n    ['2024-04-05', '2024-04-02'],\n    ['2024-04-03', '2024-04-03']]),\n  ('orphan after series end',\n   ['2024-05-01', 1, 3, [['2024-05-10', '2024-05-02']], '2024-05-01', '2024-05-10'],\n   [['2024-05-01', '2024-05-01'], ['2024-05-02', '2024-05-02'], ['2024-05-03', '2024-05-03']]),\n  ('move then cancel',\n   ['2024-06-01', 1, 3, [['2024-06-03', '2024-06-01'], ['2024-06-03', None]], '2024-06-01', '2024-06-05'],\n   [['2024-06-01', '2024-06-01'], ['2024-06-02', '2024-06-02']]),\n  ('no overrides',\n   ['2024-06-01', 3, 3, [], '2024-06-02', '2024-06-07'],\n   [['2024-06-04', '2024-06-04'], ['2024-06-07', '2024-06-07']]),\n  ('regression: moved into window',\n   ['2024-01-01', 1, 10, [['2024-01-02', '2024-01-06']], '2024-01-05', '2024-01-07'],\n   [['2024-01-05', '2024-01-05'],\n    ['2024-01-02', '2024-01-06'],\n    ['2024-01-06', '2024-01-06'],\n    ['2024-01-07', '2024-01-07']]),\n  ('moved out of window',\n   ['2024-01-01', 1, 10, [['2024-01-06', '2024-01-20']], '2024-01-05', '2024-01-07'],\n   [['2024-01-05', '2024-01-05'], ['2024-01-07', '2024-01-07']]),\n  ('cancelled instance',\n   ['2024-01-01', 2, 5, [['2024-01-03', None]], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'],\n    ['2024-01-05', '2024-01-05'],\n    ['2024-01-07', '2024-01-07'],\n    ['2024-01-09', '2024-01-09']])]]\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":"cf27f0a7de8e354610804f37afd1a4d5ee8dd0f1d1ef91e35b8b78f3fa695b49","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(dtstart, interval, count, overrides, window_start, window_end):\n    start = dt.date.fromisoformat(dtstart)\n    ws = dt.date.fromisoformat(window_start)\n    we = dt.date.fromisoformat(window_end)\n    originals = [start + dt.timedelta(days=k * interval) for k in range(count)]\n    origset = set(originals)\n    actual = {o: o for o in originals}\n    for orig, new in overrides:\n        o = dt.date.fromisoformat(orig)\n        if o < start:\n            continue\n        actual[o] = None if new is None else dt.date.fromisoformat(new)\n    rows = [[o.isoformat(), a.isoformat()] for o, a in actual.items() if a is not None and ws <= a <= we]\n    return sorted(rows, key=lambda r: (r[1], r[0]))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: moved into window',\n   ['2024-01-01', 1, 10, [['2024-01-02', '2024-01-06']], '2024-01-05', '2024-01-07'],\n   [['2024-01-05', '2024-01-05'],\n    ['2024-01-02', '2024-01-06'],\n    ['2024-01-06', '2024-01-06'],\n    ['2024-01-07', '2024-01-07']]),\n  ('moved out of window',\n   ['2024-01-01', 1, 10, [['2024-01-06', '2024-01-20']], '2024-01-05', '2024-01-07'],\n   [['2024-01-05', '2024-01-05'], ['2024-01-07', '2024-01-07']]),\n  ('cancelled instance',\n   ['2024-01-01', 2, 5, [['2024-01-03', None]], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'],\n    ['2024-01-05', '2024-01-05'],\n    ['2024-01-07', '2024-01-07'],\n    ['2024-01-09', '2024-01-09']]),\n  ('orphan move',\n   ['2024-01-01', 2, 5, [['2024-01-02', '2024-01-04']], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'],\n    ['2024-01-03', '2024-01-03'],\n    ['2024-01-05', '2024-01-05'],\n    ['2024-01-07', '2024-01-07'],\n    ['2024-01-09', '2024-01-09']]),\n  ('orphan cancel',\n   ['2024-01-01', 2, 3, [['2024-01-04', None]], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'], ['2024-01-03', '2024-01-03'], ['2024-01-05', '2024-01-05']]),\n  ('last override wins',\n   ['2024-02-01',\n    1,\n    4,\n    [['2024-02-02', '2024-02-10'], ['2024-02-02', '2024-02-03']],\n    '2024-02-01',\n    '2024-02-10'],\n   [['2024-02-01', '2024-02-01'],\n    ['2024-02-02', '2024-02-03'],\n    ['2024-02-03', '2024-02-03'],\n    ['2024-02-04', '2024-02-04']]),\n  ('cancel then move',\n   ['2024-02-01', 1, 3, [['2024-02-02', None], ['2024-02-02', '2024-02-05']], '2024-02-01', '2024-02-05'],\n   [['2024-02-01', '2024-02-01'], ['2024-02-03', '2024-02-03'], ['2024-02-02', '2024-02-05']])],\n [('cancelled instance',\n   ['2024-01-01', 2, 5, [['2024-01-03', None]], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'],\n    ['2024-01-05', '2024-01-05'],\n    ['2024-01-07', '2024-01-07'],\n    ['2024-01-09', '2024-01-09']]),\n  ('orphan move',\n   ['2024-01-01', 2, 5, [['2024-01-02', '2024-01-04']], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'],\n    ['2024-01-03', '2024-01-03'],\n    ['2024-01-05', '2024-01-05'],\n    ['2024-01-07', '2024-01-07'],\n    ['2024-01-09', '2024-01-09']]),\n  ('orphan cancel',\n   ['2024-01-01', 2, 3, [['2024-01-04', None]], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'], ['2024-01-03', '2024-01-03'], ['2024-01-05', '2024-01-05']]),\n  ('last override wins',\n   ['2024-02-01',\n    1,\n    4,\n    [['2024-02-02', '2024-02-10'], ['2024-02-02', '2024-02-03']],\n    '2024-02-01',\n    '2024-02-10'],\n   [['2024-02-01', '2024-02-01'],\n    ['2024-02-02', '2024-02-03'],\n    ['2024-02-03', '2024-02-03'],\n    ['2024-02-04', '2024-02-04']]),\n  ('cancel then move',\n   ['2024-02-01', 1, 3, [['2024-02-02', None], ['2024-02-02', '2024-02-05']], '2024-02-01', '2024-02-05'],\n   [['2024-02-01', '2024-02-01'], ['2024-02-03', '2024-02-03'], ['2024-02-02', '2024-02-05']]),\n  ('restated original date',\n   ['2024-03-01', 7, 3, [['2024-03-08', '2024-03-08']], '2024-03-01', '2024-03-31'],\n   [['2024-03-01', '2024-03-01'], ['2024-03-08', '2024-03-08'], ['2024-03-15', '2024-03-15']]),\n  ('two moved onto same day',\n   ['2024-04-01',\n    1,\n    5,\n    [['2024-04-04', '2024-04-02'], ['2024-04-05', '2024-04-02']],\n    '2024-04-02',\n    '2024-04-03'],\n   [['2024-04-02', '2024-04-02'],\n    ['2024-04-04', '2024-04-02'],\n    ['2024-04-05', '2024-04-02'],\n    ['2024-04-03', '2024-04-03']])],\n [('orphan cancel',\n   ['2024-01-01', 2, 3, [['2024-01-04', None]], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'], ['2024-01-03', '2024-01-03'], ['2024-01-05', '2024-01-05']]),\n  ('last override wins',\n   ['2024-02-01',\n    1,\n    4,\n    [['2024-02-02', '2024-02-10'], ['2024-02-02', '2024-02-03']],\n    '2024-02-01',\n    '2024-02-10'],\n   [['2024-02-01', '2024-02-01'],\n    ['2024-02-02', '2024-02-03'],\n    ['2024-02-03', '2024-02-03'],\n    ['2024-02-04', '2024-02-04']]),\n  ('cancel then move',\n   ['2024-02-01', 1, 3, [['2024-02-02', None], ['2024-02-02', '2024-02-05']], '2024-02-01', '2024-02-05'],\n   [['2024-02-01', '2024-02-01'], ['2024-02-03', '2024-02-03'], ['2024-02-02', '2024-02-05']]),\n  ('restated original date',\n   ['2024-03-01', 7, 3, [['2024-03-08', '2024-03-08']], '2024-03-01', '2024-03-31'],\n   [['2024-03-01', '2024-03-01'], ['2024-03-08', '2024-03-08'], ['2024-03-15', '2024-03-15']]),\n  ('two moved onto same day',\n   ['2024-04-01',\n    1,\n    5,\n    [['2024-04-04', '2024-04-02'], ['2024-04-05', '2024-04-02']],\n    '2024-04-02',\n    '2024-04-03'],\n   [['2024-04-02', '2024-04-02'],\n    ['2024-04-04', '2024-04-02'],\n    ['2024-04-05', '2024-04-02'],\n    ['2024-04-03', '2024-04-03']]),\n  ('orphan after series end',\n   ['2024-05-01', 1, 3, [['2024-05-10', '2024-05-02']], '2024-05-01', '2024-05-10'],\n   [['2024-05-01', '2024-05-01'], ['2024-05-02', '2024-05-02'], ['2024-05-03', '2024-05-03']]),\n  ('move then cancel',\n   ['2024-06-01', 1, 3, [['2024-06-03', '2024-06-01'], ['2024-06-03', None]], '2024-06-01', '2024-06-05'],\n   [['2024-06-01', '2024-06-01'], ['2024-06-02', '2024-06-02']])],\n [('cancel then move',\n   ['2024-02-01', 1, 3, [['2024-02-02', None], ['2024-02-02', '2024-02-05']], '2024-02-01', '2024-02-05'],\n   [['2024-02-01', '2024-02-01'], ['2024-02-03', '2024-02-03'], ['2024-02-02', '2024-02-05']]),\n  ('restated original date',\n   ['2024-03-01', 7, 3, [['2024-03-08', '2024-03-08']], '2024-03-01', '2024-03-31'],\n   [['2024-03-01', '2024-03-01'], ['2024-03-08', '2024-03-08'], ['2024-03-15', '2024-03-15']]),\n  ('two moved onto same day',\n   ['2024-04-01',\n    1,\n    5,\n    [['2024-04-04', '2024-04-02'], ['2024-04-05', '2024-04-02']],\n    '2024-04-02',\n    '2024-04-03'],\n   [['2024-04-02', '2024-04-02'],\n    ['2024-04-04', '2024-04-02'],\n    ['2024-04-05', '2024-04-02'],\n    ['2024-04-03', '2024-04-03']]),\n  ('orphan after series end',\n   ['2024-05-01', 1, 3, [['2024-05-10', '2024-05-02']], '2024-05-01', '2024-05-10'],\n   [['2024-05-01', '2024-05-01'], ['2024-05-02', '2024-05-02'], ['2024-05-03', '2024-05-03']]),\n  ('move then cancel',\n   ['2024-06-01', 1, 3, [['2024-06-03', '2024-06-01'], ['2024-06-03', None]], '2024-06-01', '2024-06-05'],\n   [['2024-06-01', '2024-06-01'], ['2024-06-02', '2024-06-02']]),\n  ('no overrides',\n   ['2024-06-01', 3, 3, [], '2024-06-02', '2024-06-07'],\n   [['2024-06-04', '2024-06-04'], ['2024-06-07', '2024-06-07']]),\n  ('regression: moved into window',\n   ['2024-01-01', 1, 10, [['2024-01-02', '2024-01-06']], '2024-01-05', '2024-01-07'],\n   [['2024-01-05', '2024-01-05'],\n    ['2024-01-02', '2024-01-06'],\n    ['2024-01-06', '2024-01-06'],\n    ['2024-01-07', '2024-01-07']])],\n [('two moved onto same day',\n   ['2024-04-01',\n    1,\n    5,\n    [['2024-04-04', '2024-04-02'], ['2024-04-05', '2024-04-02']],\n    '2024-04-02',\n    '2024-04-03'],\n   [['2024-04-02', '2024-04-02'],\n    ['2024-04-04', '2024-04-02'],\n    ['2024-04-05', '2024-04-02'],\n    ['2024-04-03', '2024-04-03']]),\n  ('orphan after series end',\n   ['2024-05-01', 1, 3, [['2024-05-10', '2024-05-02']], '2024-05-01', '2024-05-10'],\n   [['2024-05-01', '2024-05-01'], ['2024-05-02', '2024-05-02'], ['2024-05-03', '2024-05-03']]),\n  ('move then cancel',\n   ['2024-06-01', 1, 3, [['2024-06-03', '2024-06-01'], ['2024-06-03', None]], '2024-06-01', '2024-06-05'],\n   [['2024-06-01', '2024-06-01'], ['2024-06-02', '2024-06-02']]),\n  ('no overrides',\n   ['2024-06-01', 3, 3, [], '2024-06-02', '2024-06-07'],\n   [['2024-06-04', '2024-06-04'], ['2024-06-07', '2024-06-07']]),\n  ('regression: moved into window',\n   ['2024-01-01', 1, 10, [['2024-01-02', '2024-01-06']], '2024-01-05', '2024-01-07'],\n   [['2024-01-05', '2024-01-05'],\n    ['2024-01-02', '2024-01-06'],\n    ['2024-01-06', '2024-01-06'],\n    ['2024-01-07', '2024-01-07']]),\n  ('moved out of window',\n   ['2024-01-01', 1, 10, [['2024-01-06', '2024-01-20']], '2024-01-05', '2024-01-07'],\n   [['2024-01-05', '2024-01-05'], ['2024-01-07', '2024-01-07']]),\n  ('cancelled instance',\n   ['2024-01-01', 2, 5, [['2024-01-03', None]], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'],\n    ['2024-01-05', '2024-01-05'],\n    ['2024-01-07', '2024-01-07'],\n    ['2024-01-09', '2024-01-09']])]]\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":"423101d484a86734c384865243a3af20492ccb7cfb288497688157f467eb9038","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime as dt\nimport calendar\nN = 1\nobservations = []\ndef solve(dtstart, interval, count, overrides, window_start, window_end):\n    start = dt.date.fromisoformat(dtstart)\n    ws = dt.date.fromisoformat(window_start)\n    we = dt.date.fromisoformat(window_end)\n    originals = [start + dt.timedelta(days=k * interval) for k in range(count)]\n    origset = set(originals)\n    actual = {o: o for o in originals}\n    for orig, new in overrides:\n        o = dt.date.fromisoformat(orig)\n        if o not in origset:\n            continue\n        actual[o] = None if new is None else dt.date.fromisoformat(new)\n    rows = [[o.isoformat(), a.isoformat()] for o, a in actual.items() if a is not None and ws <= a <= we]\n    return sorted(rows, key=lambda r: (r[1], r[0]))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: moved into window',\n   ['2024-01-01', 1, 10, [['2024-01-02', '2024-01-06']], '2024-01-05', '2024-01-07'],\n   [['2024-01-05', '2024-01-05'],\n    ['2024-01-02', '2024-01-06'],\n    ['2024-01-06', '2024-01-06'],\n    ['2024-01-07', '2024-01-07']]),\n  ('moved out of window',\n   ['2024-01-01', 1, 10, [['2024-01-06', '2024-01-20']], '2024-01-05', '2024-01-07'],\n   [['2024-01-05', '2024-01-05'], ['2024-01-07', '2024-01-07']]),\n  ('cancelled instance',\n   ['2024-01-01', 2, 5, [['2024-01-03', None]], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'],\n    ['2024-01-05', '2024-01-05'],\n    ['2024-01-07', '2024-01-07'],\n    ['2024-01-09', '2024-01-09']]),\n  ('orphan move',\n   ['2024-01-01', 2, 5, [['2024-01-02', '2024-01-04']], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'],\n    ['2024-01-03', '2024-01-03'],\n    ['2024-01-05', '2024-01-05'],\n    ['2024-01-07', '2024-01-07'],\n    ['2024-01-09', '2024-01-09']]),\n  ('orphan cancel',\n   ['2024-01-01', 2, 3, [['2024-01-04', None]], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'], ['2024-01-03', '2024-01-03'], ['2024-01-05', '2024-01-05']]),\n  ('last override wins',\n   ['2024-02-01',\n    1,\n    4,\n    [['2024-02-02', '2024-02-10'], ['2024-02-02', '2024-02-03']],\n    '2024-02-01',\n    '2024-02-10'],\n   [['2024-02-01', '2024-02-01'],\n    ['2024-02-02', '2024-02-03'],\n    ['2024-02-03', '2024-02-03'],\n    ['2024-02-04', '2024-02-04']]),\n  ('cancel then move',\n   ['2024-02-01', 1, 3, [['2024-02-02', None], ['2024-02-02', '2024-02-05']], '2024-02-01', '2024-02-05'],\n   [['2024-02-01', '2024-02-01'], ['2024-02-03', '2024-02-03'], ['2024-02-02', '2024-02-05']])],\n [('cancelled instance',\n   ['2024-01-01', 2, 5, [['2024-01-03', None]], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'],\n    ['2024-01-05', '2024-01-05'],\n    ['2024-01-07', '2024-01-07'],\n    ['2024-01-09', '2024-01-09']]),\n  ('orphan move',\n   ['2024-01-01', 2, 5, [['2024-01-02', '2024-01-04']], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'],\n    ['2024-01-03', '2024-01-03'],\n    ['2024-01-05', '2024-01-05'],\n    ['2024-01-07', '2024-01-07'],\n    ['2024-01-09', '2024-01-09']]),\n  ('orphan cancel',\n   ['2024-01-01', 2, 3, [['2024-01-04', None]], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'], ['2024-01-03', '2024-01-03'], ['2024-01-05', '2024-01-05']]),\n  ('last override wins',\n   ['2024-02-01',\n    1,\n    4,\n    [['2024-02-02', '2024-02-10'], ['2024-02-02', '2024-02-03']],\n    '2024-02-01',\n    '2024-02-10'],\n   [['2024-02-01', '2024-02-01'],\n    ['2024-02-02', '2024-02-03'],\n    ['2024-02-03', '2024-02-03'],\n    ['2024-02-04', '2024-02-04']]),\n  ('cancel then move',\n   ['2024-02-01', 1, 3, [['2024-02-02', None], ['2024-02-02', '2024-02-05']], '2024-02-01', '2024-02-05'],\n   [['2024-02-01', '2024-02-01'], ['2024-02-03', '2024-02-03'], ['2024-02-02', '2024-02-05']]),\n  ('restated original date',\n   ['2024-03-01', 7, 3, [['2024-03-08', '2024-03-08']], '2024-03-01', '2024-03-31'],\n   [['2024-03-01', '2024-03-01'], ['2024-03-08', '2024-03-08'], ['2024-03-15', '2024-03-15']]),\n  ('two moved onto same day',\n   ['2024-04-01',\n    1,\n    5,\n    [['2024-04-04', '2024-04-02'], ['2024-04-05', '2024-04-02']],\n    '2024-04-02',\n    '2024-04-03'],\n   [['2024-04-02', '2024-04-02'],\n    ['2024-04-04', '2024-04-02'],\n    ['2024-04-05', '2024-04-02'],\n    ['2024-04-03', '2024-04-03']])],\n [('orphan cancel',\n   ['2024-01-01', 2, 3, [['2024-01-04', None]], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'], ['2024-01-03', '2024-01-03'], ['2024-01-05', '2024-01-05']]),\n  ('last override wins',\n   ['2024-02-01',\n    1,\n    4,\n    [['2024-02-02', '2024-02-10'], ['2024-02-02', '2024-02-03']],\n    '2024-02-01',\n    '2024-02-10'],\n   [['2024-02-01', '2024-02-01'],\n    ['2024-02-02', '2024-02-03'],\n    ['2024-02-03', '2024-02-03'],\n    ['2024-02-04', '2024-02-04']]),\n  ('cancel then move',\n   ['2024-02-01', 1, 3, [['2024-02-02', None], ['2024-02-02', '2024-02-05']], '2024-02-01', '2024-02-05'],\n   [['2024-02-01', '2024-02-01'], ['2024-02-03', '2024-02-03'], ['2024-02-02', '2024-02-05']]),\n  ('restated original date',\n   ['2024-03-01', 7, 3, [['2024-03-08', '2024-03-08']], '2024-03-01', '2024-03-31'],\n   [['2024-03-01', '2024-03-01'], ['2024-03-08', '2024-03-08'], ['2024-03-15', '2024-03-15']]),\n  ('two moved onto same day',\n   ['2024-04-01',\n    1,\n    5,\n    [['2024-04-04', '2024-04-02'], ['2024-04-05', '2024-04-02']],\n    '2024-04-02',\n    '2024-04-03'],\n   [['2024-04-02', '2024-04-02'],\n    ['2024-04-04', '2024-04-02'],\n    ['2024-04-05', '2024-04-02'],\n    ['2024-04-03', '2024-04-03']]),\n  ('orphan after series end',\n   ['2024-05-01', 1, 3, [['2024-05-10', '2024-05-02']], '2024-05-01', '2024-05-10'],\n   [['2024-05-01', '2024-05-01'], ['2024-05-02', '2024-05-02'], ['2024-05-03', '2024-05-03']]),\n  ('move then cancel',\n   ['2024-06-01', 1, 3, [['2024-06-03', '2024-06-01'], ['2024-06-03', None]], '2024-06-01', '2024-06-05'],\n   [['2024-06-01', '2024-06-01'], ['2024-06-02', '2024-06-02']])],\n [('cancel then move',\n   ['2024-02-01', 1, 3, [['2024-02-02', None], ['2024-02-02', '2024-02-05']], '2024-02-01', '2024-02-05'],\n   [['2024-02-01', '2024-02-01'], ['2024-02-03', '2024-02-03'], ['2024-02-02', '2024-02-05']]),\n  ('restated original date',\n   ['2024-03-01', 7, 3, [['2024-03-08', '2024-03-08']], '2024-03-01', '2024-03-31'],\n   [['2024-03-01', '2024-03-01'], ['2024-03-08', '2024-03-08'], ['2024-03-15', '2024-03-15']]),\n  ('two moved onto same day',\n   ['2024-04-01',\n    1,\n    5,\n    [['2024-04-04', '2024-04-02'], ['2024-04-05', '2024-04-02']],\n    '2024-04-02',\n    '2024-04-03'],\n   [['2024-04-02', '2024-04-02'],\n    ['2024-04-04', '2024-04-02'],\n    ['2024-04-05', '2024-04-02'],\n    ['2024-04-03', '2024-04-03']]),\n  ('orphan after series end',\n   ['2024-05-01', 1, 3, [['2024-05-10', '2024-05-02']], '2024-05-01', '2024-05-10'],\n   [['2024-05-01', '2024-05-01'], ['2024-05-02', '2024-05-02'], ['2024-05-03', '2024-05-03']]),\n  ('move then cancel',\n   ['2024-06-01', 1, 3, [['2024-06-03', '2024-06-01'], ['2024-06-03', None]], '2024-06-01', '2024-06-05'],\n   [['2024-06-01', '2024-06-01'], ['2024-06-02', '2024-06-02']]),\n  ('no overrides',\n   ['2024-06-01', 3, 3, [], '2024-06-02', '2024-06-07'],\n   [['2024-06-04', '2024-06-04'], ['2024-06-07', '2024-06-07']]),\n  ('regression: moved into window',\n   ['2024-01-01', 1, 10, [['2024-01-02', '2024-01-06']], '2024-01-05', '2024-01-07'],\n   [['2024-01-05', '2024-01-05'],\n    ['2024-01-02', '2024-01-06'],\n    ['2024-01-06', '2024-01-06'],\n    ['2024-01-07', '2024-01-07']])],\n [('two moved onto same day',\n   ['2024-04-01',\n    1,\n    5,\n    [['2024-04-04', '2024-04-02'], ['2024-04-05', '2024-04-02']],\n    '2024-04-02',\n    '2024-04-03'],\n   [['2024-04-02', '2024-04-02'],\n    ['2024-04-04', '2024-04-02'],\n    ['2024-04-05', '2024-04-02'],\n    ['2024-04-03', '2024-04-03']]),\n  ('orphan after series end',\n   ['2024-05-01', 1, 3, [['2024-05-10', '2024-05-02']], '2024-05-01', '2024-05-10'],\n   [['2024-05-01', '2024-05-01'], ['2024-05-02', '2024-05-02'], ['2024-05-03', '2024-05-03']]),\n  ('move then cancel',\n   ['2024-06-01', 1, 3, [['2024-06-03', '2024-06-01'], ['2024-06-03', None]], '2024-06-01', '2024-06-05'],\n   [['2024-06-01', '2024-06-01'], ['2024-06-02', '2024-06-02']]),\n  ('no overrides',\n   ['2024-06-01', 3, 3, [], '2024-06-02', '2024-06-07'],\n   [['2024-06-04', '2024-06-04'], ['2024-06-07', '2024-06-07']]),\n  ('regression: moved into window',\n   ['2024-01-01', 1, 10, [['2024-01-02', '2024-01-06']], '2024-01-05', '2024-01-07'],\n   [['2024-01-05', '2024-01-05'],\n    ['2024-01-02', '2024-01-06'],\n    ['2024-01-06', '2024-01-06'],\n    ['2024-01-07', '2024-01-07']]),\n  ('moved out of window',\n   ['2024-01-01', 1, 10, [['2024-01-06', '2024-01-20']], '2024-01-05', '2024-01-07'],\n   [['2024-01-05', '2024-01-05'], ['2024-01-07', '2024-01-07']]),\n  ('cancelled instance',\n   ['2024-01-01', 2, 5, [['2024-01-03', None]], '2024-01-01', '2024-01-09'],\n   [['2024-01-01', '2024-01-01'],\n    ['2024-01-05', '2024-01-05'],\n    ['2024-01-07', '2024-01-07'],\n    ['2024-01-09', '2024-01-09']])]]\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, bounded recurrence-expansion model evaluated offline on explicit fixtures; it is not a complete iCalendar implementation and makes no claim of standards conformance. 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-calendar-recurrence-rules-recurrence-id-overrides-orphan-guard","generated_at":"2026-09-29T14:49:21.323136+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Recurring calendar series are expanded into concrete instances for display, reminders and conflict checks.","repair":"At the orphan guard decision use `o not in origset`, leaving the other decision sites of the model unchanged.","root_cause":"Only overrides dated before the series start are discarded.","sha256":"f368b10973ef9dd913174ca70a051529b0b69c99e21cecb108bcd2de00e81637","title":"Applying moved and cancelled instance overrides in a window query: orphan guard · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.573,"exit_code":1,"observations":[{"actual":[["2024-01-05","2024-01-05"],["2024-01-02","2024-01-06"],["2024-01-06","2024-01-06"],["2024-01-07","2024-01-07"]],"check":"regression: moved into window","expected":[["2024-01-05","2024-01-05"],["2024-01-02","2024-01-06"],["2024-01-06","2024-01-06"],["2024-01-07","2024-01-07"]],"passed":true},{"actual":[["2024-01-05","2024-01-05"],["2024-01-07","2024-01-07"]],"check":"moved out of window","expected":[["2024-01-05","2024-01-05"],["2024-01-07","2024-01-07"]],"passed":true},{"actual":[["2024-01-01","2024-01-01"],["2024-01-05","2024-01-05"],["2024-01-07","2024-01-07"],["2024-01-09","2024-01-09"]],"check":"cancelled instance","expected":[["2024-01-01","2024-01-01"],["2024-01-05","2024-01-05"],["2024-01-07","2024-01-07"],["2024-01-09","2024-01-09"]],"passed":true},{"actual":[["2024-01-01","2024-01-01"],["2024-01-03","2024-01-03"],["2024-01-02","2024-01-04"],["2024-01-05","2024-01-05"],["2024-01-07","2024-01-07"],["2024-01-09","2024-01-09"]],"check":"orphan move","expected":[["2024-01-01","2024-01-01"],["2024-01-03","2024-01-03"],["2024-01-05","2024-01-05"],["2024-01-07","2024-01-07"],["2024-01-09","2024-01-09"]],"passed":false},{"actual":[["2024-01-01","2024-01-01"],["2024-01-03","2024-01-03"],["2024-01-05","2024-01-05"]],"check":"orphan cancel","expected":[["2024-01-01","2024-01-01"],["2024-01-03","2024-01-03"],["2024-01-05","2024-01-05"]],"passed":true},{"actual":[["2024-02-01","2024-02-01"],["2024-02-02","2024-02-03"],["2024-02-03","2024-02-03"],["2024-02-04","2024-02-04"]],"check":"last override wins","expected":[["2024-02-01","2024-02-01"],["2024-02-02","2024-02-03"],["2024-02-03","2024-02-03"],["2024-02-04","2024-02-04"]],"passed":true},{"actual":[["2024-02-01","2024-02-01"],["2024-02-03","2024-02-03"],["2024-02-02","2024-02-05"]],"check":"cancel then move","expected":[["2024-02-01","2024-02-01"],["2024-02-03","2024-02-03"],["2024-02-02","2024-02-05"]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: moved into window\", \"actual\": [[\"2024-01-05\", \"2024-01-05\"], [\"2024-01-02\", \"2024-01-06\"], [\"2024-01-06\", \"2024-01-06\"], [\"2024-01-07\", \"2024-01-07\"]], \"expected\": [[\"2024-01-05\", \"2024-01-05\"], [\"2024-01-02\", \"2024-01-06\"], [\"2024-01-06\", \"2024-01-06\"], [\"2024-01-07\", \"2024-01-07\"]], \"passed\": true}, {\"check\": \"moved out of window\", \"actual\": [[\"2024-01-05\", \"2024-01-05\"], [\"2024-01-07\", \"2024-01-07\"]], \"expected\": [[\"2024-01-05\", \"2024-01-05\"], [\"2024-01-07\", \"2024-01-07\"]], \"passed\": true}, {\"check\": \"cancelled instance\", \"actual\": [[\"2024-01-01\", \"2024-01-01\"], [\"2024-01-05\", \"2024-01-05\"], [\"2024-01-07\", \"2024-01-07\"], [\"2024-01-09\", \"2024-01-09\"]], \"expected\": [[\"2024-01-01\", \"2024-01-01\"], [\"2024-01-05\", \"2024-01-05\"], [\"2024-01-07\", \"2024-01-07\"], [\"2024-01-09\", \"2024-01-09\"]], \"passed\": true}, {\"check\": \"orphan move\", \"actual\": [[\"2024-01-01\", \"2024-01-01\"], [\"2024-01-03\", \"2024-01-03\"], [\"2024-01-02\", \"2024-01-04\"], [\"2024-01-05\", \"2024-01-05\"], [\"2024-01-07\", \"2024-01-07\"], [\"2024-01-09\", \"2024-01-09\"]], \"expected\": [[\"2024-01-01\", \"2024-01-01\"], [\"2024-01-03\", \"2024-01-03\"], [\"2024-01-05\", \"2024-01-05\"], [\"2024-01-07\", \"2024-01-07\"], [\"2024-01-09\", \"2024-01-09\"]], \"passed\": false}, {\"check\": \"orphan cancel\", \"actual\": [[\"2024-01-01\", \"2024-01-01\"], [\"2024-01-03\", \"2024-01-03\"], [\"2024-01-05\", \"2024-01-05\"]], \"expected\": [[\"2024-01-01\", \"2024-01-01\"], [\"2024-01-03\", \"2024-01-03\"], [\"2024-01-05\", \"2024-01-05\"]], \"passed\": true}, {\"check\": \"last override wins\", \"actual\": [[\"2024-02-01\", \"2024-02-01\"], [\"2024-02-02\", \"2024-02-03\"], [\"2024-02-03\", \"2024-02-03\"], [\"2024-02-04\", \"2024-02-04\"]], \"expected\": [[\"2024-02-01\", \"2024-02-01\"], [\"2024-02-02\", \"2024-02-03\"], [\"2024-02-03\", \"2024-02-03\"], [\"2024-02-04\", \"2024-02-04\"]], \"passed\": true}, {\"check\": \"cancel then move\", \"actual\": [[\"2024-02-01\", \"2024-02-01\"], [\"2024-02-03\", \"2024-02-03\"], [\"2024-02-02\", \"2024-02-05\"]], \"expected\": [[\"2024-02-01\", \"2024-02-01\"], [\"2024-02-03\", \"2024-02-03\"], [\"2024-02-02\", \"2024-02-05\"]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.6,"exit_code":1,"observations":[{"actual":[["2024-01-05","2024-01-05"],["2024-01-02","2024-01-06"],["2024-01-06","2024-01-06"],["2024-01-07","2024-01-07"]],"check":"regression: moved into window","expected":[["2024-01-05","2024-01-05"],["2024-01-02","2024-01-06"],["2024-01-06","2024-01-06"],["2024-01-07","2024-01-07"]],"passed":true},{"actual":[["2024-01-05","2024-01-05"],["2024-01-07","2024-01-07"]],"check":"moved out of window","expected":[["2024-01-05","2024-01-05"],["2024-01-07","2024-01-07"]],"passed":true},{"actual":[["2024-01-01","2024-01-01"],["2024-01-05","2024-01-05"],["2024-01-07","2024-01-07"],["2024-01-09","2024-01-09"]],"check":"cancelled instance","expected":[["2024-01-01","2024-01-01"],["2024-01-05","2024-01-05"],["2024-01-07","2024-01-07"],["2024-01-09","2024-01-09"]],"passed":true},{"actual":[["2024-01-01","2024-01-01"],["2024-01-03","2024-01-03"],["2024-01-02","2024-01-04"],["2024-01-05","2024-01-05"],["2024-01-07","2024-01-07"],["2024-01-09","2024-01-09"]],"check":"orphan move","expected":[["2024-01-01","2024-01-01"],["2024-01-03","2024-01-03"],["2024-01-05","2024-01-05"],["2024-01-07","2024-01-07"],["2024-01-09","2024-01-09"]],"passed":false},{"actual":[["2024-01-01","2024-01-01"],["2024-01-03","2024-01-03"],["2024-01-05","2024-01-05"]],"check":"orphan cancel","expected":[["2024-01-01","2024-01-01"],["2024-01-03","2024-01-03"],["2024-01-05","2024-01-05"]],"passed":true},{"actual":[["2024-02-01","2024-02-01"],["2024-02-02","2024-02-03"],["2024-02-03","2024-02-03"],["2024-02-04","2024-02-04"]],"check":"last override wins","expected":[["2024-02-01","2024-02-01"],["2024-02-02","2024-02-03"],["2024-02-03","2024-02-03"],["2024-02-04","2024-02-04"]],"passed":true},{"actual":[["2024-02-01","2024-02-01"],["2024-02-03","2024-02-03"],["2024-02-02","2024-02-05"]],"check":"cancel then move","expected":[["2024-02-01","2024-02-01"],["2024-02-03","2024-02-03"],["2024-02-02","2024-02-05"]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: moved into window\", \"actual\": [[\"2024-01-05\", \"2024-01-05\"], [\"2024-01-02\", \"2024-01-06\"], [\"2024-01-06\", \"2024-01-06\"], [\"2024-01-07\", \"2024-01-07\"]], \"expected\": [[\"2024-01-05\", \"2024-01-05\"], [\"2024-01-02\", \"2024-01-06\"], [\"2024-01-06\", \"2024-01-06\"], [\"2024-01-07\", \"2024-01-07\"]], \"passed\": true}, {\"check\": \"moved out of window\", \"actual\": [[\"2024-01-05\", \"2024-01-05\"], [\"2024-01-07\", \"2024-01-07\"]], \"expected\": [[\"2024-01-05\", \"2024-01-05\"], [\"2024-01-07\", \"2024-01-07\"]], \"passed\": true}, {\"check\": \"cancelled instance\", \"actual\": [[\"2024-01-01\", \"2024-01-01\"], [\"2024-01-05\", \"2024-01-05\"], [\"2024-01-07\", \"2024-01-07\"], [\"2024-01-09\", \"2024-01-09\"]], \"expected\": [[\"2024-01-01\", \"2024-01-01\"], [\"2024-01-05\", \"2024-01-05\"], [\"2024-01-07\", \"2024-01-07\"], [\"2024-01-09\", \"2024-01-09\"]], \"passed\": true}, {\"check\": \"orphan move\", \"actual\": [[\"2024-01-01\", \"2024-01-01\"], [\"2024-01-03\", \"2024-01-03\"], [\"2024-01-02\", \"2024-01-04\"], [\"2024-01-05\", \"2024-01-05\"], [\"2024-01-07\", \"2024-01-07\"], [\"2024-01-09\", \"2024-01-09\"]], \"expected\": [[\"2024-01-01\", \"2024-01-01\"], [\"2024-01-03\", \"2024-01-03\"], [\"2024-01-05\", \"2024-01-05\"], [\"2024-01-07\", \"2024-01-07\"], [\"2024-01-09\", \"2024-01-09\"]], \"passed\": false}, {\"check\": \"orphan cancel\", \"actual\": [[\"2024-01-01\", \"2024-01-01\"], [\"2024-01-03\", \"2024-01-03\"], [\"2024-01-05\", \"2024-01-05\"]], \"expected\": [[\"2024-01-01\", \"2024-01-01\"], [\"2024-01-03\", \"2024-01-03\"], [\"2024-01-05\", \"2024-01-05\"]], \"passed\": true}, {\"check\": \"last override wins\", \"actual\": [[\"2024-02-01\", \"2024-02-01\"], [\"2024-02-02\", \"2024-02-03\"], [\"2024-02-03\", \"2024-02-03\"], [\"2024-02-04\", \"2024-02-04\"]], \"expected\": [[\"2024-02-01\", \"2024-02-01\"], [\"2024-02-02\", \"2024-02-03\"], [\"2024-02-03\", \"2024-02-03\"], [\"2024-02-04\", \"2024-02-04\"]], \"passed\": true}, {\"check\": \"cancel then move\", \"actual\": [[\"2024-02-01\", \"2024-02-01\"], [\"2024-02-03\", \"2024-02-03\"], [\"2024-02-02\", \"2024-02-05\"]], \"expected\": [[\"2024-02-01\", \"2024-02-01\"], [\"2024-02-03\", \"2024-02-03\"], [\"2024-02-02\", \"2024-02-05\"]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.777,"exit_code":0,"observations":[{"actual":[["2024-01-05","2024-01-05"],["2024-01-02","2024-01-06"],["2024-01-06","2024-01-06"],["2024-01-07","2024-01-07"]],"check":"regression: moved into window","expected":[["2024-01-05","2024-01-05"],["2024-01-02","2024-01-06"],["2024-01-06","2024-01-06"],["2024-01-07","2024-01-07"]],"passed":true},{"actual":[["2024-01-05","2024-01-05"],["2024-01-07","2024-01-07"]],"check":"moved out of window","expected":[["2024-01-05","2024-01-05"],["2024-01-07","2024-01-07"]],"passed":true},{"actual":[["2024-01-01","2024-01-01"],["2024-01-05","2024-01-05"],["2024-01-07","2024-01-07"],["2024-01-09","2024-01-09"]],"check":"cancelled instance","expected":[["2024-01-01","2024-01-01"],["2024-01-05","2024-01-05"],["2024-01-07","2024-01-07"],["2024-01-09","2024-01-09"]],"passed":true},{"actual":[["2024-01-01","2024-01-01"],["2024-01-03","2024-01-03"],["2024-01-05","2024-01-05"],["2024-01-07","2024-01-07"],["2024-01-09","2024-01-09"]],"check":"orphan move","expected":[["2024-01-01","2024-01-01"],["2024-01-03","2024-01-03"],["2024-01-05","2024-01-05"],["2024-01-07","2024-01-07"],["2024-01-09","2024-01-09"]],"passed":true},{"actual":[["2024-01-01","2024-01-01"],["2024-01-03","2024-01-03"],["2024-01-05","2024-01-05"]],"check":"orphan cancel","expected":[["2024-01-01","2024-01-01"],["2024-01-03","2024-01-03"],["2024-01-05","2024-01-05"]],"passed":true},{"actual":[["2024-02-01","2024-02-01"],["2024-02-02","2024-02-03"],["2024-02-03","2024-02-03"],["2024-02-04","2024-02-04"]],"check":"last override wins","expected":[["2024-02-01","2024-02-01"],["2024-02-02","2024-02-03"],["2024-02-03","2024-02-03"],["2024-02-04","2024-02-04"]],"passed":true},{"actual":[["2024-02-01","2024-02-01"],["2024-02-03","2024-02-03"],["2024-02-02","2024-02-05"]],"check":"cancel then move","expected":[["2024-02-01","2024-02-01"],["2024-02-03","2024-02-03"],["2024-02-02","2024-02-05"]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: moved into window\", \"actual\": [[\"2024-01-05\", \"2024-01-05\"], [\"2024-01-02\", \"2024-01-06\"], [\"2024-01-06\", \"2024-01-06\"], [\"2024-01-07\", \"2024-01-07\"]], \"expected\": [[\"2024-01-05\", \"2024-01-05\"], [\"2024-01-02\", \"2024-01-06\"], [\"2024-01-06\", \"2024-01-06\"], [\"2024-01-07\", \"2024-01-07\"]], \"passed\": true}, {\"check\": \"moved out of window\", \"actual\": [[\"2024-01-05\", \"2024-01-05\"], [\"2024-01-07\", \"2024-01-07\"]], \"expected\": [[\"2024-01-05\", \"2024-01-05\"], [\"2024-01-07\", \"2024-01-07\"]], \"passed\": true}, {\"check\": \"cancelled instance\", \"actual\": [[\"2024-01-01\", \"2024-01-01\"], [\"2024-01-05\", \"2024-01-05\"], [\"2024-01-07\", \"2024-01-07\"], [\"2024-01-09\", \"2024-01-09\"]], \"expected\": [[\"2024-01-01\", \"2024-01-01\"], [\"2024-01-05\", \"2024-01-05\"], [\"2024-01-07\", \"2024-01-07\"], [\"2024-01-09\", \"2024-01-09\"]], \"passed\": true}, {\"check\": \"orphan move\", \"actual\": [[\"2024-01-01\", \"2024-01-01\"], [\"2024-01-03\", \"2024-01-03\"], [\"2024-01-05\", \"2024-01-05\"], [\"2024-01-07\", \"2024-01-07\"], [\"2024-01-09\", \"2024-01-09\"]], \"expected\": [[\"2024-01-01\", \"2024-01-01\"], [\"2024-01-03\", \"2024-01-03\"], [\"2024-01-05\", \"2024-01-05\"], [\"2024-01-07\", \"2024-01-07\"], [\"2024-01-09\", \"2024-01-09\"]], \"passed\": true}, {\"check\": \"orphan cancel\", \"actual\": [[\"2024-01-01\", \"2024-01-01\"], [\"2024-01-03\", \"2024-01-03\"], [\"2024-01-05\", \"2024-01-05\"]], \"expected\": [[\"2024-01-01\", \"2024-01-01\"], [\"2024-01-03\", \"2024-01-03\"], [\"2024-01-05\", \"2024-01-05\"]], \"passed\": true}, {\"check\": \"last override wins\", \"actual\": [[\"2024-02-01\", \"2024-02-01\"], [\"2024-02-02\", \"2024-02-03\"], [\"2024-02-03\", \"2024-02-03\"], [\"2024-02-04\", \"2024-02-04\"]], \"expected\": [[\"2024-02-01\", \"2024-02-01\"], [\"2024-02-02\", \"2024-02-03\"], [\"2024-02-03\", \"2024-02-03\"], [\"2024-02-04\", \"2024-02-04\"]], \"passed\": true}, {\"check\": \"cancel then move\", \"actual\": [[\"2024-02-01\", \"2024-02-01\"], [\"2024-02-03\", \"2024-02-03\"], [\"2024-02-02\", \"2024-02-05\"]], \"expected\": [[\"2024-02-01\", \"2024-02-01\"], [\"2024-02-03\", \"2024-02-03\"], [\"2024-02-02\", \"2024-02-05\"]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}