{"abstract":"A fast long-distance pickup gets a negative time component that offsets the distance fee.","category":"Ride-hailing fare and surge pricing","checks":7,"contract":"A long-pickup fee compensates drivers for pickups beyond thr_m meters and thr_s seconds. The distance part is per_km on meters beyond thr_m (prorated, half up); the time part is per_min on each started minute beyond thr_s; each part uses only its own positive excess. The total is capped at cap cents.","contract_signature":"pickup_m, pickup_s, policy","evaluation_group":"w2-ride-hailing-fare-surge-long-pickup-fee","failed_approach":"Absolute value charges time for pickups under the threshold.","family":"w2-ride-hailing-fare-surge-long-pickup-fee-negative-time-excess","id":"FA-85671","implementations":{"attempt":{"sha256":"379c862955d63280a1b7ec596e94bf41538b0011ae508b6e0adc017390b1adf7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(pickup_m, pickup_s, policy):\n    ex_m = max(0, pickup_m - policy['thr_m'])\n    ex_s = abs(pickup_s - policy['thr_s'])\n    fee = (ex_m * policy['per_km'] * 2 + 1000) // 2000 + -(-ex_s // 60) * policy['per_min']\n    return min(fee, policy['cap'])\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: negative time excess',\n   [3000, 300, {'cap': 600, 'per_km': 90, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}], 0),\n  ('partial repair probe: negative time excess',\n   [4800, 300, {'cap': 600, 'per_km': 90, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}], 0),\n  ('second regression', [3000, 300, {'cap': 900, 'per_km': 60, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}],\n   0),\n  ('normal control 1', [4801, 900, {'cap': 600, 'per_km': 90, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}],\n   225),\n  ('normal control 2', [4801, 600, {'cap': 600, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   0),\n  ('normal control 3', [2000, 600, {'cap': 600, 'per_km': 60, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}],\n   0),\n  ('normal control 4', [2000, 600, {'cap': 900, 'per_km': 60, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   0)],\n [('regression: negative time excess',\n   [4800, 400, {'cap': 900, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}], 0),\n  ('partial repair probe: negative time excess',\n   [4800, 400, {'cap': 600, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}], 0),\n  ('second regression', [4800, 400, {'cap': 900, 'per_km': 60, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   0),\n  ('normal control 1', [6000, 601, {'cap': 900, 'per_km': 60, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}],\n   117),\n  ('normal control 2', [3000, 900, {'cap': 600, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   150),\n  ('normal control 3', [6000, 660, {'cap': 900, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   138),\n  ('normal control 4', [3000, 600, {'cap': 600, 'per_km': 60, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   0)],\n [('regression: negative time excess',\n   [2000, 300, {'cap': 600, 'per_km': 60, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}], 0),\n  ('partial repair probe: negative time excess',\n   [12000, 300, {'cap': 600, 'per_km': 60, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}], 432),\n  ('second regression', [2000, 400, {'cap': 900, 'per_km': 60, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   0),\n  ('normal control 1', [4801, 660, {'cap': 600, 'per_km': 60, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   30),\n  ('normal control 2', [6000, 900, {'cap': 600, 'per_km': 60, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   222),\n  ('normal control 3', [3000, 900, {'cap': 900, 'per_km': 90, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}],\n   225),\n  ('normal control 4', [4800, 900, {'cap': 600, 'per_km': 90, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}],\n   225)],\n [('regression: negative time excess',\n   [12000, 400, {'cap': 600, 'per_km': 60, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}], 432),\n  ('partial repair probe: negative time excess',\n   [2000, 400, {'cap': 600, 'per_km': 60, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}], 0),\n  ('second regression', [3000, 300, {'cap': 600, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   0),\n  ('normal control 1', [2000, 660, {'cap': 600, 'per_km': 60, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}],\n   45),\n  ('normal control 2', [4800, 601, {'cap': 600, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   30),\n  ('normal control 3', [2000, 900, {'cap': 900, 'per_km': 60, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   150),\n  ('normal control 4', [3000, 900, {'cap': 900, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   150)],\n [('regression: negative time excess',\n   [4801, 400, {'cap': 600, 'per_km': 90, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}], 0),\n  ('partial repair probe: negative time excess',\n   [4801, 300, {'cap': 900, 'per_km': 90, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}], 0),\n  ('second regression', [12000, 300, {'cap': 900, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   648),\n  ('normal control 1', [2000, 600, {'cap': 600, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   0),\n  ('normal control 2', [4801, 600, {'cap': 900, 'per_km': 60, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}],\n   0),\n  ('normal control 3', [3000, 601, {'cap': 600, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   30),\n  ('normal control 4', [2000, 660, {'cap': 600, 'per_km': 60, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}],\n   45)]]\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":"1fda1e5d8657b5bfa7ad587610a35bf8001c508844836cf6d4d1b890d314f512","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(pickup_m, pickup_s, policy):\n    ex_m = max(0, pickup_m - policy['thr_m'])\n    ex_s = pickup_s - policy['thr_s']\n    fee = (ex_m * policy['per_km'] * 2 + 1000) // 2000 + -(-ex_s // 60) * policy['per_min']\n    return min(fee, policy['cap'])\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: negative time excess',\n   [3000, 300, {'cap': 600, 'per_km': 90, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}], 0),\n  ('partial repair probe: negative time excess',\n   [4800, 300, {'cap': 600, 'per_km': 90, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}], 0),\n  ('second regression', [3000, 300, {'cap': 900, 'per_km': 60, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}],\n   0),\n  ('normal control 1', [4801, 900, {'cap': 600, 'per_km': 90, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}],\n   225),\n  ('normal control 2', [4801, 600, {'cap': 600, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   0),\n  ('normal control 3', [2000, 600, {'cap': 600, 'per_km': 60, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}],\n   0),\n  ('normal control 4', [2000, 600, {'cap': 900, 'per_km': 60, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   0)],\n [('regression: negative time excess',\n   [4800, 400, {'cap': 900, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}], 0),\n  ('partial repair probe: negative time excess',\n   [4800, 400, {'cap': 600, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}], 0),\n  ('second regression', [4800, 400, {'cap': 900, 'per_km': 60, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   0),\n  ('normal control 1', [6000, 601, {'cap': 900, 'per_km': 60, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}],\n   117),\n  ('normal control 2', [3000, 900, {'cap': 600, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   150),\n  ('normal control 3', [6000, 660, {'cap': 900, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   138),\n  ('normal control 4', [3000, 600, {'cap': 600, 'per_km': 60, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   0)],\n [('regression: negative time excess',\n   [2000, 300, {'cap': 600, 'per_km': 60, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}], 0),\n  ('partial repair probe: negative time excess',\n   [12000, 300, {'cap': 600, 'per_km': 60, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}], 432),\n  ('second regression', [2000, 400, {'cap': 900, 'per_km': 60, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   0),\n  ('normal control 1', [4801, 660, {'cap': 600, 'per_km': 60, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   30),\n  ('normal control 2', [6000, 900, {'cap': 600, 'per_km': 60, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   222),\n  ('normal control 3', [3000, 900, {'cap': 900, 'per_km': 90, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}],\n   225),\n  ('normal control 4', [4800, 900, {'cap': 600, 'per_km': 90, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}],\n   225)],\n [('regression: negative time excess',\n   [12000, 400, {'cap': 600, 'per_km': 60, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}], 432),\n  ('partial repair probe: negative time excess',\n   [2000, 400, {'cap': 600, 'per_km': 60, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}], 0),\n  ('second regression', [3000, 300, {'cap': 600, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   0),\n  ('normal control 1', [2000, 660, {'cap': 600, 'per_km': 60, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}],\n   45),\n  ('normal control 2', [4800, 601, {'cap': 600, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   30),\n  ('normal control 3', [2000, 900, {'cap': 900, 'per_km': 60, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   150),\n  ('normal control 4', [3000, 900, {'cap': 900, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   150)],\n [('regression: negative time excess',\n   [4801, 400, {'cap': 600, 'per_km': 90, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}], 0),\n  ('partial repair probe: negative time excess',\n   [4801, 300, {'cap': 900, 'per_km': 90, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}], 0),\n  ('second regression', [12000, 300, {'cap': 900, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   648),\n  ('normal control 1', [2000, 600, {'cap': 600, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   0),\n  ('normal control 2', [4801, 600, {'cap': 900, 'per_km': 60, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}],\n   0),\n  ('normal control 3', [3000, 601, {'cap': 600, 'per_km': 90, 'per_min': 30, 'thr_m': 4800, 'thr_s': 600}],\n   30),\n  ('normal control 4', [2000, 660, {'cap': 600, 'per_km': 60, 'per_min': 45, 'thr_m': 4800, 'thr_s': 600}],\n   45)]]\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-long-pickup-fee-negative-time-excess","generated_at":"2026-09-29T14:50:42.487826+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.","root_cause":"Time excess is not clamped at zero.","sha256":"d49e181b208c43d1111dce673a4c785d0fbfe6756ecd9380e351208062cf8e24","title":"Quick long pickup reduces the distance fee · 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":41.182,"exit_code":1,"observations":[{"actual":225,"check":"regression: negative time excess","expected":0,"passed":false},{"actual":225,"check":"partial repair probe: negative time excess","expected":0,"passed":false},{"actual":225,"check":"second regression","expected":0,"passed":false},{"actual":225,"check":"normal control 1","expected":225,"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: negative time excess\", \"actual\": 225, \"expected\": 0, \"passed\": false}, {\"check\": \"partial repair probe: negative time excess\", \"actual\": 225, \"expected\": 0, \"passed\": false}, {\"check\": \"second regression\", \"actual\": 225, \"expected\": 0, \"passed\": false}, {\"check\": \"normal control 1\", \"actual\": 225, \"expected\": 225, \"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":42.532,"exit_code":1,"observations":[{"actual":-225,"check":"regression: negative time excess","expected":0,"passed":false},{"actual":-225,"check":"partial repair probe: negative time excess","expected":0,"passed":false},{"actual":-225,"check":"second regression","expected":0,"passed":false},{"actual":225,"check":"normal control 1","expected":225,"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: negative time excess\", \"actual\": -225, \"expected\": 0, \"passed\": false}, {\"check\": \"partial repair probe: negative time excess\", \"actual\": -225, \"expected\": 0, \"passed\": false}, {\"check\": \"second regression\", \"actual\": -225, \"expected\": 0, \"passed\": false}, {\"check\": \"normal control 1\", \"actual\": 225, \"expected\": 225, \"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"}},"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."}}