FAILURE MAP
← Case archive

FA-95186 / Warehouse slotting and bin packing / Open access

Rack audit: level 5 not derated · case 01

Level 5 beams are audited against the full rating although the derate starts at level 5.

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

ROOT CAUSE

The derate condition starts above level 5.

VERIFIED REPAIR

Apply the 90% derate for levels 5 and higher.

Unsuccessful approach: Subtracting a flat 10 kg is not the 90% derate.

Case contract

loads [[bay, level, kg]]; level 0 is floor storage and loads neither beams nor uprights. Sum kg per (bay, level) and per bay. Beam capacity is beam_cap, derated to floor(90%) for levels 5 and up. Report ["BEAM", bay, level, total] when a level exceeds capacity and ["BAY", bay, 0, total] when a bay exceeds bay_cap, sorted.

Why this case matters

Rack load audits prevent beam and upright overloads in pallet racking.

1 / The failure

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

N = 1
observations = []
def solve(loads, beam_cap, bay_cap):
    beam = {}
    bay = {}
    for b, lvl, kg in loads:
        if lvl == 0:
            continue
        beam[(b, lvl)] = beam.get((b, lvl), 0) + kg
        bay[b] = bay.get(b, 0) + kg
    out = []
    for (b, lvl), t in beam.items():
        cap = beam_cap * 9 // 10 if lvl > 5 else beam_cap
        if t > cap:
            out.append(['BEAM', b, lvl, t])
    for b, t in bay.items():
        if t > bay_cap:
            out.append(['BAY', b, 0, t])
    out.sort()
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['derated level 5', [[[1, 5, 950]], 1000, 5000], [['BEAM', 1, 5, 950]]], ['beam over', [[[1, 1, 600], [1, 1, 500]], 1000, 5000], [['BEAM', 1, 1, 1100]]], ['level 4 full rating', [[[1, 4, 950]], 1000, 5000], []], ['bay over', [[[3, 1, 900], [3, 2, 900], [3, 3, 900]], 1000, 2500], [['BAY', 3, 0, 2700]]], ['beam equal ok', [[[1, 1, 500], [1, 1, 500]], 1000, 5000], []], ['floor ignored', [[[2, 0, 3000], [2, 1, 900]], 1000, 2000], []], ['generated mix 8', [[[1, 1, 300], [3, 5, 300], [3, 5, 300], [2, 4, 900], [2, 4, 1000], [1, 6, 1000]], 1000, 2000], [['BEAM', 1, 6, 1000], ['BEAM', 2, 4, 1900]]], ['generated mix 16', [[[3, 0, 1000], [2, 2, 450], [1, 6, 1000]], 1000, 2000], [['BEAM', 1, 6, 1000]]]], [['generated mix 59', [[[2, 5, 450], [3, 2, 1000], [3, 5, 1000], [2, 1, 450], [3, 6, 900], [3, 2, 300], [1, 6, 900], [2, 4, 300]], 1000, 2000], [['BAY', 3, 0, 3200], ['BEAM', 3, 2, 1300], ['BEAM', 3, 5, 1000]]], ['derated level 5', [[[1, 5, 950]], 1000, 5000], [['BEAM', 1, 5, 950]]], ['floor ignored', [[[2, 0, 3000], [2, 1, 900]], 1000, 2000], []], ['beam over', [[[1, 1, 600], [1, 1, 500]], 1000, 5000], [['BEAM', 1, 1, 1100]]], ['level 4 full rating', [[[1, 4, 950]], 1000, 5000], []], ['bay over', [[[3, 1, 900], [3, 2, 900], [3, 3, 900]], 1000, 2500], [['BAY', 3, 0, 2700]]], ['generated mix 11', [[[3, 5, 900], [2, 5, 300], [3, 5, 300], [3, 0, 500]], 1500, 4000], []], ['generated mix 19', [[[3, 6, 500], [1, 4, 1000], [2, 0, 450], [3, 1, 500], [2, 5, 900], [3, 0, 500], [1, 6, 500]], 1500, 4000], []]], [['generated mix 55', [[[3, 6, 300], [2, 1, 300], [2, 2, 900], [2, 1, 500], [2, 6, 450], [3, 5, 1000], [1, 1, 450]], 1000, 3000], [['BEAM', 3, 5, 1000]]], ['derated level 5', [[[1, 5, 950]], 1000, 5000], [['BEAM', 1, 5, 950]]], ['beam equal ok', [[[1, 1, 500], [1, 1, 500]], 1000, 5000], []], ['floor ignored', [[[2, 0, 3000], [2, 1, 900]], 1000, 2000], []], ['beam over', [[[1, 1, 600], [1, 1, 500]], 1000, 5000], [['BEAM', 1, 1, 1100]]], ['level 4 full rating', [[[1, 4, 950]], 1000, 5000], []], ['generated mix 22', [[[3, 5, 1000], [1, 6, 1000], [2, 5, 450], [2, 0, 300]], 1500, 3000], []], ['generated mix 30', [[[3, 6, 900], [2, 6, 1000], [2, 5, 450], [3, 0, 500], [1, 5, 900], [2, 6, 500], [3, 1, 450]], 1500, 2000], [['BEAM', 2, 6, 1500]]]], [['generated mix 37', [[[1, 6, 300], [1, 4, 1000], [3, 0, 1000], [1, 4, 900], [1, 4, 900], [1, 5, 1000], [3, 0, 900], [3, 0, 1000]], 1000, 3000], [['BAY', 1, 0, 4100], ['BEAM', 1, 4, 2800], ['BEAM', 1, 5, 1000]]], ['derated level 5', [[[1, 5, 950]], 1000, 5000], [['BEAM', 1, 5, 950]]], ['bay over', [[[3, 1, 900], [3, 2, 900], [3, 3, 900]], 1000, 2500], [['BAY', 3, 0, 2700]]], ['beam equal ok', [[[1, 1, 500], [1, 1, 500]], 1000, 5000], []], ['floor ignored', [[[2, 0, 3000], [2, 1, 900]], 1000, 2000], []], ['beam over', [[[1, 1, 600], [1, 1, 500]], 1000, 5000], [['BEAM', 1, 1, 1100]]], ['generated mix 33', [[[1, 5, 500], [2, 0, 450], [1, 6, 1000], [1, 5, 300]], 1000, 3000], [['BEAM', 1, 6, 1000]]], ['generated mix 42', [[[1, 0, 450], [3, 5, 900], [1, 2, 900], [1, 1, 500], [1, 0, 1000], [1, 0, 450]], 1500, 3000], []]], [['derated level 5', [[[1, 5, 950]], 1000, 5000], [['BEAM', 1, 5, 950]]], ['level 4 full rating', [[[1, 4, 950]], 1000, 5000], []], ['bay over', [[[3, 1, 900], [3, 2, 900], [3, 3, 900]], 1000, 2500], [['BAY', 3, 0, 2700]]], ['beam equal ok', [[[1, 1, 500], [1, 1, 500]], 1000, 5000], []], ['floor ignored', [[[2, 0, 3000], [2, 1, 900]], 1000, 2000], []], ['generated mix 44', [[[2, 5, 500], [1, 2, 300], [1, 4, 900], [1, 1, 1000], [3, 2, 300], [3, 2, 500]], 1000, 4000], []], ['generated mix 52', [[[1, 5, 900], [2, 0, 1000], [1, 6, 1000], [3, 5, 300], [1, 0, 450], [1, 0, 900], [2, 4, 500], [2, 0, 500]], 1000, 3000], [['BEAM', 1, 6, 1000]]], ['generated mix 60', [[[1, 4, 450], [1, 4, 900], [2, 4, 500]], 1500, 4000], []]]]
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
derated level 5[][['BEAM', 1, 5, 950]]Failed
beam over[['BEAM', 1, 1, 1100]][['BEAM', 1, 1, 1100]]Passed
level 4 full rating[][]Passed
bay over[['BAY', 3, 0, 2700]][['BAY', 3, 0, 2700]]Passed
beam equal ok[][]Passed
floor ignored[][]Passed
generated mix 8[['BEAM', 1, 6, 1000], ['BEAM', 2, 4, 1900]][['BEAM', 1, 6, 1000], ['BEAM', 2, 4, 1900]]Passed
generated mix 16[['BEAM', 1, 6, 1000]][['BEAM', 1, 6, 1000]]Passed

