FAILURE MAP
← Case archive

FA-66296 / Aviation weight and balance / Open access

Position loaded exactly to its limit flagged · case 01

A container at exactly its position maximum is reported as an overload.

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

ROOT CAUSE

The individual position check treats the limit as exceeded when equal.

VERIFIED REPAIR

Flag only loads strictly above the position limit.

Unsuccessful approach: Comparing in hundreds of kilograms hides overloads under 100 kg.

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:
            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']], ['regression: position limit comparison', {'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': 1150, '11L': 1570, '31': 0, '21P': 860}}, ['POS:11L', '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': 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}}, []], ['regression: position limit comparison', {'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': 820, '12L': 1510}}, ['POS:12L']]], [['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']], ['regression: position limit comparison', {'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': 1540, '12L': 0, '41': 0, '11R': 1500, '13L': 0}}, ['POS:12R', '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': 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']], ['regression: position limit comparison', {'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': 720, '41': 0, '31': 1360, '11L': 1550, '11R': 1600, '21P': 4600}}, ['POS:11L', 'POS:11R', 'UNKNOWN:13L', 'UNKNOWN:41', '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': 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']], ['regression: position limit comparison', {'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, '41': 390, '21P': 1020, '31': 200, '11R': 1520}}, ['POS:11R', 'UNKNOWN:13L', '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['POS:12L', 'POS:31'][]Failed
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['POS:11L', 'UNKNOWN:13L', 'POS:21P', 'POS:31', 'UNKNOWN:41']['UNKNOWN:13L', 'UNKNOWN:41']Failed
sampled case 2['UNKNOWN:13L', 'UNKNOWN:41']['UNKNOWN:13L', 'UNKNOWN:41']Passed
sampled case 3['POS:11L', 'POS:11R', 'POS:12R', 'POS:21P', 'COMB:11L+11R']['COMB:11L+11R']Failed
regression: position limit comparison['POS:11L', 'UNKNOWN:41']['POS:11L', 'UNKNOWN:41']Passed

SHA-256 / c89f39cebb0a717bc89b4b6933a874bbdca05c0dacdfaf9ca583c64e9b150c8e

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:
            out.append('UNKNOWN:' + pos)
        elif loads[pos] // 100 > lim[pos] // 100:
            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']], ['regression: position limit comparison', {'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': 1150, '11L': 1570, '31': 0, '21P': 860}}, ['POS:11L', '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': 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}}, []], ['regression: position limit comparison', {'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': 820, '12L': 1510}}, ['POS:12L']]], [['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']], ['regression: position limit comparison', {'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': 1540, '12L': 0, '41': 0, '11R': 1500, '13L': 0}}, ['POS:12R', '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': 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']], ['regression: position limit comparison', {'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': 720, '41': 0, '31': 1360, '11L': 1550, '11R': 1600, '21P': 4600}}, ['POS:11L', 'POS:11R', 'UNKNOWN:13L', 'UNKNOWN:41', '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': 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']], ['regression: position limit comparison', {'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, '41': 390, '21P': 1020, '31': 200, '11R': 1520}}, ['POS:11R', 'UNKNOWN:13L', '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
regression: position limit comparison['UNKNOWN:41']['POS:11L', 'UNKNOWN:41']Failed

SHA-256 / 403923b87281ffc06cbca4ba401b8ccbd8101e88d8d71871ede6669de18978ac

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']], ['regression: position limit comparison', {'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': 1150, '11L': 1570, '31': 0, '21P': 860}}, ['POS:11L', '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': 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}}, []], ['regression: position limit comparison', {'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': 820, '12L': 1510}}, ['POS:12L']]], [['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']], ['regression: position limit comparison', {'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': 1540, '12L': 0, '41': 0, '11R': 1500, '13L': 0}}, ['POS:12R', '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': 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']], ['regression: position limit comparison', {'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': 720, '41': 0, '31': 1360, '11L': 1550, '11R': 1600, '21P': 4600}}, ['POS:11L', 'POS:11R', 'UNKNOWN:13L', 'UNKNOWN:41', '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': 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']], ['regression: position limit comparison', {'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, '41': 390, '21P': 1020, '31': 200, '11R': 1520}}, ['POS:11R', 'UNKNOWN:13L', '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
regression: position limit comparison['POS:11L', 'UNKNOWN:41']['POS:11L', 'UNKNOWN:41']Passed

SHA-256 / 111635194a28b8daadba8f41e42203583fa9345cd15ad16dfab946514d6ea192

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.854839+00:00.

Case digest / 81193f04edf1230fe067276a7d5145f2597b7f24bea2de2b69e1103388c3181c