FA-24906 / Filter interfaces / Open access
A blank upper bound is open while zero remains closed · case 01
A blank upper bound is open while zero remains closed is violated by the widget projection.
ROOT CAUSE
The upper-open decision uses `int(d['hi'] or 0)` instead of the stipulated range-draft projection.
VERIFIED REPAIR
Implement the declared upper-open projection: `None if d['hi']=='' else int(d['hi'])`.
Unsuccessful approach: The attempted correction `None if d['hi'] in ('','0') else int(d['hi'])` 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 upper 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':(None if d['lo']=='' else int(d['lo'])), 'upper-open':(int(d['hi'] or 0)), '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': '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': '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': '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': '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': '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': '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': '', '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}), ({'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})], 3: [({'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': '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}), ({'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})], 4: [({'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': '', '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': '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': '', '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})], 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': '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': '', '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': '', '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})]}
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| contract fixture 0 | {'empty-constraint': True, 'endpoint-order': True, 'lower-handle': -5, 'lower-open': None, 'upper-handle': 20, 'upper-open': 0} | {'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': 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 2 | {'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 3 | {'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 20, 'upper-open': 0} | {'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 20, 'upper-open': None} | Failed |
| contract fixture 4 | {'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 5 | {'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 6 | {'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 7 | {'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 20, 'upper-open': 0} | {'empty-constraint': False, 'endpoint-order': True, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 20, 'upper-open': None} | Failed |
| 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 / e987d3256ba183634cd05dd8369da9116a5b940c68451127d812b757b1e0700d
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'] in ('','0') 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': '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': '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': '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': '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': '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': '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': '', '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}), ({'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})], 3: [({'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': '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}), ({'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})], 4: [({'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': '', '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': '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': '', '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})], 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': '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': '', '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': '', '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})]}
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| 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': False, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 0, 'upper-open': None} | {'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 10, 'lower-open': 10, 'upper-handle': 0, 'upper-open': 0} | Failed |
| contract fixture 2 | {'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 3 | {'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 4 | {'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 0, 'upper-open': None} | {'empty-constraint': False, 'endpoint-order': False, 'lower-handle': 2, 'lower-open': 2, 'upper-handle': 0, 'upper-open': 0} | Failed |
| contract fixture 5 | {'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 6 | {'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 7 | {'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 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 / 2b4eceaa243f4f1a12f5a2a12e9d080a7c02f142a570229c941b74b41d7e4973
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': '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': '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': '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': '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': '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': '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': '', '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}), ({'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})], 3: [({'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': '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}), ({'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})], 4: [({'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': '', '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': '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': '', '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})], 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': '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': '', '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': '', '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})]}
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| 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': 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 2 | {'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 3 | {'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 4 | {'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 5 | {'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 6 | {'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 7 | {'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 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 / 8beb9574e513e6039a4c9d059783d1faf7a438389ed88d596aa558b371798608
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.827178+00:00.
Case digest / 7ea2a0354bcbf5f29d3743e5d8d7d3d1f4a005a00a82d285dca25faeb70e6c96