FAILURE MAP
← Case archive

FA-85561 / Ride-hailing fare and surge pricing / Open access

Unmatched pool riders lose the commitment discount · case 01

Riders who chose pool but were never matched pay the full solo price.

Verified by executionVariant 1 · 7 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

Unmatched riders receive no discount.

VERIFIED REPAIR

Give unmatched pool riders the fixed 5% discount.

Unsuccessful approach: Deriving the unmatched discount from the matched rate gives the wrong percentage.

Case contract

In a shared ride, a rider counts as matched if they shared at least min_overlap_s seconds with another rider; a match needs at least two such riders, otherwise nobody is matched. Matched riders pay solo x (100 - discount_pct)% and unmatched riders pay solo x 95%, both floored to the cent in the rider's favor. Return id -> price.

Why this case matters

Ride-hailing prices are computed per trip at scale; ordering, unit and boundary slips become systematic over- or under-charging.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(riders, discount_pct, min_overlap_s):
    matched = [r['id'] for r in riders if r['overlap_s'] >= min_overlap_s]
    if len(matched) < 2:
        matched = []
    out = {}
    for r in riders:
        pct = discount_pct if r['id'] in matched else 0
        out[r['id']] = r['solo'] * (100 - pct) // 100
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 0, 'solo': 1999}, {'id': 'r1', 'overlap_s': 181, 'solo': 2505},
     {'id': 'r2', 'overlap_s': 180, 'solo': 877}],
    30, 180],
   {'r0': 1899, 'r1': 1753, 'r2': 613}),
  ('partial repair probe: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 181, 'solo': 2505}, {'id': 'r1', 'overlap_s': 0, 'solo': 877},
     {'id': 'r2', 'overlap_s': 181, 'solo': 1234}, {'id': 'r3', 'overlap_s': 181, 'solo': 1999}],
    30, 180],
   {'r0': 1753, 'r1': 833, 'r2': 863, 'r3': 1399}),
  ('second regression', [[{'id': 'r0', 'overlap_s': 0, 'solo': 1234}], 25, 180], {'r0': 1172}),
  ('normal control 1',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1234}, {'id': 'r1', 'overlap_s': 180, 'solo': 1234},
     {'id': 'r2', 'overlap_s': 600, 'solo': 877}],
    30, 180],
   {'r0': 863, 'r1': 863, 'r2': 613}),
  ('normal control 2',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1234}, {'id': 'r1', 'overlap_s': 180, 'solo': 2505},
     {'id': 'r2', 'overlap_s': 181, 'solo': 877}, {'id': 'r3', 'overlap_s': 181, 'solo': 2505}],
    25, 180],
   {'r0': 925, 'r1': 1878, 'r2': 657, 'r3': 1878}),
  ('normal control 3',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 877}, {'id': 'r1', 'overlap_s': 181, 'solo': 1234}], 25, 180],
   {'r0': 657, 'r1': 925}),
  ('normal control 4',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 1999}, {'id': 'r1', 'overlap_s': 181, 'solo': 877}], 30, 180],
   {'r0': 1399, 'r1': 613})],
 [('regression: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 181, 'solo': 1234}, {'id': 'r1', 'overlap_s': 0, 'solo': 1999}], 30, 180],
   {'r0': 1172, 'r1': 1899}),
  ('partial repair probe: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1999}, {'id': 'r1', 'overlap_s': 0, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 0, 'solo': 1999}],
    30, 180],
   {'r0': 1899, 'r1': 1899, 'r2': 1899}),
  ('second regression', [[{'id': 'r0', 'overlap_s': 600, 'solo': 1234}], 25, 180], {'r0': 1172}),
  ('normal control 1',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 2505}, {'id': 'r1', 'overlap_s': 600, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 180, 'solo': 1234}],
    30, 180],
   {'r0': 1753, 'r1': 1399, 'r2': 863}),
  ('normal control 2',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 2505}, {'id': 'r1', 'overlap_s': 181, 'solo': 1234}], 30, 180],
   {'r0': 1753, 'r1': 863}),
  ('normal control 3',
   [[{'id': 'r0', 'overlap_s': 181, 'solo': 1234}, {'id': 'r1', 'overlap_s': 180, 'solo': 877},
     {'id': 'r2', 'overlap_s': 600, 'solo': 2505}],
    40, 180],
   {'r0': 740, 'r1': 526, 'r2': 1503}),
  ('normal control 4',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 877}, {'id': 'r1', 'overlap_s': 600, 'solo': 1234}], 40, 180],
   {'r0': 526, 'r1': 740})],
 [('regression: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 181, 'solo': 1234}, {'id': 'r1', 'overlap_s': 3, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 181, 'solo': 877}, {'id': 'r3', 'overlap_s': 180, 'solo': 1234}],
    40, 180],
   {'r0': 740, 'r1': 1899, 'r2': 526, 'r3': 740}),
  ('partial repair probe: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 181, 'solo': 1999}, {'id': 'r1', 'overlap_s': 179, 'solo': 877}], 40, 180],
   {'r0': 1899, 'r1': 833}),
  ('second regression',
   [[{'id': 'r0', 'overlap_s': 179, 'solo': 2505}, {'id': 'r1', 'overlap_s': 179, 'solo': 1234},
     {'id': 'r2', 'overlap_s': 3, 'solo': 1234}, {'id': 'r3', 'overlap_s': 179, 'solo': 1234}],
    30, 180],
   {'r0': 2379, 'r1': 1172, 'r2': 1172, 'r3': 1172}),
  ('normal control 1',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 1234}, {'id': 'r1', 'overlap_s': 181, 'solo': 877},
     {'id': 'r2', 'overlap_s': 600, 'solo': 1999}, {'id': 'r3', 'overlap_s': 600, 'solo': 877}],
    25, 180],
   {'r0': 925, 'r1': 657, 'r2': 1499, 'r3': 657}),
  ('normal control 2',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1999}, {'id': 'r1', 'overlap_s': 180, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 600, 'solo': 1999}, {'id': 'r3', 'overlap_s': 180, 'solo': 877}],
    25, 180],
   {'r0': 1499, 'r1': 1499, 'r2': 1499, 'r3': 657}),
  ('normal control 3',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1999}, {'id': 'r1', 'overlap_s': 180, 'solo': 1234}], 25, 180],
   {'r0': 1499, 'r1': 925}),
  ('normal control 4',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 1999}, {'id': 'r1', 'overlap_s': 600, 'solo': 1999}], 25, 180],
   {'r0': 1499, 'r1': 1499})],
 [('regression: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 0, 'solo': 2505}, {'id': 'r1', 'overlap_s': 181, 'solo': 877}], 40, 180],
   {'r0': 2379, 'r1': 833}),
  ('partial repair probe: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 3, 'solo': 877}, {'id': 'r1', 'overlap_s': 0, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 0, 'solo': 2505}, {'id': 'r3', 'overlap_s': 0, 'solo': 1234}],
    40, 180],
   {'r0': 833, 'r1': 1899, 'r2': 2379, 'r3': 1172}),
  ('second regression',
   [[{'id': 'r0', 'overlap_s': 0, 'solo': 877}, {'id': 'r1', 'overlap_s': 3, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 600, 'solo': 2505}],
    25, 180],
   {'r0': 833, 'r1': 1899, 'r2': 2379}),
  ('normal control 1',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 1999}, {'id': 'r1', 'overlap_s': 180, 'solo': 877}], 30, 180],
   {'r0': 1399, 'r1': 613}),
  ('normal control 2',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1234}, {'id': 'r1', 'overlap_s': 600, 'solo': 877},
     {'id': 'r2', 'overlap_s': 180, 'solo': 877}],
    40, 180],
   {'r0': 740, 'r1': 526, 'r2': 526}),
  ('normal control 3',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1234}, {'id': 'r1', 'overlap_s': 181, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 181, 'solo': 877}, {'id': 'r3', 'overlap_s': 181, 'solo': 877}],
    25, 180],
   {'r0': 925, 'r1': 1499, 'r2': 657, 'r3': 657}),
  ('normal control 4',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 2505}, {'id': 'r1', 'overlap_s': 180, 'solo': 2505}], 25, 180],
   {'r0': 1878, 'r1': 1878})],
 [('regression: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1999}, {'id': 'r1', 'overlap_s': 180, 'solo': 877},
     {'id': 'r2', 'overlap_s': 3, 'solo': 2505}, {'id': 'r3', 'overlap_s': 3, 'solo': 1234}],
    40, 180],
   {'r0': 1199, 'r1': 526, 'r2': 2379, 'r3': 1172}),
  ('partial repair probe: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1234}, {'id': 'r1', 'overlap_s': 3, 'solo': 1234},
     {'id': 'r2', 'overlap_s': 181, 'solo': 1999}, {'id': 'r3', 'overlap_s': 0, 'solo': 2505}],
    30, 180],
   {'r0': 863, 'r1': 1172, 'r2': 1399, 'r3': 2379}),
  ('second regression',
   [[{'id': 'r0', 'overlap_s': 3, 'solo': 1999}, {'id': 'r1', 'overlap_s': 181, 'solo': 1234},
     {'id': 'r2', 'overlap_s': 180, 'solo': 2505}],
    30, 180],
   {'r0': 1899, 'r1': 863, 'r2': 1753}),
  ('normal control 1',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 1999}, {'id': 'r1', 'overlap_s': 600, 'solo': 2505}], 25, 180],
   {'r0': 1499, 'r1': 1878}),
  ('normal control 2',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 877}, {'id': 'r1', 'overlap_s': 600, 'solo': 2505}], 30, 180],
   {'r0': 613, 'r1': 1753}),
  ('normal control 3',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 1234}, {'id': 'r1', 'overlap_s': 600, 'solo': 1234}], 30, 180],
   {'r0': 863, 'r1': 863}),
  ('normal control 4',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 877}, {'id': 'r1', 'overlap_s': 600, 'solo': 877}], 40, 180],
   {'r0': 526, 'r1': 526})]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: unmatched commitment discount{'r0': 1999, 'r1': 1753, 'r2': 613}{'r0': 1899, 'r1': 1753, 'r2': 613}Failed
