FAILURE MAP
← Case archive

FA-66596 / Airline fare rule evaluation / Open access

Origin taken from the final segment · case 01

Percentage tax follows the last departure rather than where the journey began.

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

ROOT CAUSE

The origin is read from the last segment departure country.

VERIFIED REPAIR

Use the departure country of the first segment.

Unsuccessful approach: Using the first segment arrival country is still not the origin.

Case contract

Input {'base','yq','segments':[[from country, to country]],'pct_tax':{country: %},'dep_tax':{country: flat}}. The percentage tax of the journey origin (first segment departure country) applies once to the base fare only; each segment pays the flat departure tax of its departure country plus YQ. Return total r2.

Why this case matters

Ticket taxes differ in base and trigger: some are percentage of fare at origin, others are per departure, and carrier surcharges are per segment.

1 / The failure

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

N = 1
observations = []
def solve(x):
    segs = x['segments']
    origin = segs[-1][0]
    tax = x['base'] * x['pct_tax'].get(origin, 0) / 100
    for dep, arr in segs:
        tax += x['dep_tax'].get(dep, 0)
        tax += x['yq']
    return round(tax, 2)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['US round trip to GB', {'base': 801.0, 'yq': 60.0, 'segments': [['US', 'GB'], ['GB', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 211.68], ['Mexico origin multi-stop', {'base': 450.0, 'yq': 25.0, 'segments': [['MX', 'US'], ['US', 'CA'], ['CA', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 182.1], ['GB origin no pct tax', {'base': 300.0, 'yq': 41.0, 'segments': [['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 67.0], ['reorigin at origin', {'base': 600.0, 'yq': 0.0, 'segments': [['US', 'MX'], ['MX', 'US'], ['US', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 85.7], ['ends elsewhere', {'base': 1000.0, 'yq': 15.0, 'segments': [['CA', 'US'], ['US', 'GB'], ['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 126.6], ['sampled case 1', {'base': 177.31, 'yq': 60.0, 'segments': [['MX', 'GB'], ['GB', 'CA'], ['CA', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 263.87], ['sampled case 2', {'base': 1137.48, 'yq': 0.0, 'segments': [['FR', 'MX'], ['MX', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 29.5], ['sampled case 3', {'base': 1561.86, 'yq': 0.0, 'segments': [['GB', 'DE'], ['DE', 'US'], ['US', 'FR'], ['FR', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 43.6]], [['US round trip to GB', {'base': 802.0, 'yq': 60.0, 'segments': [['US', 'GB'], ['GB', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 211.75], ['Mexico origin multi-stop', {'base': 450.0, 'yq': 25.0, 'segments': [['MX', 'US'], ['US', 'CA'], ['CA', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 182.1], ['GB origin no pct tax', {'base': 300.0, 'yq': 42.0, 'segments': [['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 68.0], ['reorigin at origin', {'base': 600.0, 'yq': 0.0, 'segments': [['US', 'MX'], ['MX', 'US'], ['US', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 85.7], ['ends elsewhere', {'base': 1000.0, 'yq': 15.0, 'segments': [['CA', 'US'], ['US', 'GB'], ['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 126.6], ['sampled case 1', {'base': 1003.59, 'yq': 60.0, 'segments': [['US', 'FR'], ['FR', 'MX'], ['MX', 'FR']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 290.37], ['sampled case 2', {'base': 1624.6, 'yq': 25.0, 'segments': [['FR', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 25.0], ['sampled case 3', {'base': 1470.94, 'yq': 60.0, 'segments': [['CA', 'GB']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 133.55]], [['US round trip to GB', {'base': 803.0, 'yq': 60.0, 'segments': [['US', 'GB'], ['GB', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 211.82], ['Mexico origin multi-stop', {'base': 450.0, 'yq': 25.0, 'segments': [['MX', 'US'], ['US', 'CA'], ['CA', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 182.1], ['GB origin no pct tax', {'base': 300.0, 'yq': 43.0, 'segments': [['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 69.0], ['reorigin at origin', {'base': 600.0, 'yq': 0.0, 'segments': [['US', 'MX'], ['MX', 'US'], ['US', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 85.7], ['ends elsewhere', {'base': 1000.0, 'yq': 15.0, 'segments': [['CA', 'US'], ['US', 'GB'], ['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 126.6], ['sampled case 1', {'base': 366.2, 'yq': 25.0, 'segments': [['GB', 'FR'], ['FR', 'DE'], ['DE', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 113.0], ['sampled case 2', {'base': 986.16, 'yq': 0.0, 'segments': [['MX', 'GB'], ['GB', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 213.29], ['sampled case 3', {'base': 766.09, 'yq': 0.0, 'segments': [['DE', 'CA'], ['CA', 'DE'], ['DE', 'GB'], ['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 50.0]], [['US round trip to GB', {'base': 804.0, 'yq': 60.0, 'segments': [['US', 'GB'], ['GB', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 211.9], ['Mexico origin multi-stop', {'base': 450.0, 'yq': 25.0, 'segments': [['MX', 'US'], ['US', 'CA'], ['CA', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 182.1], ['GB origin no pct tax', {'base': 300.0, 'yq': 44.0, 'segments': [['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 70.0], ['reorigin at origin', {'base': 600.0, 'yq': 0.0, 'segments': [['US', 'MX'], ['MX', 'US'], ['US', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 85.7], ['ends elsewhere', {'base': 1000.0, 'yq': 15.0, 'segments': [['CA', 'US'], ['US', 'GB'], ['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 126.6], ['sampled case 1', {'base': 274.57, 'yq': 0.0, 'segments': [['MX', 'FR']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 73.43], ['sampled case 2', {'base': 205.88, 'yq': 110.0, 'segments': [['US', 'DE'], ['DE', 'FR'], ['FR', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 363.04], ['sampled case 3', {'base': 755.2, 'yq': 0.0, 'segments': [['CA', 'MX'], ['MX', 'GB']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 67.26]], [['US round trip to GB', {'base': 805.0, 'yq': 60.0, 'segments': [['US', 'GB'], ['GB', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 211.97], ['Mexico origin multi-stop', {'base': 450.0, 'yq': 25.0, 'segments': [['MX', 'US'], ['US', 'CA'], ['CA', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 182.1], ['GB origin no pct tax', {'base': 300.0, 'yq': 45.0, 'segments': [['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 71.0], ['reorigin at origin', {'base': 600.0, 'yq': 0.0, 'segments': [['US', 'MX'], ['MX', 'US'], ['US', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 85.7], ['ends elsewhere', {'base': 1000.0, 'yq': 15.0, 'segments': [['CA', 'US'], ['US', 'GB'], ['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 126.6], ['sampled case 1', {'base': 870.75, 'yq': 0.0, 'segments': [['DE', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 12.0], ['sampled case 2', {'base': 1981.28, 'yq': 110.0, 'segments': [['FR', 'GB']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 110.0], ['sampled case 3', {'base': 1796.93, 'yq': 60.0, 'segments': [['CA', 'FR']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 149.85]]]
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
US round trip to GB151.6211.68Failed
Mexico origin multi-stop132.6182.1Failed
GB origin no pct tax67.067.0Passed
reorigin at origin85.785.7Passed
ends elsewhere76.6126.6Failed
sampled case 1244.37263.87Failed
sampled case 2211.529.5Failed
sampled case 343.643.6Passed

SHA-256 / a65b71f9d5b7de702317f8b50eb3a5be0bb825520387ee7b8f2d4d59a082f834

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(x):
    segs = x['segments']
    origin = segs[0][1]
    tax = x['base'] * x['pct_tax'].get(origin, 0) / 100
    for dep, arr in segs:
        tax += x['dep_tax'].get(dep, 0)
        tax += x['yq']
    return round(tax, 2)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['US round trip to GB', {'base': 801.0, 'yq': 60.0, 'segments': [['US', 'GB'], ['GB', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 211.68], ['Mexico origin multi-stop', {'base': 450.0, 'yq': 25.0, 'segments': [['MX', 'US'], ['US', 'CA'], ['CA', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 182.1], ['GB origin no pct tax', {'base': 300.0, 'yq': 41.0, 'segments': [['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 67.0], ['reorigin at origin', {'base': 600.0, 'yq': 0.0, 'segments': [['US', 'MX'], ['MX', 'US'], ['US', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 85.7], ['ends elsewhere', {'base': 1000.0, 'yq': 15.0, 'segments': [['CA', 'US'], ['US', 'GB'], ['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 126.6], ['sampled case 1', {'base': 177.31, 'yq': 60.0, 'segments': [['MX', 'GB'], ['GB', 'CA'], ['CA', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 263.87], ['sampled case 2', {'base': 1137.48, 'yq': 0.0, 'segments': [['FR', 'MX'], ['MX', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 29.5], ['sampled case 3', {'base': 1561.86, 'yq': 0.0, 'segments': [['GB', 'DE'], ['DE', 'US'], ['US', 'FR'], ['FR', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 43.6]], [['US round trip to GB', {'base': 802.0, 'yq': 60.0, 'segments': [['US', 'GB'], ['GB', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 211.75], ['Mexico origin multi-stop', {'base': 450.0, 'yq': 25.0, 'segments': [['MX', 'US'], ['US', 'CA'], ['CA', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 182.1], ['GB origin no pct tax', {'base': 300.0, 'yq': 42.0, 'segments': [['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 68.0], ['reorigin at origin', {'base': 600.0, 'yq': 0.0, 'segments': [['US', 'MX'], ['MX', 'US'], ['US', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 85.7], ['ends elsewhere', {'base': 1000.0, 'yq': 15.0, 'segments': [['CA', 'US'], ['US', 'GB'], ['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 126.6], ['sampled case 1', {'base': 1003.59, 'yq': 60.0, 'segments': [['US', 'FR'], ['FR', 'MX'], ['MX', 'FR']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 290.37], ['sampled case 2', {'base': 1624.6, 'yq': 25.0, 'segments': [['FR', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 25.0], ['sampled case 3', {'base': 1470.94, 'yq': 60.0, 'segments': [['CA', 'GB']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 133.55]], [['US round trip to GB', {'base': 803.0, 'yq': 60.0, 'segments': [['US', 'GB'], ['GB', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 211.82], ['Mexico origin multi-stop', {'base': 450.0, 'yq': 25.0, 'segments': [['MX', 'US'], ['US', 'CA'], ['CA', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 182.1], ['GB origin no pct tax', {'base': 300.0, 'yq': 43.0, 'segments': [['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 69.0], ['reorigin at origin', {'base': 600.0, 'yq': 0.0, 'segments': [['US', 'MX'], ['MX', 'US'], ['US', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 85.7], ['ends elsewhere', {'base': 1000.0, 'yq': 15.0, 'segments': [['CA', 'US'], ['US', 'GB'], ['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 126.6], ['sampled case 1', {'base': 366.2, 'yq': 25.0, 'segments': [['GB', 'FR'], ['FR', 'DE'], ['DE', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 113.0], ['sampled case 2', {'base': 986.16, 'yq': 0.0, 'segments': [['MX', 'GB'], ['GB', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 213.29], ['sampled case 3', {'base': 766.09, 'yq': 0.0, 'segments': [['DE', 'CA'], ['CA', 'DE'], ['DE', 'GB'], ['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 50.0]], [['US round trip to GB', {'base': 804.0, 'yq': 60.0, 'segments': [['US', 'GB'], ['GB', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 211.9], ['Mexico origin multi-stop', {'base': 450.0, 'yq': 25.0, 'segments': [['MX', 'US'], ['US', 'CA'], ['CA', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 182.1], ['GB origin no pct tax', {'base': 300.0, 'yq': 44.0, 'segments': [['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 70.0], ['reorigin at origin', {'base': 600.0, 'yq': 0.0, 'segments': [['US', 'MX'], ['MX', 'US'], ['US', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 85.7], ['ends elsewhere', {'base': 1000.0, 'yq': 15.0, 'segments': [['CA', 'US'], ['US', 'GB'], ['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 126.6], ['sampled case 1', {'base': 274.57, 'yq': 0.0, 'segments': [['MX', 'FR']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 73.43], ['sampled case 2', {'base': 205.88, 'yq': 110.0, 'segments': [['US', 'DE'], ['DE', 'FR'], ['FR', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 363.04], ['sampled case 3', {'base': 755.2, 'yq': 0.0, 'segments': [['CA', 'MX'], ['MX', 'GB']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 67.26]], [['US round trip to GB', {'base': 805.0, 'yq': 60.0, 'segments': [['US', 'GB'], ['GB', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 211.97], ['Mexico origin multi-stop', {'base': 450.0, 'yq': 25.0, 'segments': [['MX', 'US'], ['US', 'CA'], ['CA', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 182.1], ['GB origin no pct tax', {'base': 300.0, 'yq': 45.0, 'segments': [['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 71.0], ['reorigin at origin', {'base': 600.0, 'yq': 0.0, 'segments': [['US', 'MX'], ['MX', 'US'], ['US', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 85.7], ['ends elsewhere', {'base': 1000.0, 'yq': 15.0, 'segments': [['CA', 'US'], ['US', 'GB'], ['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 126.6], ['sampled case 1', {'base': 870.75, 'yq': 0.0, 'segments': [['DE', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 12.0], ['sampled case 2', {'base': 1981.28, 'yq': 110.0, 'segments': [['FR', 'GB']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 110.0], ['sampled case 3', {'base': 1796.93, 'yq': 60.0, 'segments': [['CA', 'FR']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 149.85]]]
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
US round trip to GB151.6211.68Failed
Mexico origin multi-stop143.85182.1Failed
GB origin no pct tax67.067.0Passed
reorigin at origin136.785.7Failed
ends elsewhere151.6126.6Failed
sampled case 1235.5263.87Failed
sampled case 2211.529.5Failed
sampled case 343.643.6Passed

SHA-256 / 05259bde1627f1cfa8c98d02a384839a19454353c693435f56f62ce717672f2d

3 / The verified repair

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

N = 1
observations = []
def solve(x):
    segs = x['segments']
    origin = segs[0][0]
    tax = x['base'] * x['pct_tax'].get(origin, 0) / 100
    for dep, arr in segs:
        tax += x['dep_tax'].get(dep, 0)
        tax += x['yq']
    return round(tax, 2)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['US round trip to GB', {'base': 801.0, 'yq': 60.0, 'segments': [['US', 'GB'], ['GB', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 211.68], ['Mexico origin multi-stop', {'base': 450.0, 'yq': 25.0, 'segments': [['MX', 'US'], ['US', 'CA'], ['CA', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 182.1], ['GB origin no pct tax', {'base': 300.0, 'yq': 41.0, 'segments': [['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 67.0], ['reorigin at origin', {'base': 600.0, 'yq': 0.0, 'segments': [['US', 'MX'], ['MX', 'US'], ['US', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 85.7], ['ends elsewhere', {'base': 1000.0, 'yq': 15.0, 'segments': [['CA', 'US'], ['US', 'GB'], ['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 126.6], ['sampled case 1', {'base': 177.31, 'yq': 60.0, 'segments': [['MX', 'GB'], ['GB', 'CA'], ['CA', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 263.87], ['sampled case 2', {'base': 1137.48, 'yq': 0.0, 'segments': [['FR', 'MX'], ['MX', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 29.5], ['sampled case 3', {'base': 1561.86, 'yq': 0.0, 'segments': [['GB', 'DE'], ['DE', 'US'], ['US', 'FR'], ['FR', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 43.6]], [['US round trip to GB', {'base': 802.0, 'yq': 60.0, 'segments': [['US', 'GB'], ['GB', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 211.75], ['Mexico origin multi-stop', {'base': 450.0, 'yq': 25.0, 'segments': [['MX', 'US'], ['US', 'CA'], ['CA', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 182.1], ['GB origin no pct tax', {'base': 300.0, 'yq': 42.0, 'segments': [['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 68.0], ['reorigin at origin', {'base': 600.0, 'yq': 0.0, 'segments': [['US', 'MX'], ['MX', 'US'], ['US', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 85.7], ['ends elsewhere', {'base': 1000.0, 'yq': 15.0, 'segments': [['CA', 'US'], ['US', 'GB'], ['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 126.6], ['sampled case 1', {'base': 1003.59, 'yq': 60.0, 'segments': [['US', 'FR'], ['FR', 'MX'], ['MX', 'FR']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 290.37], ['sampled case 2', {'base': 1624.6, 'yq': 25.0, 'segments': [['FR', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 25.0], ['sampled case 3', {'base': 1470.94, 'yq': 60.0, 'segments': [['CA', 'GB']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 133.55]], [['US round trip to GB', {'base': 803.0, 'yq': 60.0, 'segments': [['US', 'GB'], ['GB', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 211.82], ['Mexico origin multi-stop', {'base': 450.0, 'yq': 25.0, 'segments': [['MX', 'US'], ['US', 'CA'], ['CA', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 182.1], ['GB origin no pct tax', {'base': 300.0, 'yq': 43.0, 'segments': [['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 69.0], ['reorigin at origin', {'base': 600.0, 'yq': 0.0, 'segments': [['US', 'MX'], ['MX', 'US'], ['US', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 85.7], ['ends elsewhere', {'base': 1000.0, 'yq': 15.0, 'segments': [['CA', 'US'], ['US', 'GB'], ['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 126.6], ['sampled case 1', {'base': 366.2, 'yq': 25.0, 'segments': [['GB', 'FR'], ['FR', 'DE'], ['DE', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 113.0], ['sampled case 2', {'base': 986.16, 'yq': 0.0, 'segments': [['MX', 'GB'], ['GB', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 213.29], ['sampled case 3', {'base': 766.09, 'yq': 0.0, 'segments': [['DE', 'CA'], ['CA', 'DE'], ['DE', 'GB'], ['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 50.0]], [['US round trip to GB', {'base': 804.0, 'yq': 60.0, 'segments': [['US', 'GB'], ['GB', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 211.9], ['Mexico origin multi-stop', {'base': 450.0, 'yq': 25.0, 'segments': [['MX', 'US'], ['US', 'CA'], ['CA', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 182.1], ['GB origin no pct tax', {'base': 300.0, 'yq': 44.0, 'segments': [['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 70.0], ['reorigin at origin', {'base': 600.0, 'yq': 0.0, 'segments': [['US', 'MX'], ['MX', 'US'], ['US', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 85.7], ['ends elsewhere', {'base': 1000.0, 'yq': 15.0, 'segments': [['CA', 'US'], ['US', 'GB'], ['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 126.6], ['sampled case 1', {'base': 274.57, 'yq': 0.0, 'segments': [['MX', 'FR']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 73.43], ['sampled case 2', {'base': 205.88, 'yq': 110.0, 'segments': [['US', 'DE'], ['DE', 'FR'], ['FR', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 363.04], ['sampled case 3', {'base': 755.2, 'yq': 0.0, 'segments': [['CA', 'MX'], ['MX', 'GB']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 67.26]], [['US round trip to GB', {'base': 805.0, 'yq': 60.0, 'segments': [['US', 'GB'], ['GB', 'US']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 211.97], ['Mexico origin multi-stop', {'base': 450.0, 'yq': 25.0, 'segments': [['MX', 'US'], ['US', 'CA'], ['CA', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 182.1], ['GB origin no pct tax', {'base': 300.0, 'yq': 45.0, 'segments': [['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 71.0], ['reorigin at origin', {'base': 600.0, 'yq': 0.0, 'segments': [['US', 'MX'], ['MX', 'US'], ['US', 'CA']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 85.7], ['ends elsewhere', {'base': 1000.0, 'yq': 15.0, 'segments': [['CA', 'US'], ['US', 'GB'], ['GB', 'DE']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 126.6], ['sampled case 1', {'base': 870.75, 'yq': 0.0, 'segments': [['DE', 'MX']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 12.0], ['sampled case 2', {'base': 1981.28, 'yq': 110.0, 'segments': [['FR', 'GB']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 110.0], ['sampled case 3', {'base': 1796.93, 'yq': 60.0, 'segments': [['CA', 'FR']], 'pct_tax': {'US': 7.5, 'MX': 16.0, 'CA': 5.0}, 'dep_tax': {'US': 5.6, 'GB': 26.0, 'MX': 29.5, 'DE': 12.0}}, 149.85]]]
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
US round trip to GB211.68211.68Passed
Mexico origin multi-stop182.1182.1Passed
GB origin no pct tax67.067.0Passed
reorigin at origin85.785.7Passed
ends elsewhere126.6126.6Passed
sampled case 1263.87263.87Passed
sampled case 229.529.5Passed
sampled case 343.643.6Passed

SHA-256 / 490834125cae64f14b3b1c21e05e4f4519ca40d26221a50f1eb9b3eee9f8651d

Verification & scope

A stipulated toy fare-rule contract with invented constants; it is not an ATPCO or carrier tariff implementation and makes no claim of industry-standard conformance. 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:47:45.214153+00:00.

Case digest / 687590becf31aa742771fd2cb5fe0cec872d847a6fa87eb2b1430b6e3635dc5b