FAILURE MAP
← Case archive

FA-24901 / Filter interfaces / Open access

A blank lower bound is open while zero remains closed · case 01

A blank lower bound is open while zero remains closed is violated by the widget projection.

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

ROOT CAUSE

The lower-open decision uses `int(d['lo'] or 0)` instead of the stipulated range-draft projection.

VERIFIED REPAIR

Implement the declared lower-open projection: `None if d['lo']=='' else int(d['lo'])`.

Unsuccessful approach: The attempted correction `None if d['lo'] in ('','0') else int(d['lo'])` still violates the explicit contract fixtures.

Case contract

A numeric range editor preserves open ends, treats zero as a bound, and rejects reversed finite endpoints before applying. This example checks: A blank lower bound is open while zero remains closed.

Why this case matters

Filter-widget state and serialization must preserve user constraints while the view changes.

1 / The failure

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

N = 1
observations = []
def solve(d):
    return {'lower-open':(int(d['lo'] or 0)), 'upper-open':(None if d['hi']=='' else int(d['hi'])), 'endpoint-order':(d['lo']=='' or d['hi']=='' or int(d['lo'])<=int(d['hi'])), 'empty-constraint':(d['lo']=='' and d['hi']==''), 'lower-handle':(int(d['lo']) if d['lo']!='' else d['minimum']), 'upper-handle':(int(d['hi']) if d['hi']!='' else d['maximum'])}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'lo': '', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': True, 'lower-handle': -5, 'upper-handle': 20}), ({'lo': '0', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 10}), ({'lo': '2', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 20}), ({'lo': '2', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 0, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 0}), ({'lo': '2', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 2}), ({'lo': '2', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 10}), ({'lo': '10', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 20}), ({'lo': '10', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 0, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 0}), ({'lo': '10', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 2, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 2}), ({'lo': '10', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 10})], 2: [({'lo': '', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 0}), ({'lo': '0', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 2}), ({'lo': '10', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 2, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 2}), ({'lo': '10', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 10}), ({'lo': '', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': True, 'lower-handle': -5, 'upper-handle': 20}), ({'lo': '', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 2}), ({'lo': '', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 10}), ({'lo': '0', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 20}), ({'lo': '0', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 0}), ({'lo': '0', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 10})], 3: [({'lo': '', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 2}), ({'lo': '0', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 0}), ({'lo': '0', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 2}), ({'lo': '0', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 10}), ({'lo': '2', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 20}), ({'lo': '2', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 0, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 0}), ({'lo': '2', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 2}), ({'lo': '2', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 10}), ({'lo': '10', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 20}), ({'lo': '10', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 0, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 0})], 4: [({'lo': '', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 10}), ({'lo': '0', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 20}), ({'lo': '10', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 20}), ({'lo': '10', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 0, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 0}), ({'lo': '10', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 2, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 2}), ({'lo': '10', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 10}), ({'lo': '', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': True, 'lower-handle': -5, 'upper-handle': 20}), ({'lo': '', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 0}), ({'lo': '', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 2}), ({'lo': '0', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 0})], 5: [({'lo': '', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': True, 'lower-handle': -5, 'upper-handle': 20}), ({'lo': '0', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 10}), ({'lo': '', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 10}), ({'lo': '0', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 20}), ({'lo': '0', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 0}), ({'lo': '0', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 2}), ({'lo': '2', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 20}), ({'lo': '2', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 0, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 0}), ({'lo': '2', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 2}), ({'lo': '2', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 10})]}
for index, (data, expected) in enumerate(fixtures[N]):
    check("contract fixture " + str(index), solve(data), 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
contract fixture 0{'empty-constraint': True, 'endpoint-order': True, 'lower-handle': -5, 'lower-open': 0, 'upper-handle': 20, 'upper-open': None}{'empty-constraint': True, 'endpoint-order': True, 'lower-handle': -5, 'lower-open': None, 'upper-handle': 20, 'upper-open': None}Failed
contract fixture 1{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 0, 'lower-open': 0, 'upper-handle': 10, 'upper-open': 10}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 0, 'lower-open': 0, 'upper-handle': 10, 'upper-open': 10}Passed
contract fixture 2{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 20, 'upper-open': None}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 20, 'upper-open': None}Passed
contract fixture 3{'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 0, 'upper-open': 0}{'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 0, 'upper-open': 0}Passed
contract fixture 4{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 2, 'upper-open': 2}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 2, 'upper-open': 2}Passed
contract fixture 5{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 10, 'upper-open': 10}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 10, 'upper-open': 10}Passed
contract fixture 6{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 20, 'upper-open': None}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 20, 'upper-open': None}Passed
contract fixture 7{'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 0, 'upper-open': 0}{'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 0, 'upper-open': 0}Passed
contract fixture 8{'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 2, 'upper-open': 2}{'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 2, 'upper-open': 2}Passed
contract fixture 9{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 10, 'upper-open': 10}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 10, 'upper-open': 10}Passed

