FAILURE MAP
← Case archive

FA-79236 / Image orientation metadata / Open access

Double-rotation prediction composes transforms in reverse order · case 01

The upload checker mispredicts mirrored photos that were baked and then rotated again by the browser.

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

ROOT CAUSE

The metadata transform is applied before the baked one when composing.

VERIFIED REPAIR

Compose so the renderer transform acts after the baked pixels.

Unsuccessful approach: Adding quarter-turn counts ignores that a mirror reverses the direction of earlier rotations.

Case contract

Predict what a browser shows for a photo that went through an upload pipeline. Input {tag, baked, reset, stripped, css, cross_origin}. Baking applies the tag to the pixels; the remaining tag is 1 if metadata was stripped or if baking also reset the tag, else the original tag. The renderer applies the remaining tag when css is "from-image" or the image is cross-origin (image-orientation: none is ignored cross-origin). Finally the viewer applies its own extra orientation (default 1). Orientations are (k clockwise quarter turns after m mirrors), with applying B after A giving k = k2 + (-k1 if m2 else k1). Invalid tags count as 1. Return [shown_tag, shown == tag].

Why this case matters

Camera, phone and scanner images carry an orientation hint separately from the stored pixels; galleries, thumbnailers, editors and upload pipelines must interpret it consistently or photos appear sideways, mirrored or doubly rotated.

1 / The failure

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

N = 1
observations = []
def solve(p):
    to_km = {1: (0, 0), 2: (0, 1), 3: (2, 0), 4: (2, 1), 5: (3, 1), 6: (1, 0), 7: (1, 1), 8: (3, 0)}
    from_km = {v: t for t, v in to_km.items()}
    def compose(first, second):
        k1, m1 = to_km[first]
        k2, m2 = to_km[second]
        k = (k1 + (-k2 if m1 else k2)) % 4
        return from_km[(k, m1 ^ m2)]
    tag = p['tag'] if p['tag'] in to_km else 1
    pixels = tag if p['baked'] else 1
    if p['stripped']:
        meta = 1
    elif p['baked'] and p['reset']:
        meta = 1
    else:
        meta = tag
    honored = p['css'] == 'from-image' or p['cross_origin']
    shown = compose(compose(pixels, meta if honored else 1), p.get('extra', 1))
    return [shown, shown == tag]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[[{'tag': 5, 'baked': True, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 6}, [2, False]], [{'tag': 7, 'baked': True, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 1}, [1, False]], [{'tag': 7, 'baked': True, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 2}, [8, False]], [{'tag': 7, 'baked': True, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 3}, [5, False]], [{'tag': 2, 'baked': True, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 6}, [6, False]], [{'tag': 2, 'baked': True, 'reset': True, 'stripped': True, 'css': 'from-image', 'cross_origin': False, 'extra': 1}, [2, True]], [{'tag': 1, 'baked': False, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 8}, [8, False]], [{'tag': 8, 'baked': False, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 2}, [7, False]]], [[{'tag': 8, 'baked': True, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 5}, [2, False]], [{'tag': 8, 'baked': True, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 2}, [7, False]], [{'tag': 6, 'baked': True, 'reset': False, 'stripped': True, 'css': 'from-image', 'cross_origin': False, 'extra': 8}, [1, False]], [{'tag': 6, 'baked': False, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 8}, [1, False]], [{'tag': 0, 'baked': False, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 1}, [1, True]], [{'tag': 0, 'baked': False, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 1}, [1, True]], [{'tag': 4, 'baked': False, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 2}, [3, False]], [{'tag': 5, 'baked': False, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 6}, [2, False]]], [[{'tag': 2, 'baked': False, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': True, 'extra': 6}, [7, False]], [{'tag': 5, 'baked': True, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 5}, [1, False]], [{'tag': 5, 'baked': False, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 2}, [6, False]], [{'tag': 5, 'baked': True, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 1}, [5, True]], [{'tag': 4, 'baked': True, 'reset': True, 'stripped': True, 'css': 'from-image', 'cross_origin': False, 'extra': 3}, [2, False]], [{'tag': 1, 'baked': False, 'reset': True, 'stripped': True, 'css': 'from-image', 'cross_origin': True, 'extra': 3}, [3, False]], [{'tag': 6, 'baked': False, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 3}, [3, False]], [{'tag': 4, 'baked': True, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 6}, [5, False]]], [[{'tag': 4, 'baked': True, 'reset': False, 'stripped': True, 'css': 'none', 'cross_origin': True, 'extra': 7}, [8, False]], [{'tag': 5, 'baked': True, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 5}, [5, True]], [{'tag': 8, 'baked': True, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': True, 'extra': 2}, [7, False]], [{'tag': 7, 'baked': False, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 2}, [2, False]], [{'tag': 2, 'baked': True, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 8}, [8, False]], [{'tag': 8, 'baked': True, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 1}, [8, True]], [{'tag': 6, 'baked': True, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 5}, [7, False]], [{'tag': 7, 'baked': True, 'reset': True, 'stripped': True, 'css': 'none', 'cross_origin': False, 'extra': 8}, [2, False]]], [[{'tag': 6, 'baked': True, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 5}, [4, False]], [{'tag': 7, 'baked': False, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': True, 'extra': 7}, [1, False]], [{'tag': 5, 'baked': False, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 2}, [6, False]], [{'tag': 0, 'baked': True, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 5}, [5, False]], [{'tag': 5, 'baked': True, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': True, 'extra': 1}, [5, True]], [{'tag': 8, 'baked': False, 'reset': False, 'stripped': True, 'css': 'none', 'cross_origin': True, 'extra': 2}, [2, False]], [{'tag': 5, 'baked': True, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 1}, [5, True]], [{'tag': 5, 'baked': True, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 6}, [2, False]]]]
