{"abstract":"Dense union decoding exposes a child under a null parent.","category":"Data systems","checks":6,"contract":"Decode a dense tagged union. Tags select named child buffers through a tag map; offsets address those buffers independently of output position. Parent and selected child validity both apply. Emit [child-name,value] for valid parents, None for null parents.","evaluation_group":"s3-data-systems-dense-union-gather","failed_approach":"A tagged null child is different from an absent union parent.","family":"s3-data-systems-dense-union-gather-parent-null","id":"FA-44516","implementations":{"attempt":{"sha256":"04415eaa8343d5b46e60fdcf77792d4fbbc674d59cf89a11104c44899a08770d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        tags,offsets,names,children,valid,parent,selection=d\n        out=[]\n        for row in selection:\n            tag=tags[row]\n            name=names[str(tag)]\n            offset=offsets[row]\n            value=children[name][offset] if valid[name][offset] else None\n            out.append([name,value] if parent[row] else [name,None])\n        return out\n    except (IndexError, KeyError, ValueError, StopIteration) as exc:\n        return {\"representation_error\": type(exc).__name__}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('mixed tags', solve([[7, 9, 7], [1, 0, 0], {'7': 'a', '9': 'b'}, {'a': [1, 2, 3], 'b': [4, 5, 6]}, {'a': [True, True, True], 'b': [True, True, True]}, [True, True, True], [2, 0, 1]]), [['a', 1], ['a', 2], ['b', 4]])\n    check('child null', solve([[7, 7], [0, 1], {'7': 'a'}, {'a': [1, 2]}, {'a': [False, True]}, [True, True], [0, 1]]), [['a', None], ['a', 2]])\n    check('parent null', solve([[7], [0], {'7': 'a'}, {'a': [1]}, {'a': [True]}, [False], [0]]), [None])\n    check('repeat row', solve([[7], [0], {'7': 'a'}, {'a': [1]}, {'a': [True]}, [True], [0, 0]]), [['a', 1], ['a', 1]])\n    check('empty selection', solve([[7], [0], {'7': 'a'}, {'a': [1]}, {'a': [True]}, [True], []]), [])\n    check('second tag', solve([[9], [1], {'7': 'a', '9': 'b'}, {'a': [1, 2], 'b': [3, 4]}, {'a': [True, True], 'b': [True, True]}, [True], [0]]), [['b', 4]])\nelif N == 2:\n    check('mixed tags', solve([[7, 9, 7], [1, 0, 0], {'7': 'a', '9': 'b'}, {'a': [2, 3, 4], 'b': [5, 6, 7]}, {'a': [True, True, True], 'b': [True, True, True]}, [True, True, True], [2, 0, 1]]), [['a', 2], ['a', 3], ['b', 5]])\n    check('child null', solve([[7, 7], [0, 1], {'7': 'a'}, {'a': [2, 3]}, {'a': [False, True]}, [True, True], [0, 1]]), [['a', None], ['a', 3]])\n    check('parent null', solve([[7], [0], {'7': 'a'}, {'a': [2]}, {'a': [True]}, [False], [0]]), [None])\n    check('repeat row', solve([[7], [0], {'7': 'a'}, {'a': [2]}, {'a': [True]}, [True], [0, 0]]), [['a', 2], ['a', 2]])\n    check('empty selection', solve([[7], [0], {'7': 'a'}, {'a': [2]}, {'a': [True]}, [True], []]), [])\n    check('second tag', solve([[9], [1], {'7': 'a', '9': 'b'}, {'a': [2, 3], 'b': [4, 5]}, {'a': [True, True], 'b': [True, True]}, [True], [0]]), [['b', 5]])\nelif N == 3:\n    check('mixed tags', solve([[7, 9, 7], [1, 0, 0], {'7': 'a', '9': 'b'}, {'a': [3, 4, 5], 'b': [6, 7, 8]}, {'a': [True, True, True], 'b': [True, True, True]}, [True, True, True], [2, 0, 1]]), [['a', 3], ['a', 4], ['b', 6]])\n    check('child null', solve([[7, 7], [0, 1], {'7': 'a'}, {'a': [3, 4]}, {'a': [False, True]}, [True, True], [0, 1]]), [['a', None], ['a', 4]])\n    check('parent null', solve([[7], [0], {'7': 'a'}, {'a': [3]}, {'a': [True]}, [False], [0]]), [None])\n    check('repeat row', solve([[7], [0], {'7': 'a'}, {'a': [3]}, {'a': [True]}, [True], [0, 0]]), [['a', 3], ['a', 3]])\n    check('empty selection', solve([[7], [0], {'7': 'a'}, {'a': [3]}, {'a': [True]}, [True], []]), [])\n    check('second tag', solve([[9], [1], {'7': 'a', '9': 'b'}, {'a': [3, 4], 'b': [5, 6]}, {'a': [True, True], 'b': [True, True]}, [True], [0]]), [['b', 6]])\nelif N == 4:\n    check('mixed tags', solve([[7, 9, 7], [1, 0, 0], {'7': 'a', '9': 'b'}, {'a': [4, 5, 6], 'b': [7, 8, 9]}, {'a': [True, True, True], 'b': [True, True, True]}, [True, True, True], [2, 0, 1]]), [['a', 4], ['a', 5], ['b', 7]])\n    check('child null', solve([[7, 7], [0, 1], {'7': 'a'}, {'a': [4, 5]}, {'a': [False, True]}, [True, True], [0, 1]]), [['a', None], ['a', 5]])\n    check('parent null', solve([[7], [0], {'7': 'a'}, {'a': [4]}, {'a': [True]}, [False], [0]]), [None])\n    check('repeat row', solve([[7], [0], {'7': 'a'}, {'a': [4]}, {'a': [True]}, [True], [0, 0]]), [['a', 4], ['a', 4]])\n    check('empty selection', solve([[7], [0], {'7': 'a'}, {'a': [4]}, {'a': [True]}, [True], []]), [])\n    check('second tag', solve([[9], [1], {'7': 'a', '9': 'b'}, {'a': [4, 5], 'b': [6, 7]}, {'a': [True, True], 'b': [True, True]}, [True], [0]]), [['b', 7]])\nelif N == 5:\n    check('mixed tags', solve([[7, 9, 7], [1, 0, 0], {'7': 'a', '9': 'b'}, {'a': [5, 6, 7], 'b': [8, 9, 10]}, {'a': [True, True, True], 'b': [True, True, True]}, [True, True, True], [2, 0, 1]]), [['a', 5], ['a', 6], ['b', 8]])\n    check('child null', solve([[7, 7], [0, 1], {'7': 'a'}, {'a': [5, 6]}, {'a': [False, True]}, [True, True], [0, 1]]), [['a', None], ['a', 6]])\n    check('parent null', solve([[7], [0], {'7': 'a'}, {'a': [5]}, {'a': [True]}, [False], [0]]), [None])\n    check('repeat row', solve([[7], [0], {'7': 'a'}, {'a': [5]}, {'a': [True]}, [True], [0, 0]]), [['a', 5], ['a', 5]])\n    check('empty selection', solve([[7], [0], {'7': 'a'}, {'a': [5]}, {'a': [True]}, [True], []]), [])\n    check('second tag', solve([[9], [1], {'7': 'a', '9': 'b'}, {'a': [5, 6], 'b': [7, 8]}, {'a': [True, True], 'b': [True, True]}, [True], [0]]), [['b', 8]])\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":"f082acbf02a5ce1e672621f90df683fddc322c836d7017ccd935ac2a077a221e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        tags,offsets,names,children,valid,parent,selection=d\n        out=[]\n        for row in selection:\n            tag=tags[row]\n            name=names[str(tag)]\n            offset=offsets[row]\n            value=children[name][offset] if valid[name][offset] else None\n            out.append([name,value])\n        return out\n    except (IndexError, KeyError, ValueError, StopIteration) as exc:\n        return {\"representation_error\": type(exc).__name__}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('mixed tags', solve([[7, 9, 7], [1, 0, 0], {'7': 'a', '9': 'b'}, {'a': [1, 2, 3], 'b': [4, 5, 6]}, {'a': [True, True, True], 'b': [True, True, True]}, [True, True, True], [2, 0, 1]]), [['a', 1], ['a', 2], ['b', 4]])\n    check('child null', solve([[7, 7], [0, 1], {'7': 'a'}, {'a': [1, 2]}, {'a': [False, True]}, [True, True], [0, 1]]), [['a', None], ['a', 2]])\n    check('parent null', solve([[7], [0], {'7': 'a'}, {'a': [1]}, {'a': [True]}, [False], [0]]), [None])\n    check('repeat row', solve([[7], [0], {'7': 'a'}, {'a': [1]}, {'a': [True]}, [True], [0, 0]]), [['a', 1], ['a', 1]])\n    check('empty selection', solve([[7], [0], {'7': 'a'}, {'a': [1]}, {'a': [True]}, [True], []]), [])\n    check('second tag', solve([[9], [1], {'7': 'a', '9': 'b'}, {'a': [1, 2], 'b': [3, 4]}, {'a': [True, True], 'b': [True, True]}, [True], [0]]), [['b', 4]])\nelif N == 2:\n    check('mixed tags', solve([[7, 9, 7], [1, 0, 0], {'7': 'a', '9': 'b'}, {'a': [2, 3, 4], 'b': [5, 6, 7]}, {'a': [True, True, True], 'b': [True, True, True]}, [True, True, True], [2, 0, 1]]), [['a', 2], ['a', 3], ['b', 5]])\n    check('child null', solve([[7, 7], [0, 1], {'7': 'a'}, {'a': [2, 3]}, {'a': [False, True]}, [True, True], [0, 1]]), [['a', None], ['a', 3]])\n    check('parent null', solve([[7], [0], {'7': 'a'}, {'a': [2]}, {'a': [True]}, [False], [0]]), [None])\n    check('repeat row', solve([[7], [0], {'7': 'a'}, {'a': [2]}, {'a': [True]}, [True], [0, 0]]), [['a', 2], ['a', 2]])\n    check('empty selection', solve([[7], [0], {'7': 'a'}, {'a': [2]}, {'a': [True]}, [True], []]), [])\n    check('second tag', solve([[9], [1], {'7': 'a', '9': 'b'}, {'a': [2, 3], 'b': [4, 5]}, {'a': [True, True], 'b': [True, True]}, [True], [0]]), [['b', 5]])\nelif N == 3:\n    check('mixed tags', solve([[7, 9, 7], [1, 0, 0], {'7': 'a', '9': 'b'}, {'a': [3, 4, 5], 'b': [6, 7, 8]}, {'a': [True, True, True], 'b': [True, True, True]}, [True, True, True], [2, 0, 1]]), [['a', 3], ['a', 4], ['b', 6]])\n    check('child null', solve([[7, 7], [0, 1], {'7': 'a'}, {'a': [3, 4]}, {'a': [False, True]}, [True, True], [0, 1]]), [['a', None], ['a', 4]])\n    check('parent null', solve([[7], [0], {'7': 'a'}, {'a': [3]}, {'a': [True]}, [False], [0]]), [None])\n    check('repeat row', solve([[7], [0], {'7': 'a'}, {'a': [3]}, {'a': [True]}, [True], [0, 0]]), [['a', 3], ['a', 3]])\n    check('empty selection', solve([[7], [0], {'7': 'a'}, {'a': [3]}, {'a': [True]}, [True], []]), [])\n    check('second tag', solve([[9], [1], {'7': 'a', '9': 'b'}, {'a': [3, 4], 'b': [5, 6]}, {'a': [True, True], 'b': [True, True]}, [True], [0]]), [['b', 6]])\nelif N == 4:\n    check('mixed tags', solve([[7, 9, 7], [1, 0, 0], {'7': 'a', '9': 'b'}, {'a': [4, 5, 6], 'b': [7, 8, 9]}, {'a': [True, True, True], 'b': [True, True, True]}, [True, True, True], [2, 0, 1]]), [['a', 4], ['a', 5], ['b', 7]])\n    check('child null', solve([[7, 7], [0, 1], {'7': 'a'}, {'a': [4, 5]}, {'a': [False, True]}, [True, True], [0, 1]]), [['a', None], ['a', 5]])\n    check('parent null', solve([[7], [0], {'7': 'a'}, {'a': [4]}, {'a': [True]}, [False], [0]]), [None])\n    check('repeat row', solve([[7], [0], {'7': 'a'}, {'a': [4]}, {'a': [True]}, [True], [0, 0]]), [['a', 4], ['a', 4]])\n    check('empty selection', solve([[7], [0], {'7': 'a'}, {'a': [4]}, {'a': [True]}, [True], []]), [])\n    check('second tag', solve([[9], [1], {'7': 'a', '9': 'b'}, {'a': [4, 5], 'b': [6, 7]}, {'a': [True, True], 'b': [True, True]}, [True], [0]]), [['b', 7]])\nelif N == 5:\n    check('mixed tags', solve([[7, 9, 7], [1, 0, 0], {'7': 'a', '9': 'b'}, {'a': [5, 6, 7], 'b': [8, 9, 10]}, {'a': [True, True, True], 'b': [True, True, True]}, [True, True, True], [2, 0, 1]]), [['a', 5], ['a', 6], ['b', 8]])\n    check('child null', solve([[7, 7], [0, 1], {'7': 'a'}, {'a': [5, 6]}, {'a': [False, True]}, [True, True], [0, 1]]), [['a', None], ['a', 6]])\n    check('parent null', solve([[7], [0], {'7': 'a'}, {'a': [5]}, {'a': [True]}, [False], [0]]), [None])\n    check('repeat row', solve([[7], [0], {'7': 'a'}, {'a': [5]}, {'a': [True]}, [True], [0, 0]]), [['a', 5], ['a', 5]])\n    check('empty selection', solve([[7], [0], {'7': 'a'}, {'a': [5]}, {'a': [True]}, [True], []]), [])\n    check('second tag', solve([[9], [1], {'7': 'a', '9': 'b'}, {'a': [5, 6], 'b': [7, 8]}, {'a': [True, True], 'b': [True, True]}, [True], [0]]), [['b', 8]])\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":"3f0bc15811ad816b24c65a25481b1b0fcefbaf9ef4e6c2e5894c647c0e734390","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        tags,offsets,names,children,valid,parent,selection=d\n        out=[]\n        for row in selection:\n            tag=tags[row]\n            name=names[str(tag)]\n            offset=offsets[row]\n            value=children[name][offset] if valid[name][offset] else None\n            out.append([name,value] if parent[row] else None)\n        return out\n    except (IndexError, KeyError, ValueError, StopIteration) as exc:\n        return {\"representation_error\": type(exc).__name__}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('mixed tags', solve([[7, 9, 7], [1, 0, 0], {'7': 'a', '9': 'b'}, {'a': [1, 2, 3], 'b': [4, 5, 6]}, {'a': [True, True, True], 'b': [True, True, True]}, [True, True, True], [2, 0, 1]]), [['a', 1], ['a', 2], ['b', 4]])\n    check('child null', solve([[7, 7], [0, 1], {'7': 'a'}, {'a': [1, 2]}, {'a': [False, True]}, [True, True], [0, 1]]), [['a', None], ['a', 2]])\n    check('parent null', solve([[7], [0], {'7': 'a'}, {'a': [1]}, {'a': [True]}, [False], [0]]), [None])\n    check('repeat row', solve([[7], [0], {'7': 'a'}, {'a': [1]}, {'a': [True]}, [True], [0, 0]]), [['a', 1], ['a', 1]])\n    check('empty selection', solve([[7], [0], {'7': 'a'}, {'a': [1]}, {'a': [True]}, [True], []]), [])\n    check('second tag', solve([[9], [1], {'7': 'a', '9': 'b'}, {'a': [1, 2], 'b': [3, 4]}, {'a': [True, True], 'b': [True, True]}, [True], [0]]), [['b', 4]])\nelif N == 2:\n    check('mixed tags', solve([[7, 9, 7], [1, 0, 0], {'7': 'a', '9': 'b'}, {'a': [2, 3, 4], 'b': [5, 6, 7]}, {'a': [True, True, True], 'b': [True, True, True]}, [True, True, True], [2, 0, 1]]), [['a', 2], ['a', 3], ['b', 5]])\n    check('child null', solve([[7, 7], [0, 1], {'7': 'a'}, {'a': [2, 3]}, {'a': [False, True]}, [True, True], [0, 1]]), [['a', None], ['a', 3]])\n    check('parent null', solve([[7], [0], {'7': 'a'}, {'a': [2]}, {'a': [True]}, [False], [0]]), [None])\n    check('repeat row', solve([[7], [0], {'7': 'a'}, {'a': [2]}, {'a': [True]}, [True], [0, 0]]), [['a', 2], ['a', 2]])\n    check('empty selection', solve([[7], [0], {'7': 'a'}, {'a': [2]}, {'a': [True]}, [True], []]), [])\n    check('second tag', solve([[9], [1], {'7': 'a', '9': 'b'}, {'a': [2, 3], 'b': [4, 5]}, {'a': [True, True], 'b': [True, True]}, [True], [0]]), [['b', 5]])\nelif N == 3:\n    check('mixed tags', solve([[7, 9, 7], [1, 0, 0], {'7': 'a', '9': 'b'}, {'a': [3, 4, 5], 'b': [6, 7, 8]}, {'a': [True, True, True], 'b': [True, True, True]}, [True, True, True], [2, 0, 1]]), [['a', 3], ['a', 4], ['b', 6]])\n    check('child null', solve([[7, 7], [0, 1], {'7': 'a'}, {'a': [3, 4]}, {'a': [False, True]}, [True, True], [0, 1]]), [['a', None], ['a', 4]])\n    check('parent null', solve([[7], [0], {'7': 'a'}, {'a': [3]}, {'a': [True]}, [False], [0]]), [None])\n    check('repeat row', solve([[7], [0], {'7': 'a'}, {'a': [3]}, {'a': [True]}, [True], [0, 0]]), [['a', 3], ['a', 3]])\n    check('empty selection', solve([[7], [0], {'7': 'a'}, {'a': [3]}, {'a': [True]}, [True], []]), [])\n    check('second tag', solve([[9], [1], {'7': 'a', '9': 'b'}, {'a': [3, 4], 'b': [5, 6]}, {'a': [True, True], 'b': [True, True]}, [True], [0]]), [['b', 6]])\nelif N == 4:\n    check('mixed tags', solve([[7, 9, 7], [1, 0, 0], {'7': 'a', '9': 'b'}, {'a': [4, 5, 6], 'b': [7, 8, 9]}, {'a': [True, True, True], 'b': [True, True, True]}, [True, True, True], [2, 0, 1]]), [['a', 4], ['a', 5], ['b', 7]])\n    check('child null', solve([[7, 7], [0, 1], {'7': 'a'}, {'a': [4, 5]}, {'a': [False, True]}, [True, True], [0, 1]]), [['a', None], ['a', 5]])\n    check('parent null', solve([[7], [0], {'7': 'a'}, {'a': [4]}, {'a': [True]}, [False], [0]]), [None])\n    check('repeat row', solve([[7], [0], {'7': 'a'}, {'a': [4]}, {'a': [True]}, [True], [0, 0]]), [['a', 4], ['a', 4]])\n    check('empty selection', solve([[7], [0], {'7': 'a'}, {'a': [4]}, {'a': [True]}, [True], []]), [])\n    check('second tag', solve([[9], [1], {'7': 'a', '9': 'b'}, {'a': [4, 5], 'b': [6, 7]}, {'a': [True, True], 'b': [True, True]}, [True], [0]]), [['b', 7]])\nelif N == 5:\n    check('mixed tags', solve([[7, 9, 7], [1, 0, 0], {'7': 'a', '9': 'b'}, {'a': [5, 6, 7], 'b': [8, 9, 10]}, {'a': [True, True, True], 'b': [True, True, True]}, [True, True, True], [2, 0, 1]]), [['a', 5], ['a', 6], ['b', 8]])\n    check('child null', solve([[7, 7], [0, 1], {'7': 'a'}, {'a': [5, 6]}, {'a': [False, True]}, [True, True], [0, 1]]), [['a', None], ['a', 6]])\n    check('parent null', solve([[7], [0], {'7': 'a'}, {'a': [5]}, {'a': [True]}, [False], [0]]), [None])\n    check('repeat row', solve([[7], [0], {'7': 'a'}, {'a': [5]}, {'a': [True]}, [True], [0, 0]]), [['a', 5], ['a', 5]])\n    check('empty selection', solve([[7], [0], {'7': 'a'}, {'a': [5]}, {'a': [True]}, [True], []]), [])\n    check('second tag', solve([[9], [1], {'7': 'a', '9': 'b'}, {'a': [5, 6], 'b': [7, 8]}, {'a': [True, True], 'b': [True, True]}, [True], [0]]), [['b', 8]])\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":"Offline stipulated semantics over valid small inputs; no performance, concurrency, or production-engine conformance claim. 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-data-systems-dense-union-gather-parent-null","generated_at":"2026-09-29T14:44:13.047233+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A bounded deterministic data engine model makes representation and changelog faults reproducible.","repair":"Preserve the stated physical representation and operation order: Decode a dense tagged union. Tags select named child buffers through a tag map; offsets address those buffers independently of output position. Parent and selected child validity both apply. Emit [child-name,value] for valid parents, None for null parents.","root_cause":"dense-union-gather: Dense union decoding exposes a child under a null parent.","sha256":"ee16d94a4de13ce0218047eff77e4fdb32a4a7468a1c9df33f5e4ba8ca0d86c9","title":"Dense union decoding exposes a child under a null parent · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.311,"exit_code":1,"observations":[{"actual":[["a",1],["a",2],["b",4]],"check":"mixed tags","expected":[["a",1],["a",2],["b",4]],"passed":true},{"actual":[["a",null],["a",2]],"check":"child null","expected":[["a",null],["a",2]],"passed":true},{"actual":[["a",null]],"check":"parent null","expected":[null],"passed":false},{"actual":[["a",1],["a",1]],"check":"repeat row","expected":[["a",1],["a",1]],"passed":true},{"actual":[],"check":"empty selection","expected":[],"passed":true},{"actual":[["b",4]],"check":"second tag","expected":[["b",4]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"mixed tags\", \"actual\": [[\"a\", 1], [\"a\", 2], [\"b\", 4]], \"expected\": [[\"a\", 1], [\"a\", 2], [\"b\", 4]], \"passed\": true}, {\"check\": \"child null\", \"actual\": [[\"a\", null], [\"a\", 2]], \"expected\": [[\"a\", null], [\"a\", 2]], \"passed\": true}, {\"check\": \"parent null\", \"actual\": [[\"a\", null]], \"expected\": [null], \"passed\": false}, {\"check\": \"repeat row\", \"actual\": [[\"a\", 1], [\"a\", 1]], \"expected\": [[\"a\", 1], [\"a\", 1]], \"passed\": true}, {\"check\": \"empty selection\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"second tag\", \"actual\": [[\"b\", 4]], \"expected\": [[\"b\", 4]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.641,"exit_code":1,"observations":[{"actual":[["a",1],["a",2],["b",4]],"check":"mixed tags","expected":[["a",1],["a",2],["b",4]],"passed":true},{"actual":[["a",null],["a",2]],"check":"child null","expected":[["a",null],["a",2]],"passed":true},{"actual":[["a",1]],"check":"parent null","expected":[null],"passed":false},{"actual":[["a",1],["a",1]],"check":"repeat row","expected":[["a",1],["a",1]],"passed":true},{"actual":[],"check":"empty selection","expected":[],"passed":true},{"actual":[["b",4]],"check":"second tag","expected":[["b",4]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"mixed tags\", \"actual\": [[\"a\", 1], [\"a\", 2], [\"b\", 4]], \"expected\": [[\"a\", 1], [\"a\", 2], [\"b\", 4]], \"passed\": true}, {\"check\": \"child null\", \"actual\": [[\"a\", null], [\"a\", 2]], \"expected\": [[\"a\", null], [\"a\", 2]], \"passed\": true}, {\"check\": \"parent null\", \"actual\": [[\"a\", 1]], \"expected\": [null], \"passed\": false}, {\"check\": \"repeat row\", \"actual\": [[\"a\", 1], [\"a\", 1]], \"expected\": [[\"a\", 1], [\"a\", 1]], \"passed\": true}, {\"check\": \"empty selection\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"second tag\", \"actual\": [[\"b\", 4]], \"expected\": [[\"b\", 4]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.075,"exit_code":0,"observations":[{"actual":[["a",1],["a",2],["b",4]],"check":"mixed tags","expected":[["a",1],["a",2],["b",4]],"passed":true},{"actual":[["a",null],["a",2]],"check":"child null","expected":[["a",null],["a",2]],"passed":true},{"actual":[null],"check":"parent null","expected":[null],"passed":true},{"actual":[["a",1],["a",1]],"check":"repeat row","expected":[["a",1],["a",1]],"passed":true},{"actual":[],"check":"empty selection","expected":[],"passed":true},{"actual":[["b",4]],"check":"second tag","expected":[["b",4]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"mixed tags\", \"actual\": [[\"a\", 1], [\"a\", 2], [\"b\", 4]], \"expected\": [[\"a\", 1], [\"a\", 2], [\"b\", 4]], \"passed\": true}, {\"check\": \"child null\", \"actual\": [[\"a\", null], [\"a\", 2]], \"expected\": [[\"a\", null], [\"a\", 2]], \"passed\": true}, {\"check\": \"parent null\", \"actual\": [null], \"expected\": [null], \"passed\": true}, {\"check\": \"repeat row\", \"actual\": [[\"a\", 1], [\"a\", 1]], \"expected\": [[\"a\", 1], [\"a\", 1]], \"passed\": true}, {\"check\": \"empty selection\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"second tag\", \"actual\": [[\"b\", 4]], \"expected\": [[\"b\", 4]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}