FA-66496 / Airline fare rule evaluation / Open access
Leap-day birthday observed on 28 February · case 01
A child born on 29 February turns 12 a day early in non-leap years.
ROOT CAUSE
The non-leap-year birthday for 29 February is mapped to 28 February.
VERIFIED REPAIR
Observe 29 February birthdays on 1 March in non-leap years.
Unsuccessful approach: Special-casing February departures reintroduces the 28 February birthday exactly where it matters.
Case contract
Input {'birth','depart' ISO dates,'fare'}. Age is completed years on the departure date; a 29 February birthday falls on 1 March in non-leap years. Under 2 -> INF 10%; 2 to 11 -> CHD 75%; otherwise ADT 100%. Amount = fare*pct/100 rounded half-up to cents. Return [ptc, amount].
Why this case matters
Passenger type discounts depend on exact age at travel, with birthday and leap-day edge cases and currency rounding.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import datetime
import decimal
N = 1
observations = []
def solve(x):
b = datetime.date.fromisoformat(x['birth'])
d = datetime.date.fromisoformat(x['depart'])
try:
bday = b.replace(year=d.year)
except ValueError:
bday = datetime.date(d.year, 2, 28)
age = d.year - b.year - (1 if d < bday else 0)
if age < 2: ptc, pct = 'INF', 10
elif age < 12: ptc, pct = 'CHD', 75
else: ptc, pct = 'ADT', 100
amt = (decimal.Decimal(str(x['fare'])) * pct / 100).quantize(decimal.Decimal('0.01'), rounding=decimal.ROUND_HALF_UP)
return [ptc, float(amt)]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['child day before 12th birthday', {'birth': '2016-05-11', 'depart': '2028-05-10', 'fare': 412.5}, ['CHD', 309.38]], ['12th birthday on departure', {'birth': '2016-05-10', 'depart': '2028-05-10', 'fare': 413.5}, ['ADT', 413.5]], ['infant turns two on travel day', {'birth': '2026-03-01', 'depart': '2028-03-01', 'fare': 399.9}, ['CHD', 299.93]], ['infant one day before second birthday', {'birth': '2026-03-15', 'depart': '2028-03-14', 'fare': 250.05}, ['INF', 25.01]], ['leap day birthday on Feb 28', {'birth': '2016-02-29', 'depart': '2028-02-28', 'fare': 300.0}, ['CHD', 225.0]], ['leap day infant in non-leap year', {'birth': '2024-02-29', 'depart': '2026-02-28', 'fare': 301.0}, ['INF', 30.1]], ['leap day infant on 1 March', {'birth': '2024-02-29', 'depart': '2026-03-01', 'fare': 310.0}, ['CHD', 232.5]], ['half-cent child fare', {'birth': '2020-07-01', 'depart': '2027-01-11', 'fare': 100.1}, ['CHD', 75.08]], ['adult later in year', {'birth': '1990-11-30', 'depart': '2027-06-01', 'fare': 823.33}, ['ADT', 823.33]], ['sampled case 1', {'birth': '2015-02-22', 'depart': '2027-02-15', 'fare': 171.9}, ['CHD', 128.93]], ['sampled case 2', {'birth': '2023-11-19', 'depart': '2029-03-25', 'fare': 1444.58}, ['CHD', 1083.44]], ['sampled case 3', {'birth': '2027-08-22', 'depart': '2029-08-21', 'fare': 608.88}, ['INF', 60.89]]], [['child day before 12th birthday', {'birth': '2016-05-12', 'depart': '2028-05-11', 'fare': 412.5}, ['CHD', 309.38]], ['12th birthday on departure', {'birth': '2016-05-10', 'depart': '2028-05-10', 'fare': 414.5}, ['ADT', 414.5]], ['infant turns two on travel day', {'birth': '2026-03-02', 'depart': '2028-03-02', 'fare': 399.9}, ['CHD', 299.93]], ['infant one day before second birthday', {'birth': '2026-03-15', 'depart': '2028-03-14', 'fare': 250.05}, ['INF', 25.01]], ['leap day birthday on Feb 28', {'birth': '2016-02-29', 'depart': '2028-02-28', 'fare': 300.0}, ['CHD', 225.0]], ['leap day infant in non-leap year', {'birth': '2024-02-29', 'depart': '2026-02-28', 'fare': 302.0}, ['INF', 30.2]], ['leap day infant on 1 March', {'birth': '2024-02-29', 'depart': '2026-03-01', 'fare': 310.0}, ['CHD', 232.5]], ['half-cent child fare', {'birth': '2020-07-01', 'depart': '2027-01-12', 'fare': 100.1}, ['CHD', 75.08]], ['adult later in year', {'birth': '1990-11-30', 'depart': '2027-06-02', 'fare': 823.33}, ['ADT', 823.33]], ['sampled case 1', {'birth': '2025-04-03', 'depart': '2027-04-02', 'fare': 516.1}, ['INF', 51.61]], ['sampled case 2', {'birth': '2026-06-08', 'depart': '2028-06-06', 'fare': 952.7}, ['INF', 95.27]], ['sampled case 3', {'birth': '2017-05-05', 'depart': '2029-05-02', 'fare': 942.13}, ['CHD', 706.6]]], [['child day before 12th birthday', {'birth': '2016-05-13', 'depart': '2028-05-12', 'fare': 412.5}, ['CHD', 309.38]], ['12th birthday on departure', {'birth': '2016-05-10', 'depart': '2028-05-10', 'fare': 415.5}, ['ADT', 415.5]], ['infant turns two on travel day', {'birth': '2026-03-03', 'depart': '2028-03-03', 'fare': 399.9}, ['CHD', 299.93]], ['infant one day before second birthday', {'birth': '2026-03-15', 'depart': '2028-03-14', 'fare': 250.05}, ['INF', 25.01]], ['leap day birthday on Feb 28', {'birth': '2016-02-29', 'depart': '2028-02-28', 'fare': 300.0}, ['CHD', 225.0]], ['leap day infant in non-leap year', {'birth': '2024-02-29', 'depart': '2026-02-28', 'fare': 303.0}, ['INF', 30.3]], ['leap day infant on 1 March', {'birth': '2024-02-29', 'depart': '2026-03-01', 'fare': 310.0}, ['CHD', 232.5]], ['half-cent child fare', {'birth': '2020-07-01', 'depart': '2027-01-13', 'fare': 100.1}, ['CHD', 75.08]], ['adult later in year', {'birth': '1990-11-30', 'depart': '2027-06-03', 'fare': 823.33}, ['ADT', 823.33]], ['sampled case 1', {'birth': '2017-10-23', 'depart': '2029-10-19', 'fare': 1447.34}, ['CHD', 1085.51]], ['sampled case 2', {'birth': '2016-03-06', 'depart': '2028-02-28', 'fare': 1074.9}, ['CHD', 806.18]], ['sampled case 3', {'birth': '2015-06-23', 'depart': '2027-06-20', 'fare': 768.6}, ['CHD', 576.45]]], [['child day before 12th birthday', {'birth': '2016-05-14', 'depart': '2028-05-13', 'fare': 412.5}, ['CHD', 309.38]], ['12th birthday on departure', {'birth': '2016-05-10', 'depart': '2028-05-10', 'fare': 416.5}, ['ADT', 416.5]], ['infant turns two on travel day', {'birth': '2026-03-04', 'depart': '2028-03-04', 'fare': 399.9}, ['CHD', 299.93]], ['infant one day before second birthday', {'birth': '2026-03-15', 'depart': '2028-03-14', 'fare': 250.05}, ['INF', 25.01]], ['leap day birthday on Feb 28', {'birth': '2016-02-29', 'depart': '2028-02-28', 'fare': 300.0}, ['CHD', 225.0]], ['leap day infant in non-leap year', {'birth': '2024-02-29', 'depart': '2026-02-28', 'fare': 304.0}, ['INF', 30.4]], ['leap day infant on 1 March', {'birth': '2024-02-29', 'depart': '2026-03-01', 'fare': 310.0}, ['CHD', 232.5]], ['half-cent child fare', {'birth': '2020-07-01', 'depart': '2027-01-14', 'fare': 100.1}, ['CHD', 75.08]], ['adult later in year', {'birth': '1990-11-30', 'depart': '2027-06-04', 'fare': 823.33}, ['ADT', 823.33]], ['sampled case 1', {'birth': '2028-06-21', 'depart': '2029-08-22', 'fare': 642.31}, ['INF', 64.23]], ['sampled case 2', {'birth': '2019-06-26', 'depart': '2027-12-23', 'fare': 211.9}, ['CHD', 158.93]], ['sampled case 3', {'birth': '2025-09-18', 'depart': '2027-09-19', 'fare': 1456.7}, ['CHD', 1092.53]]], [['child day before 12th birthday', {'birth': '2016-05-15', 'depart': '2028-05-14', 'fare': 412.5}, ['CHD', 309.38]], ['12th birthday on departure', {'birth': '2016-05-10', 'depart': '2028-05-10', 'fare': 417.5}, ['ADT', 417.5]], ['infant turns two on travel day', {'birth': '2026-03-05', 'depart': '2028-03-05', 'fare': 399.9}, ['CHD', 299.93]], ['infant one day before second birthday', {'birth': '2026-03-15', 'depart': '2028-03-14', 'fare': 250.05}, ['INF', 25.01]], ['leap day birthday on Feb 28', {'birth': '2016-02-29', 'depart': '2028-02-28', 'fare': 300.0}, ['CHD', 225.0]], ['leap day infant in non-leap year', {'birth': '2024-02-29', 'depart': '2026-02-28', 'fare': 305.0}, ['INF', 30.5]], ['leap day infant on 1 March', {'birth': '2024-02-29', 'depart': '2026-03-01', 'fare': 310.0}, ['CHD', 232.5]], ['half-cent child fare', {'birth': '2020-07-01', 'depart': '2027-01-15', 'fare': 100.1}, ['CHD', 75.08]], ['adult later in year', {'birth': '1990-11-30', 'depart': '2027-06-05', 'fare': 823.33}, ['ADT', 823.33]], ['sampled case 1', {'birth': '2026-08-03', 'depart': '2028-07-31', 'fare': 265.0}, ['INF', 26.5]], ['sampled case 2', {'birth': '2026-08-19', 'depart': '2028-08-19', 'fare': 820.15}, ['CHD', 615.11]], ['sampled case 3', {'birth': '2017-09-28', 'depart': '2029-09-26', 'fare': 855.8}, ['CHD', 641.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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| child day before 12th birthday | ['CHD', 309.38] | ['CHD', 309.38] | Passed |
| 12th birthday on departure | ['ADT', 413.5] | ['ADT', 413.5] | Passed |
| infant turns two on travel day | ['CHD', 299.93] | ['CHD', 299.93] | Passed |
| infant one day before second birthday | ['INF', 25.01] | ['INF', 25.01] | Passed |
| leap day birthday on Feb 28 | ['CHD', 225.0] | ['CHD', 225.0] | Passed |
| leap day infant in non-leap year | ['CHD', 225.75] | ['INF', 30.1] | Failed |
| leap day infant on 1 March | ['CHD', 232.5] | ['CHD', 232.5] | Passed |
| half-cent child fare | ['CHD', 75.08] | ['CHD', 75.08] | Passed |
| adult later in year | ['ADT', 823.33] | ['ADT', 823.33] | Passed |
| sampled case 1 | ['CHD', 128.93] | ['CHD', 128.93] | Passed |
| sampled case 2 | ['CHD', 1083.44] | ['CHD', 1083.44] | Passed |
| sampled case 3 | ['INF', 60.89] | ['INF', 60.89] | Passed |
SHA-256 / 75cda7653f5da3165886cd2eb7974530fd3fc05e8045a7e4e119b715692115e5
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import datetime
import decimal
N = 1
observations = []
def solve(x):
b = datetime.date.fromisoformat(x['birth'])
d = datetime.date.fromisoformat(x['depart'])
try:
bday = b.replace(year=d.year)
except ValueError:
bday = datetime.date(d.year, 2, 28) if d.month == 2 else datetime.date(d.year, 3, 1)
age = d.year - b.year - (1 if d < bday else 0)
if age < 2: ptc, pct = 'INF', 10
elif age < 12: ptc, pct = 'CHD', 75
else: ptc, pct = 'ADT', 100
amt = (decimal.Decimal(str(x['fare'])) * pct / 100).quantize(decimal.Decimal('0.01'), rounding=decimal.ROUND_HALF_UP)
return [ptc, float(amt)]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['child day before 12th birthday', {'birth': '2016-05-11', 'depart': '2028-05-10', 'fare': 412.5}, ['CHD', 309.38]], ['12th birthday on departure', {'birth': '2016-05-10', 'depart': '2028-05-10', 'fare': 413.5}, ['ADT', 413.5]], ['infant turns two on travel day', {'birth': '2026-03-01', 'depart': '2028-03-01', 'fare': 399.9}, ['CHD', 299.93]], ['infant one day before second birthday', {'birth': '2026-03-15', 'depart': '2028-03-14', 'fare': 250.05}, ['INF', 25.01]], ['leap day birthday on Feb 28', {'birth': '2016-02-29', 'depart': '2028-02-28', 'fare': 300.0}, ['CHD', 225.0]], ['leap day infant in non-leap year', {'birth': '2024-02-29', 'depart': '2026-02-28', 'fare': 301.0}, ['INF', 30.1]], ['leap day infant on 1 March', {'birth': '2024-02-29', 'depart': '2026-03-01', 'fare': 310.0}, ['CHD', 232.5]], ['half-cent child fare', {'birth': '2020-07-01', 'depart': '2027-01-11', 'fare': 100.1}, ['CHD', 75.08]], ['adult later in year', {'birth': '1990-11-30', 'depart': '2027-06-01', 'fare': 823.33}, ['ADT', 823.33]], ['sampled case 1', {'birth': '2015-02-22', 'depart': '2027-02-15', 'fare': 171.9}, ['CHD', 128.93]], ['sampled case 2', {'birth': '2023-11-19', 'depart': '2029-03-25', 'fare': 1444.58}, ['CHD', 1083.44]], ['sampled case 3', {'birth': '2027-08-22', 'depart': '2029-08-21', 'fare': 608.88}, ['INF', 60.89]]], [['child day before 12th birthday', {'birth': '2016-05-12', 'depart': '2028-05-11', 'fare': 412.5}, ['CHD', 309.38]], ['12th birthday on departure', {'birth': '2016-05-10', 'depart': '2028-05-10', 'fare': 414.5}, ['ADT', 414.5]], ['infant turns two on travel day', {'birth': '2026-03-02', 'depart': '2028-03-02', 'fare': 399.9}, ['CHD', 299.93]], ['infant one day before second birthday', {'birth': '2026-03-15', 'depart': '2028-03-14', 'fare': 250.05}, ['INF', 25.01]], ['leap day birthday on Feb 28', {'birth': '2016-02-29', 'depart': '2028-02-28', 'fare': 300.0}, ['CHD', 225.0]], ['leap day infant in non-leap year', {'birth': '2024-02-29', 'depart': '2026-02-28', 'fare': 302.0}, ['INF', 30.2]], ['leap day infant on 1 March', {'birth': '2024-02-29', 'depart': '2026-03-01', 'fare': 310.0}, ['CHD', 232.5]], ['half-cent child fare', {'birth': '2020-07-01', 'depart': '2027-01-12', 'fare': 100.1}, ['CHD', 75.08]], ['adult later in year', {'birth': '1990-11-30', 'depart': '2027-06-02', 'fare': 823.33}, ['ADT', 823.33]], ['sampled case 1', {'birth': '2025-04-03', 'depart': '2027-04-02', 'fare': 516.1}, ['INF', 51.61]], ['sampled case 2', {'birth': '2026-06-08', 'depart': '2028-06-06', 'fare': 952.7}, ['INF', 95.27]], ['sampled case 3', {'birth': '2017-05-05', 'depart': '2029-05-02', 'fare': 942.13}, ['CHD', 706.6]]], [['child day before 12th birthday', {'birth': '2016-05-13', 'depart': '2028-05-12', 'fare': 412.5}, ['CHD', 309.38]], ['12th birthday on departure', {'birth': '2016-05-10', 'depart': '2028-05-10', 'fare': 415.5}, ['ADT', 415.5]], ['infant turns two on travel day', {'birth': '2026-03-03', 'depart': '2028-03-03', 'fare': 399.9}, ['CHD', 299.93]], ['infant one day before second birthday', {'birth': '2026-03-15', 'depart': '2028-03-14', 'fare': 250.05}, ['INF', 25.01]], ['leap day birthday on Feb 28', {'birth': '2016-02-29', 'depart': '2028-02-28', 'fare': 300.0}, ['CHD', 225.0]], ['leap day infant in non-leap year', {'birth': '2024-02-29', 'depart': '2026-02-28', 'fare': 303.0}, ['INF', 30.3]], ['leap day infant on 1 March', {'birth': '2024-02-29', 'depart': '2026-03-01', 'fare': 310.0}, ['CHD', 232.5]], ['half-cent child fare', {'birth': '2020-07-01', 'depart': '2027-01-13', 'fare': 100.1}, ['CHD', 75.08]], ['adult later in year', {'birth': '1990-11-30', 'depart': '2027-06-03', 'fare': 823.33}, ['ADT', 823.33]], ['sampled case 1', {'birth': '2017-10-23', 'depart': '2029-10-19', 'fare': 1447.34}, ['CHD', 1085.51]], ['sampled case 2', {'birth': '2016-03-06', 'depart': '2028-02-28', 'fare': 1074.9}, ['CHD', 806.18]], ['sampled case 3', {'birth': '2015-06-23', 'depart': '2027-06-20', 'fare': 768.6}, ['CHD', 576.45]]], [['child day before 12th birthday', {'birth': '2016-05-14', 'depart': '2028-05-13', 'fare': 412.5}, ['CHD', 309.38]], ['12th birthday on departure', {'birth': '2016-05-10', 'depart': '2028-05-10', 'fare': 416.5}, ['ADT', 416.5]], ['infant turns two on travel day', {'birth': '2026-03-04', 'depart': '2028-03-04', 'fare': 399.9}, ['CHD', 299.93]], ['infant one day before second birthday', {'birth': '2026-03-15', 'depart': '2028-03-14', 'fare': 250.05}, ['INF', 25.01]], ['leap day birthday on Feb 28', {'birth': '2016-02-29', 'depart': '2028-02-28', 'fare': 300.0}, ['CHD', 225.0]], ['leap day infant in non-leap year', {'birth': '2024-02-29', 'depart': '2026-02-28', 'fare': 304.0}, ['INF', 30.4]], ['leap day infant on 1 March', {'birth': '2024-02-29', 'depart': '2026-03-01', 'fare': 310.0}, ['CHD', 232.5]], ['half-cent child fare', {'birth': '2020-07-01', 'depart': '2027-01-14', 'fare': 100.1}, ['CHD', 75.08]], ['adult later in year', {'birth': '1990-11-30', 'depart': '2027-06-04', 'fare': 823.33}, ['ADT', 823.33]], ['sampled case 1', {'birth': '2028-06-21', 'depart': '2029-08-22', 'fare': 642.31}, ['INF', 64.23]], ['sampled case 2', {'birth': '2019-06-26', 'depart': '2027-12-23', 'fare': 211.9}, ['CHD', 158.93]], ['sampled case 3', {'birth': '2025-09-18', 'depart': '2027-09-19', 'fare': 1456.7}, ['CHD', 1092.53]]], [['child day before 12th birthday', {'birth': '2016-05-15', 'depart': '2028-05-14', 'fare': 412.5}, ['CHD', 309.38]], ['12th birthday on departure', {'birth': '2016-05-10', 'depart': '2028-05-10', 'fare': 417.5}, ['ADT', 417.5]], ['infant turns two on travel day', {'birth': '2026-03-05', 'depart': '2028-03-05', 'fare': 399.9}, ['CHD', 299.93]], ['infant one day before second birthday', {'birth': '2026-03-15', 'depart': '2028-03-14', 'fare': 250.05}, ['INF', 25.01]], ['leap day birthday on Feb 28', {'birth': '2016-02-29', 'depart': '2028-02-28', 'fare': 300.0}, ['CHD', 225.0]], ['leap day infant in non-leap year', {'birth': '2024-02-29', 'depart': '2026-02-28', 'fare': 305.0}, ['INF', 30.5]], ['leap day infant on 1 March', {'birth': '2024-02-29', 'depart': '2026-03-01', 'fare': 310.0}, ['CHD', 232.5]], ['half-cent child fare', {'birth': '2020-07-01', 'depart': '2027-01-15', 'fare': 100.1}, ['CHD', 75.08]], ['adult later in year', {'birth': '1990-11-30', 'depart': '2027-06-05', 'fare': 823.33}, ['ADT', 823.33]], ['sampled case 1', {'birth': '2026-08-03', 'depart': '2028-07-31', 'fare': 265.0}, ['INF', 26.5]], ['sampled case 2', {'birth': '2026-08-19', 'depart': '2028-08-19', 'fare': 820.15}, ['CHD', 615.11]], ['sampled case 3', {'birth': '2017-09-28', 'depart': '2029-09-26', 'fare': 855.8}, ['CHD', 641.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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| child day before 12th birthday | ['CHD', 309.38] | ['CHD', 309.38] | Passed |
| 12th birthday on departure | ['ADT', 413.5] | ['ADT', 413.5] | Passed |
| infant turns two on travel day | ['CHD', 299.93] | ['CHD', 299.93] | Passed |
| infant one day before second birthday | ['INF', 25.01] | ['INF', 25.01] | Passed |
| leap day birthday on Feb 28 | ['CHD', 225.0] | ['CHD', 225.0] | Passed |
| leap day infant in non-leap year | ['CHD', 225.75] | ['INF', 30.1] | Failed |
| leap day infant on 1 March | ['CHD', 232.5] | ['CHD', 232.5] | Passed |
| half-cent child fare | ['CHD', 75.08] | ['CHD', 75.08] | Passed |
| adult later in year | ['ADT', 823.33] | ['ADT', 823.33] | Passed |
| sampled case 1 | ['CHD', 128.93] | ['CHD', 128.93] | Passed |
| sampled case 2 | ['CHD', 1083.44] | ['CHD', 1083.44] | Passed |
| sampled case 3 | ['INF', 60.89] | ['INF', 60.89] | Passed |
SHA-256 / b2d0a361552660138018f03e82d420b69b6f0e7ab54be63306c314b2cfdd1f2f
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
import datetime
import decimal
N = 1
observations = []
def solve(x):
b = datetime.date.fromisoformat(x['birth'])
d = datetime.date.fromisoformat(x['depart'])
try:
bday = b.replace(year=d.year)
except ValueError:
bday = datetime.date(d.year, 3, 1)
age = d.year - b.year - (1 if d < bday else 0)
if age < 2: ptc, pct = 'INF', 10
elif age < 12: ptc, pct = 'CHD', 75
else: ptc, pct = 'ADT', 100
amt = (decimal.Decimal(str(x['fare'])) * pct / 100).quantize(decimal.Decimal('0.01'), rounding=decimal.ROUND_HALF_UP)
return [ptc, float(amt)]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['child day before 12th birthday', {'birth': '2016-05-11', 'depart': '2028-05-10', 'fare': 412.5}, ['CHD', 309.38]], ['12th birthday on departure', {'birth': '2016-05-10', 'depart': '2028-05-10', 'fare': 413.5}, ['ADT', 413.5]], ['infant turns two on travel day', {'birth': '2026-03-01', 'depart': '2028-03-01', 'fare': 399.9}, ['CHD', 299.93]], ['infant one day before second birthday', {'birth': '2026-03-15', 'depart': '2028-03-14', 'fare': 250.05}, ['INF', 25.01]], ['leap day birthday on Feb 28', {'birth': '2016-02-29', 'depart': '2028-02-28', 'fare': 300.0}, ['CHD', 225.0]], ['leap day infant in non-leap year', {'birth': '2024-02-29', 'depart': '2026-02-28', 'fare': 301.0}, ['INF', 30.1]], ['leap day infant on 1 March', {'birth': '2024-02-29', 'depart': '2026-03-01', 'fare': 310.0}, ['CHD', 232.5]], ['half-cent child fare', {'birth': '2020-07-01', 'depart': '2027-01-11', 'fare': 100.1}, ['CHD', 75.08]], ['adult later in year', {'birth': '1990-11-30', 'depart': '2027-06-01', 'fare': 823.33}, ['ADT', 823.33]], ['sampled case 1', {'birth': '2015-02-22', 'depart': '2027-02-15', 'fare': 171.9}, ['CHD', 128.93]], ['sampled case 2', {'birth': '2023-11-19', 'depart': '2029-03-25', 'fare': 1444.58}, ['CHD', 1083.44]], ['sampled case 3', {'birth': '2027-08-22', 'depart': '2029-08-21', 'fare': 608.88}, ['INF', 60.89]]], [['child day before 12th birthday', {'birth': '2016-05-12', 'depart': '2028-05-11', 'fare': 412.5}, ['CHD', 309.38]], ['12th birthday on departure', {'birth': '2016-05-10', 'depart': '2028-05-10', 'fare': 414.5}, ['ADT', 414.5]], ['infant turns two on travel day', {'birth': '2026-03-02', 'depart': '2028-03-02', 'fare': 399.9}, ['CHD', 299.93]], ['infant one day before second birthday', {'birth': '2026-03-15', 'depart': '2028-03-14', 'fare': 250.05}, ['INF', 25.01]], ['leap day birthday on Feb 28', {'birth': '2016-02-29', 'depart': '2028-02-28', 'fare': 300.0}, ['CHD', 225.0]], ['leap day infant in non-leap year', {'birth': '2024-02-29', 'depart': '2026-02-28', 'fare': 302.0}, ['INF', 30.2]], ['leap day infant on 1 March', {'birth': '2024-02-29', 'depart': '2026-03-01', 'fare': 310.0}, ['CHD', 232.5]], ['half-cent child fare', {'birth': '2020-07-01', 'depart': '2027-01-12', 'fare': 100.1}, ['CHD', 75.08]], ['adult later in year', {'birth': '1990-11-30', 'depart': '2027-06-02', 'fare': 823.33}, ['ADT', 823.33]], ['sampled case 1', {'birth': '2025-04-03', 'depart': '2027-04-02', 'fare': 516.1}, ['INF', 51.61]], ['sampled case 2', {'birth': '2026-06-08', 'depart': '2028-06-06', 'fare': 952.7}, ['INF', 95.27]], ['sampled case 3', {'birth': '2017-05-05', 'depart': '2029-05-02', 'fare': 942.13}, ['CHD', 706.6]]], [['child day before 12th birthday', {'birth': '2016-05-13', 'depart': '2028-05-12', 'fare': 412.5}, ['CHD', 309.38]], ['12th birthday on departure', {'birth': '2016-05-10', 'depart': '2028-05-10', 'fare': 415.5}, ['ADT', 415.5]], ['infant turns two on travel day', {'birth': '2026-03-03', 'depart': '2028-03-03', 'fare': 399.9}, ['CHD', 299.93]], ['infant one day before second birthday', {'birth': '2026-03-15', 'depart': '2028-03-14', 'fare': 250.05}, ['INF', 25.01]], ['leap day birthday on Feb 28', {'birth': '2016-02-29', 'depart': '2028-02-28', 'fare': 300.0}, ['CHD', 225.0]], ['leap day infant in non-leap year', {'birth': '2024-02-29', 'depart': '2026-02-28', 'fare': 303.0}, ['INF', 30.3]], ['leap day infant on 1 March', {'birth': '2024-02-29', 'depart': '2026-03-01', 'fare': 310.0}, ['CHD', 232.5]], ['half-cent child fare', {'birth': '2020-07-01', 'depart': '2027-01-13', 'fare': 100.1}, ['CHD', 75.08]], ['adult later in year', {'birth': '1990-11-30', 'depart': '2027-06-03', 'fare': 823.33}, ['ADT', 823.33]], ['sampled case 1', {'birth': '2017-10-23', 'depart': '2029-10-19', 'fare': 1447.34}, ['CHD', 1085.51]], ['sampled case 2', {'birth': '2016-03-06', 'depart': '2028-02-28', 'fare': 1074.9}, ['CHD', 806.18]], ['sampled case 3', {'birth': '2015-06-23', 'depart': '2027-06-20', 'fare': 768.6}, ['CHD', 576.45]]], [['child day before 12th birthday', {'birth': '2016-05-14', 'depart': '2028-05-13', 'fare': 412.5}, ['CHD', 309.38]], ['12th birthday on departure', {'birth': '2016-05-10', 'depart': '2028-05-10', 'fare': 416.5}, ['ADT', 416.5]], ['infant turns two on travel day', {'birth': '2026-03-04', 'depart': '2028-03-04', 'fare': 399.9}, ['CHD', 299.93]], ['infant one day before second birthday', {'birth': '2026-03-15', 'depart': '2028-03-14', 'fare': 250.05}, ['INF', 25.01]], ['leap day birthday on Feb 28', {'birth': '2016-02-29', 'depart': '2028-02-28', 'fare': 300.0}, ['CHD', 225.0]], ['leap day infant in non-leap year', {'birth': '2024-02-29', 'depart': '2026-02-28', 'fare': 304.0}, ['INF', 30.4]], ['leap day infant on 1 March', {'birth': '2024-02-29', 'depart': '2026-03-01', 'fare': 310.0}, ['CHD', 232.5]], ['half-cent child fare', {'birth': '2020-07-01', 'depart': '2027-01-14', 'fare': 100.1}, ['CHD', 75.08]], ['adult later in year', {'birth': '1990-11-30', 'depart': '2027-06-04', 'fare': 823.33}, ['ADT', 823.33]], ['sampled case 1', {'birth': '2028-06-21', 'depart': '2029-08-22', 'fare': 642.31}, ['INF', 64.23]], ['sampled case 2', {'birth': '2019-06-26', 'depart': '2027-12-23', 'fare': 211.9}, ['CHD', 158.93]], ['sampled case 3', {'birth': '2025-09-18', 'depart': '2027-09-19', 'fare': 1456.7}, ['CHD', 1092.53]]], [['child day before 12th birthday', {'birth': '2016-05-15', 'depart': '2028-05-14', 'fare': 412.5}, ['CHD', 309.38]], ['12th birthday on departure', {'birth': '2016-05-10', 'depart': '2028-05-10', 'fare': 417.5}, ['ADT', 417.5]], ['infant turns two on travel day', {'birth': '2026-03-05', 'depart': '2028-03-05', 'fare': 399.9}, ['CHD', 299.93]], ['infant one day before second birthday', {'birth': '2026-03-15', 'depart': '2028-03-14', 'fare': 250.05}, ['INF', 25.01]], ['leap day birthday on Feb 28', {'birth': '2016-02-29', 'depart': '2028-02-28', 'fare': 300.0}, ['CHD', 225.0]], ['leap day infant in non-leap year', {'birth': '2024-02-29', 'depart': '2026-02-28', 'fare': 305.0}, ['INF', 30.5]], ['leap day infant on 1 March', {'birth': '2024-02-29', 'depart': '2026-03-01', 'fare': 310.0}, ['CHD', 232.5]], ['half-cent child fare', {'birth': '2020-07-01', 'depart': '2027-01-15', 'fare': 100.1}, ['CHD', 75.08]], ['adult later in year', {'birth': '1990-11-30', 'depart': '2027-06-05', 'fare': 823.33}, ['ADT', 823.33]], ['sampled case 1', {'birth': '2026-08-03', 'depart': '2028-07-31', 'fare': 265.0}, ['INF', 26.5]], ['sampled case 2', {'birth': '2026-08-19', 'depart': '2028-08-19', 'fare': 820.15}, ['CHD', 615.11]], ['sampled case 3', {'birth': '2017-09-28', 'depart': '2029-09-26', 'fare': 855.8}, ['CHD', 641.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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| child day before 12th birthday | ['CHD', 309.38] | ['CHD', 309.38] | Passed |
| 12th birthday on departure | ['ADT', 413.5] | ['ADT', 413.5] | Passed |
| infant turns two on travel day | ['CHD', 299.93] | ['CHD', 299.93] | Passed |
| infant one day before second birthday | ['INF', 25.01] | ['INF', 25.01] | Passed |
| leap day birthday on Feb 28 | ['CHD', 225.0] | ['CHD', 225.0] | Passed |
| leap day infant in non-leap year | ['INF', 30.1] | ['INF', 30.1] | Passed |
| leap day infant on 1 March | ['CHD', 232.5] | ['CHD', 232.5] | Passed |
| half-cent child fare | ['CHD', 75.08] | ['CHD', 75.08] | Passed |
| adult later in year | ['ADT', 823.33] | ['ADT', 823.33] | Passed |
| sampled case 1 | ['CHD', 128.93] | ['CHD', 128.93] | Passed |
| sampled case 2 | ['CHD', 1083.44] | ['CHD', 1083.44] | Passed |
| sampled case 3 | ['INF', 60.89] | ['INF', 60.89] | Passed |
SHA-256 / 4953940052430781e391c54fbc0d49e29d7586fc93b4766e9a822d2866e1147a
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:44.240177+00:00.
Case digest / a6cbde508d8ef2f2703cada082278f910c8b632366d911d8a37659ac91613c72