{"abstract":"Validation messages follow criterion identity rather than visible row index is violated by the widget projection.","category":"Filter interfaces","checks":10,"contract":"Filter validation is attached to stable criterion IDs and operand slots. Server errors belong to the submitted revision and cannot move to neighboring rows after reordering. This example checks: Validation messages follow criterion identity rather than visible row index.","evaluation_group":"s3-filter-interfaces-validation-addresses","failed_approach":"The attempted correction `[d['errors'][d['index']]['message']] if d['index']<len(d['errors']) else []` still violates the explicit contract fixtures.","family":"s3-filter-interfaces-validation-addresses-row-error","id":"FA-26041","implementations":{"attempt":{"sha256":"140eb189e185929d9108e5c7faf5fb5cca74c362006daad170648e95f2388b76","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'row-error':([d['errors'][d['index']]['message']] if d['index']<len(d['errors']) else []), 'slot-error':([e['message'] for e in d['errors'] if e['id']==d['id'] and e['slot']==d['slot']]), 'removed-row-errors':([e for e in d['errors'] if e['id'] in d['rows']]), 'server-error-revision':(d['errors'] if d['error_revision']==d['revision'] else []), 'first-invalid-row':(next((row for row in d['rows'] if any(e['id']==row for e in d['errors'])),None)), 'invalid-row-count':(len(set(e['id'] for e in d['errors'] if e['id'] in d['rows'])))}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [], 'id': 'a', 'index': 0, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'a', 'index': 1, 'slot': 'upper', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 0, 'slot': 'upper', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 1, 'slot': 'upper', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 0, 'slot': 'upper', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 1, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 1, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1})], 2: [({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': ['U'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [], 'id': 'a', 'index': 1, 'slot': 'lower', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 1, 'slot': 'lower', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 0, 'slot': 'lower', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 1, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': ['U'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 1, 'slot': 'upper', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': ['U'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'upper', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['B'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1})], 3: [({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'upper', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': ['U'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [], 'id': 'a', 'index': 1, 'slot': 'upper', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 0, 'slot': 'upper', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 1, 'slot': 'upper', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 1, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 1, 'slot': 'lower', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 1, 'slot': 'lower', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0})], 4: [({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 1, 'slot': 'lower', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 0, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 1, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'upper', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': ['U'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 1, 'slot': 'upper', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': ['U'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'upper', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['B'], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 1, 'slot': 'upper', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['B'], 'removed-row-errors': [], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': None, 'invalid-row-count': 0})], 5: [({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [], 'id': 'b', 'index': 0, 'slot': 'upper', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 0, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 1, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 1, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 1, 'slot': 'lower', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'gone', 'index': 0, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'a', 'invalid-row-count': 2})]}\nfor index, (data, expected) in enumerate(fixtures[N]):\n    check(\"contract fixture \" + str(index), solve(data), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"daa0d22527f529fb3dbac299bfe77c7ff6c2ae9cfad7c260ced92fe303f39022","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'row-error':([e['message'] for e in d['errors']]), 'slot-error':([e['message'] for e in d['errors'] if e['id']==d['id'] and e['slot']==d['slot']]), 'removed-row-errors':([e for e in d['errors'] if e['id'] in d['rows']]), 'server-error-revision':(d['errors'] if d['error_revision']==d['revision'] else []), 'first-invalid-row':(next((row for row in d['rows'] if any(e['id']==row for e in d['errors'])),None)), 'invalid-row-count':(len(set(e['id'] for e in d['errors'] if e['id'] in d['rows'])))}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [], 'id': 'a', 'index': 0, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'a', 'index': 1, 'slot': 'upper', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 0, 'slot': 'upper', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 1, 'slot': 'upper', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 0, 'slot': 'upper', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 1, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 1, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1})], 2: [({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': ['U'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [], 'id': 'a', 'index': 1, 'slot': 'lower', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 1, 'slot': 'lower', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 0, 'slot': 'lower', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 1, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': ['U'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 1, 'slot': 'upper', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': ['U'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'upper', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['B'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1})], 3: [({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'upper', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': ['U'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [], 'id': 'a', 'index': 1, 'slot': 'upper', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 0, 'slot': 'upper', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 1, 'slot': 'upper', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 1, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 1, 'slot': 'lower', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 1, 'slot': 'lower', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0})], 4: [({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 1, 'slot': 'lower', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 0, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 1, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'upper', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': ['U'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 1, 'slot': 'upper', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': ['U'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'upper', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['B'], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 1, 'slot': 'upper', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['B'], 'removed-row-errors': [], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': None, 'invalid-row-count': 0})], 5: [({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [], 'id': 'b', 'index': 0, 'slot': 'upper', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 0, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 1, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 1, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 1, 'slot': 'lower', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'gone', 'index': 0, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'a', 'invalid-row-count': 2})]}\nfor index, (data, expected) in enumerate(fixtures[N]):\n    check(\"contract fixture \" + str(index), solve(data), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"2640f899d8588a70db6f7d620e03a4a7bd855644ea7c9685ba3f015c94ef168d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'row-error':([e['message'] for e in d['errors'] if e['id']==d['id']]), 'slot-error':([e['message'] for e in d['errors'] if e['id']==d['id'] and e['slot']==d['slot']]), 'removed-row-errors':([e for e in d['errors'] if e['id'] in d['rows']]), 'server-error-revision':(d['errors'] if d['error_revision']==d['revision'] else []), 'first-invalid-row':(next((row for row in d['rows'] if any(e['id']==row for e in d['errors'])),None)), 'invalid-row-count':(len(set(e['id'] for e in d['errors'] if e['id'] in d['rows'])))}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [], 'id': 'a', 'index': 0, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'a', 'index': 1, 'slot': 'upper', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 0, 'slot': 'upper', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 1, 'slot': 'upper', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 0, 'slot': 'upper', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 1, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 1, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1})], 2: [({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': ['U'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [], 'id': 'a', 'index': 1, 'slot': 'lower', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 1, 'slot': 'lower', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 0, 'slot': 'lower', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 1, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': ['U'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 1, 'slot': 'upper', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': ['U'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'upper', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['B'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1})], 3: [({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'upper', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': ['U'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [], 'id': 'a', 'index': 1, 'slot': 'upper', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 0, 'slot': 'upper', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 1, 'slot': 'upper', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 1, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 1, 'slot': 'lower', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 1, 'slot': 'lower', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0})], 4: [({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'a', 'invalid-row-count': 2}), ({'errors': [], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'b', 'index': 1, 'slot': 'lower', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 0, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 1, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'upper', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': ['U'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 1, 'slot': 'upper', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': ['U'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'upper', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['B'], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 1, 'slot': 'upper', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['B'], 'removed-row-errors': [], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': None, 'invalid-row-count': 0})], 5: [({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [], 'id': 'b', 'index': 0, 'slot': 'upper', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 0, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [], 'id': 'gone', 'index': 1, 'slot': 'lower', 'rows': ['a', 'b'], 'error_revision': 2, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 0, 'slot': 'lower', 'rows': ['b'], 'error_revision': 1, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'a', 'index': 1, 'slot': 'lower', 'rows': ['b'], 'error_revision': 2, 'revision': 2}, {'row-error': ['U'], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': 'b', 'invalid-row-count': 1}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 0, 'slot': 'lower', 'rows': [], 'error_revision': 1, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [], 'server-error-revision': [], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'b', 'index': 1, 'slot': 'lower', 'rows': [], 'error_revision': 2, 'revision': 2}, {'row-error': ['L', 'B'], 'slot-error': ['L'], 'removed-row-errors': [], 'server-error-revision': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'first-invalid-row': None, 'invalid-row-count': 0}), ({'errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'id': 'gone', 'index': 0, 'slot': 'upper', 'rows': ['a', 'b'], 'error_revision': 1, 'revision': 2}, {'row-error': [], 'slot-error': [], 'removed-row-errors': [{'id': 'b', 'slot': 'lower', 'message': 'L'}, {'id': 'a', 'slot': 'upper', 'message': 'U'}, {'id': 'b', 'slot': 'upper', 'message': 'B'}], 'server-error-revision': [], 'first-invalid-row': 'a', 'invalid-row-count': 2})]}\nfor index, (data, expected) in enumerate(fixtures[N]):\n    check(\"contract fixture \" + str(index), solve(data), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"s3-filter-interfaces-validation-addresses-row-error","generated_at":"2026-09-29T14:41:12.293191+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Filter-widget state and serialization must preserve user constraints while the view changes.","repair":"Implement the declared row-error projection: `[e['message'] for e in d['errors'] if e['id']==d['id']]`.","root_cause":"The row-error decision uses `[e['message'] for e in d['errors']]` instead of the stipulated validation-addresses projection.","sha256":"4919b9d145f0bff1cac221e18d4f527ba15e9cad9d792f79d6a39ffa1f401ec2","title":"Validation messages follow criterion identity rather than visible row index · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.278,"exit_code":1,"observations":[{"actual":{"first-invalid-row":"a","invalid-row-count":2,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"row-error":["L"],"server-error-revision":[],"slot-error":[]},"check":"contract fixture 0","expected":{"first-invalid-row":"a","invalid-row-count":2,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"row-error":["U"],"server-error-revision":[],"slot-error":[]},"passed":false},{"actual":{"first-invalid-row":"b","invalid-row-count":1,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"b","message":"B","slot":"upper"}],"row-error":["L"],"server-error-revision":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"slot-error":[]},"check":"contract fixture 1","expected":{"first-invalid-row":"b","invalid-row-count":1,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"b","message":"B","slot":"upper"}],"row-error":["U"],"server-error-revision":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"slot-error":[]},"passed":false},{"actual":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"check":"contract fixture 2","expected":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"check":"contract fixture 3","expected":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"check":"contract fixture 4","expected":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"check":"contract fixture 5","expected":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"check":"contract fixture 6","expected":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":"a","invalid-row-count":2,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"row-error":["U"],"server-error-revision":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"slot-error":[]},"check":"contract fixture 7","expected":{"first-invalid-row":"a","invalid-row-count":2,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"row-error":["U"],"server-error-revision":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":"b","invalid-row-count":1,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"b","message":"B","slot":"upper"}],"row-error":["L"],"server-error-revision":[],"slot-error":["L"]},"check":"contract fixture 8","expected":{"first-invalid-row":"b","invalid-row-count":1,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"b","message":"B","slot":"upper"}],"row-error":["L","B"],"server-error-revision":[],"slot-error":["L"]},"passed":false},{"actual":{"first-invalid-row":"b","invalid-row-count":1,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"b","message":"B","slot":"upper"}],"row-error":["U"],"server-error-revision":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"slot-error":["L"]},"check":"contract fixture 9","expected":{"first-invalid-row":"b","invalid-row-count":1,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"b","message":"B","slot":"upper"}],"row-error":["L","B"],"server-error-revision":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"slot-error":["L"]},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"contract fixture 0\", \"actual\": {\"row-error\": [\"L\"], \"slot-error\": [], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [], \"first-invalid-row\": \"a\", \"invalid-row-count\": 2}, \"expected\": {\"row-error\": [\"U\"], \"slot-error\": [], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [], \"first-invalid-row\": \"a\", \"invalid-row-count\": 2}, \"passed\": false}, {\"check\": \"contract fixture 1\", \"actual\": {\"row-error\": [\"L\"], \"slot-error\": [], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"first-invalid-row\": \"b\", \"invalid-row-count\": 1}, \"expected\": {\"row-error\": [\"U\"], \"slot-error\": [], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"first-invalid-row\": \"b\", \"invalid-row-count\": 1}, \"passed\": false}, {\"check\": \"contract fixture 2\", \"actual\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"expected\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"passed\": true}, {\"check\": \"contract fixture 3\", \"actual\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"expected\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"passed\": true}, {\"check\": \"contract fixture 4\", \"actual\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"expected\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"passed\": true}, {\"check\": \"contract fixture 5\", \"actual\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"expected\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"passed\": true}, {\"check\": \"contract fixture 6\", \"actual\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"expected\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"passed\": true}, {\"check\": \"contract fixture 7\", \"actual\": {\"row-error\": [\"U\"], \"slot-error\": [], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"first-invalid-row\": \"a\", \"invalid-row-count\": 2}, \"expected\": {\"row-error\": [\"U\"], \"slot-error\": [], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"first-invalid-row\": \"a\", \"invalid-row-count\": 2}, \"passed\": true}, {\"check\": \"contract fixture 8\", \"actual\": {\"row-error\": [\"L\"], \"slot-error\": [\"L\"], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [], \"first-invalid-row\": \"b\", \"invalid-row-count\": 1}, \"expected\": {\"row-error\": [\"L\", \"B\"], \"slot-error\": [\"L\"], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [], \"first-invalid-row\": \"b\", \"invalid-row-count\": 1}, \"passed\": false}, {\"check\": \"contract fixture 9\", \"actual\": {\"row-error\": [\"U\"], \"slot-error\": [\"L\"], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"first-invalid-row\": \"b\", \"invalid-row-count\": 1}, \"expected\": {\"row-error\": [\"L\", \"B\"], \"slot-error\": [\"L\"], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"first-invalid-row\": \"b\", \"invalid-row-count\": 1}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.62,"exit_code":1,"observations":[{"actual":{"first-invalid-row":"a","invalid-row-count":2,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"row-error":["L","U","B"],"server-error-revision":[],"slot-error":[]},"check":"contract fixture 0","expected":{"first-invalid-row":"a","invalid-row-count":2,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"row-error":["U"],"server-error-revision":[],"slot-error":[]},"passed":false},{"actual":{"first-invalid-row":"b","invalid-row-count":1,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"b","message":"B","slot":"upper"}],"row-error":["L","U","B"],"server-error-revision":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"slot-error":[]},"check":"contract fixture 1","expected":{"first-invalid-row":"b","invalid-row-count":1,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"b","message":"B","slot":"upper"}],"row-error":["U"],"server-error-revision":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"slot-error":[]},"passed":false},{"actual":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"check":"contract fixture 2","expected":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"check":"contract fixture 3","expected":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"check":"contract fixture 4","expected":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"check":"contract fixture 5","expected":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"check":"contract fixture 6","expected":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":"a","invalid-row-count":2,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"row-error":["L","U","B"],"server-error-revision":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"slot-error":[]},"check":"contract fixture 7","expected":{"first-invalid-row":"a","invalid-row-count":2,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"row-error":["U"],"server-error-revision":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"slot-error":[]},"passed":false},{"actual":{"first-invalid-row":"b","invalid-row-count":1,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"b","message":"B","slot":"upper"}],"row-error":["L","U","B"],"server-error-revision":[],"slot-error":["L"]},"check":"contract fixture 8","expected":{"first-invalid-row":"b","invalid-row-count":1,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"b","message":"B","slot":"upper"}],"row-error":["L","B"],"server-error-revision":[],"slot-error":["L"]},"passed":false},{"actual":{"first-invalid-row":"b","invalid-row-count":1,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"b","message":"B","slot":"upper"}],"row-error":["L","U","B"],"server-error-revision":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"slot-error":["L"]},"check":"contract fixture 9","expected":{"first-invalid-row":"b","invalid-row-count":1,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"b","message":"B","slot":"upper"}],"row-error":["L","B"],"server-error-revision":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"slot-error":["L"]},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"contract fixture 0\", \"actual\": {\"row-error\": [\"L\", \"U\", \"B\"], \"slot-error\": [], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [], \"first-invalid-row\": \"a\", \"invalid-row-count\": 2}, \"expected\": {\"row-error\": [\"U\"], \"slot-error\": [], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [], \"first-invalid-row\": \"a\", \"invalid-row-count\": 2}, \"passed\": false}, {\"check\": \"contract fixture 1\", \"actual\": {\"row-error\": [\"L\", \"U\", \"B\"], \"slot-error\": [], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"first-invalid-row\": \"b\", \"invalid-row-count\": 1}, \"expected\": {\"row-error\": [\"U\"], \"slot-error\": [], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"first-invalid-row\": \"b\", \"invalid-row-count\": 1}, \"passed\": false}, {\"check\": \"contract fixture 2\", \"actual\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"expected\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"passed\": true}, {\"check\": \"contract fixture 3\", \"actual\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"expected\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"passed\": true}, {\"check\": \"contract fixture 4\", \"actual\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"expected\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"passed\": true}, {\"check\": \"contract fixture 5\", \"actual\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"expected\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"passed\": true}, {\"check\": \"contract fixture 6\", \"actual\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"expected\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"passed\": true}, {\"check\": \"contract fixture 7\", \"actual\": {\"row-error\": [\"L\", \"U\", \"B\"], \"slot-error\": [], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"first-invalid-row\": \"a\", \"invalid-row-count\": 2}, \"expected\": {\"row-error\": [\"U\"], \"slot-error\": [], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"first-invalid-row\": \"a\", \"invalid-row-count\": 2}, \"passed\": false}, {\"check\": \"contract fixture 8\", \"actual\": {\"row-error\": [\"L\", \"U\", \"B\"], \"slot-error\": [\"L\"], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [], \"first-invalid-row\": \"b\", \"invalid-row-count\": 1}, \"expected\": {\"row-error\": [\"L\", \"B\"], \"slot-error\": [\"L\"], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [], \"first-invalid-row\": \"b\", \"invalid-row-count\": 1}, \"passed\": false}, {\"check\": \"contract fixture 9\", \"actual\": {\"row-error\": [\"L\", \"U\", \"B\"], \"slot-error\": [\"L\"], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"first-invalid-row\": \"b\", \"invalid-row-count\": 1}, \"expected\": {\"row-error\": [\"L\", \"B\"], \"slot-error\": [\"L\"], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"first-invalid-row\": \"b\", \"invalid-row-count\": 1}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.775,"exit_code":0,"observations":[{"actual":{"first-invalid-row":"a","invalid-row-count":2,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"row-error":["U"],"server-error-revision":[],"slot-error":[]},"check":"contract fixture 0","expected":{"first-invalid-row":"a","invalid-row-count":2,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"row-error":["U"],"server-error-revision":[],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":"b","invalid-row-count":1,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"b","message":"B","slot":"upper"}],"row-error":["U"],"server-error-revision":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"slot-error":[]},"check":"contract fixture 1","expected":{"first-invalid-row":"b","invalid-row-count":1,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"b","message":"B","slot":"upper"}],"row-error":["U"],"server-error-revision":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"check":"contract fixture 2","expected":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"check":"contract fixture 3","expected":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"check":"contract fixture 4","expected":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"check":"contract fixture 5","expected":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"check":"contract fixture 6","expected":{"first-invalid-row":null,"invalid-row-count":0,"removed-row-errors":[],"row-error":[],"server-error-revision":[],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":"a","invalid-row-count":2,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"row-error":["U"],"server-error-revision":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"slot-error":[]},"check":"contract fixture 7","expected":{"first-invalid-row":"a","invalid-row-count":2,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"row-error":["U"],"server-error-revision":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"slot-error":[]},"passed":true},{"actual":{"first-invalid-row":"b","invalid-row-count":1,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"b","message":"B","slot":"upper"}],"row-error":["L","B"],"server-error-revision":[],"slot-error":["L"]},"check":"contract fixture 8","expected":{"first-invalid-row":"b","invalid-row-count":1,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"b","message":"B","slot":"upper"}],"row-error":["L","B"],"server-error-revision":[],"slot-error":["L"]},"passed":true},{"actual":{"first-invalid-row":"b","invalid-row-count":1,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"b","message":"B","slot":"upper"}],"row-error":["L","B"],"server-error-revision":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"slot-error":["L"]},"check":"contract fixture 9","expected":{"first-invalid-row":"b","invalid-row-count":1,"removed-row-errors":[{"id":"b","message":"L","slot":"lower"},{"id":"b","message":"B","slot":"upper"}],"row-error":["L","B"],"server-error-revision":[{"id":"b","message":"L","slot":"lower"},{"id":"a","message":"U","slot":"upper"},{"id":"b","message":"B","slot":"upper"}],"slot-error":["L"]},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"contract fixture 0\", \"actual\": {\"row-error\": [\"U\"], \"slot-error\": [], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [], \"first-invalid-row\": \"a\", \"invalid-row-count\": 2}, \"expected\": {\"row-error\": [\"U\"], \"slot-error\": [], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [], \"first-invalid-row\": \"a\", \"invalid-row-count\": 2}, \"passed\": true}, {\"check\": \"contract fixture 1\", \"actual\": {\"row-error\": [\"U\"], \"slot-error\": [], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"first-invalid-row\": \"b\", \"invalid-row-count\": 1}, \"expected\": {\"row-error\": [\"U\"], \"slot-error\": [], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"first-invalid-row\": \"b\", \"invalid-row-count\": 1}, \"passed\": true}, {\"check\": \"contract fixture 2\", \"actual\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"expected\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"passed\": true}, {\"check\": \"contract fixture 3\", \"actual\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"expected\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"passed\": true}, {\"check\": \"contract fixture 4\", \"actual\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"expected\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"passed\": true}, {\"check\": \"contract fixture 5\", \"actual\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"expected\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"passed\": true}, {\"check\": \"contract fixture 6\", \"actual\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"expected\": {\"row-error\": [], \"slot-error\": [], \"removed-row-errors\": [], \"server-error-revision\": [], \"first-invalid-row\": null, \"invalid-row-count\": 0}, \"passed\": true}, {\"check\": \"contract fixture 7\", \"actual\": {\"row-error\": [\"U\"], \"slot-error\": [], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"first-invalid-row\": \"a\", \"invalid-row-count\": 2}, \"expected\": {\"row-error\": [\"U\"], \"slot-error\": [], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"first-invalid-row\": \"a\", \"invalid-row-count\": 2}, \"passed\": true}, {\"check\": \"contract fixture 8\", \"actual\": {\"row-error\": [\"L\", \"B\"], \"slot-error\": [\"L\"], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [], \"first-invalid-row\": \"b\", \"invalid-row-count\": 1}, \"expected\": {\"row-error\": [\"L\", \"B\"], \"slot-error\": [\"L\"], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [], \"first-invalid-row\": \"b\", \"invalid-row-count\": 1}, \"passed\": true}, {\"check\": \"contract fixture 9\", \"actual\": {\"row-error\": [\"L\", \"B\"], \"slot-error\": [\"L\"], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"first-invalid-row\": \"b\", \"invalid-row-count\": 1}, \"expected\": {\"row-error\": [\"L\", \"B\"], \"slot-error\": [\"L\"], \"removed-row-errors\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"server-error-revision\": [{\"id\": \"b\", \"slot\": \"lower\", \"message\": \"L\"}, {\"id\": \"a\", \"slot\": \"upper\", \"message\": \"U\"}, {\"id\": \"b\", \"slot\": \"upper\", \"message\": \"B\"}], \"first-invalid-row\": \"b\", \"invalid-row-count\": 1}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}