{"abstract":"Travel during a later blackout period is accepted.","category":"Airline fare rule evaluation","checks":10,"contract":"Input {'outbound','inbound' (ISO date or None),'blackouts':[[start, end] or [single date]]}. Blackouts apply only to each direction's departure date (inclusive ranges), not to days in between. Return the list of blocked directions in order 'OUT','IN', each at most once.","contract_signature":"x","evaluation_group":"w2-airline-fare-rules-blackout-directions","failed_approach":"Checking the first two ranges still ignores the rest of the table.","family":"w2-airline-fare-rules-blackout-directions-first-range-only","id":"FA-66441","implementations":{"attempt":{"sha256":"9dd037f25eff9178277a9882e5c5aa51f006049372f58ad5e12dc4dbafda4d19","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime\nN = 1\nobservations = []\ndef solve(x):\n    out = []\n    for tag, ds in (('OUT', x['outbound']), ('IN', x['inbound'])):\n        if ds is None: continue\n        d = datetime.date.fromisoformat(ds)\n        for rng in x['blackouts'][:2]:\n            a = datetime.date.fromisoformat(rng[0])\n            b = datetime.date.fromisoformat(rng[-1])\n            if a <= d <= b:\n                out.append(tag)\n                break\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['trip spans a blackout', {'outbound': '2027-12-11', 'inbound': '2028-01-05', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['outbound on end date', {'outbound': '2028-04-17', 'inbound': None, 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['single-day blackout', {'outbound': '2028-02-09', 'inbound': '2028-02-14', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['inbound in second range', {'outbound': '2027-12-02', 'inbound': '2027-12-30', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['both directions blocked', {'outbound': '2027-12-24', 'inbound': '2027-12-26', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT', 'IN']], ['clear trip', {'outbound': '2028-03-01', 'inbound': '2028-03-20', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['start day of range', {'outbound': '2028-04-10', 'inbound': '2028-04-21', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['sampled case 1', {'outbound': '2027-04-27', 'inbound': '2027-05-20', 'blackouts': [['2028-11-06']]}, []], ['sampled case 2', {'outbound': '2028-09-02', 'inbound': '2028-09-14', 'blackouts': [['2027-02-28', '2027-03-11'], ['2028-04-27'], ['2027-05-07', '2027-05-14']]}, []], ['sampled case 3', {'outbound': '2027-06-30', 'inbound': '2027-07-31', 'blackouts': [['2028-07-23'], ['2028-02-18', '2028-02-24'], ['2028-02-06', '2028-02-10'], ['2028-04-11', '2028-04-21']]}, []]], [['trip spans a blackout', {'outbound': '2027-12-12', 'inbound': '2028-01-05', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['outbound on end date', {'outbound': '2028-04-17', 'inbound': None, 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['single-day blackout', {'outbound': '2028-02-10', 'inbound': '2028-02-14', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['inbound in second range', {'outbound': '2027-12-03', 'inbound': '2027-12-30', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['both directions blocked', {'outbound': '2027-12-24', 'inbound': '2027-12-26', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT', 'IN']], ['clear trip', {'outbound': '2028-03-02', 'inbound': '2028-03-20', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['start day of range', {'outbound': '2028-04-10', 'inbound': '2028-04-22', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['sampled case 1', {'outbound': '2027-12-03', 'inbound': '2027-12-13', 'blackouts': [['2027-05-07', '2027-05-15'], ['2027-11-09', '2027-11-20'], ['2027-02-15', '2027-02-26'], ['2027-05-24', '2027-05-31']]}, []], ['sampled case 2', {'outbound': '2027-12-20', 'inbound': '2028-01-12', 'blackouts': [['2028-11-01', '2028-11-09'], ['2028-12-29', '2029-01-07']]}, []], ['sampled case 3', {'outbound': '2027-06-18', 'inbound': '2027-07-26', 'blackouts': [['2028-10-29', '2028-11-08']]}, []]], [['trip spans a blackout', {'outbound': '2027-12-13', 'inbound': '2028-01-05', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['outbound on end date', {'outbound': '2028-04-17', 'inbound': None, 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['single-day blackout', {'outbound': '2028-02-11', 'inbound': '2028-02-14', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['inbound in second range', {'outbound': '2027-12-04', 'inbound': '2027-12-30', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['both directions blocked', {'outbound': '2027-12-24', 'inbound': '2027-12-26', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT', 'IN']], ['clear trip', {'outbound': '2028-03-03', 'inbound': '2028-03-20', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['start day of range', {'outbound': '2028-04-10', 'inbound': '2028-04-23', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['sampled case 1', {'outbound': '2027-01-26', 'inbound': None, 'blackouts': [['2028-12-08', '2028-12-08'], ['2027-08-12'], ['2028-08-20', '2028-08-23']]}, []], ['sampled case 2', {'outbound': '2028-07-28', 'inbound': '2028-09-03', 'blackouts': [['2027-08-10', '2027-08-11'], ['2027-02-12'], ['2027-03-22', '2027-03-30'], ['2028-01-03', '2028-01-03']]}, []], ['sampled case 3', {'outbound': '2028-05-10', 'inbound': '2028-05-17', 'blackouts': [['2027-03-25', '2027-03-26']]}, []]], [['trip spans a blackout', {'outbound': '2027-12-14', 'inbound': '2028-01-05', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['outbound on end date', {'outbound': '2028-04-17', 'inbound': None, 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['single-day blackout', {'outbound': '2028-02-12', 'inbound': '2028-02-14', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['inbound in second range', {'outbound': '2027-12-05', 'inbound': '2027-12-30', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['both directions blocked', {'outbound': '2027-12-24', 'inbound': '2027-12-26', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT', 'IN']], ['clear trip', {'outbound': '2028-03-04', 'inbound': '2028-03-20', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['start day of range', {'outbound': '2028-04-10', 'inbound': '2028-04-24', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['sampled case 1', {'outbound': '2028-05-25', 'inbound': '2028-06-06', 'blackouts': [['2028-05-14'], ['2028-11-03', '2028-11-14']]}, []], ['sampled case 2', {'outbound': '2027-05-21', 'inbound': None, 'blackouts': [['2028-07-14', '2028-07-14']]}, []], ['sampled case 3', {'outbound': '2028-11-12', 'inbound': '2028-12-09', 'blackouts': [['2028-09-06', '2028-09-09']]}, []]], [['trip spans a blackout', {'outbound': '2027-12-15', 'inbound': '2028-01-05', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['outbound on end date', {'outbound': '2028-04-17', 'inbound': None, 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['single-day blackout', {'outbound': '2028-02-13', 'inbound': '2028-02-14', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['inbound in second range', {'outbound': '2027-12-06', 'inbound': '2027-12-30', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['both directions blocked', {'outbound': '2027-12-24', 'inbound': '2027-12-26', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT', 'IN']], ['clear trip', {'outbound': '2028-03-05', 'inbound': '2028-03-20', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['start day of range', {'outbound': '2028-04-10', 'inbound': '2028-04-25', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['sampled case 1', {'outbound': '2027-04-06', 'inbound': None, 'blackouts': [['2027-05-03', '2027-05-11'], ['2027-09-16', '2027-09-16']]}, []], ['sampled case 2', {'outbound': '2028-09-10', 'inbound': None, 'blackouts': [['2027-05-03', '2027-05-05'], ['2027-05-06']]}, []], ['sampled case 3', {'outbound': '2027-01-31', 'inbound': '2027-02-06', 'blackouts': [['2028-04-06', '2028-04-16'], ['2028-06-24', '2028-06-27']]}, []]]]\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":"2f74b62a545261241cda22f57bed6342343d50a03c7676efad1d6ef9d0b95d3c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime\nN = 1\nobservations = []\ndef solve(x):\n    out = []\n    for tag, ds in (('OUT', x['outbound']), ('IN', x['inbound'])):\n        if ds is None: continue\n        d = datetime.date.fromisoformat(ds)\n        for rng in x['blackouts']:\n            a = datetime.date.fromisoformat(rng[0])\n            b = datetime.date.fromisoformat(rng[-1])\n            if a <= d <= b:\n                out.append(tag)\n            break\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['trip spans a blackout', {'outbound': '2027-12-11', 'inbound': '2028-01-05', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['outbound on end date', {'outbound': '2028-04-17', 'inbound': None, 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['single-day blackout', {'outbound': '2028-02-09', 'inbound': '2028-02-14', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['inbound in second range', {'outbound': '2027-12-02', 'inbound': '2027-12-30', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['both directions blocked', {'outbound': '2027-12-24', 'inbound': '2027-12-26', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT', 'IN']], ['clear trip', {'outbound': '2028-03-01', 'inbound': '2028-03-20', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['start day of range', {'outbound': '2028-04-10', 'inbound': '2028-04-21', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['sampled case 1', {'outbound': '2027-04-27', 'inbound': '2027-05-20', 'blackouts': [['2028-11-06']]}, []], ['sampled case 2', {'outbound': '2028-09-02', 'inbound': '2028-09-14', 'blackouts': [['2027-02-28', '2027-03-11'], ['2028-04-27'], ['2027-05-07', '2027-05-14']]}, []], ['sampled case 3', {'outbound': '2027-06-30', 'inbound': '2027-07-31', 'blackouts': [['2028-07-23'], ['2028-02-18', '2028-02-24'], ['2028-02-06', '2028-02-10'], ['2028-04-11', '2028-04-21']]}, []]], [['trip spans a blackout', {'outbound': '2027-12-12', 'inbound': '2028-01-05', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['outbound on end date', {'outbound': '2028-04-17', 'inbound': None, 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['single-day blackout', {'outbound': '2028-02-10', 'inbound': '2028-02-14', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['inbound in second range', {'outbound': '2027-12-03', 'inbound': '2027-12-30', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['both directions blocked', {'outbound': '2027-12-24', 'inbound': '2027-12-26', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT', 'IN']], ['clear trip', {'outbound': '2028-03-02', 'inbound': '2028-03-20', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['start day of range', {'outbound': '2028-04-10', 'inbound': '2028-04-22', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['sampled case 1', {'outbound': '2027-12-03', 'inbound': '2027-12-13', 'blackouts': [['2027-05-07', '2027-05-15'], ['2027-11-09', '2027-11-20'], ['2027-02-15', '2027-02-26'], ['2027-05-24', '2027-05-31']]}, []], ['sampled case 2', {'outbound': '2027-12-20', 'inbound': '2028-01-12', 'blackouts': [['2028-11-01', '2028-11-09'], ['2028-12-29', '2029-01-07']]}, []], ['sampled case 3', {'outbound': '2027-06-18', 'inbound': '2027-07-26', 'blackouts': [['2028-10-29', '2028-11-08']]}, []]], [['trip spans a blackout', {'outbound': '2027-12-13', 'inbound': '2028-01-05', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['outbound on end date', {'outbound': '2028-04-17', 'inbound': None, 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['single-day blackout', {'outbound': '2028-02-11', 'inbound': '2028-02-14', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['inbound in second range', {'outbound': '2027-12-04', 'inbound': '2027-12-30', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['both directions blocked', {'outbound': '2027-12-24', 'inbound': '2027-12-26', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT', 'IN']], ['clear trip', {'outbound': '2028-03-03', 'inbound': '2028-03-20', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['start day of range', {'outbound': '2028-04-10', 'inbound': '2028-04-23', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['sampled case 1', {'outbound': '2027-01-26', 'inbound': None, 'blackouts': [['2028-12-08', '2028-12-08'], ['2027-08-12'], ['2028-08-20', '2028-08-23']]}, []], ['sampled case 2', {'outbound': '2028-07-28', 'inbound': '2028-09-03', 'blackouts': [['2027-08-10', '2027-08-11'], ['2027-02-12'], ['2027-03-22', '2027-03-30'], ['2028-01-03', '2028-01-03']]}, []], ['sampled case 3', {'outbound': '2028-05-10', 'inbound': '2028-05-17', 'blackouts': [['2027-03-25', '2027-03-26']]}, []]], [['trip spans a blackout', {'outbound': '2027-12-14', 'inbound': '2028-01-05', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['outbound on end date', {'outbound': '2028-04-17', 'inbound': None, 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['single-day blackout', {'outbound': '2028-02-12', 'inbound': '2028-02-14', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['inbound in second range', {'outbound': '2027-12-05', 'inbound': '2027-12-30', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['both directions blocked', {'outbound': '2027-12-24', 'inbound': '2027-12-26', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT', 'IN']], ['clear trip', {'outbound': '2028-03-04', 'inbound': '2028-03-20', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['start day of range', {'outbound': '2028-04-10', 'inbound': '2028-04-24', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['sampled case 1', {'outbound': '2028-05-25', 'inbound': '2028-06-06', 'blackouts': [['2028-05-14'], ['2028-11-03', '2028-11-14']]}, []], ['sampled case 2', {'outbound': '2027-05-21', 'inbound': None, 'blackouts': [['2028-07-14', '2028-07-14']]}, []], ['sampled case 3', {'outbound': '2028-11-12', 'inbound': '2028-12-09', 'blackouts': [['2028-09-06', '2028-09-09']]}, []]], [['trip spans a blackout', {'outbound': '2027-12-15', 'inbound': '2028-01-05', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['outbound on end date', {'outbound': '2028-04-17', 'inbound': None, 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['single-day blackout', {'outbound': '2028-02-13', 'inbound': '2028-02-14', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['inbound in second range', {'outbound': '2027-12-06', 'inbound': '2027-12-30', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['IN']], ['both directions blocked', {'outbound': '2027-12-24', 'inbound': '2027-12-26', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT', 'IN']], ['clear trip', {'outbound': '2028-03-05', 'inbound': '2028-03-20', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, []], ['start day of range', {'outbound': '2028-04-10', 'inbound': '2028-04-25', 'blackouts': [['2027-12-20', '2027-12-27'], ['2027-12-24', '2028-01-02'], ['2028-02-14'], ['2028-04-10', '2028-04-17']]}, ['OUT']], ['sampled case 1', {'outbound': '2027-04-06', 'inbound': None, 'blackouts': [['2027-05-03', '2027-05-11'], ['2027-09-16', '2027-09-16']]}, []], ['sampled case 2', {'outbound': '2028-09-10', 'inbound': None, 'blackouts': [['2027-05-03', '2027-05-05'], ['2027-05-06']]}, []], ['sampled case 3', {'outbound': '2027-01-31', 'inbound': '2027-02-06', 'blackouts': [['2028-04-06', '2028-04-16'], ['2028-06-24', '2028-06-27']]}, []]]]\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":"A stipulated toy fare-rule contract with invented constants; it is not an ATPCO or carrier tariff implementation and makes no claim of industry-standard 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-airline-fare-rules-blackout-directions-first-range-only","generated_at":"2026-09-29T14:47:43.722695+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Blackout rules restrict travel dates per direction; staying through a blackout period is permitted.","root_cause":"The break sits at loop level, so iteration stops after the first range regardless of a match.","sha256":"e797108734de4a5bcbb89439ae3678c92122158f36c2ad5b81f48b31c514b8d8","title":"Only the first blackout range is checked · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":40.313,"exit_code":1,"observations":[{"actual":[],"check":"trip spans a blackout","expected":[],"passed":true},{"actual":[],"check":"outbound on end date","expected":["OUT"],"passed":false},{"actual":[],"check":"single-day blackout","expected":["IN"],"passed":false},{"actual":["IN"],"check":"inbound in second range","expected":["IN"],"passed":true},{"actual":["OUT","IN"],"check":"both directions blocked","expected":["OUT","IN"],"passed":true},{"actual":[],"check":"clear trip","expected":[],"passed":true},{"actual":[],"check":"start day of range","expected":["OUT"],"passed":false},{"actual":[],"check":"sampled case 1","expected":[],"passed":true},{"actual":[],"check":"sampled case 2","expected":[],"passed":true},{"actual":[],"check":"sampled case 3","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"trip spans a blackout\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"outbound on end date\", \"actual\": [], \"expected\": [\"OUT\"], \"passed\": false}, {\"check\": \"single-day blackout\", \"actual\": [], \"expected\": [\"IN\"], \"passed\": false}, {\"check\": \"inbound in second range\", \"actual\": [\"IN\"], \"expected\": [\"IN\"], \"passed\": true}, {\"check\": \"both directions blocked\", \"actual\": [\"OUT\", \"IN\"], \"expected\": [\"OUT\", \"IN\"], \"passed\": true}, {\"check\": \"clear trip\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"start day of range\", \"actual\": [], \"expected\": [\"OUT\"], \"passed\": false}, {\"check\": \"sampled case 1\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"sampled case 2\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"sampled case 3\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":97.051,"exit_code":1,"observations":[{"actual":[],"check":"trip spans a blackout","expected":[],"passed":true},{"actual":[],"check":"outbound on end date","expected":["OUT"],"passed":false},{"actual":[],"check":"single-day blackout","expected":["IN"],"passed":false},{"actual":[],"check":"inbound in second range","expected":["IN"],"passed":false},{"actual":["OUT","IN"],"check":"both directions blocked","expected":["OUT","IN"],"passed":true},{"actual":[],"check":"clear trip","expected":[],"passed":true},{"actual":[],"check":"start day of range","expected":["OUT"],"passed":false},{"actual":[],"check":"sampled case 1","expected":[],"passed":true},{"actual":[],"check":"sampled case 2","expected":[],"passed":true},{"actual":[],"check":"sampled case 3","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"trip spans a blackout\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"outbound on end date\", \"actual\": [], \"expected\": [\"OUT\"], \"passed\": false}, {\"check\": \"single-day blackout\", \"actual\": [], \"expected\": [\"IN\"], \"passed\": false}, {\"check\": \"inbound in second range\", \"actual\": [], \"expected\": [\"IN\"], \"passed\": false}, {\"check\": \"both directions blocked\", \"actual\": [\"OUT\", \"IN\"], \"expected\": [\"OUT\", \"IN\"], \"passed\": true}, {\"check\": \"clear trip\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"start day of range\", \"actual\": [], \"expected\": [\"OUT\"], \"passed\": false}, {\"check\": \"sampled case 1\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"sampled case 2\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"sampled case 3\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}