partial repair probe: unmatched commitment discount{'r0': 1753, 'r1': 877, 'r2': 863, 'r3': 1399}{'r0': 1753, 'r1': 833, 'r2': 863, 'r3': 1399}Failed
second regression{'r0': 1234}{'r0': 1172}Failed
normal control 1{'r0': 863, 'r1': 863, 'r2': 613}{'r0': 863, 'r1': 863, 'r2': 613}Passed
normal control 2{'r0': 925, 'r1': 1878, 'r2': 657, 'r3': 1878}{'r0': 925, 'r1': 1878, 'r2': 657, 'r3': 1878}Passed
normal control 3{'r0': 657, 'r1': 925}{'r0': 657, 'r1': 925}Passed
normal control 4{'r0': 1399, 'r1': 613}{'r0': 1399, 'r1': 613}Passed

SHA-256 / 6a6f10a5fce1d54dd9df15716a5332461babfd12ca124200fea02d98282c8b30

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(riders, discount_pct, min_overlap_s):
    matched = [r['id'] for r in riders if r['overlap_s'] >= min_overlap_s]
    if len(matched) < 2:
        matched = []
    out = {}
    for r in riders:
        pct = discount_pct if r['id'] in matched else discount_pct // 5
        out[r['id']] = r['solo'] * (100 - pct) // 100
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 0, 'solo': 1999}, {'id': 'r1', 'overlap_s': 181, 'solo': 2505},
     {'id': 'r2', 'overlap_s': 180, 'solo': 877}],
    30, 180],
   {'r0': 1899, 'r1': 1753, 'r2': 613}),
  ('partial repair probe: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 181, 'solo': 2505}, {'id': 'r1', 'overlap_s': 0, 'solo': 877},
     {'id': 'r2', 'overlap_s': 181, 'solo': 1234}, {'id': 'r3', 'overlap_s': 181, 'solo': 1999}],
    30, 180],
   {'r0': 1753, 'r1': 833, 'r2': 863, 'r3': 1399}),
  ('second regression', [[{'id': 'r0', 'overlap_s': 0, 'solo': 1234}], 25, 180], {'r0': 1172}),
  ('normal control 1',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1234}, {'id': 'r1', 'overlap_s': 180, 'solo': 1234},
     {'id': 'r2', 'overlap_s': 600, 'solo': 877}],
    30, 180],
   {'r0': 863, 'r1': 863, 'r2': 613}),
  ('normal control 2',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1234}, {'id': 'r1', 'overlap_s': 180, 'solo': 2505},
     {'id': 'r2', 'overlap_s': 181, 'solo': 877}, {'id': 'r3', 'overlap_s': 181, 'solo': 2505}],
    25, 180],
   {'r0': 925, 'r1': 1878, 'r2': 657, 'r3': 1878}),
  ('normal control 3',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 877}, {'id': 'r1', 'overlap_s': 181, 'solo': 1234}], 25, 180],
   {'r0': 657, 'r1': 925}),
  ('normal control 4',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 1999}, {'id': 'r1', 'overlap_s': 181, 'solo': 877}], 30, 180],
   {'r0': 1399, 'r1': 613})],
 [('regression: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 181, 'solo': 1234}, {'id': 'r1', 'overlap_s': 0, 'solo': 1999}], 30, 180],
   {'r0': 1172, 'r1': 1899}),
  ('partial repair probe: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1999}, {'id': 'r1', 'overlap_s': 0, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 0, 'solo': 1999}],
    30, 180],
   {'r0': 1899, 'r1': 1899, 'r2': 1899}),
  ('second regression', [[{'id': 'r0', 'overlap_s': 600, 'solo': 1234}], 25, 180], {'r0': 1172}),
  ('normal control 1',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 2505}, {'id': 'r1', 'overlap_s': 600, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 180, 'solo': 1234}],
    30, 180],
   {'r0': 1753, 'r1': 1399, 'r2': 863}),
  ('normal control 2',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 2505}, {'id': 'r1', 'overlap_s': 181, 'solo': 1234}], 30, 180],
   {'r0': 1753, 'r1': 863}),
  ('normal control 3',
   [[{'id': 'r0', 'overlap_s': 181, 'solo': 1234}, {'id': 'r1', 'overlap_s': 180, 'solo': 877},
     {'id': 'r2', 'overlap_s': 600, 'solo': 2505}],
    40, 180],
   {'r0': 740, 'r1': 526, 'r2': 1503}),
  ('normal control 4',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 877}, {'id': 'r1', 'overlap_s': 600, 'solo': 1234}], 40, 180],
   {'r0': 526, 'r1': 740})],
 [('regression: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 181, 'solo': 1234}, {'id': 'r1', 'overlap_s': 3, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 181, 'solo': 877}, {'id': 'r3', 'overlap_s': 180, 'solo': 1234}],
    40, 180],
   {'r0': 740, 'r1': 1899, 'r2': 526, 'r3': 740}),
  ('partial repair probe: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 181, 'solo': 1999}, {'id': 'r1', 'overlap_s': 179, 'solo': 877}], 40, 180],
   {'r0': 1899, 'r1': 833}),
  ('second regression',
   [[{'id': 'r0', 'overlap_s': 179, 'solo': 2505}, {'id': 'r1', 'overlap_s': 179, 'solo': 1234},
     {'id': 'r2', 'overlap_s': 3, 'solo': 1234}, {'id': 'r3', 'overlap_s': 179, 'solo': 1234}],
    30, 180],
   {'r0': 2379, 'r1': 1172, 'r2': 1172, 'r3': 1172}),
  ('normal control 1',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 1234}, {'id': 'r1', 'overlap_s': 181, 'solo': 877},
     {'id': 'r2', 'overlap_s': 600, 'solo': 1999}, {'id': 'r3', 'overlap_s': 600, 'solo': 877}],
    25, 180],
   {'r0': 925, 'r1': 657, 'r2': 1499, 'r3': 657}),
  ('normal control 2',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1999}, {'id': 'r1', 'overlap_s': 180, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 600, 'solo': 1999}, {'id': 'r3', 'overlap_s': 180, 'solo': 877}],
    25, 180],
   {'r0': 1499, 'r1': 1499, 'r2': 1499, 'r3': 657}),
  ('normal control 3',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1999}, {'id': 'r1', 'overlap_s': 180, 'solo': 1234}], 25, 180],
   {'r0': 1499, 'r1': 925}),
  ('normal control 4',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 1999}, {'id': 'r1', 'overlap_s': 600, 'solo': 1999}], 25, 180],
   {'r0': 1499, 'r1': 1499})],
 [('regression: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 0, 'solo': 2505}, {'id': 'r1', 'overlap_s': 181, 'solo': 877}], 40, 180],
   {'r0': 2379, 'r1': 833}),
  ('partial repair probe: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 3, 'solo': 877}, {'id': 'r1', 'overlap_s': 0, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 0, 'solo': 2505}, {'id': 'r3', 'overlap_s': 0, 'solo': 1234}],
    40, 180],
   {'r0': 833, 'r1': 1899, 'r2': 2379, 'r3': 1172}),
  ('second regression',
   [[{'id': 'r0', 'overlap_s': 0, 'solo': 877}, {'id': 'r1', 'overlap_s': 3, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 600, 'solo': 2505}],
    25, 180],
   {'r0': 833, 'r1': 1899, 'r2': 2379}),
  ('normal control 1',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 1999}, {'id': 'r1', 'overlap_s': 180, 'solo': 877}], 30, 180],
   {'r0': 1399, 'r1': 613}),
  ('normal control 2',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1234}, {'id': 'r1', 'overlap_s': 600, 'solo': 877},
     {'id': 'r2', 'overlap_s': 180, 'solo': 877}],
    40, 180],
   {'r0': 740, 'r1': 526, 'r2': 526}),
  ('normal control 3',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1234}, {'id': 'r1', 'overlap_s': 181, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 181, 'solo': 877}, {'id': 'r3', 'overlap_s': 181, 'solo': 877}],
    25, 180],
   {'r0': 925, 'r1': 1499, 'r2': 657, 'r3': 657}),
  ('normal control 4',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 2505}, {'id': 'r1', 'overlap_s': 180, 'solo': 2505}], 25, 180],
   {'r0': 1878, 'r1': 1878})],
 [('regression: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1999}, {'id': 'r1', 'overlap_s': 180, 'solo': 877},
     {'id': 'r2', 'overlap_s': 3, 'solo': 2505}, {'id': 'r3', 'overlap_s': 3, 'solo': 1234}],
    40, 180],
   {'r0': 1199, 'r1': 526, 'r2': 2379, 'r3': 1172}),
  ('partial repair probe: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1234}, {'id': 'r1', 'overlap_s': 3, 'solo': 1234},
     {'id': 'r2', 'overlap_s': 181, 'solo': 1999}, {'id': 'r3', 'overlap_s': 0, 'solo': 2505}],
    30, 180],
   {'r0': 863, 'r1': 1172, 'r2': 1399, 'r3': 2379}),
  ('second regression',
   [[{'id': 'r0', 'overlap_s': 3, 'solo': 1999}, {'id': 'r1', 'overlap_s': 181, 'solo': 1234},
     {'id': 'r2', 'overlap_s': 180, 'solo': 2505}],
    30, 180],
   {'r0': 1899, 'r1': 863, 'r2': 1753}),
  ('normal control 1',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 1999}, {'id': 'r1', 'overlap_s': 600, 'solo': 2505}], 25, 180],
   {'r0': 1499, 'r1': 1878}),
  ('normal control 2',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 877}, {'id': 'r1', 'overlap_s': 600, 'solo': 2505}], 30, 180],
   {'r0': 613, 'r1': 1753}),
  ('normal control 3',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 1234}, {'id': 'r1', 'overlap_s': 600, 'solo': 1234}], 30, 180],
   {'r0': 863, 'r1': 863}),
  ('normal control 4',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 877}, {'id': 'r1', 'overlap_s': 600, 'solo': 877}], 40, 180],
   {'r0': 526, 'r1': 526})]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: unmatched commitment discount{'r0': 1879, 'r1': 1753, 'r2': 613}{'r0': 1899, 'r1': 1753, 'r2': 613}Failed
