{"abstract":"A short inefficient trip is refunded to almost nothing.","category":"Ride-hailing fare and surge pricing","checks":7,"contract":"Refund for inefficient routes: only when actual distance is more than 20% longer than optimal (actual*5 > optimal*6). Refund the whole extra distance at per_km (half up); refunds under 200 cents are not issued; the refund never takes the charge below the minimum fare. Return refund cents.","evaluation_group":"w2-ride-hailing-fare-surge-route-inefficiency-refund","failed_approach":"Capping by the minimum fare itself confuses the floor with the cap.","family":"w2-ride-hailing-fare-surge-route-inefficiency-refund-minimum-fare-floor","id":"FA-85761","implementations":{"attempt":{"sha256":"39cd29ce9daf8ee5c8dd7e86eaa877069eb40aecd15b7767f99f51d8cd394aa8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(charged, actual_m, optimal_m, per_km, minimum):\n    if actual_m * 5 <= optimal_m * 6:\n        return 0\n    refund = ((actual_m - optimal_m) * per_km * 2 + 1000) // 2000\n    if refund < 200:\n        return 0\n    return min(refund, minimum)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: minimum fare floor', [700, 14402, 12001, 150, 700], 0),\n  ('partial repair probe: minimum fare floor', [4000, 24002, 12001, 100, 700], 1200),\n  ('second regression', [700, 7500, 5000, 150, 700], 0),\n  ('normal control 1', [1200, 10000, 10000, 100, 700], 0),\n  ('normal control 2', [4000, 9600, 8000, 100, 700], 0),\n  ('normal control 3', [4000, 6000, 5000, 100, 700], 0),\n  ('normal control 4', [2500, 10100, 10000, 100, 700], 0)],\n [('regression: minimum fare floor', [700, 18001, 12001, 150, 700], 0),\n  ('partial repair probe: minimum fare floor', [2500, 15000, 10000, 150, 700], 750),\n  ('second regression', [700, 24002, 12001, 100, 700], 0),\n  ('normal control 1', [700, 14401, 12001, 100, 700], 0),\n  ('normal control 2', [4000, 6001, 5000, 150, 700], 0),\n  ('normal control 3', [1200, 5100, 5000, 150, 700], 0),\n  ('normal control 4', [1200, 12000, 8000, 100, 700], 400)],\n [('regression: minimum fare floor', [1200, 24002, 12001, 150, 700], 500),\n  ('partial repair probe: minimum fare floor', [700, 18001, 12001, 100, 700], 0),\n  ('second regression', [4000, 24002, 12001, 150, 700], 1800),\n  ('normal control 1', [700, 9600, 8000, 100, 700], 0),\n  ('normal control 2', [4000, 10000, 5000, 100, 700], 500),\n  ('normal control 3', [2500, 6000, 5000, 150, 700], 0),\n  ('normal control 4', [4000, 14402, 12001, 150, 700], 360)],\n [('regression: minimum fare floor', [700, 7500, 5000, 150, 700], 0),\n  ('partial repair probe: minimum fare floor', [2500, 16000, 8000, 100, 700], 800),\n  ('second regression', [2500, 20000, 10000, 100, 700], 1000),\n  ('normal control 1', [1200, 15000, 10000, 100, 700], 500),\n  ('normal control 2', [4000, 12000, 8000, 150, 700], 600),\n  ('normal control 3', [4000, 12000, 8000, 100, 700], 400),\n  ('normal control 4', [2500, 10000, 10000, 150, 700], 0)],\n [('regression: minimum fare floor', [1200, 16000, 8000, 100, 700], 500),\n  ('partial repair probe: minimum fare floor', [4000, 24002, 12001, 100, 700], 1200),\n  ('second regression', [1200, 24002, 12001, 150, 700], 500),\n  ('normal control 1', [700, 12001, 12001, 100, 700], 0),\n  ('normal control 2', [1200, 7500, 5000, 100, 700], 250),\n  ('normal control 3', [1200, 14401, 12001, 100, 700], 0),\n  ('normal control 4', [1200, 7500, 5000, 150, 700], 375)]]\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":"f5e96469d05223c2749675ddbbe7645e1d9cd2b7c14043a929c2bf2a792313d9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(charged, actual_m, optimal_m, per_km, minimum):\n    if actual_m * 5 <= optimal_m * 6:\n        return 0\n    refund = ((actual_m - optimal_m) * per_km * 2 + 1000) // 2000\n    if refund < 200:\n        return 0\n    return min(refund, charged)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: minimum fare floor', [700, 14402, 12001, 150, 700], 0),\n  ('partial repair probe: minimum fare floor', [4000, 24002, 12001, 100, 700], 1200),\n  ('second regression', [700, 7500, 5000, 150, 700], 0),\n  ('normal control 1', [1200, 10000, 10000, 100, 700], 0),\n  ('normal control 2', [4000, 9600, 8000, 100, 700], 0),\n  ('normal control 3', [4000, 6000, 5000, 100, 700], 0),\n  ('normal control 4', [2500, 10100, 10000, 100, 700], 0)],\n [('regression: minimum fare floor', [700, 18001, 12001, 150, 700], 0),\n  ('partial repair probe: minimum fare floor', [2500, 15000, 10000, 150, 700], 750),\n  ('second regression', [700, 24002, 12001, 100, 700], 0),\n  ('normal control 1', [700, 14401, 12001, 100, 700], 0),\n  ('normal control 2', [4000, 6001, 5000, 150, 700], 0),\n  ('normal control 3', [1200, 5100, 5000, 150, 700], 0),\n  ('normal control 4', [1200, 12000, 8000, 100, 700], 400)],\n [('regression: minimum fare floor', [1200, 24002, 12001, 150, 700], 500),\n  ('partial repair probe: minimum fare floor', [700, 18001, 12001, 100, 700], 0),\n  ('second regression', [4000, 24002, 12001, 150, 700], 1800),\n  ('normal control 1', [700, 9600, 8000, 100, 700], 0),\n  ('normal control 2', [4000, 10000, 5000, 100, 700], 500),\n  ('normal control 3', [2500, 6000, 5000, 150, 700], 0),\n  ('normal control 4', [4000, 14402, 12001, 150, 700], 360)],\n [('regression: minimum fare floor', [700, 7500, 5000, 150, 700], 0),\n  ('partial repair probe: minimum fare floor', [2500, 16000, 8000, 100, 700], 800),\n  ('second regression', [2500, 20000, 10000, 100, 700], 1000),\n  ('normal control 1', [1200, 15000, 10000, 100, 700], 500),\n  ('normal control 2', [4000, 12000, 8000, 150, 700], 600),\n  ('normal control 3', [4000, 12000, 8000, 100, 700], 400),\n  ('normal control 4', [2500, 10000, 10000, 150, 700], 0)],\n [('regression: minimum fare floor', [1200, 16000, 8000, 100, 700], 500),\n  ('partial repair probe: minimum fare floor', [4000, 24002, 12001, 100, 700], 1200),\n  ('second regression', [1200, 24002, 12001, 150, 700], 500),\n  ('normal control 1', [700, 12001, 12001, 100, 700], 0),\n  ('normal control 2', [1200, 7500, 5000, 100, 700], 250),\n  ('normal control 3', [1200, 14401, 12001, 100, 700], 0),\n  ('normal control 4', [1200, 7500, 5000, 150, 700], 375)]]\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":"9bd65fa88381c1620a4c900238a2422ec8ea43d2d5db76a757381a287c06025b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(charged, actual_m, optimal_m, per_km, minimum):\n    if actual_m * 5 <= optimal_m * 6:\n        return 0\n    refund = ((actual_m - optimal_m) * per_km * 2 + 1000) // 2000\n    if refund < 200:\n        return 0\n    return max(0, min(refund, charged - minimum))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: minimum fare floor', [700, 14402, 12001, 150, 700], 0),\n  ('partial repair probe: minimum fare floor', [4000, 24002, 12001, 100, 700], 1200),\n  ('second regression', [700, 7500, 5000, 150, 700], 0),\n  ('normal control 1', [1200, 10000, 10000, 100, 700], 0),\n  ('normal control 2', [4000, 9600, 8000, 100, 700], 0),\n  ('normal control 3', [4000, 6000, 5000, 100, 700], 0),\n  ('normal control 4', [2500, 10100, 10000, 100, 700], 0)],\n [('regression: minimum fare floor', [700, 18001, 12001, 150, 700], 0),\n  ('partial repair probe: minimum fare floor', [2500, 15000, 10000, 150, 700], 750),\n  ('second regression', [700, 24002, 12001, 100, 700], 0),\n  ('normal control 1', [700, 14401, 12001, 100, 700], 0),\n  ('normal control 2', [4000, 6001, 5000, 150, 700], 0),\n  ('normal control 3', [1200, 5100, 5000, 150, 700], 0),\n  ('normal control 4', [1200, 12000, 8000, 100, 700], 400)],\n [('regression: minimum fare floor', [1200, 24002, 12001, 150, 700], 500),\n  ('partial repair probe: minimum fare floor', [700, 18001, 12001, 100, 700], 0),\n  ('second regression', [4000, 24002, 12001, 150, 700], 1800),\n  ('normal control 1', [700, 9600, 8000, 100, 700], 0),\n  ('normal control 2', [4000, 10000, 5000, 100, 700], 500),\n  ('normal control 3', [2500, 6000, 5000, 150, 700], 0),\n  ('normal control 4', [4000, 14402, 12001, 150, 700], 360)],\n [('regression: minimum fare floor', [700, 7500, 5000, 150, 700], 0),\n  ('partial repair probe: minimum fare floor', [2500, 16000, 8000, 100, 700], 800),\n  ('second regression', [2500, 20000, 10000, 100, 700], 1000),\n  ('normal control 1', [1200, 15000, 10000, 100, 700], 500),\n  ('normal control 2', [4000, 12000, 8000, 150, 700], 600),\n  ('normal control 3', [4000, 12000, 8000, 100, 700], 400),\n  ('normal control 4', [2500, 10000, 10000, 150, 700], 0)],\n [('regression: minimum fare floor', [1200, 16000, 8000, 100, 700], 500),\n  ('partial repair probe: minimum fare floor', [4000, 24002, 12001, 100, 700], 1200),\n  ('second regression', [1200, 24002, 12001, 150, 700], 500),\n  ('normal control 1', [700, 12001, 12001, 100, 700], 0),\n  ('normal control 2', [1200, 7500, 5000, 100, 700], 250),\n  ('normal control 3', [1200, 14401, 12001, 100, 700], 0),\n  ('normal control 4', [1200, 7500, 5000, 150, 700], 375)]]\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 deterministic toy pricing contract stipulated for this example; it does not reproduce the pricing of any real ride-hailing operator or regulator. 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-ride-hailing-fare-surge-route-inefficiency-refund-minimum-fare-floor","generated_at":"2026-09-29T14:50:43.463788+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Ride-hailing prices are computed per trip at scale; ordering, unit and boundary slips become systematic over- or under-charging.","repair":"Cap the refund at charged - minimum, never negative.","root_cause":"The refund is capped by the whole charge rather than the charge above the minimum.","sha256":"0cf799d98e873b733b93d0c7408efca694e59b99f279e1e1e06d2e156ec1b5df","title":"Refund reduces the charge below the minimum fare · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.234,"exit_code":1,"observations":[{"actual":360,"check":"regression: minimum fare floor","expected":0,"passed":false},{"actual":700,"check":"partial repair probe: minimum fare floor","expected":1200,"passed":false},{"actual":375,"check":"second regression","expected":0,"passed":false},{"actual":0,"check":"normal control 1","expected":0,"passed":true},{"actual":0,"check":"normal control 2","expected":0,"passed":true},{"actual":0,"check":"normal control 3","expected":0,"passed":true},{"actual":0,"check":"normal control 4","expected":0,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: minimum fare floor\", \"actual\": 360, \"expected\": 0, \"passed\": false}, {\"check\": \"partial repair probe: minimum fare floor\", \"actual\": 700, \"expected\": 1200, \"passed\": false}, {\"check\": \"second regression\", \"actual\": 375, \"expected\": 0, \"passed\": false}, {\"check\": \"normal control 1\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 0, \"expected\": 0, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.636,"exit_code":1,"observations":[{"actual":360,"check":"regression: minimum fare floor","expected":0,"passed":false},{"actual":1200,"check":"partial repair probe: minimum fare floor","expected":1200,"passed":true},{"actual":375,"check":"second regression","expected":0,"passed":false},{"actual":0,"check":"normal control 1","expected":0,"passed":true},{"actual":0,"check":"normal control 2","expected":0,"passed":true},{"actual":0,"check":"normal control 3","expected":0,"passed":true},{"actual":0,"check":"normal control 4","expected":0,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: minimum fare floor\", \"actual\": 360, \"expected\": 0, \"passed\": false}, {\"check\": \"partial repair probe: minimum fare floor\", \"actual\": 1200, \"expected\": 1200, \"passed\": true}, {\"check\": \"second regression\", \"actual\": 375, \"expected\": 0, \"passed\": false}, {\"check\": \"normal control 1\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 0, \"expected\": 0, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.343,"exit_code":0,"observations":[{"actual":0,"check":"regression: minimum fare floor","expected":0,"passed":true},{"actual":1200,"check":"partial repair probe: minimum fare floor","expected":1200,"passed":true},{"actual":0,"check":"second regression","expected":0,"passed":true},{"actual":0,"check":"normal control 1","expected":0,"passed":true},{"actual":0,"check":"normal control 2","expected":0,"passed":true},{"actual":0,"check":"normal control 3","expected":0,"passed":true},{"actual":0,"check":"normal control 4","expected":0,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: minimum fare floor\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"partial repair probe: minimum fare floor\", \"actual\": 1200, \"expected\": 1200, \"passed\": true}, {\"check\": \"second regression\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 0, \"expected\": 0, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}