FAILURE MAP
← Case archive

FA-24916 / Filter interfaces / Open access

Only two blank endpoints remove the range constraint · case 01

Only two blank endpoints remove the range constraint is violated by the widget projection.

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

ROOT CAUSE

The empty-constraint decision uses `d['lo']=='' or d['hi']==''` instead of the stipulated range-draft projection.

VERIFIED REPAIR

Implement the declared empty-constraint projection: `d['lo']=='' and d['hi']==''`.

Unsuccessful approach: The attempted correction `d['lo'] in ('','0') and d['hi'] in ('','0')` 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: Only two blank endpoints remove the range constraint.

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':(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']=='' or 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': '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': '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': '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': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, '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': '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': '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': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 10}), ({'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': '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})], 4: [({'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': '', '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': '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': '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': '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': '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': '', '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': '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': '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': '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': 0, 'upper-open': 0}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': -5, 'lower-open': None, 'upper-handle': 0, 'upper-open': 0}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': True, '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}Failed
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': True, '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}Failed
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 / 11beecfb703c72dec040d4322e7df3f5324ecff95d96762524f91d439233a3fc

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']=='' 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'] in ('','0') and d['hi'] in ('','0')), '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': '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': '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': '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': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, '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': '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': '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': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 10}), ({'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': '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})], 4: [({'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': '', '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': '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': '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': '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': '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': '', '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': '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': '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': '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': 0, 'upper-open': 0}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': -5, 'lower-open': None, 'upper-handle': 0, 'upper-open': 0}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 / b3e0e1019d7c5f1661b635904d4ef99a12814c1dc94ba30ab774d1f699b5a7c4

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': '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': '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': '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': '0', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 0, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, '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': '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': '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': '10', 'minimum': -5, 'maximum': 20}, {'lower-open': None, 'upper-open': 10, 'endpoint-order': True, 'empty-constraint': False, 'lower-handle': -5, 'upper-handle': 10}), ({'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': '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})], 4: [({'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': '', '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': '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': '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': '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': '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': '', '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': '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': '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': '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': False, 'endpoint-order': True, 'lower-handle': -5, 'lower-open': None, 'upper-handle': 0, 'upper-open': 0}{'empty-constraint': False, 'endpoint-order': True, 'lower-handle': -5, 'lower-open': None, 'upper-handle': 0, 'upper-open': 0}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 / c30fc638deb4fbdc4d5a05ebb1e8ce71419e91bf51aa310d8a0f6cff01a13260

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

Case digest / 57ee7dda6cab844e955f42729bda1334eee2090b33973516bf6876775558433d