partial repair probe: unmatched commitment discount{'r0': 1753, 'r1': 824, 'r2': 863, 'r3': 1399}{'r0': 1753, 'r1': 833, 'r2': 863, 'r3': 1399}Failed
second regression{'r0': 1172}{'r0': 1172}Passed
normal control 1{'r0': 863, 'r1': 863, 'r2': 613}{'r0': 863, 'r1': 863, 'r2': 613}Passed
normal control 2{'r0': 925, 'r1': 1878, 'r2': 657, 'r3': 1878}{'r0': 925, 'r1': 1878, 'r2': 657, 'r3': 1878}Passed
normal control 3{'r0': 657, 'r1': 925}{'r0': 657, 'r1': 925}Passed
normal control 4{'r0': 1399, 'r1': 613}{'r0': 1399, 'r1': 613}Passed

SHA-256 / d9e446a9e1532320f1791c771f107f5d73696aa1e3739c61f98b6ebc12ff64a8

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(riders, discount_pct, min_overlap_s):
    matched = [r['id'] for r in riders if r['overlap_s'] >= min_overlap_s]
    if len(matched) < 2:
        matched = []
    out = {}
    for r in riders:
        pct = discount_pct if r['id'] in matched else 5
        out[r['id']] = r['solo'] * (100 - pct) // 100
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 0, 'solo': 1999}, {'id': 'r1', 'overlap_s': 181, 'solo': 2505},
     {'id': 'r2', 'overlap_s': 180, 'solo': 877}],
    30, 180],
   {'r0': 1899, 'r1': 1753, 'r2': 613}),
  ('partial repair probe: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 181, 'solo': 2505}, {'id': 'r1', 'overlap_s': 0, 'solo': 877},
     {'id': 'r2', 'overlap_s': 181, 'solo': 1234}, {'id': 'r3', 'overlap_s': 181, 'solo': 1999}],
    30, 180],
   {'r0': 1753, 'r1': 833, 'r2': 863, 'r3': 1399}),
  ('second regression', [[{'id': 'r0', 'overlap_s': 0, 'solo': 1234}], 25, 180], {'r0': 1172}),
  ('normal control 1',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1234}, {'id': 'r1', 'overlap_s': 180, 'solo': 1234},
     {'id': 'r2', 'overlap_s': 600, 'solo': 877}],
    30, 180],
   {'r0': 863, 'r1': 863, 'r2': 613}),
  ('normal control 2',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1234}, {'id': 'r1', 'overlap_s': 180, 'solo': 2505},
     {'id': 'r2', 'overlap_s': 181, 'solo': 877}, {'id': 'r3', 'overlap_s': 181, 'solo': 2505}],
    25, 180],
   {'r0': 925, 'r1': 1878, 'r2': 657, 'r3': 1878}),
  ('normal control 3',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 877}, {'id': 'r1', 'overlap_s': 181, 'solo': 1234}], 25, 180],
   {'r0': 657, 'r1': 925}),
  ('normal control 4',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 1999}, {'id': 'r1', 'overlap_s': 181, 'solo': 877}], 30, 180],
   {'r0': 1399, 'r1': 613})],
 [('regression: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 181, 'solo': 1234}, {'id': 'r1', 'overlap_s': 0, 'solo': 1999}], 30, 180],
   {'r0': 1172, 'r1': 1899}),
  ('partial repair probe: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1999}, {'id': 'r1', 'overlap_s': 0, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 0, 'solo': 1999}],
    30, 180],
   {'r0': 1899, 'r1': 1899, 'r2': 1899}),
  ('second regression', [[{'id': 'r0', 'overlap_s': 600, 'solo': 1234}], 25, 180], {'r0': 1172}),
  ('normal control 1',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 2505}, {'id': 'r1', 'overlap_s': 600, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 180, 'solo': 1234}],
    30, 180],
   {'r0': 1753, 'r1': 1399, 'r2': 863}),
  ('normal control 2',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 2505}, {'id': 'r1', 'overlap_s': 181, 'solo': 1234}], 30, 180],
   {'r0': 1753, 'r1': 863}),
  ('normal control 3',
   [[{'id': 'r0', 'overlap_s': 181, 'solo': 1234}, {'id': 'r1', 'overlap_s': 180, 'solo': 877},
     {'id': 'r2', 'overlap_s': 600, 'solo': 2505}],
    40, 180],
   {'r0': 740, 'r1': 526, 'r2': 1503}),
  ('normal control 4',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 877}, {'id': 'r1', 'overlap_s': 600, 'solo': 1234}], 40, 180],
   {'r0': 526, 'r1': 740})],
 [('regression: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 181, 'solo': 1234}, {'id': 'r1', 'overlap_s': 3, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 181, 'solo': 877}, {'id': 'r3', 'overlap_s': 180, 'solo': 1234}],
    40, 180],
   {'r0': 740, 'r1': 1899, 'r2': 526, 'r3': 740}),
  ('partial repair probe: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 181, 'solo': 1999}, {'id': 'r1', 'overlap_s': 179, 'solo': 877}], 40, 180],
   {'r0': 1899, 'r1': 833}),
  ('second regression',
   [[{'id': 'r0', 'overlap_s': 179, 'solo': 2505}, {'id': 'r1', 'overlap_s': 179, 'solo': 1234},
     {'id': 'r2', 'overlap_s': 3, 'solo': 1234}, {'id': 'r3', 'overlap_s': 179, 'solo': 1234}],
    30, 180],
   {'r0': 2379, 'r1': 1172, 'r2': 1172, 'r3': 1172}),
  ('normal control 1',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 1234}, {'id': 'r1', 'overlap_s': 181, 'solo': 877},
     {'id': 'r2', 'overlap_s': 600, 'solo': 1999}, {'id': 'r3', 'overlap_s': 600, 'solo': 877}],
    25, 180],
   {'r0': 925, 'r1': 657, 'r2': 1499, 'r3': 657}),
  ('normal control 2',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1999}, {'id': 'r1', 'overlap_s': 180, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 600, 'solo': 1999}, {'id': 'r3', 'overlap_s': 180, 'solo': 877}],
    25, 180],
   {'r0': 1499, 'r1': 1499, 'r2': 1499, 'r3': 657}),
  ('normal control 3',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1999}, {'id': 'r1', 'overlap_s': 180, 'solo': 1234}], 25, 180],
   {'r0': 1499, 'r1': 925}),
  ('normal control 4',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 1999}, {'id': 'r1', 'overlap_s': 600, 'solo': 1999}], 25, 180],
   {'r0': 1499, 'r1': 1499})],
 [('regression: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 0, 'solo': 2505}, {'id': 'r1', 'overlap_s': 181, 'solo': 877}], 40, 180],
   {'r0': 2379, 'r1': 833}),
  ('partial repair probe: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 3, 'solo': 877}, {'id': 'r1', 'overlap_s': 0, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 0, 'solo': 2505}, {'id': 'r3', 'overlap_s': 0, 'solo': 1234}],
    40, 180],
   {'r0': 833, 'r1': 1899, 'r2': 2379, 'r3': 1172}),
  ('second regression',
   [[{'id': 'r0', 'overlap_s': 0, 'solo': 877}, {'id': 'r1', 'overlap_s': 3, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 600, 'solo': 2505}],
    25, 180],
   {'r0': 833, 'r1': 1899, 'r2': 2379}),
  ('normal control 1',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 1999}, {'id': 'r1', 'overlap_s': 180, 'solo': 877}], 30, 180],
   {'r0': 1399, 'r1': 613}),
  ('normal control 2',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1234}, {'id': 'r1', 'overlap_s': 600, 'solo': 877},
     {'id': 'r2', 'overlap_s': 180, 'solo': 877}],
    40, 180],
   {'r0': 740, 'r1': 526, 'r2': 526}),
  ('normal control 3',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1234}, {'id': 'r1', 'overlap_s': 181, 'solo': 1999},
     {'id': 'r2', 'overlap_s': 181, 'solo': 877}, {'id': 'r3', 'overlap_s': 181, 'solo': 877}],
    25, 180],
   {'r0': 925, 'r1': 1499, 'r2': 657, 'r3': 657}),
  ('normal control 4',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 2505}, {'id': 'r1', 'overlap_s': 180, 'solo': 2505}], 25, 180],
   {'r0': 1878, 'r1': 1878})],
 [('regression: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1999}, {'id': 'r1', 'overlap_s': 180, 'solo': 877},
     {'id': 'r2', 'overlap_s': 3, 'solo': 2505}, {'id': 'r3', 'overlap_s': 3, 'solo': 1234}],
    40, 180],
   {'r0': 1199, 'r1': 526, 'r2': 2379, 'r3': 1172}),
  ('partial repair probe: unmatched commitment discount',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 1234}, {'id': 'r1', 'overlap_s': 3, 'solo': 1234},
     {'id': 'r2', 'overlap_s': 181, 'solo': 1999}, {'id': 'r3', 'overlap_s': 0, 'solo': 2505}],
    30, 180],
   {'r0': 863, 'r1': 1172, 'r2': 1399, 'r3': 2379}),
  ('second regression',
   [[{'id': 'r0', 'overlap_s': 3, 'solo': 1999}, {'id': 'r1', 'overlap_s': 181, 'solo': 1234},
     {'id': 'r2', 'overlap_s': 180, 'solo': 2505}],
    30, 180],
   {'r0': 1899, 'r1': 863, 'r2': 1753}),
  ('normal control 1',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 1999}, {'id': 'r1', 'overlap_s': 600, 'solo': 2505}], 25, 180],
   {'r0': 1499, 'r1': 1878}),
  ('normal control 2',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 877}, {'id': 'r1', 'overlap_s': 600, 'solo': 2505}], 30, 180],
   {'r0': 613, 'r1': 1753}),
  ('normal control 3',
   [[{'id': 'r0', 'overlap_s': 180, 'solo': 1234}, {'id': 'r1', 'overlap_s': 600, 'solo': 1234}], 30, 180],
   {'r0': 863, 'r1': 863}),
  ('normal control 4',
   [[{'id': 'r0', 'overlap_s': 600, 'solo': 877}, {'id': 'r1', 'overlap_s': 600, 'solo': 877}], 40, 180],
   {'r0': 526, 'r1': 526})]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: unmatched commitment discount{'r0': 1899, 'r1': 1753, 'r2': 613}{'r0': 1899, 'r1': 1753, 'r2': 613}Passed
partial repair probe: unmatched commitment discount{'r0': 1753, 'r1': 833, 'r2': 863, 'r3': 1399}{'r0': 1753, 'r1': 833, 'r2': 863, 'r3': 1399}Passed
second regression{'r0': 1172}{'r0': 1172}Passed
normal control 1{'r0': 863, 'r1': 863, 'r2': 613}{'r0': 863, 'r1': 863, 'r2': 613}Passed
normal control 2{'r0': 925, 'r1': 1878, 'r2': 657, 'r3': 1878}{'r0': 925, 'r1': 1878, 'r2': 657, 'r3': 1878}Passed
normal control 3{'r0': 657, 'r1': 925}{'r0': 657, 'r1': 925}Passed
normal control 4{'r0': 1399, 'r1': 613}{'r0': 1399, 'r1': 613}Passed

SHA-256 / 81f7e618e47b2f348e1e0fc624da6b22d70d0b877f6d3eab0c2e643aa33edba2

Verification & scope

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.

Observations recorded using Python 3.12.14 at 2026-09-29T14:50:41.581995+00:00.

Case digest / 4fca652a712ce30567995dae74fd905c35da693f06d966dde9c9ab758d24b9ff