{"abstract":"A comma inside a selected value remains literal 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: A comma inside a selected value remains literal.","contract_signature":"d","evaluation_group":"s3-filter-interfaces-url-ownership","failed_approach":"The attempted correction `[','.join(d['values'])]` still violates the explicit contract fixtures.","family":"s3-filter-interfaces-url-ownership-literal-comma","id":"FA-25066","implementations":{"attempt":{"sha256":"9c9b4ec1cf8fa7250c9a4b134d42cc395b244fd1c576da3679fe348b07b9ab39","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':([','.join(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': ['a,b', 'c'], 'text': '', 'present': False, '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': [], 'scope-key': 'left.tag'}), ({'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': [], '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': ['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': [], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', 'x')], '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': ['a,b', 'c'], 'text': '', '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', '')], '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': ['a,b', 'c'], 'text': '', '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', '')], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': False, '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': [], 'scope-key': 'left.tag'}), ({'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,b', 'c'], 'text': 'x', 'present': False, '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': [], 'scope-key': 'left.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': ['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":"bb3514bf88c61bc40ee0d30421edf88c1c0be8f0a28bfebe59da75d0220fa8f5","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':([p for x in d['values'] for p in x.split(',')]), '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': ['a,b', 'c'], 'text': '', 'present': False, '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': [], 'scope-key': 'left.tag'}), ({'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': [], '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': ['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': [], 'text': 'x', 'present': True, 'scope': 'left'}, {'owned-prefix': ['f.color'], 'preserve-route': ['ref.x', 'foo', 'q'], 'multi-serialize': [], 'literal-comma': [], 'empty-scalar': [('tag', 'x')], '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': ['a,b', 'c'], 'text': '', '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', '')], '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': ['a,b', 'c'], 'text': '', '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', '')], 'scope-key': 'right.tag'}), ({'keys': ['f.color', 'ref.x', 'foo', 'q'], 'field': 'tag', 'values': ['a,b', 'c'], 'text': 'x', 'present': False, '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': [], 'scope-key': 'left.tag'}), ({'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,b', 'c'], 'text': 'x', 'present': False, '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': [], 'scope-key': 'left.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': ['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-literal-comma","generated_at":"2026-09-29T14:41:03.270625+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.","root_cause":"The literal-comma decision uses `[p for x in d['values'] for p in x.split(',')]` instead of the stipulated url-ownership projection.","sha256":"1bc1d676cd52dd2cb9a0cb79062a24634d3b2555a9feef43ce90ff067e0bd40b","title":"A comma inside a selected value remains literal · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":45.375,"exit_code":1,"observations":[{"actual":{"empty-scalar":[],"literal-comma":["a,b,c"],"multi-serialize":[["tag","a,b"],["tag","c"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"left.tag"},"check":"contract fixture 0","expected":{"empty-scalar":[],"literal-comma":["a,b","c"],"multi-serialize":[["tag","a,b"],["tag","c"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"left.tag"},"passed":false},{"actual":{"empty-scalar":[["tag",""]],"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":[["tag",""]],"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":false},{"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":false},{"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":false},{"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":false},{"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":false},{"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\": [[\"tag\", \"a,b\"], [\"tag\", \"c\"]], \"literal-comma\": [\"a,b,c\"], \"empty-scalar\": [], \"scope-key\": \"left.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\": [], \"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\", \"\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"\"]], \"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\": false}, {\"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\": false}, {\"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\": false}, {\"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\": false}, {\"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\": false}, {\"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.245,"exit_code":1,"observations":[{"actual":{"empty-scalar":[],"literal-comma":["a","b","c"],"multi-serialize":[["tag","a,b"],["tag","c"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"left.tag"},"check":"contract fixture 0","expected":{"empty-scalar":[],"literal-comma":["a,b","c"],"multi-serialize":[["tag","a,b"],["tag","c"]],"owned-prefix":["f.color"],"preserve-route":["ref.x","foo","q"],"scope-key":"left.tag"},"passed":false},{"actual":{"empty-scalar":[["tag",""]],"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":[["tag",""]],"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":false},{"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":false},{"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\": [[\"tag\", \"a,b\"], [\"tag\", \"c\"]], \"literal-comma\": [\"a\", \"b\", \"c\"], \"empty-scalar\": [], \"scope-key\": \"left.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\": [], \"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\", \"\"]], \"scope-key\": \"right.tag\"}, \"expected\": {\"owned-prefix\": [\"f.color\"], \"preserve-route\": [\"ref.x\", \"foo\", \"q\"], \"multi-serialize\": [], \"literal-comma\": [], \"empty-scalar\": [[\"tag\", \"\"]], \"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\": false}, {\"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\": false}, {\"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"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}