labels = ["regression: composition order", "repair trap", "combined fault", "control", "control", "boundary", "boundary", "control"]
for i, (args, expected) in enumerate(fixtures[N-1]):
    check("%s %d" % (labels[i % len(labels)], i), 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
regression: composition order 0[4, False][2, False]Failed
repair trap 1[1, False][1, False]Passed
combined fault 2[6, False][8, False]Failed
control 3[5, False][5, False]Passed
control 4[6, False][6, False]Passed
boundary 5[2, True][2, True]Passed
boundary 6[8, False][8, False]Passed
control 7[5, False][7, False]Failed

SHA-256 / 4b545a22fc7483d39a5eec39966201207fa656d71953f618fd35111a1eacca37

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(p):
    to_km = {1: (0, 0), 2: (0, 1), 3: (2, 0), 4: (2, 1), 5: (3, 1), 6: (1, 0), 7: (1, 1), 8: (3, 0)}
    from_km = {v: t for t, v in to_km.items()}
    def compose(first, second):
        k1, m1 = to_km[first]
        k2, m2 = to_km[second]
        k = (k2 + k1) % 4
        return from_km[(k, m1 ^ m2)]
    tag = p['tag'] if p['tag'] in to_km else 1
    pixels = tag if p['baked'] else 1
    if p['stripped']:
        meta = 1
    elif p['baked'] and p['reset']:
        meta = 1
    else:
        meta = tag
    honored = p['css'] == 'from-image' or p['cross_origin']
    shown = compose(compose(pixels, meta if honored else 1), p.get('extra', 1))
    return [shown, shown == tag]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[[{'tag': 5, 'baked': True, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 6}, [2, False]], [{'tag': 7, 'baked': True, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 1}, [1, False]], [{'tag': 7, 'baked': True, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 2}, [8, False]], [{'tag': 7, 'baked': True, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 3}, [5, False]], [{'tag': 2, 'baked': True, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 6}, [6, False]], [{'tag': 2, 'baked': True, 'reset': True, 'stripped': True, 'css': 'from-image', 'cross_origin': False, 'extra': 1}, [2, True]], [{'tag': 1, 'baked': False, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 8}, [8, False]], [{'tag': 8, 'baked': False, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 2}, [7, False]]], [[{'tag': 8, 'baked': True, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 5}, [2, False]], [{'tag': 8, 'baked': True, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 2}, [7, False]], [{'tag': 6, 'baked': True, 'reset': False, 'stripped': True, 'css': 'from-image', 'cross_origin': False, 'extra': 8}, [1, False]], [{'tag': 6, 'baked': False, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 8}, [1, False]], [{'tag': 0, 'baked': False, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 1}, [1, True]], [{'tag': 0, 'baked': False, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 1}, [1, True]], [{'tag': 4, 'baked': False, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 2}, [3, False]], [{'tag': 5, 'baked': False, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 6}, [2, False]]], [[{'tag': 2, 'baked': False, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': True, 'extra': 6}, [7, False]], [{'tag': 5, 'baked': True, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 5}, [1, False]], [{'tag': 5, 'baked': False, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 2}, [6, False]], [{'tag': 5, 'baked': True, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 1}, [5, True]], [{'tag': 4, 'baked': True, 'reset': True, 'stripped': True, 'css': 'from-image', 'cross_origin': False, 'extra': 3}, [2, False]], [{'tag': 1, 'baked': False, 'reset': True, 'stripped': True, 'css': 'from-image', 'cross_origin': True, 'extra': 3}, [3, False]], [{'tag': 6, 'baked': False, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 3}, [3, False]], [{'tag': 4, 'baked': True, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 6}, [5, False]]], [[{'tag': 4, 'baked': True, 'reset': False, 'stripped': True, 'css': 'none', 'cross_origin': True, 'extra': 7}, [8, False]], [{'tag': 5, 'baked': True, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 5}, [5, True]], [{'tag': 8, 'baked': True, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': True, 'extra': 2}, [7, False]], [{'tag': 7, 'baked': False, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 2}, [2, False]], [{'tag': 2, 'baked': True, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 8}, [8, False]], [{'tag': 8, 'baked': True, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 1}, [8, True]], [{'tag': 6, 'baked': True, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 5}, [7, False]], [{'tag': 7, 'baked': True, 'reset': True, 'stripped': True, 'css': 'none', 'cross_origin': False, 'extra': 8}, [2, False]]], [[{'tag': 6, 'baked': True, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 5}, [4, False]], [{'tag': 7, 'baked': False, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': True, 'extra': 7}, [1, False]], [{'tag': 5, 'baked': False, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 2}, [6, False]], [{'tag': 0, 'baked': True, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 5}, [5, False]], [{'tag': 5, 'baked': True, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': True, 'extra': 1}, [5, True]], [{'tag': 8, 'baked': False, 'reset': False, 'stripped': True, 'css': 'none', 'cross_origin': True, 'extra': 2}, [2, False]], [{'tag': 5, 'baked': True, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 1}, [5, True]], [{'tag': 5, 'baked': True, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 6}, [2, False]]]]
