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.
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| 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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| 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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| 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