{"abstract":"One-way bridge toll with frequent-user discount returns a wrong result when the frequency counter never resets between months.","category":"Toll and parking fee computation","checks":8,"contract":"Input {trips: [[month index, direction, occupancy]], toll_dir, base, threshold, discount_pct, carpool_min}. Only trips in toll_dir are tolled. Carpools (occupancy >= carpool_min) are free and do not count. Paid trips are counted per month index (no carry-over between months); trips beyond threshold in a month pay floor(base*(100-discount)/100).","contract_signature":"x","evaluation_group":"w2-toll_and_parking_fee_computation-bridge-frequent","failed_approach":"Folding month indices modulo 12 merges the same month of different years into one counter.","family":"w2-toll_and_parking_fee_computation-bridge-frequent-month-reset","id":"FA-68651","implementations":{"attempt":{"sha256":"2486dcf8df8caecafd26476b3110a0f63259d0b5369e276848d0af861154ab1d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    counts = {}\n    total = 0\n    for month, d, occ in x['trips']:\n        if d != x['toll_dir']:\n            continue\n        if occ >= x['carpool_min']:\n            continue\n        k = counts.get(month % 12, 0) + 1\n        counts[month] = k\n        if k > x['threshold']:\n            total += x['base'] * (100 - x['discount_pct']) // 100\n        else:\n            total += x['base']\n    return total\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[({'trips': [[1, 'W', 1], [2, 'W', 2], [2, 'W', 4], [1, 'E', 4], [2, 'E', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 2}, 725), ({'trips': [[1, 'E', 4], [2, 'E', 1], [1, 'E', 3], [1, 'E', 1], [1, 'W', 4], [2, 'W', 1], [13, 'E', 1], [1, 'W', 2], [1, 'E', 3], [1, 'W', 3], [13, 'W', 1], [2, 'E', 1]], 'toll_dir': 'W', 'base': 600, 'threshold': 5, 'discount_pct': 25, 'carpool_min': 3}, 1800), ({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[13, 'E', 2], [1, 'W', 1], [2, 'W', 2], [1, 'E', 1], [2, 'W', 1], [13, 'E', 1], [13, 'W', 4], [13, 'W', 1], [1, 'E', 1], [1, 'E', 1]], 'toll_dir': 'E', 'base': 850, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 3}, 3910), ({'trips': [[1, 'E', 4], [1, 'W', 3], [1, 'W', 2]], 'toll_dir': 'W', 'base': 725, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 2}, 0), ({'trips': [[13, 'E', 3], [1, 'E', 4], [1, 'E', 1], [1, 'W', 3], [2, 'W', 4], [2, 'E', 1], [13, 'W', 1]], 'toll_dir': 'E', 'base': 850, 'threshold': 5, 'discount_pct': 40, 'carpool_min': 3}, 1700), ({'trips': [[13, 'W', 1], [1, 'E', 1], [2, 'W', 1], [13, 'E', 2], [1, 'W', 1], [1, 'W', 1], [1, 'W', 2], [13, 'W', 1], [1, 'E', 2], [13, 'W', 1], [2, 'E', 1], [1, 'W', 2], [1, 'W', 2], [13, 'W', 1], [2, 'W', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[1, 'W', 3], [2, 'E', 2], [2, 'W', 1], [13, 'W', 1], [1, 'W', 1], [2, 'E', 1], [13, 'W', 1], [2, 'E', 1], [13, 'W', 3], [2, 'E', 1]], 'toll_dir': 'W', 'base': 850, 'threshold': 5, 'discount_pct': 40, 'carpool_min': 2}, 3400)], [({'trips': [[13, 'W', 4], [2, 'E', 1], [1, 'W', 1], [13, 'W', 1], [13, 'W', 1], [1, 'W', 4], [1, 'E', 3], [13, 'E', 1], [13, 'E', 4], [1, 'W', 4], [13, 'E', 1], [1, 'E', 2], [13, 'E', 4], [1, 'E', 1], [1, 'E', 4], [2, 'W', 3]], 'toll_dir': 'W', 'base': 600, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 2}, 1800), ({'trips': [[1, 'E', 1], [1, 'E', 1], [1, 'W', 3], [2, 'E', 1], [1, 'W', 2], [13, 'W', 1], [13, 'E', 4], [2, 'E', 1], [1, 'W', 2], [2, 'W', 1], [13, 'W', 1], [13, 'W', 2], [13, 'E', 1], [2, 'E', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 2, 'discount_pct': 25, 'carpool_min': 3}, 4168), ({'trips': [[1, 'E', 1], [2, 'W', 2], [2, 'E', 1], [13, 'W', 1], [13, 'E', 3], [2, 'E', 1], [1, 'W', 1], [1, 'E', 2], [2, 'E', 1]], 'toll_dir': 'E', 'base': 600, 'threshold': 4, 'discount_pct': 40, 'carpool_min': 3}, 3000), ({'trips': [[13, 'E', 4], [2, 'E', 1], [1, 'E', 2], [2, 'E', 3], [1, 'W', 1], [1, 'E', 1], [1, 'E', 4]], 'toll_dir': 'W', 'base': 725, 'threshold': 4, 'discount_pct': 25, 'carpool_min': 3}, 725), ({'trips': [[13, 'W', 1], [1, 'W', 3], [1, 'W', 2], [13, 'E', 1], [13, 'E', 1], [2, 'E', 1], [13, 'W', 1], [1, 'W', 4], [1, 'E', 1], [1, 'W', 1], [1, 'W', 3]], 'toll_dir': 'W', 'base': 600, 'threshold': 2, 'discount_pct': 25, 'carpool_min': 3}, 2400), ({'trips': [[2, 'E', 1], [2, 'E', 4], [13, 'E', 1]], 'toll_dir': 'E', 'base': 850, 'threshold': 3, 'discount_pct': 40, 'carpool_min': 2}, 1700), ({'trips': [[1, 'E', 4], [13, 'W', 4], [1, 'E', 4], [13, 'W', 1], [1, 'W', 4], [1, 'E', 4], [13, 'W', 1], [13, 'W', 2], [1, 'E', 1], [13, 'W', 2], [13, 'E', 3], [1, 'E', 2], [2, 'E', 4], [1, 'E', 1], [1, 'W', 4]], 'toll_dir': 'E', 'base': 600, 'threshold': 4, 'discount_pct': 40, 'carpool_min': 3}, 1800), ({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660)], [({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[2, 'E', 1], [2, 'W', 4], [1, 'W', 1], [13, 'E', 1]], 'toll_dir': 'E', 'base': 600, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 3}, 1200), ({'trips': [[1, 'W', 2], [13, 'E', 1], [2, 'W', 1], [1, 'W', 2], [2, 'E', 4], [13, 'W', 1], [13, 'W', 4], [13, 'E', 1], [2, 'W', 3], [1, 'E', 2], [13, 'E', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 3, 'discount_pct': 25, 'carpool_min': 2}, 1450), ({'trips': [[1, 'W', 1], [13, 'W', 3], [1, 'W', 1], [13, 'E', 4], [1, 'W', 1]], 'toll_dir': 'E', 'base': 600, 'threshold': 1, 'discount_pct': 25, 'carpool_min': 2}, 0), ({'trips': [[1, 'W', 1], [13, 'E', 1], [1, 'E', 3], [13, 'W', 1], [2, 'E', 4], [2, 'W', 1], [13, 'E', 4], [2, 'E', 2], [1, 'W', 1], [1, 'W', 1], [13, 'E', 1], [1, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 3}, 3630), ({'trips': [[2, 'E', 1], [1, 'W', 3], [13, 'E', 1], [13, 'W', 2]], 'toll_dir': 'E', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 1450), ({'trips': [[2, 'W', 1], [1, 'E', 1], [1, 'W', 1], [1, 'W', 1], [1, 'W', 2], [1, 'E', 2], [1, 'W', 1], [2, 'W', 1], [2, 'E', 1]], 'toll_dir': 'W', 'base': 600, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 3}, 3120), ({'trips': [[13, 'E', 2], [1, 'W', 4], [1, 'W', 1], [1, 'W', 1], [1, 'E', 1], [2, 'W', 4], [2, 'E', 4], [1, 'W', 3], [13, 'E', 1], [13, 'W', 4], [1, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 1, 'discount_pct': 40, 'carpool_min': 3}, 1595)], [({'trips': [[2, 'W', 1], [1, 'W', 1], [13, 'W', 1], [13, 'W', 2], [2, 'E', 2], [1, 'W', 1], [1, 'W', 1], [2, 'E', 1], [1, 'E', 2], [2, 'E', 1], [2, 'W', 4], [1, 'W', 1], [13, 'E', 2], [1, 'E', 2], [13, 'E', 4], [1, 'W', 2]], 'toll_dir': 'W', 'base': 600, 'threshold': 5, 'discount_pct': 33, 'carpool_min': 3}, 4800), ({'trips': [[13, 'E', 1], [1, 'E', 1], [1, 'E', 1], [1, 'W', 1], [2, 'E', 2], [13, 'W', 1], [1, 'W', 1], [1, 'W', 3]], 'toll_dir': 'W', 'base': 725, 'threshold': 4, 'discount_pct': 33, 'carpool_min': 3}, 2175), ({'trips': [[1, 'W', 2], [1, 'E', 4], [1, 'W', 2], [2, 'E', 1], [2, 'E', 2], [13, 'W', 4], [2, 'W', 1], [1, 'W', 2], [1, 'W', 1], [1, 'E', 3]], 'toll_dir': 'E', 'base': 850, 'threshold': 5, 'discount_pct': 40, 'carpool_min': 2}, 850), ({'trips': [[1, 'E', 4], [13, 'E', 1], [13, 'E', 3]], 'toll_dir': 'E', 'base': 850, 'threshold': 1, 'discount_pct': 40, 'carpool_min': 2}, 850), ({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[1, 'E', 2], [1, 'E', 1], [1, 'W', 4], [13, 'W', 1], [1, 'E', 3], [13, 'E', 4], [1, 'E', 1], [1, 'E', 1], [13, 'W', 3], [13, 'E', 1], [13, 'W', 1], [1, 'E', 1], [2, 'E', 1], [1, 'W', 3]], 'toll_dir': 'E', 'base': 600, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 2}, 3006), ({'trips': [[2, 'E', 1], [2, 'E', 1], [1, 'W', 2], [13, 'E', 4], [1, 'W', 1], [2, 'W', 3], [1, 'W', 1], [1, 'W', 3], [2, 'E', 3], [1, 'E', 2], [1, 'E', 1], [1, 'E', 1], [13, 'E', 3], [13, 'W', 3], [1, 'W', 2]], 'toll_dir': 'E', 'base': 600, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 3}, 2406), ({'trips': [[1, 'E', 3], [1, 'E', 1], [13, 'W', 3], [2, 'E', 1], [2, 'E', 2], [1, 'E', 2], [2, 'E', 1], [13, 'E', 4], [2, 'E', 1]], 'toll_dir': 'W', 'base': 850, 'threshold': 4, 'discount_pct': 33, 'carpool_min': 2}, 0)], [({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[1, 'E', 1], [13, 'E', 1], [13, 'W', 3], [2, 'E', 2], [1, 'E', 4], [2, 'E', 1], [13, 'W', 1], [1, 'E', 4]], 'toll_dir': 'W', 'base': 600, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 3}, 600), ({'trips': [[1, 'E', 3], [1, 'W', 4], [13, 'E', 3], [1, 'E', 3], [13, 'E', 2], [1, 'E', 4]], 'toll_dir': 'E', 'base': 850, 'threshold': 4, 'discount_pct': 25, 'carpool_min': 3}, 850), ({'trips': [[2, 'E', 3], [2, 'W', 1], [2, 'W', 2], [2, 'E', 1], [1, 'W', 1], [1, 'E', 4]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 25, 'carpool_min': 2}, 1450), ({'trips': [[1, 'E', 2], [1, 'E', 2], [1, 'E', 2], [1, 'W', 2], [1, 'E', 4], [2, 'W', 3], [2, 'W', 2], [1, 'E', 4]], 'toll_dir': 'E', 'base': 725, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 3}, 2175), ({'trips': [[2, 'E', 4], [2, 'E', 2], [2, 'W', 1], [1, 'E', 1], [1, 'E', 2], [13, 'W', 2], [13, 'W', 3], [1, 'W', 1], [13, 'E', 1], [1, 'W', 1], [13, 'W', 1], [2, 'E', 1], [1, 'W', 3], [13, 'E', 2], [1, 'E', 1]], 'toll_dir': 'W', 'base': 600, 'threshold': 1, 'discount_pct': 40, 'carpool_min': 3}, 2520), ({'trips': [[2, 'E', 1], [2, 'W', 1], [2, 'W', 2], [2, 'W', 1], [13, 'W', 1], [1, 'W', 1], [1, 'E', 1], [1, 'E', 1], [2, 'E', 1], [2, 'W', 1], [1, 'E', 4], [1, 'W', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 2}, 2420), ({'trips': [[13, 'E', 2], [1, 'W', 2], [1, 'E', 1], [1, 'W', 3], [1, 'E', 4], [1, 'E', 4], [1, 'W', 1], [1, 'W', 2], [1, 'E', 2], [1, 'W', 1], [2, 'W', 3], [1, 'E', 4], [1, 'E', 1], [1, 'W', 4], [13, 'E', 1]], 'toll_dir': 'E', 'base': 600, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 2}, 1602)]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check('fee oracle' + ' %d' % i, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"5891f105c8368eaca59a1635e0047f78a1898466526f259e1de0efa8622985fc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    counts = {}\n    total = 0\n    for month, d, occ in x['trips']:\n        if d != x['toll_dir']:\n            continue\n        if occ >= x['carpool_min']:\n            continue\n        k = sum(counts.values()) + 1\n        counts[month] = counts.get(month, 0) + 1\n        if k > x['threshold']:\n            total += x['base'] * (100 - x['discount_pct']) // 100\n        else:\n            total += x['base']\n    return total\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[({'trips': [[1, 'W', 1], [2, 'W', 2], [2, 'W', 4], [1, 'E', 4], [2, 'E', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 2}, 725), ({'trips': [[1, 'E', 4], [2, 'E', 1], [1, 'E', 3], [1, 'E', 1], [1, 'W', 4], [2, 'W', 1], [13, 'E', 1], [1, 'W', 2], [1, 'E', 3], [1, 'W', 3], [13, 'W', 1], [2, 'E', 1]], 'toll_dir': 'W', 'base': 600, 'threshold': 5, 'discount_pct': 25, 'carpool_min': 3}, 1800), ({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[13, 'E', 2], [1, 'W', 1], [2, 'W', 2], [1, 'E', 1], [2, 'W', 1], [13, 'E', 1], [13, 'W', 4], [13, 'W', 1], [1, 'E', 1], [1, 'E', 1]], 'toll_dir': 'E', 'base': 850, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 3}, 3910), ({'trips': [[1, 'E', 4], [1, 'W', 3], [1, 'W', 2]], 'toll_dir': 'W', 'base': 725, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 2}, 0), ({'trips': [[13, 'E', 3], [1, 'E', 4], [1, 'E', 1], [1, 'W', 3], [2, 'W', 4], [2, 'E', 1], [13, 'W', 1]], 'toll_dir': 'E', 'base': 850, 'threshold': 5, 'discount_pct': 40, 'carpool_min': 3}, 1700), ({'trips': [[13, 'W', 1], [1, 'E', 1], [2, 'W', 1], [13, 'E', 2], [1, 'W', 1], [1, 'W', 1], [1, 'W', 2], [13, 'W', 1], [1, 'E', 2], [13, 'W', 1], [2, 'E', 1], [1, 'W', 2], [1, 'W', 2], [13, 'W', 1], [2, 'W', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[1, 'W', 3], [2, 'E', 2], [2, 'W', 1], [13, 'W', 1], [1, 'W', 1], [2, 'E', 1], [13, 'W', 1], [2, 'E', 1], [13, 'W', 3], [2, 'E', 1]], 'toll_dir': 'W', 'base': 850, 'threshold': 5, 'discount_pct': 40, 'carpool_min': 2}, 3400)], [({'trips': [[13, 'W', 4], [2, 'E', 1], [1, 'W', 1], [13, 'W', 1], [13, 'W', 1], [1, 'W', 4], [1, 'E', 3], [13, 'E', 1], [13, 'E', 4], [1, 'W', 4], [13, 'E', 1], [1, 'E', 2], [13, 'E', 4], [1, 'E', 1], [1, 'E', 4], [2, 'W', 3]], 'toll_dir': 'W', 'base': 600, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 2}, 1800), ({'trips': [[1, 'E', 1], [1, 'E', 1], [1, 'W', 3], [2, 'E', 1], [1, 'W', 2], [13, 'W', 1], [13, 'E', 4], [2, 'E', 1], [1, 'W', 2], [2, 'W', 1], [13, 'W', 1], [13, 'W', 2], [13, 'E', 1], [2, 'E', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 2, 'discount_pct': 25, 'carpool_min': 3}, 4168), ({'trips': [[1, 'E', 1], [2, 'W', 2], [2, 'E', 1], [13, 'W', 1], [13, 'E', 3], [2, 'E', 1], [1, 'W', 1], [1, 'E', 2], [2, 'E', 1]], 'toll_dir': 'E', 'base': 600, 'threshold': 4, 'discount_pct': 40, 'carpool_min': 3}, 3000), ({'trips': [[13, 'E', 4], [2, 'E', 1], [1, 'E', 2], [2, 'E', 3], [1, 'W', 1], [1, 'E', 1], [1, 'E', 4]], 'toll_dir': 'W', 'base': 725, 'threshold': 4, 'discount_pct': 25, 'carpool_min': 3}, 725), ({'trips': [[13, 'W', 1], [1, 'W', 3], [1, 'W', 2], [13, 'E', 1], [13, 'E', 1], [2, 'E', 1], [13, 'W', 1], [1, 'W', 4], [1, 'E', 1], [1, 'W', 1], [1, 'W', 3]], 'toll_dir': 'W', 'base': 600, 'threshold': 2, 'discount_pct': 25, 'carpool_min': 3}, 2400), ({'trips': [[2, 'E', 1], [2, 'E', 4], [13, 'E', 1]], 'toll_dir': 'E', 'base': 850, 'threshold': 3, 'discount_pct': 40, 'carpool_min': 2}, 1700), ({'trips': [[1, 'E', 4], [13, 'W', 4], [1, 'E', 4], [13, 'W', 1], [1, 'W', 4], [1, 'E', 4], [13, 'W', 1], [13, 'W', 2], [1, 'E', 1], [13, 'W', 2], [13, 'E', 3], [1, 'E', 2], [2, 'E', 4], [1, 'E', 1], [1, 'W', 4]], 'toll_dir': 'E', 'base': 600, 'threshold': 4, 'discount_pct': 40, 'carpool_min': 3}, 1800), ({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660)], [({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[2, 'E', 1], [2, 'W', 4], [1, 'W', 1], [13, 'E', 1]], 'toll_dir': 'E', 'base': 600, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 3}, 1200), ({'trips': [[1, 'W', 2], [13, 'E', 1], [2, 'W', 1], [1, 'W', 2], [2, 'E', 4], [13, 'W', 1], [13, 'W', 4], [13, 'E', 1], [2, 'W', 3], [1, 'E', 2], [13, 'E', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 3, 'discount_pct': 25, 'carpool_min': 2}, 1450), ({'trips': [[1, 'W', 1], [13, 'W', 3], [1, 'W', 1], [13, 'E', 4], [1, 'W', 1]], 'toll_dir': 'E', 'base': 600, 'threshold': 1, 'discount_pct': 25, 'carpool_min': 2}, 0), ({'trips': [[1, 'W', 1], [13, 'E', 1], [1, 'E', 3], [13, 'W', 1], [2, 'E', 4], [2, 'W', 1], [13, 'E', 4], [2, 'E', 2], [1, 'W', 1], [1, 'W', 1], [13, 'E', 1], [1, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 3}, 3630), ({'trips': [[2, 'E', 1], [1, 'W', 3], [13, 'E', 1], [13, 'W', 2]], 'toll_dir': 'E', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 1450), ({'trips': [[2, 'W', 1], [1, 'E', 1], [1, 'W', 1], [1, 'W', 1], [1, 'W', 2], [1, 'E', 2], [1, 'W', 1], [2, 'W', 1], [2, 'E', 1]], 'toll_dir': 'W', 'base': 600, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 3}, 3120), ({'trips': [[13, 'E', 2], [1, 'W', 4], [1, 'W', 1], [1, 'W', 1], [1, 'E', 1], [2, 'W', 4], [2, 'E', 4], [1, 'W', 3], [13, 'E', 1], [13, 'W', 4], [1, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 1, 'discount_pct': 40, 'carpool_min': 3}, 1595)], [({'trips': [[2, 'W', 1], [1, 'W', 1], [13, 'W', 1], [13, 'W', 2], [2, 'E', 2], [1, 'W', 1], [1, 'W', 1], [2, 'E', 1], [1, 'E', 2], [2, 'E', 1], [2, 'W', 4], [1, 'W', 1], [13, 'E', 2], [1, 'E', 2], [13, 'E', 4], [1, 'W', 2]], 'toll_dir': 'W', 'base': 600, 'threshold': 5, 'discount_pct': 33, 'carpool_min': 3}, 4800), ({'trips': [[13, 'E', 1], [1, 'E', 1], [1, 'E', 1], [1, 'W', 1], [2, 'E', 2], [13, 'W', 1], [1, 'W', 1], [1, 'W', 3]], 'toll_dir': 'W', 'base': 725, 'threshold': 4, 'discount_pct': 33, 'carpool_min': 3}, 2175), ({'trips': [[1, 'W', 2], [1, 'E', 4], [1, 'W', 2], [2, 'E', 1], [2, 'E', 2], [13, 'W', 4], [2, 'W', 1], [1, 'W', 2], [1, 'W', 1], [1, 'E', 3]], 'toll_dir': 'E', 'base': 850, 'threshold': 5, 'discount_pct': 40, 'carpool_min': 2}, 850), ({'trips': [[1, 'E', 4], [13, 'E', 1], [13, 'E', 3]], 'toll_dir': 'E', 'base': 850, 'threshold': 1, 'discount_pct': 40, 'carpool_min': 2}, 850), ({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[1, 'E', 2], [1, 'E', 1], [1, 'W', 4], [13, 'W', 1], [1, 'E', 3], [13, 'E', 4], [1, 'E', 1], [1, 'E', 1], [13, 'W', 3], [13, 'E', 1], [13, 'W', 1], [1, 'E', 1], [2, 'E', 1], [1, 'W', 3]], 'toll_dir': 'E', 'base': 600, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 2}, 3006), ({'trips': [[2, 'E', 1], [2, 'E', 1], [1, 'W', 2], [13, 'E', 4], [1, 'W', 1], [2, 'W', 3], [1, 'W', 1], [1, 'W', 3], [2, 'E', 3], [1, 'E', 2], [1, 'E', 1], [1, 'E', 1], [13, 'E', 3], [13, 'W', 3], [1, 'W', 2]], 'toll_dir': 'E', 'base': 600, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 3}, 2406), ({'trips': [[1, 'E', 3], [1, 'E', 1], [13, 'W', 3], [2, 'E', 1], [2, 'E', 2], [1, 'E', 2], [2, 'E', 1], [13, 'E', 4], [2, 'E', 1]], 'toll_dir': 'W', 'base': 850, 'threshold': 4, 'discount_pct': 33, 'carpool_min': 2}, 0)], [({'trips': [[1, 'W', 1], [1, 'W', 1], [1, 'W', 3], [1, 'W', 1], [13, 'W', 1]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 33, 'carpool_min': 3}, 2660), ({'trips': [[1, 'E', 1], [13, 'E', 1], [13, 'W', 3], [2, 'E', 2], [1, 'E', 4], [2, 'E', 1], [13, 'W', 1], [1, 'E', 4]], 'toll_dir': 'W', 'base': 600, 'threshold': 2, 'discount_pct': 40, 'carpool_min': 3}, 600), ({'trips': [[1, 'E', 3], [1, 'W', 4], [13, 'E', 3], [1, 'E', 3], [13, 'E', 2], [1, 'E', 4]], 'toll_dir': 'E', 'base': 850, 'threshold': 4, 'discount_pct': 25, 'carpool_min': 3}, 850), ({'trips': [[2, 'E', 3], [2, 'W', 1], [2, 'W', 2], [2, 'E', 1], [1, 'W', 1], [1, 'E', 4]], 'toll_dir': 'W', 'base': 725, 'threshold': 2, 'discount_pct': 25, 'carpool_min': 2}, 1450), ({'trips': [[1, 'E', 2], [1, 'E', 2], [1, 'E', 2], [1, 'W', 2], [1, 'E', 4], [2, 'W', 3], [2, 'W', 2], [1, 'E', 4]], 'toll_dir': 'E', 'base': 725, 'threshold': 3, 'discount_pct': 33, 'carpool_min': 3}, 2175), ({'trips': [[2, 'E', 4], [2, 'E', 2], [2, 'W', 1], [1, 'E', 1], [1, 'E', 2], [13, 'W', 2], [13, 'W', 3], [1, 'W', 1], [13, 'E', 1], [1, 'W', 1], [13, 'W', 1], [2, 'E', 1], [1, 'W', 3], [13, 'E', 2], [1, 'E', 1]], 'toll_dir': 'W', 'base': 600, 'threshold': 1, 'discount_pct': 40, 'carpool_min': 3}, 2520), ({'trips': [[2, 'E', 1], [2, 'W', 1], [2, 'W', 2], [2, 'W', 1], [13, 'W', 1], [1, 'W', 1], [1, 'E', 1], [1, 'E', 1], [2, 'E', 1], [2, 'W', 1], [1, 'E', 4], [1, 'W', 1]], 'toll_dir': 'E', 'base': 725, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 2}, 2420), ({'trips': [[13, 'E', 2], [1, 'W', 2], [1, 'E', 1], [1, 'W', 3], [1, 'E', 4], [1, 'E', 4], [1, 'W', 1], [1, 'W', 2], [1, 'E', 2], [1, 'W', 1], [2, 'W', 3], [1, 'E', 4], [1, 'E', 1], [1, 'W', 4], [13, 'E', 1]], 'toll_dir': 'E', 'base': 600, 'threshold': 1, 'discount_pct': 33, 'carpool_min': 2}, 1602)]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check('fee oracle' + ' %d' % i, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"A deterministic, bounded toy model with a stipulated contract; it makes no claim of conformance to any agency manual or standard. 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-toll_and_parking_fee_computation-bridge-frequent-month-reset","generated_at":"2026-09-29T14:48:04.183209+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Fee engines bill customers in integer cents; a wrong boundary, rounding stage or cap scope silently over- or under-charges.","root_cause":"Trips from earlier months count toward the discount threshold.","sha256":"0ad283beaad0e3496569360db8eb9dca77c8ce7b8a7db8aa18ececa08fcd612b","title":"One-way bridge toll with frequent-user discount: the frequency counter never resets between months · 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":39.947,"exit_code":1,"observations":[{"actual":725,"check":"fee oracle 0","expected":725,"passed":true},{"actual":1800,"check":"fee oracle 1","expected":1800,"passed":true},{"actual":2420,"check":"fee oracle 2","expected":2660,"passed":false},{"actual":3910,"check":"fee oracle 3","expected":3910,"passed":true},{"actual":0,"check":"fee oracle 4","expected":0,"passed":true},{"actual":1700,"check":"fee oracle 5","expected":1700,"passed":true},{"actual":2420,"check":"fee oracle 6","expected":2660,"passed":false},{"actual":3400,"check":"fee oracle 7","expected":3400,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fee oracle 0\", \"actual\": 725, \"expected\": 725, \"passed\": true}, {\"check\": \"fee oracle 1\", \"actual\": 1800, \"expected\": 1800, \"passed\": true}, {\"check\": \"fee oracle 2\", \"actual\": 2420, \"expected\": 2660, \"passed\": false}, {\"check\": \"fee oracle 3\", \"actual\": 3910, \"expected\": 3910, \"passed\": true}, {\"check\": \"fee oracle 4\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"fee oracle 5\", \"actual\": 1700, \"expected\": 1700, \"passed\": true}, {\"check\": \"fee oracle 6\", \"actual\": 2420, \"expected\": 2660, \"passed\": false}, {\"check\": \"fee oracle 7\", \"actual\": 3400, \"expected\": 3400, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.835,"exit_code":1,"observations":[{"actual":725,"check":"fee oracle 0","expected":725,"passed":true},{"actual":1800,"check":"fee oracle 1","expected":1800,"passed":true},{"actual":2420,"check":"fee oracle 2","expected":2660,"passed":false},{"actual":3230,"check":"fee oracle 3","expected":3910,"passed":false},{"actual":0,"check":"fee oracle 4","expected":0,"passed":true},{"actual":1700,"check":"fee oracle 5","expected":1700,"passed":true},{"actual":2180,"check":"fee oracle 6","expected":2660,"passed":false},{"actual":3400,"check":"fee oracle 7","expected":3400,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fee oracle 0\", \"actual\": 725, \"expected\": 725, \"passed\": true}, {\"check\": \"fee oracle 1\", \"actual\": 1800, \"expected\": 1800, \"passed\": true}, {\"check\": \"fee oracle 2\", \"actual\": 2420, \"expected\": 2660, \"passed\": false}, {\"check\": \"fee oracle 3\", \"actual\": 3230, \"expected\": 3910, \"passed\": false}, {\"check\": \"fee oracle 4\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"fee oracle 5\", \"actual\": 1700, \"expected\": 1700, \"passed\": true}, {\"check\": \"fee oracle 6\", \"actual\": 2180, \"expected\": 2660, \"passed\": false}, {\"check\": \"fee oracle 7\", \"actual\": 3400, \"expected\": 3400, \"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."}}