{"abstract":"Filter accepts missing rows or drops later matches produces the wrong hierarchical widget state in a regression fixture.","category":"Tree accessibility","checks":6,"contract":"Matching rows retain all ancestors as context. Context-only branches auto-open without changing saved expansion. Selection remains by ID across filtering; focus hidden by the filter returns to nearest projected ancestor. Sibling positions are recomputed among projected children.","evaluation_group":"s3-tree-tree-filter-projection","failed_approach":"The partial repair `set(d['matches'][:1])` still violates a boundary or preservation case.","family":"s3-tree_accessibility-tree-filter-projection-01","id":"FA-38741","implementations":{"attempt":{"sha256":"3271eb54dcd6b957d308fb9ed67bf1c36ef85814464c4b72ad4f0af3f74e9995","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    matched=set(d['matches'][:1])\n    context={a for x in matched for a in d['ancestors'].get(x,[])}\n    projected=[x for x in d['rows'] if x in matched|context]\n    opened=sorted(set(d['saved_open'])|context)\n    selected=d['selected']\n    focus=d['focus'] if d['focus'] in projected else next((a for a in reversed(d['ancestors'].get(d['focus'],[])) if a in projected),(projected[0] if projected else None))\n    positions={x:1+sum(d['parents'].get(y)==d['parents'].get(x) for y in projected[:i]) for i,x in enumerate(projected)}\n    sizes={x:sum(d['parents'].get(y)==d['parents'].get(x) for y in projected) for x in projected}\n    context_only=[x for x in projected if x not in matched]\n    empty=not projected\n    return [projected,opened,selected,focus,positions,sizes,context_only,empty]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [('deep match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False]), ('missing match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0'], 'matches': ['b', 'gone'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z', 'a'], False]), ('ancestor match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0'], 'matches': ['a', 'b'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z'], False]), ('no matches', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0'], 'matches': [], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [[], ['q'], ['c', 'q'], None, {}, {}, [], True]), ('root match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0'], 'matches': ['q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['q'], ['q'], ['c', 'q'], 'q', {'q': 1}, {'q': 1}, [], False]), ('focused match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'b'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'b', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False])], 2: [('deep match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False]), ('missing match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1'], 'matches': ['b', 'gone'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z', 'a'], False]), ('ancestor match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1'], 'matches': ['a', 'b'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z'], False]), ('no matches', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1'], 'matches': [], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [[], ['q'], ['c', 'q'], None, {}, {}, [], True]), ('root match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1'], 'matches': ['q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['q'], ['q'], ['c', 'q'], 'q', {'q': 1}, {'q': 1}, [], False]), ('focused match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'b'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'b', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False])], 3: [('deep match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False]), ('missing match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2'], 'matches': ['b', 'gone'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z', 'a'], False]), ('ancestor match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2'], 'matches': ['a', 'b'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z'], False]), ('no matches', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2'], 'matches': [], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [[], ['q'], ['c', 'q'], None, {}, {}, [], True]), ('root match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2'], 'matches': ['q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['q'], ['q'], ['c', 'q'], 'q', {'q': 1}, {'q': 1}, [], False]), ('focused match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'b'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'b', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False])], 4: [('deep match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False]), ('missing match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3'], 'matches': ['b', 'gone'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z', 'a'], False]), ('ancestor match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3'], 'matches': ['a', 'b'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z'], False]), ('no matches', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3'], 'matches': [], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [[], ['q'], ['c', 'q'], None, {}, {}, [], True]), ('root match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3'], 'matches': ['q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['q'], ['q'], ['c', 'q'], 'q', {'q': 1}, {'q': 1}, [], False]), ('focused match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'b'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'b', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False])], 5: [('deep match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3', 'v4'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False]), ('missing match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3', 'v4'], 'matches': ['b', 'gone'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z', 'a'], False]), ('ancestor match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3', 'v4'], 'matches': ['a', 'b'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z'], False]), ('no matches', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3', 'v4'], 'matches': [], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [[], ['q'], ['c', 'q'], None, {}, {}, [], True]), ('root match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3', 'v4'], 'matches': ['q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['q'], ['q'], ['c', 'q'], 'q', {'q': 1}, {'q': 1}, [], False]), ('focused match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3', 'v4'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'b'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'b', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False])]}\nfor label, data, expected in cases[N]:\n    check(label, 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":"406e9f5f5e49f0aa114b6022a48e1bdba8baa682e04a825f0c88744030649a80","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    matched=set(d['matches'])\n    context={a for x in matched for a in d['ancestors'].get(x,[])}\n    projected=[x for x in d['rows'] if x in matched|context]\n    opened=sorted(set(d['saved_open'])|context)\n    selected=d['selected']\n    focus=d['focus'] if d['focus'] in projected else next((a for a in reversed(d['ancestors'].get(d['focus'],[])) if a in projected),(projected[0] if projected else None))\n    positions={x:1+sum(d['parents'].get(y)==d['parents'].get(x) for y in projected[:i]) for i,x in enumerate(projected)}\n    sizes={x:sum(d['parents'].get(y)==d['parents'].get(x) for y in projected) for x in projected}\n    context_only=[x for x in projected if x not in matched]\n    empty=not projected\n    return [projected,opened,selected,focus,positions,sizes,context_only,empty]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [('deep match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False]), ('missing match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0'], 'matches': ['b', 'gone'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z', 'a'], False]), ('ancestor match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0'], 'matches': ['a', 'b'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z'], False]), ('no matches', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0'], 'matches': [], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [[], ['q'], ['c', 'q'], None, {}, {}, [], True]), ('root match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0'], 'matches': ['q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['q'], ['q'], ['c', 'q'], 'q', {'q': 1}, {'q': 1}, [], False]), ('focused match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'b'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'b', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False])], 2: [('deep match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False]), ('missing match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1'], 'matches': ['b', 'gone'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z', 'a'], False]), ('ancestor match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1'], 'matches': ['a', 'b'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z'], False]), ('no matches', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1'], 'matches': [], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [[], ['q'], ['c', 'q'], None, {}, {}, [], True]), ('root match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1'], 'matches': ['q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['q'], ['q'], ['c', 'q'], 'q', {'q': 1}, {'q': 1}, [], False]), ('focused match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'b'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'b', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False])], 3: [('deep match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False]), ('missing match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2'], 'matches': ['b', 'gone'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z', 'a'], False]), ('ancestor match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2'], 'matches': ['a', 'b'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z'], False]), ('no matches', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2'], 'matches': [], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [[], ['q'], ['c', 'q'], None, {}, {}, [], True]), ('root match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2'], 'matches': ['q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['q'], ['q'], ['c', 'q'], 'q', {'q': 1}, {'q': 1}, [], False]), ('focused match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'b'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'b', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False])], 4: [('deep match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False]), ('missing match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3'], 'matches': ['b', 'gone'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z', 'a'], False]), ('ancestor match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3'], 'matches': ['a', 'b'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z'], False]), ('no matches', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3'], 'matches': [], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [[], ['q'], ['c', 'q'], None, {}, {}, [], True]), ('root match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3'], 'matches': ['q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['q'], ['q'], ['c', 'q'], 'q', {'q': 1}, {'q': 1}, [], False]), ('focused match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'b'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'b', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False])], 5: [('deep match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3', 'v4'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False]), ('missing match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3', 'v4'], 'matches': ['b', 'gone'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z', 'a'], False]), ('ancestor match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3', 'v4'], 'matches': ['a', 'b'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z'], False]), ('no matches', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3', 'v4'], 'matches': [], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [[], ['q'], ['c', 'q'], None, {}, {}, [], True]), ('root match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3', 'v4'], 'matches': ['q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['q'], ['q'], ['c', 'q'], 'q', {'q': 1}, {'q': 1}, [], False]), ('focused match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3', 'v4'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'b'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'b', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False])]}\nfor label, data, expected in cases[N]:\n    check(label, 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":"3a6f5ad8460155c92c40a3fb6228f2f7ba6c1c40704e56b2d9517fc9edf3139d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    matched=set(d['matches'])&set(d['rows'])\n    context={a for x in matched for a in d['ancestors'].get(x,[])}\n    projected=[x for x in d['rows'] if x in matched|context]\n    opened=sorted(set(d['saved_open'])|context)\n    selected=d['selected']\n    focus=d['focus'] if d['focus'] in projected else next((a for a in reversed(d['ancestors'].get(d['focus'],[])) if a in projected),(projected[0] if projected else None))\n    positions={x:1+sum(d['parents'].get(y)==d['parents'].get(x) for y in projected[:i]) for i,x in enumerate(projected)}\n    sizes={x:sum(d['parents'].get(y)==d['parents'].get(x) for y in projected) for x in projected}\n    context_only=[x for x in projected if x not in matched]\n    empty=not projected\n    return [projected,opened,selected,focus,positions,sizes,context_only,empty]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = {1: [('deep match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False]), ('missing match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0'], 'matches': ['b', 'gone'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z', 'a'], False]), ('ancestor match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0'], 'matches': ['a', 'b'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z'], False]), ('no matches', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0'], 'matches': [], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [[], ['q'], ['c', 'q'], None, {}, {}, [], True]), ('root match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0'], 'matches': ['q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['q'], ['q'], ['c', 'q'], 'q', {'q': 1}, {'q': 1}, [], False]), ('focused match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'b'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'b', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False])], 2: [('deep match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False]), ('missing match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1'], 'matches': ['b', 'gone'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z', 'a'], False]), ('ancestor match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1'], 'matches': ['a', 'b'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z'], False]), ('no matches', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1'], 'matches': [], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [[], ['q'], ['c', 'q'], None, {}, {}, [], True]), ('root match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1'], 'matches': ['q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['q'], ['q'], ['c', 'q'], 'q', {'q': 1}, {'q': 1}, [], False]), ('focused match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'b'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'b', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False])], 3: [('deep match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False]), ('missing match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2'], 'matches': ['b', 'gone'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z', 'a'], False]), ('ancestor match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2'], 'matches': ['a', 'b'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z'], False]), ('no matches', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2'], 'matches': [], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [[], ['q'], ['c', 'q'], None, {}, {}, [], True]), ('root match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2'], 'matches': ['q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['q'], ['q'], ['c', 'q'], 'q', {'q': 1}, {'q': 1}, [], False]), ('focused match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'b'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'b', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False])], 4: [('deep match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False]), ('missing match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3'], 'matches': ['b', 'gone'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z', 'a'], False]), ('ancestor match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3'], 'matches': ['a', 'b'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z'], False]), ('no matches', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3'], 'matches': [], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [[], ['q'], ['c', 'q'], None, {}, {}, [], True]), ('root match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3'], 'matches': ['q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['q'], ['q'], ['c', 'q'], 'q', {'q': 1}, {'q': 1}, [], False]), ('focused match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'b'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'b', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False])], 5: [('deep match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3', 'v4'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False]), ('missing match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3', 'v4'], 'matches': ['b', 'gone'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z', 'a'], False]), ('ancestor match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3', 'v4'], 'matches': ['a', 'b'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['z', 'a', 'b'], ['a', 'q', 'z'], ['c', 'q'], 'a', {'z': 1, 'a': 1, 'b': 1}, {'z': 1, 'a': 1, 'b': 1}, ['z'], False]), ('no matches', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3', 'v4'], 'matches': [], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [[], ['q'], ['c', 'q'], None, {}, {}, [], True]), ('root match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3', 'v4'], 'matches': ['q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'c'}, [['q'], ['q'], ['c', 'q'], 'q', {'q': 1}, {'q': 1}, [], False]), ('focused match', {'rows': ['z', 'a', 'b', 'c', 'q', 'v0', 'v1', 'v2', 'v3', 'v4'], 'matches': ['b', 'q'], 'ancestors': {'z': [], 'a': ['z'], 'b': ['z', 'a'], 'c': ['z', 'a'], 'q': [], 'gone': ['ghost']}, 'parents': {'z': None, 'a': 'z', 'b': 'a', 'c': 'a', 'q': None}, 'saved_open': ['q'], 'selected': ['c', 'q'], 'focus': 'b'}, [['z', 'a', 'b', 'q'], ['a', 'q', 'z'], ['c', 'q'], 'b', {'z': 1, 'a': 1, 'b': 1, 'q': 2}, {'z': 2, 'a': 1, 'b': 1, 'q': 2}, ['z', 'a'], False])]}\nfor label, data, expected in cases[N]:\n    check(label, 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":"Synthetic deterministic hierarchical-widget data contract; not an implementation of a browser accessibility tree. 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-tree_accessibility-tree-filter-projection-01","generated_at":"2026-09-29T14:43:14.259526+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Offline executable model of a hierarchical accessibility interaction; inputs are bounded and valid as stipulated. No browser, assistive technology, or normative ARIA conformance is claimed.","repair":"Restore `set(d['matches'])&set(d['rows'])` at this fault site while retaining the other tree state decisions.","root_cause":"The tree-filter-projection contract is violated at `set(d['matches'])&set(d['rows'])` by replacing it with `set(d['matches'])`.","sha256":"af44187dd4fe558f4133926f8fa7ba288a1ae13d48043df67a37a73cce5df51b","title":"Hierarchical filter projection: Filter accepts missing rows or drops later matches · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":56.507,"exit_code":1,"observations":[{"actual":[["z","a","b"],["a","q","z"],["c","q"],"a",{"a":1,"b":1,"z":1},{"a":1,"b":1,"z":1},["z","a"],false],"check":"deep match","expected":[["z","a","b","q"],["a","q","z"],["c","q"],"a",{"a":1,"b":1,"q":2,"z":1},{"a":1,"b":1,"q":2,"z":2},["z","a"],false],"passed":false},{"actual":[["z","a","b"],["a","q","z"],["c","q"],"a",{"a":1,"b":1,"z":1},{"a":1,"b":1,"z":1},["z","a"],false],"check":"missing match","expected":[["z","a","b"],["a","q","z"],["c","q"],"a",{"a":1,"b":1,"z":1},{"a":1,"b":1,"z":1},["z","a"],false],"passed":true},{"actual":[["z","a"],["q","z"],["c","q"],"a",{"a":1,"z":1},{"a":1,"z":1},["z"],false],"check":"ancestor match","expected":[["z","a","b"],["a","q","z"],["c","q"],"a",{"a":1,"b":1,"z":1},{"a":1,"b":1,"z":1},["z"],false],"passed":false},{"actual":[[],["q"],["c","q"],null,{},{},[],true],"check":"no matches","expected":[[],["q"],["c","q"],null,{},{},[],true],"passed":true},{"actual":[["q"],["q"],["c","q"],"q",{"q":1},{"q":1},[],false],"check":"root match","expected":[["q"],["q"],["c","q"],"q",{"q":1},{"q":1},[],false],"passed":true},{"actual":[["z","a","b"],["a","q","z"],["c","q"],"b",{"a":1,"b":1,"z":1},{"a":1,"b":1,"z":1},["z","a"],false],"check":"focused match","expected":[["z","a","b","q"],["a","q","z"],["c","q"],"b",{"a":1,"b":1,"q":2,"z":1},{"a":1,"b":1,"q":2,"z":2},["z","a"],false],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"deep match\", \"actual\": [[\"z\", \"a\", \"b\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"a\", {\"z\": 1, \"a\": 1, \"b\": 1}, {\"z\": 1, \"a\": 1, \"b\": 1}, [\"z\", \"a\"], false], \"expected\": [[\"z\", \"a\", \"b\", \"q\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"a\", {\"z\": 1, \"a\": 1, \"b\": 1, \"q\": 2}, {\"z\": 2, \"a\": 1, \"b\": 1, \"q\": 2}, [\"z\", \"a\"], false], \"passed\": false}, {\"check\": \"missing match\", \"actual\": [[\"z\", \"a\", \"b\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"a\", {\"z\": 1, \"a\": 1, \"b\": 1}, {\"z\": 1, \"a\": 1, \"b\": 1}, [\"z\", \"a\"], false], \"expected\": [[\"z\", \"a\", \"b\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"a\", {\"z\": 1, \"a\": 1, \"b\": 1}, {\"z\": 1, \"a\": 1, \"b\": 1}, [\"z\", \"a\"], false], \"passed\": true}, {\"check\": \"ancestor match\", \"actual\": [[\"z\", \"a\"], [\"q\", \"z\"], [\"c\", \"q\"], \"a\", {\"z\": 1, \"a\": 1}, {\"z\": 1, \"a\": 1}, [\"z\"], false], \"expected\": [[\"z\", \"a\", \"b\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"a\", {\"z\": 1, \"a\": 1, \"b\": 1}, {\"z\": 1, \"a\": 1, \"b\": 1}, [\"z\"], false], \"passed\": false}, {\"check\": \"no matches\", \"actual\": [[], [\"q\"], [\"c\", \"q\"], null, {}, {}, [], true], \"expected\": [[], [\"q\"], [\"c\", \"q\"], null, {}, {}, [], true], \"passed\": true}, {\"check\": \"root match\", \"actual\": [[\"q\"], [\"q\"], [\"c\", \"q\"], \"q\", {\"q\": 1}, {\"q\": 1}, [], false], \"expected\": [[\"q\"], [\"q\"], [\"c\", \"q\"], \"q\", {\"q\": 1}, {\"q\": 1}, [], false], \"passed\": true}, {\"check\": \"focused match\", \"actual\": [[\"z\", \"a\", \"b\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"b\", {\"z\": 1, \"a\": 1, \"b\": 1}, {\"z\": 1, \"a\": 1, \"b\": 1}, [\"z\", \"a\"], false], \"expected\": [[\"z\", \"a\", \"b\", \"q\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"b\", {\"z\": 1, \"a\": 1, \"b\": 1, \"q\": 2}, {\"z\": 2, \"a\": 1, \"b\": 1, \"q\": 2}, [\"z\", \"a\"], false], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":57.121,"exit_code":1,"observations":[{"actual":[["z","a","b","q"],["a","q","z"],["c","q"],"a",{"a":1,"b":1,"q":2,"z":1},{"a":1,"b":1,"q":2,"z":2},["z","a"],false],"check":"deep match","expected":[["z","a","b","q"],["a","q","z"],["c","q"],"a",{"a":1,"b":1,"q":2,"z":1},{"a":1,"b":1,"q":2,"z":2},["z","a"],false],"passed":true},{"actual":[["z","a","b"],["a","ghost","q","z"],["c","q"],"a",{"a":1,"b":1,"z":1},{"a":1,"b":1,"z":1},["z","a"],false],"check":"missing match","expected":[["z","a","b"],["a","q","z"],["c","q"],"a",{"a":1,"b":1,"z":1},{"a":1,"b":1,"z":1},["z","a"],false],"passed":false},{"actual":[["z","a","b"],["a","q","z"],["c","q"],"a",{"a":1,"b":1,"z":1},{"a":1,"b":1,"z":1},["z"],false],"check":"ancestor match","expected":[["z","a","b"],["a","q","z"],["c","q"],"a",{"a":1,"b":1,"z":1},{"a":1,"b":1,"z":1},["z"],false],"passed":true},{"actual":[[],["q"],["c","q"],null,{},{},[],true],"check":"no matches","expected":[[],["q"],["c","q"],null,{},{},[],true],"passed":true},{"actual":[["q"],["q"],["c","q"],"q",{"q":1},{"q":1},[],false],"check":"root match","expected":[["q"],["q"],["c","q"],"q",{"q":1},{"q":1},[],false],"passed":true},{"actual":[["z","a","b","q"],["a","q","z"],["c","q"],"b",{"a":1,"b":1,"q":2,"z":1},{"a":1,"b":1,"q":2,"z":2},["z","a"],false],"check":"focused match","expected":[["z","a","b","q"],["a","q","z"],["c","q"],"b",{"a":1,"b":1,"q":2,"z":1},{"a":1,"b":1,"q":2,"z":2},["z","a"],false],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"deep match\", \"actual\": [[\"z\", \"a\", \"b\", \"q\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"a\", {\"z\": 1, \"a\": 1, \"b\": 1, \"q\": 2}, {\"z\": 2, \"a\": 1, \"b\": 1, \"q\": 2}, [\"z\", \"a\"], false], \"expected\": [[\"z\", \"a\", \"b\", \"q\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"a\", {\"z\": 1, \"a\": 1, \"b\": 1, \"q\": 2}, {\"z\": 2, \"a\": 1, \"b\": 1, \"q\": 2}, [\"z\", \"a\"], false], \"passed\": true}, {\"check\": \"missing match\", \"actual\": [[\"z\", \"a\", \"b\"], [\"a\", \"ghost\", \"q\", \"z\"], [\"c\", \"q\"], \"a\", {\"z\": 1, \"a\": 1, \"b\": 1}, {\"z\": 1, \"a\": 1, \"b\": 1}, [\"z\", \"a\"], false], \"expected\": [[\"z\", \"a\", \"b\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"a\", {\"z\": 1, \"a\": 1, \"b\": 1}, {\"z\": 1, \"a\": 1, \"b\": 1}, [\"z\", \"a\"], false], \"passed\": false}, {\"check\": \"ancestor match\", \"actual\": [[\"z\", \"a\", \"b\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"a\", {\"z\": 1, \"a\": 1, \"b\": 1}, {\"z\": 1, \"a\": 1, \"b\": 1}, [\"z\"], false], \"expected\": [[\"z\", \"a\", \"b\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"a\", {\"z\": 1, \"a\": 1, \"b\": 1}, {\"z\": 1, \"a\": 1, \"b\": 1}, [\"z\"], false], \"passed\": true}, {\"check\": \"no matches\", \"actual\": [[], [\"q\"], [\"c\", \"q\"], null, {}, {}, [], true], \"expected\": [[], [\"q\"], [\"c\", \"q\"], null, {}, {}, [], true], \"passed\": true}, {\"check\": \"root match\", \"actual\": [[\"q\"], [\"q\"], [\"c\", \"q\"], \"q\", {\"q\": 1}, {\"q\": 1}, [], false], \"expected\": [[\"q\"], [\"q\"], [\"c\", \"q\"], \"q\", {\"q\": 1}, {\"q\": 1}, [], false], \"passed\": true}, {\"check\": \"focused match\", \"actual\": [[\"z\", \"a\", \"b\", \"q\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"b\", {\"z\": 1, \"a\": 1, \"b\": 1, \"q\": 2}, {\"z\": 2, \"a\": 1, \"b\": 1, \"q\": 2}, [\"z\", \"a\"], false], \"expected\": [[\"z\", \"a\", \"b\", \"q\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"b\", {\"z\": 1, \"a\": 1, \"b\": 1, \"q\": 2}, {\"z\": 2, \"a\": 1, \"b\": 1, \"q\": 2}, [\"z\", \"a\"], false], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":52.886,"exit_code":0,"observations":[{"actual":[["z","a","b","q"],["a","q","z"],["c","q"],"a",{"a":1,"b":1,"q":2,"z":1},{"a":1,"b":1,"q":2,"z":2},["z","a"],false],"check":"deep match","expected":[["z","a","b","q"],["a","q","z"],["c","q"],"a",{"a":1,"b":1,"q":2,"z":1},{"a":1,"b":1,"q":2,"z":2},["z","a"],false],"passed":true},{"actual":[["z","a","b"],["a","q","z"],["c","q"],"a",{"a":1,"b":1,"z":1},{"a":1,"b":1,"z":1},["z","a"],false],"check":"missing match","expected":[["z","a","b"],["a","q","z"],["c","q"],"a",{"a":1,"b":1,"z":1},{"a":1,"b":1,"z":1},["z","a"],false],"passed":true},{"actual":[["z","a","b"],["a","q","z"],["c","q"],"a",{"a":1,"b":1,"z":1},{"a":1,"b":1,"z":1},["z"],false],"check":"ancestor match","expected":[["z","a","b"],["a","q","z"],["c","q"],"a",{"a":1,"b":1,"z":1},{"a":1,"b":1,"z":1},["z"],false],"passed":true},{"actual":[[],["q"],["c","q"],null,{},{},[],true],"check":"no matches","expected":[[],["q"],["c","q"],null,{},{},[],true],"passed":true},{"actual":[["q"],["q"],["c","q"],"q",{"q":1},{"q":1},[],false],"check":"root match","expected":[["q"],["q"],["c","q"],"q",{"q":1},{"q":1},[],false],"passed":true},{"actual":[["z","a","b","q"],["a","q","z"],["c","q"],"b",{"a":1,"b":1,"q":2,"z":1},{"a":1,"b":1,"q":2,"z":2},["z","a"],false],"check":"focused match","expected":[["z","a","b","q"],["a","q","z"],["c","q"],"b",{"a":1,"b":1,"q":2,"z":1},{"a":1,"b":1,"q":2,"z":2},["z","a"],false],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"deep match\", \"actual\": [[\"z\", \"a\", \"b\", \"q\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"a\", {\"z\": 1, \"a\": 1, \"b\": 1, \"q\": 2}, {\"z\": 2, \"a\": 1, \"b\": 1, \"q\": 2}, [\"z\", \"a\"], false], \"expected\": [[\"z\", \"a\", \"b\", \"q\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"a\", {\"z\": 1, \"a\": 1, \"b\": 1, \"q\": 2}, {\"z\": 2, \"a\": 1, \"b\": 1, \"q\": 2}, [\"z\", \"a\"], false], \"passed\": true}, {\"check\": \"missing match\", \"actual\": [[\"z\", \"a\", \"b\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"a\", {\"z\": 1, \"a\": 1, \"b\": 1}, {\"z\": 1, \"a\": 1, \"b\": 1}, [\"z\", \"a\"], false], \"expected\": [[\"z\", \"a\", \"b\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"a\", {\"z\": 1, \"a\": 1, \"b\": 1}, {\"z\": 1, \"a\": 1, \"b\": 1}, [\"z\", \"a\"], false], \"passed\": true}, {\"check\": \"ancestor match\", \"actual\": [[\"z\", \"a\", \"b\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"a\", {\"z\": 1, \"a\": 1, \"b\": 1}, {\"z\": 1, \"a\": 1, \"b\": 1}, [\"z\"], false], \"expected\": [[\"z\", \"a\", \"b\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"a\", {\"z\": 1, \"a\": 1, \"b\": 1}, {\"z\": 1, \"a\": 1, \"b\": 1}, [\"z\"], false], \"passed\": true}, {\"check\": \"no matches\", \"actual\": [[], [\"q\"], [\"c\", \"q\"], null, {}, {}, [], true], \"expected\": [[], [\"q\"], [\"c\", \"q\"], null, {}, {}, [], true], \"passed\": true}, {\"check\": \"root match\", \"actual\": [[\"q\"], [\"q\"], [\"c\", \"q\"], \"q\", {\"q\": 1}, {\"q\": 1}, [], false], \"expected\": [[\"q\"], [\"q\"], [\"c\", \"q\"], \"q\", {\"q\": 1}, {\"q\": 1}, [], false], \"passed\": true}, {\"check\": \"focused match\", \"actual\": [[\"z\", \"a\", \"b\", \"q\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"b\", {\"z\": 1, \"a\": 1, \"b\": 1, \"q\": 2}, {\"z\": 2, \"a\": 1, \"b\": 1, \"q\": 2}, [\"z\", \"a\"], false], \"expected\": [[\"z\", \"a\", \"b\", \"q\"], [\"a\", \"q\", \"z\"], [\"c\", \"q\"], \"b\", {\"z\": 1, \"a\": 1, \"b\": 1, \"q\": 2}, {\"z\": 2, \"a\": 1, \"b\": 1, \"q\": 2}, [\"z\", \"a\"], false], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}