{"abstract":"Explicit empty text is serialized while an absent filter is omitted is violated by the widget projection.","category":"Filter interfaces","checks":10,"contract":"A filter widget owns query keys with the exact f. prefix; it must preserve route parameters and distinguish repeated values from comma-containing literals. This example checks: Explicit empty text is serialized while an absent filter is omitted.","evaluation_group":"s3-filter-interfaces-url-ownership","failed_approach":"The attempted correction `[(d['field'],d['text'])]` still violates the explicit contract fixtures.","family":"s3-filter-interfaces-url-ownership-empty-scalar","id":"FA-25071","implementations":{"attempt":{"sha256":"cf4271bfa7dd58ae923f9aba2698817422b4b1bfc05c5134902396c60210f6c6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'owned-prefix':([k for k in d['keys'] if k.startswith('f.')]), 'preserve-route':([k for k in d['keys'] if not k.startswith('f.')]), 'multi-serialize':([(d['field'],x) for x in d['values']]), 'literal-comma':(list(d['values'])), 'empty-scalar':([(d['field'],d['text'])]), 'scope-key':(d['scope']+'.'+d['field'])}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': [], 'text': '', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', '')], 'scope-key': 'left.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': [], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': [], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', 'x')], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': [], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('status', 'x')], 'scope-key': 'right.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a'], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('status', 'x')], 'scope-key': 'right.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a,b', 'c'], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a,b'), ('status', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('status', 'x')], 'scope-key': 'right.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': [], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', 'x')], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'right.tag'})], 2: [({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': [], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', '')], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [], 'scope-key': 'left.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'left.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'left.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': [], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('status', 'x')], 'scope-key': 'left.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a'], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('status', 'x')], 'scope-key': 'left.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a,b', 'c'], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a,b'), ('status', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('status', 'x')], 'scope-key': 'left.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': [], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', 'x')], 'scope-key': 'left.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'left.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'left.tag'})], 3: [({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': [], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'left.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': '', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': [], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'right.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a'], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [], 'scope-key': 'right.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a,b', 'c'], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a,b'), ('status', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [], 'scope-key': 'right.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': [], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'status', 'values': [], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'right.status'})], 4: [({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': [], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': [], 'text': '', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'left.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': [], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'left.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a'], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [], 'scope-key': 'left.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a,b', 'c'], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a,b'), ('status', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [], 'scope-key': 'left.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': [], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'left.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [], 'scope-key': 'left.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [], 'scope-key': 'left.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'status', 'values': [], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'left.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'status', 'values': ['a'], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [], 'scope-key': 'left.status'})], 5: [({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a'], 'text': '', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('tag', '')], 'scope-key': 'left.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': [], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'right.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a'], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('status', '')], 'scope-key': 'right.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a,b', 'c'], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a,b'), ('status', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('status', '')], 'scope-key': 'right.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': [], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', '')], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a'], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('tag', '')], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('tag', '')], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'status', 'values': [], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('status', '')], 'scope-key': 'right.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'status', 'values': ['a'], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('status', '')], 'scope-key': 'right.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'status', 'values': ['a,b', 'c'], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('status', 'a,b'), ('status', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('status', '')], 'scope-key': 'right.status'})]}\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":"9602ccf4e482f10437dcd13cc4892acbdeb50df96103c4273dd41d48a86ebf2b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'owned-prefix':([k for k in d['keys'] if k.startswith('f.')]), 'preserve-route':([k for k in d['keys'] if not k.startswith('f.')]), 'multi-serialize':([(d['field'],x) for x in d['values']]), 'literal-comma':(list(d['values'])), 'empty-scalar':([(d['field'],d['text'])] if d['text'] else []), 'scope-key':(d['scope']+'.'+d['field'])}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': [], 'text': '', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', '')], 'scope-key': 'left.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': [], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': [], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', 'x')], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': [], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('status', 'x')], 'scope-key': 'right.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a'], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('status', 'x')], 'scope-key': 'right.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a,b', 'c'], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a,b'), ('status', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('status', 'x')], 'scope-key': 'right.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': [], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', 'x')], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'right.tag'})], 2: [({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': [], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', '')], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [], 'scope-key': 'left.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'left.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'left.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': [], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('status', 'x')], 'scope-key': 'left.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a'], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('status', 'x')], 'scope-key': 'left.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a,b', 'c'], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a,b'), ('status', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('status', 'x')], 'scope-key': 'left.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': [], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', 'x')], 'scope-key': 'left.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'left.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'left.tag'})], 3: [({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': [], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'left.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': '', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': [], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'right.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a'], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [], 'scope-key': 'right.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a,b', 'c'], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a,b'), ('status', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [], 'scope-key': 'right.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': [], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'status', 'values': [], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'right.status'})], 4: [({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': [], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': [], 'text': '', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'left.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': [], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'left.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a'], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [], 'scope-key': 'left.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a,b', 'c'], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a,b'), ('status', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [], 'scope-key': 'left.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': [], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'left.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [], 'scope-key': 'left.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [], 'scope-key': 'left.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'status', 'values': [], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'left.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'status', 'values': ['a'], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [], 'scope-key': 'left.status'})], 5: [({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a'], 'text': '', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('tag', '')], 'scope-key': 'left.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': [], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'right.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a'], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('status', '')], 'scope-key': 'right.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a,b', 'c'], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a,b'), ('status', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('status', '')], 'scope-key': 'right.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': [], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', '')], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a'], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('tag', '')], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('tag', '')], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'status', 'values': [], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('status', '')], 'scope-key': 'right.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'status', 'values': ['a'], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('status', '')], 'scope-key': 'right.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'status', 'values': ['a,b', 'c'], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('status', 'a,b'), ('status', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('status', '')], 'scope-key': 'right.status'})]}\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":"ad613c4000aaa9023f45d99a473de03e76e2e4bb2912c3d4d30122a38c5e17df","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    return {'owned-prefix':([k for k in d['keys'] if k.startswith('f.')]), 'preserve-route':([k for k in d['keys'] if not k.startswith('f.')]), 'multi-serialize':([(d['field'],x) for x in d['values']]), 'literal-comma':(list(d['values'])), 'empty-scalar':([(d['field'],d['text'])] if d['present'] else []), 'scope-key':(d['scope']+'.'+d['field'])}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': [], 'text': '', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', '')], 'scope-key': 'left.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': [], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': [], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', 'x')], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': [], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('status', 'x')], 'scope-key': 'right.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a'], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('status', 'x')], 'scope-key': 'right.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a,b', 'c'], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a,b'), ('status', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('status', 'x')], 'scope-key': 'right.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': [], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', 'x')], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'right.tag'})], 2: [({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': [], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', '')], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [], 'scope-key': 'left.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'left.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'left.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': [], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('status', 'x')], 'scope-key': 'left.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a'], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('status', 'x')], 'scope-key': 'left.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a,b', 'c'], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a,b'), ('status', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('status', 'x')], 'scope-key': 'left.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': [], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', 'x')], 'scope-key': 'left.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'left.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('tag', 'x')], 'scope-key': 'left.tag'})], 3: [({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': [], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'left.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': '', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': [], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'right.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a'], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [], 'scope-key': 'right.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a,b', 'c'], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a,b'), ('status', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [], 'scope-key': 'right.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': [], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'status', 'values': [], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'right.status'})], 4: [({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': [], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': [], 'text': '', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'left.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': [], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'left.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a'], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [], 'scope-key': 'left.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a,b', 'c'], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a,b'), ('status', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [], 'scope-key': 'left.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': [], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'left.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a'], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [], 'scope-key': 'left.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [], 'scope-key': 'left.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'status', 'values': [], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'left.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'status', 'values': ['a'], 'text': 'x', 'present': False, 'scope': 'left'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [], 'scope-key': 'left.status'})], 5: [({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a'], 'text': '', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('tag', '')], 'scope-key': 'left.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': [], 'text': 'x', 'present': False, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [], 'scope-key': 'right.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a'], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('status', '')], 'scope-key': 'right.status'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'status', 'values': ['a,b', 'c'], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [('status', 'a,b'), ('status', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('status', '')], 'scope-key': 'right.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': [], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', '')], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a'], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('tag', '')], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('tag', 'a,b'), ('tag', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('tag', '')], 'scope-key': 'right.tag'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'status', 'values': [], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('status', '')], 'scope-key': 'right.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'status', 'values': ['a'], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('status', 'a')], 'literal-comma': ['a'], 'empty-scalar': [('status', '')], 'scope-key': 'right.status'}), ({'keys': ['f', 'f.x', 'xf.y'], 'field': 'status', 'values': ['a,b', 'c'], 'text': '', 'present': True, 'scope': 'right'}, {'owned-prefix': ['f.x'], 'preserve-route': ['f', 'xf.y'], 'multi-serialize': [('status', 'a,b'), ('status', 'c')], 'literal-comma': ['a,b', 'c'], 'empty-scalar': [('status', '')], 'scope-key': 'right.status'})]}\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-url-ownership-empty-scalar","generated_at":"2026-09-29T14:41:03.273109+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 empty-scalar projection: `[(d['field'],d['text'])] if d['present'] else []`.","root_cause":"The empty-scalar decision uses `[(d['field'],d['text'])] if d['text'] else []` instead of the stipulated url-ownership projection.","sha256":"2b36a1aae8c24fa679c24524ceab7caa141da021d287676c8c7efb2cf3c6e6c3","title":"Explicit empty text is serialized while an absent filter is omitted · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.237,"exit_code":1,"observations":[{"actual":{"empty-scalar":[["tag",""]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"left.tag"},"check":"contract fixture 0","expected":{"empty-scalar":[["tag",""]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"left.tag"},"passed":true},{"actual":{"empty-scalar":[["tag","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"check":"contract fixture 1","expected":{"empty-scalar":[],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"passed":false},{"actual":{"empty-scalar":[["tag","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"check":"contract fixture 2","expected":{"empty-scalar":[["tag","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"passed":true},{"actual":{"empty-scalar":[["tag","x"]],"literal-comma":["a"],"multi-serialize":[["tag","a"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"check":"contract fixture 3","expected":{"empty-scalar":[["tag","x"]],"literal-comma":["a"],"multi-serialize":[["tag","a"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"passed":true},{"actual":{"empty-scalar":[["tag","x"]],"literal-comma":["a,b","c"],"multi-serialize":[["tag","a,b"],["tag","c"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"check":"contract fixture 4","expected":{"empty-scalar":[["tag","x"]],"literal-comma":["a,b","c"],"multi-serialize":[["tag","a,b"],["tag","c"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"passed":true},{"actual":{"empty-scalar":[["status","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.status"},"check":"contract fixture 5","expected":{"empty-scalar":[["status","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.status"},"passed":true},{"actual":{"empty-scalar":[["status","x"]],"literal-comma":["a"],"multi-serialize":[["status","a"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.status"},"check":"contract fixture 6","expected":{"empty-scalar":[["status","x"]],"literal-comma":["a"],"multi-serialize":[["status","a"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.status"},"passed":true},{"actual":{"empty-scalar":[["status","x"]],"literal-comma":["a,b","c"],"multi-serialize":[["status","a,b"],["status","c"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.status"},"check":"contract fixture 7","expected":{"empty-scalar":[["status","x"]],"literal-comma":["a,b","c"],"multi-serialize":[["status","a,b"],["status","c"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.status"},"passed":true},{"actual":{"empty-scalar":[["tag","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.x"],"preserve-route":["f","xf.y"],"scope-key":"right.tag"},"check":"contract fixture 8","expected":{"empty-scalar":[["tag","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.x"],"preserve-route":["f","xf.y"],"scope-key":"right.tag"},"passed":true},{"actual":{"empty-scalar":[["tag","x"]],"literal-comma":["a"],"multi-serialize":[["tag","a"]],"owned-prefix":["f.x"],"preserve-route":["f","xf.y"],"scope-key":"right.tag"},"check":"contract fixture 9","expected":{"empty-scalar":[["tag","x"]],"literal-comma":["a"],"multi-serialize":[["tag","a"]],"owned-prefix":["f.x"],"preserve-route":["f","xf.y"],"scope-key":"right.tag"},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"contract fixture 0\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"\"]], \"scope-key\": \"left.tag\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"\"]], \"scope-key\": \"left.tag\"}, \"passed\": true}, {\"check\": \"contract fixture 1\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [], \"scope-key\": \"right.tag\"}, \"passed\": false}, {\"check\": \"contract fixture 2\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"passed\": true}, {\"check\": \"contract fixture 3\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"tag\", \"a\"]], \"literal-comma\": [\"a\"], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"tag\", \"a\"]], \"literal-comma\": [\"a\"], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"passed\": true}, {\"check\": \"contract fixture 4\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"tag\", \"a,b\"], [\"tag\", \"c\"]], \"literal-comma\": [\"a,b\", \"c\"], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"tag\", \"a,b\"], [\"tag\", \"c\"]], \"literal-comma\": [\"a,b\", \"c\"], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"passed\": true}, {\"check\": \"contract fixture 5\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"status\", \"x\"]], \"scope-key\": \"right.status\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"status\", \"x\"]], \"scope-key\": \"right.status\"}, \"passed\": true}, {\"check\": \"contract fixture 6\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"status\", \"a\"]], \"literal-comma\": [\"a\"], \"empty-scalar\": [[\"status\", \"x\"]], \"scope-key\": \"right.status\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"status\", \"a\"]], \"literal-comma\": [\"a\"], \"empty-scalar\": [[\"status\", \"x\"]], \"scope-key\": \"right.status\"}, \"passed\": true}, {\"check\": \"contract fixture 7\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"status\", \"a,b\"], [\"status\", \"c\"]], \"literal-comma\": [\"a,b\", \"c\"], \"empty-scalar\": [[\"status\", \"x\"]], \"scope-key\": \"right.status\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"status\", \"a,b\"], [\"status\", \"c\"]], \"literal-comma\": [\"a,b\", \"c\"], \"empty-scalar\": [[\"status\", \"x\"]], \"scope-key\": \"right.status\"}, \"passed\": true}, {\"check\": \"contract fixture 8\", \"actual\": {\"owned-prefix\": [\"f.x\"], \"preserve-route\": [\"f\", \"xf.y\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.x\"], \"preserve-route\": [\"f\", \"xf.y\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"passed\": true}, {\"check\": \"contract fixture 9\", \"actual\": {\"owned-prefix\": [\"f.x\"], \"preserve-route\": [\"f\", \"xf.y\"], \"multi-serialize\": [[\"tag\", \"a\"]], \"literal-comma\": [\"a\"], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.x\"], \"preserve-route\": [\"f\", \"xf.y\"], \"multi-serialize\": [[\"tag\", \"a\"]], \"literal-comma\": [\"a\"], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":46.031,"exit_code":1,"observations":[{"actual":{"empty-scalar":[],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"left.tag"},"check":"contract fixture 0","expected":{"empty-scalar":[["tag",""]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"left.tag"},"passed":false},{"actual":{"empty-scalar":[["tag","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"check":"contract fixture 1","expected":{"empty-scalar":[],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"passed":false},{"actual":{"empty-scalar":[["tag","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"check":"contract fixture 2","expected":{"empty-scalar":[["tag","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"passed":true},{"actual":{"empty-scalar":[["tag","x"]],"literal-comma":["a"],"multi-serialize":[["tag","a"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"check":"contract fixture 3","expected":{"empty-scalar":[["tag","x"]],"literal-comma":["a"],"multi-serialize":[["tag","a"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"passed":true},{"actual":{"empty-scalar":[["tag","x"]],"literal-comma":["a,b","c"],"multi-serialize":[["tag","a,b"],["tag","c"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"check":"contract fixture 4","expected":{"empty-scalar":[["tag","x"]],"literal-comma":["a,b","c"],"multi-serialize":[["tag","a,b"],["tag","c"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"passed":true},{"actual":{"empty-scalar":[["status","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.status"},"check":"contract fixture 5","expected":{"empty-scalar":[["status","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.status"},"passed":true},{"actual":{"empty-scalar":[["status","x"]],"literal-comma":["a"],"multi-serialize":[["status","a"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.status"},"check":"contract fixture 6","expected":{"empty-scalar":[["status","x"]],"literal-comma":["a"],"multi-serialize":[["status","a"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.status"},"passed":true},{"actual":{"empty-scalar":[["status","x"]],"literal-comma":["a,b","c"],"multi-serialize":[["status","a,b"],["status","c"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.status"},"check":"contract fixture 7","expected":{"empty-scalar":[["status","x"]],"literal-comma":["a,b","c"],"multi-serialize":[["status","a,b"],["status","c"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.status"},"passed":true},{"actual":{"empty-scalar":[["tag","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.x"],"preserve-route":["f","xf.y"],"scope-key":"right.tag"},"check":"contract fixture 8","expected":{"empty-scalar":[["tag","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.x"],"preserve-route":["f","xf.y"],"scope-key":"right.tag"},"passed":true},{"actual":{"empty-scalar":[["tag","x"]],"literal-comma":["a"],"multi-serialize":[["tag","a"]],"owned-prefix":["f.x"],"preserve-route":["f","xf.y"],"scope-key":"right.tag"},"check":"contract fixture 9","expected":{"empty-scalar":[["tag","x"]],"literal-comma":["a"],"multi-serialize":[["tag","a"]],"owned-prefix":["f.x"],"preserve-route":["f","xf.y"],"scope-key":"right.tag"},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"contract fixture 0\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [], \"scope-key\": \"left.tag\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"\"]], \"scope-key\": \"left.tag\"}, \"passed\": false}, {\"check\": \"contract fixture 1\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [], \"scope-key\": \"right.tag\"}, \"passed\": false}, {\"check\": \"contract fixture 2\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"passed\": true}, {\"check\": \"contract fixture 3\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"tag\", \"a\"]], \"literal-comma\": [\"a\"], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"tag\", \"a\"]], \"literal-comma\": [\"a\"], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"passed\": true}, {\"check\": \"contract fixture 4\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"tag\", \"a,b\"], [\"tag\", \"c\"]], \"literal-comma\": [\"a,b\", \"c\"], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"tag\", \"a,b\"], [\"tag\", \"c\"]], \"literal-comma\": [\"a,b\", \"c\"], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"passed\": true}, {\"check\": \"contract fixture 5\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"status\", \"x\"]], \"scope-key\": \"right.status\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"status\", \"x\"]], \"scope-key\": \"right.status\"}, \"passed\": true}, {\"check\": \"contract fixture 6\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"status\", \"a\"]], \"literal-comma\": [\"a\"], \"empty-scalar\": [[\"status\", \"x\"]], \"scope-key\": \"right.status\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"status\", \"a\"]], \"literal-comma\": [\"a\"], \"empty-scalar\": [[\"status\", \"x\"]], \"scope-key\": \"right.status\"}, \"passed\": true}, {\"check\": \"contract fixture 7\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"status\", \"a,b\"], [\"status\", \"c\"]], \"literal-comma\": [\"a,b\", \"c\"], \"empty-scalar\": [[\"status\", \"x\"]], \"scope-key\": \"right.status\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"status\", \"a,b\"], [\"status\", \"c\"]], \"literal-comma\": [\"a,b\", \"c\"], \"empty-scalar\": [[\"status\", \"x\"]], \"scope-key\": \"right.status\"}, \"passed\": true}, {\"check\": \"contract fixture 8\", \"actual\": {\"owned-prefix\": [\"f.x\"], \"preserve-route\": [\"f\", \"xf.y\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.x\"], \"preserve-route\": [\"f\", \"xf.y\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"passed\": true}, {\"check\": \"contract fixture 9\", \"actual\": {\"owned-prefix\": [\"f.x\"], \"preserve-route\": [\"f\", \"xf.y\"], \"multi-serialize\": [[\"tag\", \"a\"]], \"literal-comma\": [\"a\"], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.x\"], \"preserve-route\": [\"f\", \"xf.y\"], \"multi-serialize\": [[\"tag\", \"a\"]], \"literal-comma\": [\"a\"], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.603,"exit_code":0,"observations":[{"actual":{"empty-scalar":[["tag",""]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"left.tag"},"check":"contract fixture 0","expected":{"empty-scalar":[["tag",""]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"left.tag"},"passed":true},{"actual":{"empty-scalar":[],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"check":"contract fixture 1","expected":{"empty-scalar":[],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"passed":true},{"actual":{"empty-scalar":[["tag","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"check":"contract fixture 2","expected":{"empty-scalar":[["tag","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"passed":true},{"actual":{"empty-scalar":[["tag","x"]],"literal-comma":["a"],"multi-serialize":[["tag","a"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"check":"contract fixture 3","expected":{"empty-scalar":[["tag","x"]],"literal-comma":["a"],"multi-serialize":[["tag","a"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"passed":true},{"actual":{"empty-scalar":[["tag","x"]],"literal-comma":["a,b","c"],"multi-serialize":[["tag","a,b"],["tag","c"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"check":"contract fixture 4","expected":{"empty-scalar":[["tag","x"]],"literal-comma":["a,b","c"],"multi-serialize":[["tag","a,b"],["tag","c"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.tag"},"passed":true},{"actual":{"empty-scalar":[["status","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.status"},"check":"contract fixture 5","expected":{"empty-scalar":[["status","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.status"},"passed":true},{"actual":{"empty-scalar":[["status","x"]],"literal-comma":["a"],"multi-serialize":[["status","a"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.status"},"check":"contract fixture 6","expected":{"empty-scalar":[["status","x"]],"literal-comma":["a"],"multi-serialize":[["status","a"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.status"},"passed":true},{"actual":{"empty-scalar":[["status","x"]],"literal-comma":["a,b","c"],"multi-serialize":[["status","a,b"],["status","c"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.status"},"check":"contract fixture 7","expected":{"empty-scalar":[["status","x"]],"literal-comma":["a,b","c"],"multi-serialize":[["status","a,b"],["status","c"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"right.status"},"passed":true},{"actual":{"empty-scalar":[["tag","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.x"],"preserve-route":["f","xf.y"],"scope-key":"right.tag"},"check":"contract fixture 8","expected":{"empty-scalar":[["tag","x"]],"literal-comma":[],"multi-serialize":[],"owned-prefix":["f.x"],"preserve-route":["f","xf.y"],"scope-key":"right.tag"},"passed":true},{"actual":{"empty-scalar":[["tag","x"]],"literal-comma":["a"],"multi-serialize":[["tag","a"]],"owned-prefix":["f.x"],"preserve-route":["f","xf.y"],"scope-key":"right.tag"},"check":"contract fixture 9","expected":{"empty-scalar":[["tag","x"]],"literal-comma":["a"],"multi-serialize":[["tag","a"]],"owned-prefix":["f.x"],"preserve-route":["f","xf.y"],"scope-key":"right.tag"},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"contract fixture 0\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"\"]], \"scope-key\": \"left.tag\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"\"]], \"scope-key\": \"left.tag\"}, \"passed\": true}, {\"check\": \"contract fixture 1\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [], \"scope-key\": \"right.tag\"}, \"passed\": true}, {\"check\": \"contract fixture 2\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"passed\": true}, {\"check\": \"contract fixture 3\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"tag\", \"a\"]], \"literal-comma\": [\"a\"], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"tag\", \"a\"]], \"literal-comma\": [\"a\"], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"passed\": true}, {\"check\": \"contract fixture 4\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"tag\", \"a,b\"], [\"tag\", \"c\"]], \"literal-comma\": [\"a,b\", \"c\"], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"tag\", \"a,b\"], [\"tag\", \"c\"]], \"literal-comma\": [\"a,b\", \"c\"], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"passed\": true}, {\"check\": \"contract fixture 5\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"status\", \"x\"]], \"scope-key\": \"right.status\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"status\", \"x\"]], \"scope-key\": \"right.status\"}, \"passed\": true}, {\"check\": \"contract fixture 6\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"status\", \"a\"]], \"literal-comma\": [\"a\"], \"empty-scalar\": [[\"status\", \"x\"]], \"scope-key\": \"right.status\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"status\", \"a\"]], \"literal-comma\": [\"a\"], \"empty-scalar\": [[\"status\", \"x\"]], \"scope-key\": \"right.status\"}, \"passed\": true}, {\"check\": \"contract fixture 7\", \"actual\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"status\", \"a,b\"], [\"status\", \"c\"]], \"literal-comma\": [\"a,b\", \"c\"], \"empty-scalar\": [[\"status\", \"x\"]], \"scope-key\": \"right.status\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [[\"status\", \"a,b\"], [\"status\", \"c\"]], \"literal-comma\": [\"a,b\", \"c\"], \"empty-scalar\": [[\"status\", \"x\"]], \"scope-key\": \"right.status\"}, \"passed\": true}, {\"check\": \"contract fixture 8\", \"actual\": {\"owned-prefix\": [\"f.x\"], \"preserve-route\": [\"f\", \"xf.y\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.x\"], \"preserve-route\": [\"f\", \"xf.y\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"passed\": true}, {\"check\": \"contract fixture 9\", \"actual\": {\"owned-prefix\": [\"f.x\"], \"preserve-route\": [\"f\", \"xf.y\"], \"multi-serialize\": [[\"tag\", \"a\"]], \"literal-comma\": [\"a\"], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.x\"], \"preserve-route\": [\"f\", \"xf.y\"], \"multi-serialize\": [[\"tag\", \"a\"]], \"literal-comma\": [\"a\"], \"empty-scalar\": [[\"tag\", \"x\"]], \"scope-key\": \"right.tag\"}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}