FAILURE MAP
← Case archive

FA-66301 / Aviation weight and balance / Open access

Loads at undefined positions silently accepted · case 01

A manifest line for a position that does not exist in this aircraft passes validation.

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

ROOT CAUSE

Unknown positions are skipped instead of being reported.

VERIFIED REPAIR

Report UNKNOWN for every load position absent from the limits table.

Unsuccessful approach: Reporting only nonzero unknown positions still accepts a mistyped position declared empty.

Case contract

Input {'limits':{position: max kg},'combined':[[[positions], max kg]],'loads':{position: kg}}. Positions are visited in sorted order: unknown -> 'UNKNOWN:p', above its own limit -> 'POS:p'. Then each combined group in given order whose summed load (absent positions count 0) exceeds its cap -> 'COMB:a+b'. Limits are inclusive.

Why this case matters

Unit load device positions have individual limits and shared limits for side-by-side or zonal groups that constrain their sum.

1 / The failure

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

N = 1
observations = []
def solve(x):
    lim = x['limits']
    loads = x['loads']
    out = []
    for pos in sorted(loads):
        if pos not in lim:
            continue
        elif loads[pos] > lim[pos]:
            out.append('POS:' + pos)
    for members, cap in x['combined']:
        tot = sum(loads.get(p, 0) for p in members)
        if tot > cap:
            out.append('COMB:' + '+'.join(members))
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['legal split load', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1200, '11R': 1110, '21P': 4000}}, []], ['pair over combined', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1400, '11R': 1301}}, ['COMB:11L+11R']], ['position exactly at limit', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12L': 1500, '12R': 1100, '31': 3000}}, []], ['single side overloaded', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1601, '11L': 0}}, ['POS:12R']], ['unknown position', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 0, '31': 2001, '11R': 500}}, ['UNKNOWN:41']], ['block over only', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 100, '11L': 1250, '11R': 1250, '12L': 1300, '12R': 1251}}, ['COMB:11L+11R+12L+12R']], ['sampled case 1', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 3000, '21P': 4600, '11L': 1500, '13L': 1000, '12L': 0, '41': 0}}, ['UNKNOWN:13L', 'UNKNOWN:41']], ['sampled case 2', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 0, '12L': 1320, '13L': 380, '12R': 0, '41': 0}}, ['UNKNOWN:13L', 'UNKNOWN:41']], ['sampled case 3', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'21P': 4600, '12R': 1500, '11R': 1500, '11L': 1500, '12L': 0}}, ['COMB:11L+11R']]], [['legal split load', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1200, '11R': 1120, '21P': 4000}}, []], ['pair over combined', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1400, '11R': 1302}}, ['COMB:11L+11R']], ['position exactly at limit', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12L': 1500, '12R': 1100, '31': 3000}}, []], ['single side overloaded', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1602, '11L': 0}}, ['POS:12R']], ['unknown position', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 0, '31': 2002, '11R': 500}}, ['UNKNOWN:41']], ['block over only', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 100, '11L': 1250, '11R': 1250, '12L': 1300, '12R': 1252}}, ['COMB:11L+11R+12L+12R']], ['sampled case 1', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11R': 610}}, []], ['sampled case 2', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1500, '13L': 250, '11R': 0}}, ['UNKNOWN:13L']], ['sampled case 3', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12L': 0}}, []]], [['legal split load', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1200, '11R': 1130, '21P': 4000}}, []], ['pair over combined', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1400, '11R': 1303}}, ['COMB:11L+11R']], ['position exactly at limit', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12L': 1500, '12R': 1100, '31': 3000}}, []], ['single side overloaded', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1603, '11L': 0}}, ['POS:12R']], ['unknown position', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 0, '31': 2003, '11R': 500}}, ['UNKNOWN:41']], ['block over only', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 100, '11L': 1250, '11R': 1250, '12L': 1300, '12R': 1253}}, ['COMB:11L+11R+12L+12R']], ['sampled case 1', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1500}}, []], ['sampled case 2', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 240, '11L': 0}}, []], ['sampled case 3', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1760, '13L': 510}}, ['POS:11L', 'UNKNOWN:13L']]], [['legal split load', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1200, '11R': 1140, '21P': 4000}}, []], ['pair over combined', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1400, '11R': 1304}}, ['COMB:11L+11R']], ['position exactly at limit', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12L': 1500, '12R': 1100, '31': 3000}}, []], ['single side overloaded', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1604, '11L': 0}}, ['POS:12R']], ['unknown position', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 0, '31': 2004, '11R': 500}}, ['UNKNOWN:41']], ['block over only', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 100, '11L': 1250, '11R': 1250, '12L': 1300, '12R': 1254}}, ['COMB:11L+11R+12L+12R']], ['sampled case 1', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 1000, '13L': 370}}, ['UNKNOWN:13L', 'UNKNOWN:41']], ['sampled case 2', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 1450, '11L': 1500}}, ['UNKNOWN:41']], ['sampled case 3', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11R': 0, '31': 3000, '12L': 0, '13L': 1000, '12R': 1500, '41': 0}}, ['UNKNOWN:13L', 'UNKNOWN:41']]], [['legal split load', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1200, '11R': 1150, '21P': 4000}}, []], ['pair over combined', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1400, '11R': 1305}}, ['COMB:11L+11R']], ['position exactly at limit', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12L': 1500, '12R': 1100, '31': 3000}}, []], ['single side overloaded', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1605, '11L': 0}}, ['POS:12R']], ['unknown position', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 0, '31': 2005, '11R': 500}}, ['UNKNOWN:41']], ['block over only', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 100, '11L': 1250, '11R': 1250, '12L': 1300, '12R': 1255}}, ['COMB:11L+11R+12L+12R']], ['sampled case 1', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'13L': 1000, '21P': 0, '12L': 1500, '31': 1070, '12R': 0}}, ['UNKNOWN:13L']], ['sampled case 2', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'13L': 0, '12R': 1500, '21P': 4600}}, ['UNKNOWN:13L']], ['sampled case 3', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 1000, '31': 360, '12R': 380, '21P': 4600, '11L': 280, '11R': 0}}, ['UNKNOWN:41']]]]
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
legal split load[][]Passed
pair over combined['COMB:11L+11R']['COMB:11L+11R']Passed
position exactly at limit[][]Passed
single side overloaded['POS:12R']['POS:12R']Passed
unknown position[]['UNKNOWN:41']Failed
block over only['COMB:11L+11R+12L+12R']['COMB:11L+11R+12L+12R']Passed
sampled case 1[]['UNKNOWN:13L', 'UNKNOWN:41']Failed
sampled case 2[]['UNKNOWN:13L', 'UNKNOWN:41']Failed
sampled case 3['COMB:11L+11R']['COMB:11L+11R']Passed

