FA-66736 / Airline fare rule evaluation / Open access
Lowercase and accented letters accepted as booking classes · case 01
A basis beginning with a lowercase or accented letter decodes with an invalid RBD.
ROOT CAUSE
The RBD check uses isalpha, which accepts any Unicode letter in either case.
VERIFIED REPAIR
Accept only ASCII uppercase A-Z as the booking class.
Unsuccessful approach: isupper still accepts accented uppercase letters.
Case contract
Input: a fare basis string. Grammar: RBD letter A-Z (ASCII uppercase, else 'ERR_BASIS'), optional season H|L, optional day code W (WEEKEND) | X (WEEKDAY), optional advance purchase digits of any length (default 0), then two-letter tokens from CH, IN, NR (otherwise or odd length -> 'ERR_TOKEN'). Return {'rbd','season','days','ap','flags'}.
Why this case matters
Fare basis codes pack booking class, season, day-of-week application, advance purchase and passenger/penalty indicators into a positional code.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
s = x
if not s or not s[0].isalpha(): return 'ERR_BASIS'
out = {'rbd': s[0], 'season': None, 'days': 'ANY', 'ap': 0, 'flags': []}
i = 1
if i < len(s) and s[i] in 'HL':
out['season'] = s[i]
i += 1
if i < len(s) and s[i] in 'WX':
out['days'] = 'WEEKEND' if s[i] == 'W' else 'WEEKDAY'
i += 1
j = i
while j < len(s) and s[j].isdigit():
j += 1
out['ap'] = int(s[i:j]) if j > i else 0
rest = s[j:]
if len(rest) % 2: return 'ERR_TOKEN'
for k in range(0, len(rest), 2):
tok = rest[k:k + 2]
if tok not in ('CH', 'IN', 'NR'): return 'ERR_TOKEN'
out['flags'].append(tok)
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['full basis', 'QLX8NRCH', {'rbd': 'Q', 'season': 'L', 'days': 'WEEKDAY', 'ap': 8, 'flags': ['NR', 'CH']}], ['three-digit advance purchase', 'VHW110IN', {'rbd': 'V', 'season': 'H', 'days': 'WEEKEND', 'ap': 110, 'flags': ['IN']}], ['rbd only', 'Y', {'rbd': 'Y', 'season': None, 'days': 'ANY', 'ap': 0, 'flags': []}], ['weekend without season', 'KW3NR', {'rbd': 'K', 'season': None, 'days': 'WEEKEND', 'ap': 3, 'flags': ['NR']}], ['unknown suffix token', 'MH14ZZ', 'ERR_TOKEN'], ['odd suffix length', 'BL3NRC', 'ERR_TOKEN'], ['non-ASCII leading letter', 'ÉL7', 'ERR_BASIS'], ['lowercase basis', 'qlx7', 'ERR_BASIS'], ['digits right after rbd', 'T21CH', {'rbd': 'T', 'season': None, 'days': 'ANY', 'ap': 21, 'flags': ['CH']}], ['sampled case 1', 'NHX120', {'rbd': 'N', 'season': 'H', 'days': 'WEEKDAY', 'ap': 120, 'flags': []}], ['sampled case 2', 'qX14C', 'ERR_BASIS'], ['sampled case 3', 'THW', {'rbd': 'T', 'season': 'H', 'days': 'WEEKEND', 'ap': 0, 'flags': []}]], [['full basis', 'QLX9NRCH', {'rbd': 'Q', 'season': 'L', 'days': 'WEEKDAY', 'ap': 9, 'flags': ['NR', 'CH']}], ['three-digit advance purchase', 'VHW120IN', {'rbd': 'V', 'season': 'H', 'days': 'WEEKEND', 'ap': 120, 'flags': ['IN']}], ['rbd only', 'Y', {'rbd': 'Y', 'season': None, 'days': 'ANY', 'ap': 0, 'flags': []}], ['weekend without season', 'KW4NR', {'rbd': 'K', 'season': None, 'days': 'WEEKEND', 'ap': 4, 'flags': ['NR']}], ['unknown suffix token', 'MH14ZZ', 'ERR_TOKEN'], ['odd suffix length', 'BL3NRC', 'ERR_TOKEN'], ['non-ASCII leading letter', 'ÉL7', 'ERR_BASIS'], ['lowercase basis', 'qlx7', 'ERR_BASIS'], ['digits right after rbd', 'T21CH', {'rbd': 'T', 'season': None, 'days': 'ANY', 'ap': 21, 'flags': ['CH']}], ['sampled case 1', '7W1', 'ERR_BASIS'], ['sampled case 2', 'q1', 'ERR_BASIS'], ['sampled case 3', 'qHXZZ', 'ERR_BASIS']], [['full basis', 'QLX10NRCH', {'rbd': 'Q', 'season': 'L', 'days': 'WEEKDAY', 'ap': 10, 'flags': ['NR', 'CH']}], ['three-digit advance purchase', 'VHW130IN', {'rbd': 'V', 'season': 'H', 'days': 'WEEKEND', 'ap': 130, 'flags': ['IN']}], ['rbd only', 'Y', {'rbd': 'Y', 'season': None, 'days': 'ANY', 'ap': 0, 'flags': []}], ['weekend without season', 'KW5NR', {'rbd': 'K', 'season': None, 'days': 'WEEKEND', 'ap': 5, 'flags': ['NR']}], ['unknown suffix token', 'MH14ZZ', 'ERR_TOKEN'], ['odd suffix length', 'BL3NRC', 'ERR_TOKEN'], ['non-ASCII leading letter', 'ÉL7', 'ERR_BASIS'], ['lowercase basis', 'qlx7', 'ERR_BASIS'], ['digits right after rbd', 'T21CH', {'rbd': 'T', 'season': None, 'days': 'ANY', 'ap': 21, 'flags': ['CH']}], ['sampled case 1', 'VLXINC', 'ERR_TOKEN'], ['sampled case 2', 'QHW30CH', {'rbd': 'Q', 'season': 'H', 'days': 'WEEKEND', 'ap': 30, 'flags': ['CH']}], ['sampled case 3', 'B14CHIN', {'rbd': 'B', 'season': None, 'days': 'ANY', 'ap': 14, 'flags': ['CH', 'IN']}]], [['full basis', 'QLX11NRCH', {'rbd': 'Q', 'season': 'L', 'days': 'WEEKDAY', 'ap': 11, 'flags': ['NR', 'CH']}], ['three-digit advance purchase', 'VHW140IN', {'rbd': 'V', 'season': 'H', 'days': 'WEEKEND', 'ap': 140, 'flags': ['IN']}], ['rbd only', 'Y', {'rbd': 'Y', 'season': None, 'days': 'ANY', 'ap': 0, 'flags': []}], ['weekend without season', 'KW6NR', {'rbd': 'K', 'season': None, 'days': 'WEEKEND', 'ap': 6, 'flags': ['NR']}], ['unknown suffix token', 'MH14ZZ', 'ERR_TOKEN'], ['odd suffix length', 'BL3NRC', 'ERR_TOKEN'], ['non-ASCII leading letter', 'ÉL7', 'ERR_BASIS'], ['lowercase basis', 'qlx7', 'ERR_BASIS'], ['digits right after rbd', 'T21CH', {'rbd': 'T', 'season': None, 'days': 'ANY', 'ap': 21, 'flags': ['CH']}], ['sampled case 1', 'MZZIN', 'ERR_TOKEN'], ['sampled case 2', 'MLC', 'ERR_TOKEN'], ['sampled case 3', 'THIN', {'rbd': 'T', 'season': 'H', 'days': 'ANY', 'ap': 0, 'flags': ['IN']}]], [['full basis', 'QLX12NRCH', {'rbd': 'Q', 'season': 'L', 'days': 'WEEKDAY', 'ap': 12, 'flags': ['NR', 'CH']}], ['three-digit advance purchase', 'VHW150IN', {'rbd': 'V', 'season': 'H', 'days': 'WEEKEND', 'ap': 150, 'flags': ['IN']}], ['rbd only', 'Y', {'rbd': 'Y', 'season': None, 'days': 'ANY', 'ap': 0, 'flags': []}], ['weekend without season', 'KW7NR', {'rbd': 'K', 'season': None, 'days': 'WEEKEND', 'ap': 7, 'flags': ['NR']}], ['unknown suffix token', 'MH14ZZ', 'ERR_TOKEN'], ['odd suffix length', 'BL3NRC', 'ERR_TOKEN'], ['non-ASCII leading letter', 'ÉL7', 'ERR_BASIS'], ['lowercase basis', 'qlx7', 'ERR_BASIS'], ['digits right after rbd', 'T21CH', {'rbd': 'T', 'season': None, 'days': 'ANY', 'ap': 21, 'flags': ['CH']}], ['sampled case 1', 'LLWNRNR', {'rbd': 'L', 'season': 'L', 'days': 'WEEKEND', 'ap': 0, 'flags': ['NR', 'NR']}], ['sampled case 2', 'NHXNRZZ', 'ERR_TOKEN'], ['sampled case 3', 'TNR', {'rbd': 'T', 'season': None, 'days': 'ANY', 'ap': 0, 'flags': ['NR']}]]]
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 |
|---|---|---|---|
| full basis | {'ap': 8, 'days': 'WEEKDAY', 'flags': ['NR', 'CH'], 'rbd': 'Q', 'season': 'L'} | {'ap': 8, 'days': 'WEEKDAY', 'flags': ['NR', 'CH'], 'rbd': 'Q', 'season': 'L'} | Passed |
| three-digit advance purchase | {'ap': 110, 'days': 'WEEKEND', 'flags': ['IN'], 'rbd': 'V', 'season': 'H'} | {'ap': 110, 'days': 'WEEKEND', 'flags': ['IN'], 'rbd': 'V', 'season': 'H'} | Passed |
| rbd only | {'ap': 0, 'days': 'ANY', 'flags': [], 'rbd': 'Y', 'season': None} | {'ap': 0, 'days': 'ANY', 'flags': [], 'rbd': 'Y', 'season': None} | Passed |
| weekend without season | {'ap': 3, 'days': 'WEEKEND', 'flags': ['NR'], 'rbd': 'K', 'season': None} | {'ap': 3, 'days': 'WEEKEND', 'flags': ['NR'], 'rbd': 'K', 'season': None} | Passed |
| unknown suffix token | ERR_TOKEN | ERR_TOKEN | Passed |
| odd suffix length | ERR_TOKEN | ERR_TOKEN | Passed |
| non-ASCII leading letter | {'ap': 7, 'days': 'ANY', 'flags': [], 'rbd': 'É', 'season': 'L'} | ERR_BASIS | Failed |
| lowercase basis | ERR_TOKEN | ERR_BASIS | Failed |
| digits right after rbd | {'ap': 21, 'days': 'ANY', 'flags': ['CH'], 'rbd': 'T', 'season': None} | {'ap': 21, 'days': 'ANY', 'flags': ['CH'], 'rbd': 'T', 'season': None} | Passed |
| sampled case 1 | {'ap': 120, 'days': 'WEEKDAY', 'flags': [], 'rbd': 'N', 'season': 'H'} | {'ap': 120, 'days': 'WEEKDAY', 'flags': [], 'rbd': 'N', 'season': 'H'} | Passed |
| sampled case 2 | ERR_TOKEN | ERR_BASIS | Failed |
| sampled case 3 | {'ap': 0, 'days': 'WEEKEND', 'flags': [], 'rbd': 'T', 'season': 'H'} | {'ap': 0, 'days': 'WEEKEND', 'flags': [], 'rbd': 'T', 'season': 'H'} | Passed |
SHA-256 / 0343fa53d07f0854052451199c6eff55b4bab776b57095ab55235e9f3d3cbc06
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
s = x
if not s or not s[0].isupper(): return 'ERR_BASIS'
out = {'rbd': s[0], 'season': None, 'days': 'ANY', 'ap': 0, 'flags': []}
i = 1
if i < len(s) and s[i] in 'HL':
out['season'] = s[i]
i += 1
if i < len(s) and s[i] in 'WX':
out['days'] = 'WEEKEND' if s[i] == 'W' else 'WEEKDAY'
i += 1
j = i
while j < len(s) and s[j].isdigit():
j += 1
out['ap'] = int(s[i:j]) if j > i else 0
rest = s[j:]
if len(rest) % 2: return 'ERR_TOKEN'
for k in range(0, len(rest), 2):
tok = rest[k:k + 2]
if tok not in ('CH', 'IN', 'NR'): return 'ERR_TOKEN'
out['flags'].append(tok)
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['full basis', 'QLX8NRCH', {'rbd': 'Q', 'season': 'L', 'days': 'WEEKDAY', 'ap': 8, 'flags': ['NR', 'CH']}], ['three-digit advance purchase', 'VHW110IN', {'rbd': 'V', 'season': 'H', 'days': 'WEEKEND', 'ap': 110, 'flags': ['IN']}], ['rbd only', 'Y', {'rbd': 'Y', 'season': None, 'days': 'ANY', 'ap': 0, 'flags': []}], ['weekend without season', 'KW3NR', {'rbd': 'K', 'season': None, 'days': 'WEEKEND', 'ap': 3, 'flags': ['NR']}], ['unknown suffix token', 'MH14ZZ', 'ERR_TOKEN'], ['odd suffix length', 'BL3NRC', 'ERR_TOKEN'], ['non-ASCII leading letter', 'ÉL7', 'ERR_BASIS'], ['lowercase basis', 'qlx7', 'ERR_BASIS'], ['digits right after rbd', 'T21CH', {'rbd': 'T', 'season': None, 'days': 'ANY', 'ap': 21, 'flags': ['CH']}], ['sampled case 1', 'NHX120', {'rbd': 'N', 'season': 'H', 'days': 'WEEKDAY', 'ap': 120, 'flags': []}], ['sampled case 2', 'qX14C', 'ERR_BASIS'], ['sampled case 3', 'THW', {'rbd': 'T', 'season': 'H', 'days': 'WEEKEND', 'ap': 0, 'flags': []}]], [['full basis', 'QLX9NRCH', {'rbd': 'Q', 'season': 'L', 'days': 'WEEKDAY', 'ap': 9, 'flags': ['NR', 'CH']}], ['three-digit advance purchase', 'VHW120IN', {'rbd': 'V', 'season': 'H', 'days': 'WEEKEND', 'ap': 120, 'flags': ['IN']}], ['rbd only', 'Y', {'rbd': 'Y', 'season': None, 'days': 'ANY', 'ap': 0, 'flags': []}], ['weekend without season', 'KW4NR', {'rbd': 'K', 'season': None, 'days': 'WEEKEND', 'ap': 4, 'flags': ['NR']}], ['unknown suffix token', 'MH14ZZ', 'ERR_TOKEN'], ['odd suffix length', 'BL3NRC', 'ERR_TOKEN'], ['non-ASCII leading letter', 'ÉL7', 'ERR_BASIS'], ['lowercase basis', 'qlx7', 'ERR_BASIS'], ['digits right after rbd', 'T21CH', {'rbd': 'T', 'season': None, 'days': 'ANY', 'ap': 21, 'flags': ['CH']}], ['sampled case 1', '7W1', 'ERR_BASIS'], ['sampled case 2', 'q1', 'ERR_BASIS'], ['sampled case 3', 'qHXZZ', 'ERR_BASIS']], [['full basis', 'QLX10NRCH', {'rbd': 'Q', 'season': 'L', 'days': 'WEEKDAY', 'ap': 10, 'flags': ['NR', 'CH']}], ['three-digit advance purchase', 'VHW130IN', {'rbd': 'V', 'season': 'H', 'days': 'WEEKEND', 'ap': 130, 'flags': ['IN']}], ['rbd only', 'Y', {'rbd': 'Y', 'season': None, 'days': 'ANY', 'ap': 0, 'flags': []}], ['weekend without season', 'KW5NR', {'rbd': 'K', 'season': None, 'days': 'WEEKEND', 'ap': 5, 'flags': ['NR']}], ['unknown suffix token', 'MH14ZZ', 'ERR_TOKEN'], ['odd suffix length', 'BL3NRC', 'ERR_TOKEN'], ['non-ASCII leading letter', 'ÉL7', 'ERR_BASIS'], ['lowercase basis', 'qlx7', 'ERR_BASIS'], ['digits right after rbd', 'T21CH', {'rbd': 'T', 'season': None, 'days': 'ANY', 'ap': 21, 'flags': ['CH']}], ['sampled case 1', 'VLXINC', 'ERR_TOKEN'], ['sampled case 2', 'QHW30CH', {'rbd': 'Q', 'season': 'H', 'days': 'WEEKEND', 'ap': 30, 'flags': ['CH']}], ['sampled case 3', 'B14CHIN', {'rbd': 'B', 'season': None, 'days': 'ANY', 'ap': 14, 'flags': ['CH', 'IN']}]], [['full basis', 'QLX11NRCH', {'rbd': 'Q', 'season': 'L', 'days': 'WEEKDAY', 'ap': 11, 'flags': ['NR', 'CH']}], ['three-digit advance purchase', 'VHW140IN', {'rbd': 'V', 'season': 'H', 'days': 'WEEKEND', 'ap': 140, 'flags': ['IN']}], ['rbd only', 'Y', {'rbd': 'Y', 'season': None, 'days': 'ANY', 'ap': 0, 'flags': []}], ['weekend without season', 'KW6NR', {'rbd': 'K', 'season': None, 'days': 'WEEKEND', 'ap': 6, 'flags': ['NR']}], ['unknown suffix token', 'MH14ZZ', 'ERR_TOKEN'], ['odd suffix length', 'BL3NRC', 'ERR_TOKEN'], ['non-ASCII leading letter', 'ÉL7', 'ERR_BASIS'], ['lowercase basis', 'qlx7', 'ERR_BASIS'], ['digits right after rbd', 'T21CH', {'rbd': 'T', 'season': None, 'days': 'ANY', 'ap': 21, 'flags': ['CH']}], ['sampled case 1', 'MZZIN', 'ERR_TOKEN'], ['sampled case 2', 'MLC', 'ERR_TOKEN'], ['sampled case 3', 'THIN', {'rbd': 'T', 'season': 'H', 'days': 'ANY', 'ap': 0, 'flags': ['IN']}]], [['full basis', 'QLX12NRCH', {'rbd': 'Q', 'season': 'L', 'days': 'WEEKDAY', 'ap': 12, 'flags': ['NR', 'CH']}], ['three-digit advance purchase', 'VHW150IN', {'rbd': 'V', 'season': 'H', 'days': 'WEEKEND', 'ap': 150, 'flags': ['IN']}], ['rbd only', 'Y', {'rbd': 'Y', 'season': None, 'days': 'ANY', 'ap': 0, 'flags': []}], ['weekend without season', 'KW7NR', {'rbd': 'K', 'season': None, 'days': 'WEEKEND', 'ap': 7, 'flags': ['NR']}], ['unknown suffix token', 'MH14ZZ', 'ERR_TOKEN'], ['odd suffix length', 'BL3NRC', 'ERR_TOKEN'], ['non-ASCII leading letter', 'ÉL7', 'ERR_BASIS'], ['lowercase basis', 'qlx7', 'ERR_BASIS'], ['digits right after rbd', 'T21CH', {'rbd': 'T', 'season': None, 'days': 'ANY', 'ap': 21, 'flags': ['CH']}], ['sampled case 1', 'LLWNRNR', {'rbd': 'L', 'season': 'L', 'days': 'WEEKEND', 'ap': 0, 'flags': ['NR', 'NR']}], ['sampled case 2', 'NHXNRZZ', 'ERR_TOKEN'], ['sampled case 3', 'TNR', {'rbd': 'T', 'season': None, 'days': 'ANY', 'ap': 0, 'flags': ['NR']}]]]
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 |
|---|---|---|---|
| full basis | {'ap': 8, 'days': 'WEEKDAY', 'flags': ['NR', 'CH'], 'rbd': 'Q', 'season': 'L'} | {'ap': 8, 'days': 'WEEKDAY', 'flags': ['NR', 'CH'], 'rbd': 'Q', 'season': 'L'} | Passed |
| three-digit advance purchase | {'ap': 110, 'days': 'WEEKEND', 'flags': ['IN'], 'rbd': 'V', 'season': 'H'} | {'ap': 110, 'days': 'WEEKEND', 'flags': ['IN'], 'rbd': 'V', 'season': 'H'} | Passed |
| rbd only | {'ap': 0, 'days': 'ANY', 'flags': [], 'rbd': 'Y', 'season': None} | {'ap': 0, 'days': 'ANY', 'flags': [], 'rbd': 'Y', 'season': None} | Passed |
| weekend without season | {'ap': 3, 'days': 'WEEKEND', 'flags': ['NR'], 'rbd': 'K', 'season': None} | {'ap': 3, 'days': 'WEEKEND', 'flags': ['NR'], 'rbd': 'K', 'season': None} | Passed |
| unknown suffix token | ERR_TOKEN | ERR_TOKEN | Passed |
| odd suffix length | ERR_TOKEN | ERR_TOKEN | Passed |
| non-ASCII leading letter | {'ap': 7, 'days': 'ANY', 'flags': [], 'rbd': 'É', 'season': 'L'} | ERR_BASIS | Failed |
| lowercase basis | ERR_BASIS | ERR_BASIS | Passed |
| digits right after rbd | {'ap': 21, 'days': 'ANY', 'flags': ['CH'], 'rbd': 'T', 'season': None} | {'ap': 21, 'days': 'ANY', 'flags': ['CH'], 'rbd': 'T', 'season': None} | Passed |
| sampled case 1 | {'ap': 120, 'days': 'WEEKDAY', 'flags': [], 'rbd': 'N', 'season': 'H'} | {'ap': 120, 'days': 'WEEKDAY', 'flags': [], 'rbd': 'N', 'season': 'H'} | Passed |
| sampled case 2 | ERR_BASIS | ERR_BASIS | Passed |
| sampled case 3 | {'ap': 0, 'days': 'WEEKEND', 'flags': [], 'rbd': 'T', 'season': 'H'} | {'ap': 0, 'days': 'WEEKEND', 'flags': [], 'rbd': 'T', 'season': 'H'} | Passed |
SHA-256 / 11cf2fde28429f66945248a7d8d48594a960edf11dfb305dcb186a8037cb4150
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
s = x
if not s or not ('A' <= s[0] <= 'Z'): return 'ERR_BASIS'
out = {'rbd': s[0], 'season': None, 'days': 'ANY', 'ap': 0, 'flags': []}
i = 1
if i < len(s) and s[i] in 'HL':
out['season'] = s[i]
i += 1
if i < len(s) and s[i] in 'WX':
out['days'] = 'WEEKEND' if s[i] == 'W' else 'WEEKDAY'
i += 1
j = i
while j < len(s) and s[j].isdigit():
j += 1
out['ap'] = int(s[i:j]) if j > i else 0
rest = s[j:]
if len(rest) % 2: return 'ERR_TOKEN'
for k in range(0, len(rest), 2):
tok = rest[k:k + 2]
if tok not in ('CH', 'IN', 'NR'): return 'ERR_TOKEN'
out['flags'].append(tok)
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['full basis', 'QLX8NRCH', {'rbd': 'Q', 'season': 'L', 'days': 'WEEKDAY', 'ap': 8, 'flags': ['NR', 'CH']}], ['three-digit advance purchase', 'VHW110IN', {'rbd': 'V', 'season': 'H', 'days': 'WEEKEND', 'ap': 110, 'flags': ['IN']}], ['rbd only', 'Y', {'rbd': 'Y', 'season': None, 'days': 'ANY', 'ap': 0, 'flags': []}], ['weekend without season', 'KW3NR', {'rbd': 'K', 'season': None, 'days': 'WEEKEND', 'ap': 3, 'flags': ['NR']}], ['unknown suffix token', 'MH14ZZ', 'ERR_TOKEN'], ['odd suffix length', 'BL3NRC', 'ERR_TOKEN'], ['non-ASCII leading letter', 'ÉL7', 'ERR_BASIS'], ['lowercase basis', 'qlx7', 'ERR_BASIS'], ['digits right after rbd', 'T21CH', {'rbd': 'T', 'season': None, 'days': 'ANY', 'ap': 21, 'flags': ['CH']}], ['sampled case 1', 'NHX120', {'rbd': 'N', 'season': 'H', 'days': 'WEEKDAY', 'ap': 120, 'flags': []}], ['sampled case 2', 'qX14C', 'ERR_BASIS'], ['sampled case 3', 'THW', {'rbd': 'T', 'season': 'H', 'days': 'WEEKEND', 'ap': 0, 'flags': []}]], [['full basis', 'QLX9NRCH', {'rbd': 'Q', 'season': 'L', 'days': 'WEEKDAY', 'ap': 9, 'flags': ['NR', 'CH']}], ['three-digit advance purchase', 'VHW120IN', {'rbd': 'V', 'season': 'H', 'days': 'WEEKEND', 'ap': 120, 'flags': ['IN']}], ['rbd only', 'Y', {'rbd': 'Y', 'season': None, 'days': 'ANY', 'ap': 0, 'flags': []}], ['weekend without season', 'KW4NR', {'rbd': 'K', 'season': None, 'days': 'WEEKEND', 'ap': 4, 'flags': ['NR']}], ['unknown suffix token', 'MH14ZZ', 'ERR_TOKEN'], ['odd suffix length', 'BL3NRC', 'ERR_TOKEN'], ['non-ASCII leading letter', 'ÉL7', 'ERR_BASIS'], ['lowercase basis', 'qlx7', 'ERR_BASIS'], ['digits right after rbd', 'T21CH', {'rbd': 'T', 'season': None, 'days': 'ANY', 'ap': 21, 'flags': ['CH']}], ['sampled case 1', '7W1', 'ERR_BASIS'], ['sampled case 2', 'q1', 'ERR_BASIS'], ['sampled case 3', 'qHXZZ', 'ERR_BASIS']], [['full basis', 'QLX10NRCH', {'rbd': 'Q', 'season': 'L', 'days': 'WEEKDAY', 'ap': 10, 'flags': ['NR', 'CH']}], ['three-digit advance purchase', 'VHW130IN', {'rbd': 'V', 'season': 'H', 'days': 'WEEKEND', 'ap': 130, 'flags': ['IN']}], ['rbd only', 'Y', {'rbd': 'Y', 'season': None, 'days': 'ANY', 'ap': 0, 'flags': []}], ['weekend without season', 'KW5NR', {'rbd': 'K', 'season': None, 'days': 'WEEKEND', 'ap': 5, 'flags': ['NR']}], ['unknown suffix token', 'MH14ZZ', 'ERR_TOKEN'], ['odd suffix length', 'BL3NRC', 'ERR_TOKEN'], ['non-ASCII leading letter', 'ÉL7', 'ERR_BASIS'], ['lowercase basis', 'qlx7', 'ERR_BASIS'], ['digits right after rbd', 'T21CH', {'rbd': 'T', 'season': None, 'days': 'ANY', 'ap': 21, 'flags': ['CH']}], ['sampled case 1', 'VLXINC', 'ERR_TOKEN'], ['sampled case 2', 'QHW30CH', {'rbd': 'Q', 'season': 'H', 'days': 'WEEKEND', 'ap': 30, 'flags': ['CH']}], ['sampled case 3', 'B14CHIN', {'rbd': 'B', 'season': None, 'days': 'ANY', 'ap': 14, 'flags': ['CH', 'IN']}]], [['full basis', 'QLX11NRCH', {'rbd': 'Q', 'season': 'L', 'days': 'WEEKDAY', 'ap': 11, 'flags': ['NR', 'CH']}], ['three-digit advance purchase', 'VHW140IN', {'rbd': 'V', 'season': 'H', 'days': 'WEEKEND', 'ap': 140, 'flags': ['IN']}], ['rbd only', 'Y', {'rbd': 'Y', 'season': None, 'days': 'ANY', 'ap': 0, 'flags': []}], ['weekend without season', 'KW6NR', {'rbd': 'K', 'season': None, 'days': 'WEEKEND', 'ap': 6, 'flags': ['NR']}], ['unknown suffix token', 'MH14ZZ', 'ERR_TOKEN'], ['odd suffix length', 'BL3NRC', 'ERR_TOKEN'], ['non-ASCII leading letter', 'ÉL7', 'ERR_BASIS'], ['lowercase basis', 'qlx7', 'ERR_BASIS'], ['digits right after rbd', 'T21CH', {'rbd': 'T', 'season': None, 'days': 'ANY', 'ap': 21, 'flags': ['CH']}], ['sampled case 1', 'MZZIN', 'ERR_TOKEN'], ['sampled case 2', 'MLC', 'ERR_TOKEN'], ['sampled case 3', 'THIN', {'rbd': 'T', 'season': 'H', 'days': 'ANY', 'ap': 0, 'flags': ['IN']}]], [['full basis', 'QLX12NRCH', {'rbd': 'Q', 'season': 'L', 'days': 'WEEKDAY', 'ap': 12, 'flags': ['NR', 'CH']}], ['three-digit advance purchase', 'VHW150IN', {'rbd': 'V', 'season': 'H', 'days': 'WEEKEND', 'ap': 150, 'flags': ['IN']}], ['rbd only', 'Y', {'rbd': 'Y', 'season': None, 'days': 'ANY', 'ap': 0, 'flags': []}], ['weekend without season', 'KW7NR', {'rbd': 'K', 'season': None, 'days': 'WEEKEND', 'ap': 7, 'flags': ['NR']}], ['unknown suffix token', 'MH14ZZ', 'ERR_TOKEN'], ['odd suffix length', 'BL3NRC', 'ERR_TOKEN'], ['non-ASCII leading letter', 'ÉL7', 'ERR_BASIS'], ['lowercase basis', 'qlx7', 'ERR_BASIS'], ['digits right after rbd', 'T21CH', {'rbd': 'T', 'season': None, 'days': 'ANY', 'ap': 21, 'flags': ['CH']}], ['sampled case 1', 'LLWNRNR', {'rbd': 'L', 'season': 'L', 'days': 'WEEKEND', 'ap': 0, 'flags': ['NR', 'NR']}], ['sampled case 2', 'NHXNRZZ', 'ERR_TOKEN'], ['sampled case 3', 'TNR', {'rbd': 'T', 'season': None, 'days': 'ANY', 'ap': 0, 'flags': ['NR']}]]]
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 |
|---|---|---|---|
| full basis | {'ap': 8, 'days': 'WEEKDAY', 'flags': ['NR', 'CH'], 'rbd': 'Q', 'season': 'L'} | {'ap': 8, 'days': 'WEEKDAY', 'flags': ['NR', 'CH'], 'rbd': 'Q', 'season': 'L'} | Passed |
| three-digit advance purchase | {'ap': 110, 'days': 'WEEKEND', 'flags': ['IN'], 'rbd': 'V', 'season': 'H'} | {'ap': 110, 'days': 'WEEKEND', 'flags': ['IN'], 'rbd': 'V', 'season': 'H'} | Passed |
| rbd only | {'ap': 0, 'days': 'ANY', 'flags': [], 'rbd': 'Y', 'season': None} | {'ap': 0, 'days': 'ANY', 'flags': [], 'rbd': 'Y', 'season': None} | Passed |
| weekend without season | {'ap': 3, 'days': 'WEEKEND', 'flags': ['NR'], 'rbd': 'K', 'season': None} | {'ap': 3, 'days': 'WEEKEND', 'flags': ['NR'], 'rbd': 'K', 'season': None} | Passed |
| unknown suffix token | ERR_TOKEN | ERR_TOKEN | Passed |
| odd suffix length | ERR_TOKEN | ERR_TOKEN | Passed |
| non-ASCII leading letter | ERR_BASIS | ERR_BASIS | Passed |
| lowercase basis | ERR_BASIS | ERR_BASIS | Passed |
| digits right after rbd | {'ap': 21, 'days': 'ANY', 'flags': ['CH'], 'rbd': 'T', 'season': None} | {'ap': 21, 'days': 'ANY', 'flags': ['CH'], 'rbd': 'T', 'season': None} | Passed |
| sampled case 1 | {'ap': 120, 'days': 'WEEKDAY', 'flags': [], 'rbd': 'N', 'season': 'H'} | {'ap': 120, 'days': 'WEEKDAY', 'flags': [], 'rbd': 'N', 'season': 'H'} | Passed |
| sampled case 2 | ERR_BASIS | ERR_BASIS | Passed |
| sampled case 3 | {'ap': 0, 'days': 'WEEKEND', 'flags': [], 'rbd': 'T', 'season': 'H'} | {'ap': 0, 'days': 'WEEKEND', 'flags': [], 'rbd': 'T', 'season': 'H'} | Passed |
SHA-256 / 5de9b405b2165848e4f3e4a27bdd92ef4850af13db3e71daaeceaff2c4310abb
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:46.508103+00:00.
Case digest / 8450de4cd147c0a387132d279c595756fd68b2ea05b9cccbae06989085c50004