SHA-256 / 2f687d740b615626021d08427148cc53f05079e9de88789bbd2320781ebc0341

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(loads, beam_cap, bay_cap):
    beam = {}
    bay = {}
    for b, lvl, kg in loads:
        if lvl == 0:
            continue
        beam[(b, lvl)] = beam.get((b, lvl), 0) + kg
        bay[b] = bay.get(b, 0) + kg
    out = []
    for (b, lvl), t in beam.items():
        cap = beam_cap - 10 if lvl >= 5 else beam_cap
        if t > cap:
            out.append(['BEAM', b, lvl, t])
    for b, t in bay.items():
        if t > bay_cap:
            out.append(['BAY', b, 0, t])
    out.sort()
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['derated level 5', [[[1, 5, 950]], 1000, 5000], [['BEAM', 1, 5, 950]]], ['beam over', [[[1, 1, 600], [1, 1, 500]], 1000, 5000], [['BEAM', 1, 1, 1100]]], ['level 4 full rating', [[[1, 4, 950]], 1000, 5000], []], ['bay over', [[[3, 1, 900], [3, 2, 900], [3, 3, 900]], 1000, 2500], [['BAY', 3, 0, 2700]]], ['beam equal ok', [[[1, 1, 500], [1, 1, 500]], 1000, 5000], []], ['floor ignored', [[[2, 0, 3000], [2, 1, 900]], 1000, 2000], []], ['generated mix 8', [[[1, 1, 300], [3, 5, 300], [3, 5, 300], [2, 4, 900], [2, 4, 1000], [1, 6, 1000]], 1000, 2000], [['BEAM', 1, 6, 1000], ['BEAM', 2, 4, 1900]]], ['generated mix 16', [[[3, 0, 1000], [2, 2, 450], [1, 6, 1000]], 1000, 2000], [['BEAM', 1, 6, 1000]]]], [['generated mix 59', [[[2, 5, 450], [3, 2, 1000], [3, 5, 1000], [2, 1, 450], [3, 6, 900], [3, 2, 300], [1, 6, 900], [2, 4, 300]], 1000, 2000], [['BAY', 3, 0, 3200], ['BEAM', 3, 2, 1300], ['BEAM', 3, 5, 1000]]], ['derated level 5', [[[1, 5, 950]], 1000, 5000], [['BEAM', 1, 5, 950]]], ['floor ignored', [[[2, 0, 3000], [2, 1, 900]], 1000, 2000], []], ['beam over', [[[1, 1, 600], [1, 1, 500]], 1000, 5000], [['BEAM', 1, 1, 1100]]], ['level 4 full rating', [[[1, 4, 950]], 1000, 5000], []], ['bay over', [[[3, 1, 900], [3, 2, 900], [3, 3, 900]], 1000, 2500], [['BAY', 3, 0, 2700]]], ['generated mix 11', [[[3, 5, 900], [2, 5, 300], [3, 5, 300], [3, 0, 500]], 1500, 4000], []], ['generated mix 19', [[[3, 6, 500], [1, 4, 1000], [2, 0, 450], [3, 1, 500], [2, 5, 900], [3, 0, 500], [1, 6, 500]], 1500, 4000], []]], [['generated mix 55', [[[3, 6, 300], [2, 1, 300], [2, 2, 900], [2, 1, 500], [2, 6, 450], [3, 5, 1000], [1, 1, 450]], 1000, 3000], [['BEAM', 3, 5, 1000]]], ['derated level 5', [[[1, 5, 950]], 1000, 5000], [['BEAM', 1, 5, 950]]], ['beam equal ok', [[[1, 1, 500], [1, 1, 500]], 1000, 5000], []], ['floor ignored', [[[2, 0, 3000], [2, 1, 900]], 1000, 2000], []], ['beam over', [[[1, 1, 600], [1, 1, 500]], 1000, 5000], [['BEAM', 1, 1, 1100]]], ['level 4 full rating', [[[1, 4, 950]], 1000, 5000], []], ['generated mix 22', [[[3, 5, 1000], [1, 6, 1000], [2, 5, 450], [2, 0, 300]], 1500, 3000], []], ['generated mix 30', [[[3, 6, 900], [2, 6, 1000], [2, 5, 450], [3, 0, 500], [1, 5, 900], [2, 6, 500], [3, 1, 450]], 1500, 2000], [['BEAM', 2, 6, 1500]]]], [['generated mix 37', [[[1, 6, 300], [1, 4, 1000], [3, 0, 1000], [1, 4, 900], [1, 4, 900], [1, 5, 1000], [3, 0, 900], [3, 0, 1000]], 1000, 3000], [['BAY', 1, 0, 4100], ['BEAM', 1, 4, 2800], ['BEAM', 1, 5, 1000]]], ['derated level 5', [[[1, 5, 950]], 1000, 5000], [['BEAM', 1, 5, 950]]], ['bay over', [[[3, 1, 900], [3, 2, 900], [3, 3, 900]], 1000, 2500], [['BAY', 3, 0, 2700]]], ['beam equal ok', [[[1, 1, 500], [1, 1, 500]], 1000, 5000], []], ['floor ignored', [[[2, 0, 3000], [2, 1, 900]], 1000, 2000], []], ['beam over', [[[1, 1, 600], [1, 1, 500]], 1000, 5000], [['BEAM', 1, 1, 1100]]], ['generated mix 33', [[[1, 5, 500], [2, 0, 450], [1, 6, 1000], [1, 5, 300]], 1000, 3000], [['BEAM', 1, 6, 1000]]], ['generated mix 42', [[[1, 0, 450], [3, 5, 900], [1, 2, 900], [1, 1, 500], [1, 0, 1000], [1, 0, 450]], 1500, 3000], []]], [['derated level 5', [[[1, 5, 950]], 1000, 5000], [['BEAM', 1, 5, 950]]], ['level 4 full rating', [[[1, 4, 950]], 1000, 5000], []], ['bay over', [[[3, 1, 900], [3, 2, 900], [3, 3, 900]], 1000, 2500], [['BAY', 3, 0, 2700]]], ['beam equal ok', [[[1, 1, 500], [1, 1, 500]], 1000, 5000], []], ['floor ignored', [[[2, 0, 3000], [2, 1, 900]], 1000, 2000], []], ['generated mix 44', [[[2, 5, 500], [1, 2, 300], [1, 4, 900], [1, 1, 1000], [3, 2, 300], [3, 2, 500]], 1000, 4000], []], ['generated mix 52', [[[1, 5, 900], [2, 0, 1000], [1, 6, 1000], [3, 5, 300], [1, 0, 450], [1, 0, 900], [2, 4, 500], [2, 0, 500]], 1000, 3000], [['BEAM', 1, 6, 1000]]], ['generated mix 60', [[[1, 4, 450], [1, 4, 900], [2, 4, 500]], 1500, 4000], []]]]
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
derated level 5[][['BEAM', 1, 5, 950]]Failed
beam over[['BEAM', 1, 1, 1100]][['BEAM', 1, 1, 1100]]Passed
level 4 full rating[][]Passed
bay over[['BAY', 3, 0, 2700]][['BAY', 3, 0, 2700]]Passed
beam equal ok[][]Passed
floor ignored[][]Passed
generated mix 8[['BEAM', 1, 6, 1000], ['BEAM', 2, 4, 1900]][['BEAM', 1, 6, 1000], ['BEAM', 2, 4, 1900]]Passed
generated mix 16[['BEAM', 1, 6, 1000]][['BEAM', 1, 6, 1000]]Passed