SHA-256 / a35d0613ed05755ffc602232febadc0b4201ebc2e2cfe3c11071b702ab2ba916

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(x):
    lim = x['limits']
    loads = x['loads']
    out = []
    for pos in sorted(loads):
        if pos not in lim:
            if loads[pos] > 0: out.append('UNKNOWN:' + pos)
        elif loads[pos] > lim[pos]:
            out.append('POS:' + pos)
    for members, cap in x['combined']:
        tot = sum(loads.get(p, 0) for p in members)
        if tot > cap:
            out.append('COMB:' + '+'.join(members))
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['legal split load', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1200, '11R': 1110, '21P': 4000}}, []], ['pair over combined', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1400, '11R': 1301}}, ['COMB:11L+11R']], ['position exactly at limit', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12L': 1500, '12R': 1100, '31': 3000}}, []], ['single side overloaded', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1601, '11L': 0}}, ['POS:12R']], ['unknown position', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 0, '31': 2001, '11R': 500}}, ['UNKNOWN:41']], ['block over only', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 100, '11L': 1250, '11R': 1250, '12L': 1300, '12R': 1251}}, ['COMB:11L+11R+12L+12R']], ['sampled case 1', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 3000, '21P': 4600, '11L': 1500, '13L': 1000, '12L': 0, '41': 0}}, ['UNKNOWN:13L', 'UNKNOWN:41']], ['sampled case 2', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 0, '12L': 1320, '13L': 380, '12R': 0, '41': 0}}, ['UNKNOWN:13L', 'UNKNOWN:41']], ['sampled case 3', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'21P': 4600, '12R': 1500, '11R': 1500, '11L': 1500, '12L': 0}}, ['COMB:11L+11R']]], [['legal split load', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1200, '11R': 1120, '21P': 4000}}, []], ['pair over combined', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1400, '11R': 1302}}, ['COMB:11L+11R']], ['position exactly at limit', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12L': 1500, '12R': 1100, '31': 3000}}, []], ['single side overloaded', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1602, '11L': 0}}, ['POS:12R']], ['unknown position', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 0, '31': 2002, '11R': 500}}, ['UNKNOWN:41']], ['block over only', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 100, '11L': 1250, '11R': 1250, '12L': 1300, '12R': 1252}}, ['COMB:11L+11R+12L+12R']], ['sampled case 1', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11R': 610}}, []], ['sampled case 2', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1500, '13L': 250, '11R': 0}}, ['UNKNOWN:13L']], ['sampled case 3', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12L': 0}}, []]], [['legal split load', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1200, '11R': 1130, '21P': 4000}}, []], ['pair over combined', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1400, '11R': 1303}}, ['COMB:11L+11R']], ['position exactly at limit', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12L': 1500, '12R': 1100, '31': 3000}}, []], ['single side overloaded', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1603, '11L': 0}}, ['POS:12R']], ['unknown position', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 0, '31': 2003, '11R': 500}}, ['UNKNOWN:41']], ['block over only', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 100, '11L': 1250, '11R': 1250, '12L': 1300, '12R': 1253}}, ['COMB:11L+11R+12L+12R']], ['sampled case 1', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1500}}, []], ['sampled case 2', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 240, '11L': 0}}, []], ['sampled case 3', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1760, '13L': 510}}, ['POS:11L', 'UNKNOWN:13L']]], [['legal split load', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1200, '11R': 1140, '21P': 4000}}, []], ['pair over combined', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1400, '11R': 1304}}, ['COMB:11L+11R']], ['position exactly at limit', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12L': 1500, '12R': 1100, '31': 3000}}, []], ['single side overloaded', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1604, '11L': 0}}, ['POS:12R']], ['unknown position', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 0, '31': 2004, '11R': 500}}, ['UNKNOWN:41']], ['block over only', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 100, '11L': 1250, '11R': 1250, '12L': 1300, '12R': 1254}}, ['COMB:11L+11R+12L+12R']], ['sampled case 1', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 1000, '13L': 370}}, ['UNKNOWN:13L', 'UNKNOWN:41']], ['sampled case 2', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 1450, '11L': 1500}}, ['UNKNOWN:41']], ['sampled case 3', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11R': 0, '31': 3000, '12L': 0, '13L': 1000, '12R': 1500, '41': 0}}, ['UNKNOWN:13L', 'UNKNOWN:41']]], [['legal split load', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1200, '11R': 1150, '21P': 4000}}, []], ['pair over combined', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1400, '11R': 1305}}, ['COMB:11L+11R']], ['position exactly at limit', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12L': 1500, '12R': 1100, '31': 3000}}, []], ['single side overloaded', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1605, '11L': 0}}, ['POS:12R']], ['unknown position', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 0, '31': 2005, '11R': 500}}, ['UNKNOWN:41']], ['block over only', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 100, '11L': 1250, '11R': 1250, '12L': 1300, '12R': 1255}}, ['COMB:11L+11R+12L+12R']], ['sampled case 1', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'13L': 1000, '21P': 0, '12L': 1500, '31': 1070, '12R': 0}}, ['UNKNOWN:13L']], ['sampled case 2', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'13L': 0, '12R': 1500, '21P': 4600}}, ['UNKNOWN:13L']], ['sampled case 3', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 1000, '31': 360, '12R': 380, '21P': 4600, '11L': 280, '11R': 0}}, ['UNKNOWN:41']]]]
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
legal split load[][]Passed
pair over combined['COMB:11L+11R']['COMB:11L+11R']Passed
position exactly at limit[][]Passed
single side overloaded['POS:12R']['POS:12R']Passed
unknown position[]['UNKNOWN:41']Failed
block over only['COMB:11L+11R+12L+12R']['COMB:11L+11R+12L+12R']Passed
sampled case 1['UNKNOWN:13L']['UNKNOWN:13L', 'UNKNOWN:41']Failed
sampled case 2['UNKNOWN:13L']['UNKNOWN:13L', 'UNKNOWN:41']Failed
sampled case 3['COMB:11L+11R']['COMB:11L+11R']Passed