SHA-256 / fc00006765bdef86120e1cbb201a5125090279665ff48ce0b692a1128a267330

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(d):
    return {'lower-open':(None if d['lo'] in ('','0') else int(d['lo'])), 'upper-open':(None if d['hi']=='' else int(d['hi'])), 'endpoint-order':(d['lo']=='' or d['hi']=='' or int(d['lo'])<=int(d['hi'])), 'empty-constraint':(d['lo']=='' and d['hi']==''), 'lower-handle':(int(d['lo']) if d['lo']!='' else d['minimum']), 'upper-handle':(int(d['hi']) if d['hi']!='' else d['maximum'])}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'lo': '', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': True, 'lower-handle': -5, 'upper-handle': 20}), ({'lo': '0', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 10}), ({'lo': '2', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 20}), ({'lo': '2', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 0, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 0}), ({'lo': '2', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 2}), ({'lo': '2', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 10}), ({'lo': '10', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 20}), ({'lo': '10', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 0, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 0}), ({'lo': '10', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 2, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 2}), ({'lo': '10', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 10})], 2: [({'lo': '', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 0}), ({'lo': '0', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 2}), ({'lo': '10', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 2, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 2}), ({'lo': '10', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 10}), ({'lo': '', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': True, 'lower-handle': -5, 'upper-handle': 20}), ({'lo': '', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 2}), ({'lo': '', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 10}), ({'lo': '0', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 20}), ({'lo': '0', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 0}), ({'lo': '0', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 10})], 3: [({'lo': '', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 2}), ({'lo': '0', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 0}), ({'lo': '0', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 2}), ({'lo': '0', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 10}), ({'lo': '2', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 20}), ({'lo': '2', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 0, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 0}), ({'lo': '2', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 2}), ({'lo': '2', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 10}), ({'lo': '10', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 20}), ({'lo': '10', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 0, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 0})], 4: [({'lo': '', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 10}), ({'lo': '0', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 20}), ({'lo': '10', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 20}), ({'lo': '10', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 0, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 0}), ({'lo': '10', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 2, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 2}), ({'lo': '10', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 10}), ({'lo': '', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': True, 'lower-handle': -5, 'upper-handle': 20}), ({'lo': '', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 0}), ({'lo': '', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 2}), ({'lo': '0', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 0})], 5: [({'lo': '', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': True, 'lower-handle': -5, 'upper-handle': 20}), ({'lo': '0', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 10}), ({'lo': '', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 10}), ({'lo': '0', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 20}), ({'lo': '0', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 0}), ({'lo': '0', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 2}), ({'lo': '2', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 20}), ({'lo': '2', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 0, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 0}), ({'lo': '2', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 2}), ({'lo': '2', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 10})]}
for index, (data, expected) in enumerate(fixtures[N]):
    check("contract fixture " + str(index), solve(data), 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
contract fixture 0{'empty-constraint': True, 'endpoint-order': True, 'lower-handle': -5, 'lower-open': None, 'upper-handle': 20, 'upper-open': None}{'empty-constraint': True, 'endpoint-order': True, 'lower-handle': -5, 'lower-open': None, 'upper-handle': 20, 'upper-open': None}Passed
contract fixture 1{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 0, 'lower-open': None, 'upper-handle': 10, 'upper-open': 10}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 0, 'lower-open': 0, 'upper-handle': 10, 'upper-open': 10}Failed
contract fixture 2{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 20, 'upper-open': None}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 20, 'upper-open': None}Passed
contract fixture 3{'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 0, 'upper-open': 0}{'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 0, 'upper-open': 0}Passed
contract fixture 4{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 2, 'upper-open': 2}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 2, 'upper-open': 2}Passed
contract fixture 5{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 10, 'upper-open': 10}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 10, 'upper-open': 10}Passed
contract fixture 6{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 20, 'upper-open': None}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 20, 'upper-open': None}Passed
contract fixture 7{'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 0, 'upper-open': 0}{'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 0, 'upper-open': 0}Passed
contract fixture 8{'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 2, 'upper-open': 2}{'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 2, 'upper-open': 2}Passed
contract fixture 9{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 10, 'upper-open': 10}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 10, 'upper-open': 10}Passed

SHA-256 / f8951bf426db146fcf2c23b0abc6948b3943e30b86880e82a0c5a2c22e0e4d90

3 / The verified repair

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