SHA-256 / b5d29d1cdec0d2091ee280bc6b6f7f53015ea4de0f8e6ea5677b251318544676

3 / The verified repair

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

N = 1
observations = []
def solve(loads, beam_cap, bay_cap):
    beam = {}
    bay = {}
    for b, lvl, kg in loads:
        if lvl == 0:
            continue
        beam[(b, lvl)] = beam.get((b, lvl), 0) + kg
        bay[b] = bay.get(b, 0) + kg
    out = []
    for (b, lvl), t in beam.items():
        cap = beam_cap * 9 // 10 if lvl >= 5 else beam_cap
        if t > cap:
            out.append(['BEAM', b, lvl, t])
    for b, t in bay.items():
        if t > bay_cap:
            out.append(['BAY', b, 0, t])
    out.sort()
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['derated level 5', [[[1, 5, 950]], 1000, 5000], [['BEAM', 1, 5, 950]]], ['beam over', [[[1, 1, 600], [1, 1, 500]], 1000, 5000], [['BEAM', 1, 1, 1100]]], ['level 4 full rating', [[[1, 4, 950]], 1000, 5000], []], ['bay over', [[[3, 1, 900], [3, 2, 900], [3, 3, 900]], 1000, 2500], [['BAY', 3, 0, 2700]]], ['beam equal ok', [[[1, 1, 500], [1, 1, 500]], 1000, 5000], []], ['floor ignored', [[[2, 0, 3000], [2, 1, 900]], 1000, 2000], []], ['generated mix 8', [[[1, 1, 300], [3, 5, 300], [3, 5, 300], [2, 4, 900], [2, 4, 1000], [1, 6, 1000]], 1000, 2000], [['BEAM', 1, 6, 1000], ['BEAM', 2, 4, 1900]]], ['generated mix 16', [[[3, 0, 1000], [2, 2, 450], [1, 6, 1000]], 1000, 2000], [['BEAM', 1, 6, 1000]]]], [['generated mix 59', [[[2, 5, 450], [3, 2, 1000], [3, 5, 1000], [2, 1, 450], [3, 6, 900], [3, 2, 300], [1, 6, 900], [2, 4, 300]], 1000, 2000], [['BAY', 3, 0, 3200], ['BEAM', 3, 2, 1300], ['BEAM', 3, 5, 1000]]], ['derated level 5', [[[1, 5, 950]], 1000, 5000], [['BEAM', 1, 5, 950]]], ['floor ignored', [[[2, 0, 3000], [2, 1, 900]], 1000, 2000], []], ['beam over', [[[1, 1, 600], [1, 1, 500]], 1000, 5000], [['BEAM', 1, 1, 1100]]], ['level 4 full rating', [[[1, 4, 950]], 1000, 5000], []], ['bay over', [[[3, 1, 900], [3, 2, 900], [3, 3, 900]], 1000, 2500], [['BAY', 3, 0, 2700]]], ['generated mix 11', [[[3, 5, 900], [2, 5, 300], [3, 5, 300], [3, 0, 500]], 1500, 4000], []], ['generated mix 19', [[[3, 6, 500], [1, 4, 1000], [2, 0, 450], [3, 1, 500], [2, 5, 900], [3, 0, 500], [1, 6, 500]], 1500, 4000], []]], [['generated mix 55', [[[3, 6, 300], [2, 1, 300], [2, 2, 900], [2, 1, 500], [2, 6, 450], [3, 5, 1000], [1, 1, 450]], 1000, 3000], [['BEAM', 3, 5, 1000]]], ['derated level 5', [[[1, 5, 950]], 1000, 5000], [['BEAM', 1, 5, 950]]], ['beam equal ok', [[[1, 1, 500], [1, 1, 500]], 1000, 5000], []], ['floor ignored', [[[2, 0, 3000], [2, 1, 900]], 1000, 2000], []], ['beam over', [[[1, 1, 600], [1, 1, 500]], 1000, 5000], [['BEAM', 1, 1, 1100]]], ['level 4 full rating', [[[1, 4, 950]], 1000, 5000], []], ['generated mix 22', [[[3, 5, 1000], [1, 6, 1000], [2, 5, 450], [2, 0, 300]], 1500, 3000], []], ['generated mix 30', [[[3, 6, 900], [2, 6, 1000], [2, 5, 450], [3, 0, 500], [1, 5, 900], [2, 6, 500], [3, 1, 450]], 1500, 2000], [['BEAM', 2, 6, 1500]]]], [['generated mix 37', [[[1, 6, 300], [1, 4, 1000], [3, 0, 1000], [1, 4, 900], [1, 4, 900], [1, 5, 1000], [3, 0, 900], [3, 0, 1000]], 1000, 3000], [['BAY', 1, 0, 4100], ['BEAM', 1, 4, 2800], ['BEAM', 1, 5, 1000]]], ['derated level 5', [[[1, 5, 950]], 1000, 5000], [['BEAM', 1, 5, 950]]], ['bay over', [[[3, 1, 900], [3, 2, 900], [3, 3, 900]], 1000, 2500], [['BAY', 3, 0, 2700]]], ['beam equal ok', [[[1, 1, 500], [1, 1, 500]], 1000, 5000], []], ['floor ignored', [[[2, 0, 3000], [2, 1, 900]], 1000, 2000], []], ['beam over', [[[1, 1, 600], [1, 1, 500]], 1000, 5000], [['BEAM', 1, 1, 1100]]], ['generated mix 33', [[[1, 5, 500], [2, 0, 450], [1, 6, 1000], [1, 5, 300]], 1000, 3000], [['BEAM', 1, 6, 1000]]], ['generated mix 42', [[[1, 0, 450], [3, 5, 900], [1, 2, 900], [1, 1, 500], [1, 0, 1000], [1, 0, 450]], 1500, 3000], []]], [['derated level 5', [[[1, 5, 950]], 1000, 5000], [['BEAM', 1, 5, 950]]], ['level 4 full rating', [[[1, 4, 950]], 1000, 5000], []], ['bay over', [[[3, 1, 900], [3, 2, 900], [3, 3, 900]], 1000, 2500], [['BAY', 3, 0, 2700]]], ['beam equal ok', [[[1, 1, 500], [1, 1, 500]], 1000, 5000], []], ['floor ignored', [[[2, 0, 3000], [2, 1, 900]], 1000, 2000], []], ['generated mix 44', [[[2, 5, 500], [1, 2, 300], [1, 4, 900], [1, 1, 1000], [3, 2, 300], [3, 2, 500]], 1000, 4000], []], ['generated mix 52', [[[1, 5, 900], [2, 0, 1000], [1, 6, 1000], [3, 5, 300], [1, 0, 450], [1, 0, 900], [2, 4, 500], [2, 0, 500]], 1000, 3000], [['BEAM', 1, 6, 1000]]], ['generated mix 60', [[[1, 4, 450], [1, 4, 900], [2, 4, 500]], 1500, 4000], []]]]
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
derated level 5[['BEAM', 1, 5, 950]][['BEAM', 1, 5, 950]]Passed
beam over[['BEAM', 1, 1, 1100]][['BEAM', 1, 1, 1100]]Passed
level 4 full rating[][]Passed
bay over[['BAY', 3, 0, 2700]][['BAY', 3, 0, 2700]]Passed
beam equal ok[][]Passed
floor ignored[][]Passed
generated mix 8[['BEAM', 1, 6, 1000], ['BEAM', 2, 4, 1900]][['BEAM', 1, 6, 1000], ['BEAM', 2, 4, 1900]]Passed
generated mix 16[['BEAM', 1, 6, 1000]][['BEAM', 1, 6, 1000]]Passed

SHA-256 / 14646cb4b6630babfa5896849dedfcdd9b4bf3952d6267ed57355852ce0a48f0

Verification & scope

Stipulated capacities and derate; not an engineering rack load calculation. 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:52:11.385743+00:00.

Case digest / a97c012c24fe83037a29d6c9b6b3ffb7b6f34db42553e060ac26c6629c8f82cc