FAILURE MAP
← Case archive

FA-24856 / Filter interfaces / Open access

Cancel restores the committed snapshot without merging pending constraints · case 01

Cancel restores the committed snapshot without merging pending constraints is violated by the widget projection.

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

ROOT CAUSE

The cancel-target decision uses `{'draft':list(d['draft']),'errors':[],'open':False}` instead of the stipulated draft-transaction projection.

VERIFIED REPAIR

Implement the declared cancel-target projection: `{'draft':list(d['committed']),'errors':[],'open':False}`.

Unsuccessful approach: The attempted correction `{'draft':list(d['committed']),'errors':[],'open':True}` still violates the explicit contract fixtures.

Case contract

An Apply/Cancel filter panel keeps draft and committed constraints separate; validation and revision determine whether a draft may be published. This example checks: Cancel restores the committed snapshot without merging pending constraints.

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 {'open-copy':(list(d['committed'])), 'dirty-order':(set(d['draft']) != set(d['committed'])), 'apply-gate':(d['valid'] and d['revision']==d['base']), 'cancel-target':({'draft':list(d['draft']),'errors':[],'open':False}), 'conflict-banner':(d['revision']!=d['base'] and set(d['draft'])!=set(d['committed'])), 'apply-payload':(list(d['draft']) if d['valid'] and d['revision']==d['base'] else None)}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'committed': [], 'draft': ['b'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': [], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': ['b'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': [], 'draft': ['b', 'a'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b', 'a']}), ({'committed': ['a'], 'draft': [], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b', 'a'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b', 'a']}), ({'committed': ['a', 'b'], 'draft': [], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None})], 2: [({'committed': [], 'draft': ['b'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': [], 'draft': ['b'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b']}), ({'committed': ['a'], 'draft': [], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': []}), ({'committed': ['a'], 'draft': ['b'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b', 'a'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b', 'a'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': [], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': []}), ({'committed': ['a', 'b'], 'draft': ['b'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b', 'a'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b', 'a'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None})], 3: [({'committed': [], 'draft': ['b'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b']}), ({'committed': [], 'draft': ['b', 'a'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b', 'a'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': [], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': [], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b']}), ({'committed': ['a', 'b'], 'draft': ['b', 'a'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': [], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': [], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a'], 'draft': [], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None})], 4: [({'committed': [], 'draft': ['b'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': [], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b', 'a'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': False, 'apply-gate': True, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b', 'a']}), ({'committed': [], 'draft': [], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': ['b'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': ['b', 'a'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b', 'a']}), ({'committed': ['a'], 'draft': [], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None})], 5: [({'committed': [], 'draft': ['b', 'a'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a'], 'draft': [], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b', 'a'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': [], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': False, 'apply-gate': True, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': []}), ({'committed': [], 'draft': ['b'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': [], 'draft': ['b', 'a'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': [], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': []}), ({'committed': ['a'], 'draft': ['b'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b', 'a'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b', 'a'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None})]}
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{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': []}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': []}Failed
contract fixture 1{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': False, 'open-copy': []}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': False, 'open-copy': []}Passed
contract fixture 2{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['b'], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': []}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': []}Failed
contract fixture 3{'apply-gate': True, 'apply-payload': ['b', 'a'], 'cancel-target': {'draft': ['b', 'a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': []}{'apply-gate': True, 'apply-payload': ['b', 'a'], 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': []}Failed
contract fixture 4{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': ['a']}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': ['a']}Failed
contract fixture 5{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': ['a']}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': ['a']}Failed
contract fixture 6{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['b'], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': ['a']}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': ['a']}Failed
contract fixture 7{'apply-gate': True, 'apply-payload': ['b', 'a'], 'cancel-target': {'draft': ['b', 'a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': ['a']}{'apply-gate': True, 'apply-payload': ['b', 'a'], 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': ['a']}Failed
contract fixture 8{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': ['a', 'b']}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': ['a', 'b']}Failed
contract fixture 9{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': ['a', 'b']}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': ['a', 'b']}Failed

SHA-256 / 5332a7b227feebd035e86e570d65e705ce49f272eb17cd9164f998b6431e60b9

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(d):
    return {'open-copy':(list(d['committed'])), 'dirty-order':(set(d['draft']) != set(d['committed'])), 'apply-gate':(d['valid'] and d['revision']==d['base']), 'cancel-target':({'draft':list(d['committed']),'errors':[],'open':True}), 'conflict-banner':(d['revision']!=d['base'] and set(d['draft'])!=set(d['committed'])), 'apply-payload':(list(d['draft']) if d['valid'] and d['revision']==d['base'] else None)}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'committed': [], 'draft': ['b'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': [], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': ['b'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': [], 'draft': ['b', 'a'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b', 'a']}), ({'committed': ['a'], 'draft': [], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b', 'a'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b', 'a']}), ({'committed': ['a', 'b'], 'draft': [], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None})], 2: [({'committed': [], 'draft': ['b'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': [], 'draft': ['b'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b']}), ({'committed': ['a'], 'draft': [], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': []}), ({'committed': ['a'], 'draft': ['b'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b', 'a'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b', 'a'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': [], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': []}), ({'committed': ['a', 'b'], 'draft': ['b'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b', 'a'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b', 'a'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None})], 3: [({'committed': [], 'draft': ['b'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b']}), ({'committed': [], 'draft': ['b', 'a'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b', 'a'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': [], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': [], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b']}), ({'committed': ['a', 'b'], 'draft': ['b', 'a'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': [], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': [], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a'], 'draft': [], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None})], 4: [({'committed': [], 'draft': ['b'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': [], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b', 'a'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': False, 'apply-gate': True, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b', 'a']}), ({'committed': [], 'draft': [], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': ['b'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': ['b', 'a'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b', 'a']}), ({'committed': ['a'], 'draft': [], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None})], 5: [({'committed': [], 'draft': ['b', 'a'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a'], 'draft': [], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b', 'a'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': [], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': False, 'apply-gate': True, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': []}), ({'committed': [], 'draft': ['b'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': [], 'draft': ['b', 'a'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': [], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': []}), ({'committed': ['a'], 'draft': ['b'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b', 'a'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b', 'a'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None})]}
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{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': [], 'errors': [], 'open': True}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': []}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': []}Failed
contract fixture 1{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': [], 'errors': [], 'open': True}, 'conflict-banner': False, 'dirty-order': False, 'open-copy': []}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': False, 'open-copy': []}Failed
contract fixture 2{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': [], 'errors': [], 'open': True}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': []}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': []}Failed
contract fixture 3{'apply-gate': True, 'apply-payload': ['b', 'a'], 'cancel-target': {'draft': [], 'errors': [], 'open': True}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': []}{'apply-gate': True, 'apply-payload': ['b', 'a'], 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': []}Failed
contract fixture 4{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': True}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': ['a']}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': ['a']}Failed
contract fixture 5{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': True}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': ['a']}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': ['a']}Failed
contract fixture 6{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': True}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': ['a']}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': ['a']}Failed
contract fixture 7{'apply-gate': True, 'apply-payload': ['b', 'a'], 'cancel-target': {'draft': ['a'], 'errors': [], 'open': True}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': ['a']}{'apply-gate': True, 'apply-payload': ['b', 'a'], 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': ['a']}Failed
contract fixture 8{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': True}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': ['a', 'b']}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': ['a', 'b']}Failed
contract fixture 9{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': True}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': ['a', 'b']}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': ['a', 'b']}Failed

SHA-256 / ad524bbfcbd058d40ccaff3559b28df2b0771f7979b94ef89664a0600be15400

3 / The verified repair

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

N = 1
observations = []
def solve(d):
    return {'open-copy':(list(d['committed'])), 'dirty-order':(set(d['draft']) != set(d['committed'])), 'apply-gate':(d['valid'] and d['revision']==d['base']), 'cancel-target':({'draft':list(d['committed']),'errors':[],'open':False}), 'conflict-banner':(d['revision']!=d['base'] and set(d['draft'])!=set(d['committed'])), 'apply-payload':(list(d['draft']) if d['valid'] and d['revision']==d['base'] else None)}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'committed': [], 'draft': ['b'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': [], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': ['b'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': [], 'draft': ['b', 'a'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b', 'a']}), ({'committed': ['a'], 'draft': [], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b', 'a'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b', 'a']}), ({'committed': ['a', 'b'], 'draft': [], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None})], 2: [({'committed': [], 'draft': ['b'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': [], 'draft': ['b'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b']}), ({'committed': ['a'], 'draft': [], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': []}), ({'committed': ['a'], 'draft': ['b'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b', 'a'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b', 'a'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': [], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': []}), ({'committed': ['a', 'b'], 'draft': ['b'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b', 'a'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b', 'a'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None})], 3: [({'committed': [], 'draft': ['b'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b']}), ({'committed': [], 'draft': ['b', 'a'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b', 'a'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': [], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': [], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b']}), ({'committed': ['a', 'b'], 'draft': ['b', 'a'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': [], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': [], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a'], 'draft': [], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None})], 4: [({'committed': [], 'draft': ['b'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': [], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b', 'a'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': False, 'apply-gate': True, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b', 'a']}), ({'committed': [], 'draft': [], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': ['b'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': ['b', 'a'], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': ['b', 'a']}), ({'committed': ['a'], 'draft': [], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None})], 5: [({'committed': [], 'draft': ['b', 'a'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a'], 'draft': [], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a', 'b'], 'draft': ['b', 'a'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a', 'b'], 'dirty-order': False, 'apply-gate': False, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': [], 'draft': [], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': [], 'dirty-order': False, 'apply-gate': True, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': []}), ({'committed': [], 'draft': ['b'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': [], 'draft': ['b', 'a'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': [], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': [], 'valid': True, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': True, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': []}), ({'committed': ['a'], 'draft': ['b'], 'valid': False, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b', 'a'], 'valid': False, 'revision': 1, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'apply-payload': None}), ({'committed': ['a'], 'draft': ['b', 'a'], 'valid': True, 'revision': 2, 'base': 1}, {'open-copy': ['a'], 'dirty-order': True, 'apply-gate': False, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'apply-payload': None})]}
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{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': []}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': []}Passed
contract fixture 1{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': False, 'open-copy': []}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': False, 'open-copy': []}Passed
contract fixture 2{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': []}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': []}Passed
contract fixture 3{'apply-gate': True, 'apply-payload': ['b', 'a'], 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': []}{'apply-gate': True, 'apply-payload': ['b', 'a'], 'cancel-target': {'draft': [], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': []}Passed
contract fixture 4{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': ['a']}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': ['a']}Passed
contract fixture 5{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': ['a']}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': ['a']}Passed
contract fixture 6{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': ['a']}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': ['a']}Passed
contract fixture 7{'apply-gate': True, 'apply-payload': ['b', 'a'], 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': ['a']}{'apply-gate': True, 'apply-payload': ['b', 'a'], 'cancel-target': {'draft': ['a'], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': ['a']}Passed
contract fixture 8{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': ['a', 'b']}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': True, 'dirty-order': True, 'open-copy': ['a', 'b']}Passed
contract fixture 9{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': ['a', 'b']}{'apply-gate': False, 'apply-payload': None, 'cancel-target': {'draft': ['a', 'b'], 'errors': [], 'open': False}, 'conflict-banner': False, 'dirty-order': True, 'open-copy': ['a', 'b']}Passed

SHA-256 / 63962bc471fc50a33e2a1463df01ba993ac9b8d6c1fc84c4991f44d6b3f2d60e

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

Case digest / 192ed538d131294ebb7fc416503042a4aa23e78311f07380d5d201aaae05058a