N = 1
observations = []
def solve(d):
    return {'lower-open':(None if d['lo']=='' else int(d['lo'])), 'upper-open':(None if d['hi']=='' else int(d['hi'])), 'endpoint-order':(d['lo']=='' or d['hi']=='' or int(d['lo'])<=int(d['hi'])), 'empty-constraint':(d['lo']=='' and d['hi']==''), 'lower-handle':(int(d['lo']) if d['lo']!='' else d['minimum']), 'upper-handle':(int(d['hi']) if d['hi']!='' else d['maximum'])}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'lo': '', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': True, 'lower-handle': -5, 'upper-handle': 20}), ({'lo': '0', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 10}), ({'lo': '2', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 20}), ({'lo': '2', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 0, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 0}), ({'lo': '2', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 2}), ({'lo': '2', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 10}), ({'lo': '10', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 20}), ({'lo': '10', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 0, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 0}), ({'lo': '10', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 2, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 2}), ({'lo': '10', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 10})], 2: [({'lo': '', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 0}), ({'lo': '0', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 2}), ({'lo': '10', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 2, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 2}), ({'lo': '10', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 10}), ({'lo': '', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': True, 'lower-handle': -5, 'upper-handle': 20}), ({'lo': '', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 2}), ({'lo': '', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 10}), ({'lo': '0', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 20}), ({'lo': '0', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 0}), ({'lo': '0', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 10})], 3: [({'lo': '', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 2}), ({'lo': '0', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 0}), ({'lo': '0', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 2}), ({'lo': '0', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 10}), ({'lo': '2', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 20}), ({'lo': '2', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 0, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 0}), ({'lo': '2', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 2}), ({'lo': '2', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 10}), ({'lo': '10', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 20}), ({'lo': '10', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 0, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 0})], 4: [({'lo': '', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 10}), ({'lo': '0', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 20}), ({'lo': '10', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 20}), ({'lo': '10', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 0, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 0}), ({'lo': '10', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 2, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 2}), ({'lo': '10', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 10, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 10, 'upper-handle': 10}), ({'lo': '', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': True, 'lower-handle': -5, 'upper-handle': 20}), ({'lo': '', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 0}), ({'lo': '', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 2}), ({'lo': '0', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 0})], 5: [({'lo': '', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': True, 'lower-handle': -5, 'upper-handle': 20}), ({'lo': '0', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 10}), ({'lo': '', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 10}), ({'lo': '0', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 20}), ({'lo': '0', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 0}), ({'lo': '0', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 0, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 0, 'upper-handle': 2}), ({'lo': '2', 'hi': '', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': None, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 20}), ({'lo': '2', 'hi': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 0, 'endpoint-order': False, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 0}), ({'lo': '2', 'hi': '2', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 2, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 2}), ({'lo': '2', 'hi': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': 2, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': 2, 'upper-handle': 10})]}
for index, (data, expected) in enumerate(fixtures[N]):
    check("contract fixture " + str(index), solve(data), 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
contract fixture 0{'empty-constraint': True, 'endpoint-order': True, 'lower-handle': -5, 'lower-open': None, 'upper-handle': 20, 'upper-open': None}{'empty-constraint': True, 'endpoint-order': True, 'lower-handle': -5, 'lower-open': None, 'upper-handle': 20, 'upper-open': None}Passed
contract fixture 1{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 0, 'lower-open': 0, 'upper-handle': 10, 'upper-open': 10}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 0, 'lower-open': 0, 'upper-handle': 10, 'upper-open': 10}Passed
contract fixture 2{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 20, 'upper-open': None}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 20, 'upper-open': None}Passed
contract fixture 3{'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 0, 'upper-open': 0}{'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 0, 'upper-open': 0}Passed
contract fixture 4{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 2, 'upper-open': 2}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 2, 'upper-open': 2}Passed
contract fixture 5{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 10, 'upper-open': 10}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 10, 'upper-open': 10}Passed
contract fixture 6{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 20, 'upper-open': None}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 20, 'upper-open': None}Passed
contract fixture 7{'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 0, 'upper-open': 0}{'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 0, 'upper-open': 0}Passed
contract fixture 8{'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 2, 'upper-open': 2}{'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 2, 'upper-open': 2}Passed
contract fixture 9{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 10, 'upper-open': 10}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 10, 'upper-open': 10}Passed

SHA-256 / 48c34bbea8ccdaabd0a1860bfcf868d8b755a77fe159c0f411471bf108f16002

Verification & scope

Deterministic bounded UI-state model only; no browser, query engine, network, or production-standard conformance is claimed. 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:41:01.827329+00:00.

Case digest / 178b521f2257230e4a55857a5d68fb18b02df9ea750a1b70d34b146ef7e4f231