labels = ["regression: composition order", "repair trap", "combined fault", "control", "control", "boundary", "boundary", "control"]
for i, (args, expected) in enumerate(fixtures[N-1]):
    check("%s %d" % (labels[i % len(labels)], i), 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
regression: composition order 0[2, False][2, False]Passed
repair trap 1[3, False][1, False]Failed
combined fault 2[6, False][8, False]Failed
control 3[5, False][5, False]Passed
control 4[6, False][6, False]Passed
boundary 5[2, True][2, True]Passed
boundary 6[8, False][8, False]Passed
control 7[5, False][7, False]Failed

SHA-256 / c944db8b53d4d4f817ff1a063669b718d71a964b76fd396ccbf09b88864311de

3 / The verified repair

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

N = 1
observations = []
def solve(p):
    to_km = {1: (0, 0), 2: (0, 1), 3: (2, 0), 4: (2, 1), 5: (3, 1), 6: (1, 0), 7: (1, 1), 8: (3, 0)}
    from_km = {v: t for t, v in to_km.items()}
    def compose(first, second):
        k1, m1 = to_km[first]
        k2, m2 = to_km[second]
        k = (k2 + (-k1 if m2 else k1)) % 4
        return from_km[(k, m1 ^ m2)]
    tag = p['tag'] if p['tag'] in to_km else 1
    pixels = tag if p['baked'] else 1
    if p['stripped']:
        meta = 1
    elif p['baked'] and p['reset']:
        meta = 1
    else:
        meta = tag
    honored = p['css'] == 'from-image' or p['cross_origin']
    shown = compose(compose(pixels, meta if honored else 1), p.get('extra', 1))
    return [shown, shown == tag]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[[{'tag': 5, 'baked': True, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 6}, [2, False]], [{'tag': 7, 'baked': True, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 1}, [1, False]], [{'tag': 7, 'baked': True, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 2}, [8, False]], [{'tag': 7, 'baked': True, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 3}, [5, False]], [{'tag': 2, 'baked': True, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 6}, [6, False]], [{'tag': 2, 'baked': True, 'reset': True, 'stripped': True, 'css': 'from-image', 'cross_origin': False, 'extra': 1}, [2, True]], [{'tag': 1, 'baked': False, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 8}, [8, False]], [{'tag': 8, 'baked': False, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 2}, [7, False]]], [[{'tag': 8, 'baked': True, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 5}, [2, False]], [{'tag': 8, 'baked': True, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 2}, [7, False]], [{'tag': 6, 'baked': True, 'reset': False, 'stripped': True, 'css': 'from-image', 'cross_origin': False, 'extra': 8}, [1, False]], [{'tag': 6, 'baked': False, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 8}, [1, False]], [{'tag': 0, 'baked': False, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 1}, [1, True]], [{'tag': 0, 'baked': False, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 1}, [1, True]], [{'tag': 4, 'baked': False, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 2}, [3, False]], [{'tag': 5, 'baked': False, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 6}, [2, False]]], [[{'tag': 2, 'baked': False, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': True, 'extra': 6}, [7, False]], [{'tag': 5, 'baked': True, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 5}, [1, False]], [{'tag': 5, 'baked': False, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 2}, [6, False]], [{'tag': 5, 'baked': True, 'reset': True, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 1}, [5, True]], [{'tag': 4, 'baked': True, 'reset': True, 'stripped': True, 'css': 'from-image', 'cross_origin': False, 'extra': 3}, [2, False]], [{'tag': 1, 'baked': False, 'reset': True, 'stripped': True, 'css': 'from-image', 'cross_origin': True, 'extra': 3}, [3, False]], [{'tag': 6, 'baked': False, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 3}, [3, False]], [{'tag': 4, 'baked': True, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 6}, [5, False]]], [[{'tag': 4, 'baked': True, 'reset': False, 'stripped': True, 'css': 'none', 'cross_origin': True, 'extra': 7}, [8, False]], [{'tag': 5, 'baked': True, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 5}, [5, True]], [{'tag': 8, 'baked': True, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': True, 'extra': 2}, [7, False]], [{'tag': 7, 'baked': False, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 2}, [2, False]], [{'tag': 2, 'baked': True, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 8}, [8, False]], [{'tag': 8, 'baked': True, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 1}, [8, True]], [{'tag': 6, 'baked': True, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': False, 'extra': 5}, [7, False]], [{'tag': 7, 'baked': True, 'reset': True, 'stripped': True, 'css': 'none', 'cross_origin': False, 'extra': 8}, [2, False]]], [[{'tag': 6, 'baked': True, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 5}, [4, False]], [{'tag': 7, 'baked': False, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': True, 'extra': 7}, [1, False]], [{'tag': 5, 'baked': False, 'reset': False, 'stripped': False, 'css': 'from-image', 'cross_origin': True, 'extra': 2}, [6, False]], [{'tag': 0, 'baked': True, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 5}, [5, False]], [{'tag': 5, 'baked': True, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': True, 'extra': 1}, [5, True]], [{'tag': 8, 'baked': False, 'reset': False, 'stripped': True, 'css': 'none', 'cross_origin': True, 'extra': 2}, [2, False]], [{'tag': 5, 'baked': True, 'reset': True, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 1}, [5, True]], [{'tag': 5, 'baked': True, 'reset': False, 'stripped': False, 'css': 'none', 'cross_origin': False, 'extra': 6}, [2, False]]]]
labels = ["regression: composition order", "repair trap", "combined fault", "control", "control", "boundary", "boundary", "control"]
for i, (args, expected) in enumerate(fixtures[N-1]):
    check("%s %d" % (labels[i % len(labels)], i), 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
regression: composition order 0[2, False][2, False]Passed
repair trap 1[1, False][1, False]Passed
combined fault 2[8, False][8, False]Passed
control 3[5, False][5, False]Passed
control 4[6, False][6, False]Passed
boundary 5[2, True][2, True]Passed
boundary 6[8, False][8, False]Passed
control 7[7, False][7, False]Passed

SHA-256 / 07d73e407c0229f4bbee638e25460effea646a447c460c1d69aa26e085e0975e

Verification & scope

A deterministic bounded teaching model with a stipulated contract; it makes no claim of conformance to any published specification. 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:49:42.519358+00:00.

Case digest / 618022e0c8eea42645b1ff63308dc24a4a205a9315ce663754cb745ea1667ccc