{"abstract":"Airport parking weekly cap returns a wrong result when the partial day is capped at the weekly rate.","category":"Toll and parking fee computation","checks":8,"contract":"Input {minutes, daily, weekly, hourly}. Full 1440-minute days and a remainder; the remainder costs started hours * hourly capped at daily. Each full 7-day week costs weekly; the leftover full days plus the remainder cost days*daily + remainder charge, capped at weekly.","contract_signature":"x","evaluation_group":"w2-toll_and_parking_fee_computation-airport-weekly","failed_approach":"The weekly rate is far above one day, so the partial day is effectively uncapped.","family":"w2-toll_and_parking_fee_computation-airport-weekly-part-cap","id":"FA-68786","implementations":{"attempt":{"sha256":"f0b9f96c722ed74a927b3befc8b34bea9dffc975ebaed3379833bac37f762d75","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    m = x['minutes']\n    full, r = divmod(m, 1440)\n    part = min(x['weekly'], -(-r // 60) * x['hourly'])\n    weeks, days = divmod(full, 7)\n    return weeks * x['weekly'] + min(x['weekly'], days * x['daily'] + part)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[({'minutes': 10180, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 12000), ({'minutes': 14154, 'daily': 2800, 'weekly': 11000, 'hourly': 400}, 19400), ({'minutes': 14214, 'daily': 2200, 'weekly': 13000, 'hourly': 600}, 19600), ({'minutes': 219, 'daily': 2200, 'weekly': 13000, 'hourly': 500}, 2000), ({'minutes': 556, 'daily': 2800, 'weekly': 13000, 'hourly': 400}, 2800), ({'minutes': 8000, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 11000), ({'minutes': 20477, 'daily': 2200, 'weekly': 13000, 'hourly': 400}, 28200), ({'minutes': 24480, 'daily': 1800, 'weekly': 13000, 'hourly': 600}, 31400)], [({'minutes': 8000, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 11000), ({'minutes': 18720, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 22000), ({'minutes': 707, 'daily': 1800, 'weekly': 11000, 'hourly': 400}, 1800), ({'minutes': 10180, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 12000), ({'minutes': 6904, 'daily': 2200, 'weekly': 9000, 'hourly': 400}, 9000), ({'minutes': 28590, 'daily': 2200, 'weekly': 9000, 'hourly': 500}, 27000), ({'minutes': 1088, 'daily': 1800, 'weekly': 9000, 'hourly': 500}, 1800), ({'minutes': 12560, 'daily': 2800, 'weekly': 11000, 'hourly': 600}, 16600)], [({'minutes': 10180, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 12000), ({'minutes': 2985, 'daily': 2200, 'weekly': 9000, 'hourly': 500}, 5400), ({'minutes': 8000, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 11000), ({'minutes': 23466, 'daily': 1800, 'weekly': 11000, 'hourly': 600}, 27400), ({'minutes': 21183, 'daily': 2200, 'weekly': 11000, 'hourly': 600}, 24200), ({'minutes': 28412, 'daily': 1800, 'weekly': 9000, 'hourly': 400}, 27000), ({'minutes': 1125, 'daily': 1800, 'weekly': 13000, 'hourly': 600}, 1800), ({'minutes': 16564, 'daily': 1800, 'weekly': 11000, 'hourly': 500}, 20000)], [({'minutes': 4320, 'daily': 1800, 'weekly': 9000, 'hourly': 400}, 5400), ({'minutes': 11520, 'daily': 2200, 'weekly': 9000, 'hourly': 500}, 11200), ({'minutes': 24848, 'daily': 2800, 'weekly': 13000, 'hourly': 600}, 37200), ({'minutes': 23040, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 26400), ({'minutes': 22252, 'daily': 2200, 'weekly': 9000, 'hourly': 600}, 22400), ({'minutes': 661, 'daily': 2200, 'weekly': 13000, 'hourly': 500}, 2200), ({'minutes': 8000, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 11000), ({'minutes': 10180, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 12000)], [({'minutes': 10180, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 12000), ({'minutes': 15174, 'daily': 2200, 'weekly': 13000, 'hourly': 600}, 21800), ({'minutes': 5760, 'daily': 2200, 'weekly': 13000, 'hourly': 400}, 8800), ({'minutes': 22028, 'daily': 2200, 'weekly': 9000, 'hourly': 400}, 22400), ({'minutes': 8640, 'daily': 1800, 'weekly': 11000, 'hourly': 400}, 10800), ({'minutes': 8000, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 11000), ({'minutes': 318, 'daily': 2800, 'weekly': 13000, 'hourly': 500}, 2800), ({'minutes': 27901, 'daily': 2200, 'weekly': 13000, 'hourly': 400}, 39000)]]\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":"34f76d47a764ea229725264a07f02b3e43b069590f5171bad35c28031e03a6c7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    m = x['minutes']\n    full, r = divmod(m, 1440)\n    part = -(-r // 60) * x['hourly']\n    weeks, days = divmod(full, 7)\n    return weeks * x['weekly'] + min(x['weekly'], days * x['daily'] + part)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[({'minutes': 10180, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 12000), ({'minutes': 14154, 'daily': 2800, 'weekly': 11000, 'hourly': 400}, 19400), ({'minutes': 14214, 'daily': 2200, 'weekly': 13000, 'hourly': 600}, 19600), ({'minutes': 219, 'daily': 2200, 'weekly': 13000, 'hourly': 500}, 2000), ({'minutes': 556, 'daily': 2800, 'weekly': 13000, 'hourly': 400}, 2800), ({'minutes': 8000, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 11000), ({'minutes': 20477, 'daily': 2200, 'weekly': 13000, 'hourly': 400}, 28200), ({'minutes': 24480, 'daily': 1800, 'weekly': 13000, 'hourly': 600}, 31400)], [({'minutes': 8000, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 11000), ({'minutes': 18720, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 22000), ({'minutes': 707, 'daily': 1800, 'weekly': 11000, 'hourly': 400}, 1800), ({'minutes': 10180, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 12000), ({'minutes': 6904, 'daily': 2200, 'weekly': 9000, 'hourly': 400}, 9000), ({'minutes': 28590, 'daily': 2200, 'weekly': 9000, 'hourly': 500}, 27000), ({'minutes': 1088, 'daily': 1800, 'weekly': 9000, 'hourly': 500}, 1800), ({'minutes': 12560, 'daily': 2800, 'weekly': 11000, 'hourly': 600}, 16600)], [({'minutes': 10180, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 12000), ({'minutes': 2985, 'daily': 2200, 'weekly': 9000, 'hourly': 500}, 5400), ({'minutes': 8000, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 11000), ({'minutes': 23466, 'daily': 1800, 'weekly': 11000, 'hourly': 600}, 27400), ({'minutes': 21183, 'daily': 2200, 'weekly': 11000, 'hourly': 600}, 24200), ({'minutes': 28412, 'daily': 1800, 'weekly': 9000, 'hourly': 400}, 27000), ({'minutes': 1125, 'daily': 1800, 'weekly': 13000, 'hourly': 600}, 1800), ({'minutes': 16564, 'daily': 1800, 'weekly': 11000, 'hourly': 500}, 20000)], [({'minutes': 4320, 'daily': 1800, 'weekly': 9000, 'hourly': 400}, 5400), ({'minutes': 11520, 'daily': 2200, 'weekly': 9000, 'hourly': 500}, 11200), ({'minutes': 24848, 'daily': 2800, 'weekly': 13000, 'hourly': 600}, 37200), ({'minutes': 23040, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 26400), ({'minutes': 22252, 'daily': 2200, 'weekly': 9000, 'hourly': 600}, 22400), ({'minutes': 661, 'daily': 2200, 'weekly': 13000, 'hourly': 500}, 2200), ({'minutes': 8000, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 11000), ({'minutes': 10180, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 12000)], [({'minutes': 10180, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 12000), ({'minutes': 15174, 'daily': 2200, 'weekly': 13000, 'hourly': 600}, 21800), ({'minutes': 5760, 'daily': 2200, 'weekly': 13000, 'hourly': 400}, 8800), ({'minutes': 22028, 'daily': 2200, 'weekly': 9000, 'hourly': 400}, 22400), ({'minutes': 8640, 'daily': 1800, 'weekly': 11000, 'hourly': 400}, 10800), ({'minutes': 8000, 'daily': 2200, 'weekly': 11000, 'hourly': 500}, 11000), ({'minutes': 318, 'daily': 2800, 'weekly': 13000, 'hourly': 500}, 2800), ({'minutes': 27901, 'daily': 2200, 'weekly': 13000, 'hourly': 400}, 39000)]]\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-airport-weekly-part-cap","generated_at":"2026-09-29T14:48:05.503914+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":"Long partial days cost more than a full day.","sha256":"97d89551dde366e92dcbfb8f41421a583a8bcfd6a48fc36e786505be4e82f0df","title":"Airport parking weekly cap: the partial day is capped at the weekly rate · 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":43.605,"exit_code":1,"observations":[{"actual":12000,"check":"fee oracle 0","expected":12000,"passed":true},{"actual":22000,"check":"fee oracle 1","expected":19400,"passed":false},{"actual":26000,"check":"fee oracle 2","expected":19600,"passed":false},{"actual":2000,"check":"fee oracle 3","expected":2000,"passed":true},{"actual":4000,"check":"fee oracle 4","expected":2800,"passed":false},{"actual":11000,"check":"fee oracle 5","expected":11000,"passed":true},{"actual":28400,"check":"fee oracle 6","expected":28200,"passed":false},{"actual":31400,"check":"fee oracle 7","expected":31400,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fee oracle 0\", \"actual\": 12000, \"expected\": 12000, \"passed\": true}, {\"check\": \"fee oracle 1\", \"actual\": 22000, \"expected\": 19400, \"passed\": false}, {\"check\": \"fee oracle 2\", \"actual\": 26000, \"expected\": 19600, \"passed\": false}, {\"check\": \"fee oracle 3\", \"actual\": 2000, \"expected\": 2000, \"passed\": true}, {\"check\": \"fee oracle 4\", \"actual\": 4000, \"expected\": 2800, \"passed\": false}, {\"check\": \"fee oracle 5\", \"actual\": 11000, \"expected\": 11000, \"passed\": true}, {\"check\": \"fee oracle 6\", \"actual\": 28400, \"expected\": 28200, \"passed\": false}, {\"check\": \"fee oracle 7\", \"actual\": 31400, \"expected\": 31400, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.781,"exit_code":1,"observations":[{"actual":12000,"check":"fee oracle 0","expected":12000,"passed":true},{"actual":22000,"check":"fee oracle 1","expected":19400,"passed":false},{"actual":26000,"check":"fee oracle 2","expected":19600,"passed":false},{"actual":2000,"check":"fee oracle 3","expected":2000,"passed":true},{"actual":4000,"check":"fee oracle 4","expected":2800,"passed":false},{"actual":11000,"check":"fee oracle 5","expected":11000,"passed":true},{"actual":28400,"check":"fee oracle 6","expected":28200,"passed":false},{"actual":31400,"check":"fee oracle 7","expected":31400,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fee oracle 0\", \"actual\": 12000, \"expected\": 12000, \"passed\": true}, {\"check\": \"fee oracle 1\", \"actual\": 22000, \"expected\": 19400, \"passed\": false}, {\"check\": \"fee oracle 2\", \"actual\": 26000, \"expected\": 19600, \"passed\": false}, {\"check\": \"fee oracle 3\", \"actual\": 2000, \"expected\": 2000, \"passed\": true}, {\"check\": \"fee oracle 4\", \"actual\": 4000, \"expected\": 2800, \"passed\": false}, {\"check\": \"fee oracle 5\", \"actual\": 11000, \"expected\": 11000, \"passed\": true}, {\"check\": \"fee oracle 6\", \"actual\": 28400, \"expected\": 28200, \"passed\": false}, {\"check\": \"fee oracle 7\", \"actual\": 31400, \"expected\": 31400, \"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."}}