SHA-256 / 82f7f872c3c61dff1c8e48b6c135aac066c9eeaf1439922ca7988e0f95cce777

3 / The verified repair

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

N = 1
observations = []
def solve(x):
    lim = x['limits']
    loads = x['loads']
    out = []
    for pos in sorted(loads):
        if pos not in lim:
            out.append('UNKNOWN:' + pos)
        elif loads[pos] > lim[pos]:
            out.append('POS:' + pos)
    for members, cap in x['combined']:
        tot = sum(loads.get(p, 0) for p in members)
        if tot > cap:
            out.append('COMB:' + '+'.join(members))
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['legal split load', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1200, '11R': 1110, '21P': 4000}}, []], ['pair over combined', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1400, '11R': 1301}}, ['COMB:11L+11R']], ['position exactly at limit', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12L': 1500, '12R': 1100, '31': 3000}}, []], ['single side overloaded', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1601, '11L': 0}}, ['POS:12R']], ['unknown position', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 0, '31': 2001, '11R': 500}}, ['UNKNOWN:41']], ['block over only', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 100, '11L': 1250, '11R': 1250, '12L': 1300, '12R': 1251}}, ['COMB:11L+11R+12L+12R']], ['sampled case 1', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 3000, '21P': 4600, '11L': 1500, '13L': 1000, '12L': 0, '41': 0}}, ['UNKNOWN:13L', 'UNKNOWN:41']], ['sampled case 2', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 0, '12L': 1320, '13L': 380, '12R': 0, '41': 0}}, ['UNKNOWN:13L', 'UNKNOWN:41']], ['sampled case 3', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'21P': 4600, '12R': 1500, '11R': 1500, '11L': 1500, '12L': 0}}, ['COMB:11L+11R']]], [['legal split load', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1200, '11R': 1120, '21P': 4000}}, []], ['pair over combined', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1400, '11R': 1302}}, ['COMB:11L+11R']], ['position exactly at limit', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12L': 1500, '12R': 1100, '31': 3000}}, []], ['single side overloaded', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1602, '11L': 0}}, ['POS:12R']], ['unknown position', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 0, '31': 2002, '11R': 500}}, ['UNKNOWN:41']], ['block over only', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 100, '11L': 1250, '11R': 1250, '12L': 1300, '12R': 1252}}, ['COMB:11L+11R+12L+12R']], ['sampled case 1', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11R': 610}}, []], ['sampled case 2', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1500, '13L': 250, '11R': 0}}, ['UNKNOWN:13L']], ['sampled case 3', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12L': 0}}, []]], [['legal split load', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1200, '11R': 1130, '21P': 4000}}, []], ['pair over combined', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1400, '11R': 1303}}, ['COMB:11L+11R']], ['position exactly at limit', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12L': 1500, '12R': 1100, '31': 3000}}, []], ['single side overloaded', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1603, '11L': 0}}, ['POS:12R']], ['unknown position', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 0, '31': 2003, '11R': 500}}, ['UNKNOWN:41']], ['block over only', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 100, '11L': 1250, '11R': 1250, '12L': 1300, '12R': 1253}}, ['COMB:11L+11R+12L+12R']], ['sampled case 1', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1500}}, []], ['sampled case 2', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 240, '11L': 0}}, []], ['sampled case 3', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1760, '13L': 510}}, ['POS:11L', 'UNKNOWN:13L']]], [['legal split load', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1200, '11R': 1140, '21P': 4000}}, []], ['pair over combined', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1400, '11R': 1304}}, ['COMB:11L+11R']], ['position exactly at limit', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12L': 1500, '12R': 1100, '31': 3000}}, []], ['single side overloaded', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1604, '11L': 0}}, ['POS:12R']], ['unknown position', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 0, '31': 2004, '11R': 500}}, ['UNKNOWN:41']], ['block over only', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 100, '11L': 1250, '11R': 1250, '12L': 1300, '12R': 1254}}, ['COMB:11L+11R+12L+12R']], ['sampled case 1', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 1000, '13L': 370}}, ['UNKNOWN:13L', 'UNKNOWN:41']], ['sampled case 2', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 1450, '11L': 1500}}, ['UNKNOWN:41']], ['sampled case 3', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11R': 0, '31': 3000, '12L': 0, '13L': 1000, '12R': 1500, '41': 0}}, ['UNKNOWN:13L', 'UNKNOWN:41']]], [['legal split load', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1200, '11R': 1150, '21P': 4000}}, []], ['pair over combined', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'11L': 1400, '11R': 1305}}, ['COMB:11L+11R']], ['position exactly at limit', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12L': 1500, '12R': 1100, '31': 3000}}, []], ['single side overloaded', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'12R': 1605, '11L': 0}}, ['POS:12R']], ['unknown position', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 0, '31': 2005, '11R': 500}}, ['UNKNOWN:41']], ['block over only', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'31': 100, '11L': 1250, '11R': 1250, '12L': 1300, '12R': 1255}}, ['COMB:11L+11R+12L+12R']], ['sampled case 1', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'13L': 1000, '21P': 0, '12L': 1500, '31': 1070, '12R': 0}}, ['UNKNOWN:13L']], ['sampled case 2', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'13L': 0, '12R': 1500, '21P': 4600}}, ['UNKNOWN:13L']], ['sampled case 3', {'limits': {'11L': 1500, '11R': 1500, '12L': 1500, '12R': 1500, '21P': 4600, '31': 3000}, 'combined': [[['11L', '11R'], 2500], [['12L', '12R'], 2600], [['11L', '11R', '12L', '12R'], 5000]], 'loads': {'41': 1000, '31': 360, '12R': 380, '21P': 4600, '11L': 280, '11R': 0}}, ['UNKNOWN:41']]]]
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
legal split load[][]Passed
pair over combined['COMB:11L+11R']['COMB:11L+11R']Passed
position exactly at limit[][]Passed
single side overloaded['POS:12R']['POS:12R']Passed
unknown position['UNKNOWN:41']['UNKNOWN:41']Passed
block over only['COMB:11L+11R+12L+12R']['COMB:11L+11R+12L+12R']Passed
sampled case 1['UNKNOWN:13L', 'UNKNOWN:41']['UNKNOWN:13L', 'UNKNOWN:41']Passed
sampled case 2['UNKNOWN:13L', 'UNKNOWN:41']['UNKNOWN:13L', 'UNKNOWN:41']Passed
sampled case 3['COMB:11L+11R']['COMB:11L+11R']Passed

SHA-256 / 1d437bad3a6afd3a8fae5ebefe736d9c10549256dce1da4e3c3b4360599f1c3f

Verification & scope

A deterministic toy loading model with stipulated constants; it is not an approved aircraft flight manual procedure and makes no claim of regulatory 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:41.897956+00:00.

Case digest / f3cbe279cdb7a885f9e6d4979047809c408f374c26c97b0c36279d191a9d9fb7