{"abstract":"The bounded weak ancestor certificate reports an incorrect direct.","category":"Heap invariants","checks":7,"contract":"A weak heap stores reverse bits r in a zero-based array. For nonroot node j, climb while j is a left child under its parent reverse bit: (j mod 2)==r[j//2]. Its distinguished ancestor is j//2 after climbing; zero has none. Report ancestor, climb path, climb count, stopping child, orientation bit, and whether direct parent suffices.","evaluation_group":"s3-heap-model-weak-ancestor","failed_approach":"The local patch uses start!=0 and start%2==1 and still violates the stated relation.","family":"s3-heap-weak-ancestor-direct","id":"FA-40556","implementations":{"attempt":{"sha256":"ba7a881f12024d44953a0c7e292f220f085500bedf7aff86f03e4cf43f8e693f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    r=d['reverse']; start=d['node']; j=start; path=[]\n    while j>0 and j%2==r[j//2]:\n        path.append(j); j//=2\n    ancestor=None if start==0 else j//2\n    return {'ancestor': ancestor,\n    'path': path,\n    'cost': len(path),\n    'stop': j,\n    'orientation': None if start==0 else r[j//2],\n    'direct': start!=0 and start%2==1}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[({'reverse': [0], 'node': 0}, {'ancestor': None, 'path': [], 'cost': 0, 'stop': 0, 'orientation': None, 'direct': False}), ({'reverse': [0, 0], 'node': 1}, {'ancestor': 0, 'path': [], 'cost': 0, 'stop': 1, 'orientation': 0, 'direct': True}), ({'reverse': [0, 0, 0, 0, 0, 0, 0, 0], 'node': 4}, {'ancestor': 0, 'path': [4, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 0, 1, 0, 0, 0, 0], 'node': 7}, {'ancestor': 0, 'path': [7, 3], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 0, 1, 0, 0, 0, 0, 0], 'node': 5}, {'ancestor': 0, 'path': [5, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 6}, {'ancestor': 3, 'path': [], 'cost': 0, 'stop': 6, 'orientation': 1, 'direct': True}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 2}, {'ancestor': 1, 'path': [], 'cost': 0, 'stop': 2, 'orientation': 1, 'direct': True})], [({'reverse': [0], 'node': 0}, {'ancestor': None, 'path': [], 'cost': 0, 'stop': 0, 'orientation': None, 'direct': False}), ({'reverse': [0, 0], 'node': 1}, {'ancestor': 0, 'path': [], 'cost': 0, 'stop': 1, 'orientation': 0, 'direct': True}), ({'reverse': [0, 0, 0, 0, 0, 0, 0, 0], 'node': 4}, {'ancestor': 0, 'path': [4, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 0, 1, 0, 0, 0, 0], 'node': 7}, {'ancestor': 0, 'path': [7, 3], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 0, 1, 0, 0, 0, 0, 0], 'node': 5}, {'ancestor': 0, 'path': [5, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 6}, {'ancestor': 3, 'path': [], 'cost': 0, 'stop': 6, 'orientation': 1, 'direct': True}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 3}, {'ancestor': 0, 'path': [3], 'cost': 1, 'stop': 1, 'orientation': 0, 'direct': False})], [({'reverse': [0], 'node': 0}, {'ancestor': None, 'path': [], 'cost': 0, 'stop': 0, 'orientation': None, 'direct': False}), ({'reverse': [0, 0], 'node': 1}, {'ancestor': 0, 'path': [], 'cost': 0, 'stop': 1, 'orientation': 0, 'direct': True}), ({'reverse': [0, 0, 0, 0, 0, 0, 0, 0], 'node': 4}, {'ancestor': 0, 'path': [4, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 0, 1, 0, 0, 0, 0], 'node': 7}, {'ancestor': 0, 'path': [7, 3], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 0, 1, 0, 0, 0, 0, 0], 'node': 5}, {'ancestor': 0, 'path': [5, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 6}, {'ancestor': 3, 'path': [], 'cost': 0, 'stop': 6, 'orientation': 1, 'direct': True}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 4}, {'ancestor': 2, 'path': [], 'cost': 0, 'stop': 4, 'orientation': 1, 'direct': True})], [({'reverse': [0], 'node': 0}, {'ancestor': None, 'path': [], 'cost': 0, 'stop': 0, 'orientation': None, 'direct': False}), ({'reverse': [0, 0], 'node': 1}, {'ancestor': 0, 'path': [], 'cost': 0, 'stop': 1, 'orientation': 0, 'direct': True}), ({'reverse': [0, 0, 0, 0, 0, 0, 0, 0], 'node': 4}, {'ancestor': 0, 'path': [4, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 0, 1, 0, 0, 0, 0], 'node': 7}, {'ancestor': 0, 'path': [7, 3], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 0, 1, 0, 0, 0, 0, 0], 'node': 5}, {'ancestor': 0, 'path': [5, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 6}, {'ancestor': 3, 'path': [], 'cost': 0, 'stop': 6, 'orientation': 1, 'direct': True}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 5}, {'ancestor': 1, 'path': [5], 'cost': 1, 'stop': 2, 'orientation': 1, 'direct': False})], [({'reverse': [0], 'node': 0}, {'ancestor': None, 'path': [], 'cost': 0, 'stop': 0, 'orientation': None, 'direct': False}), ({'reverse': [0, 0], 'node': 1}, {'ancestor': 0, 'path': [], 'cost': 0, 'stop': 1, 'orientation': 0, 'direct': True}), ({'reverse': [0, 0, 0, 0, 0, 0, 0, 0], 'node': 4}, {'ancestor': 0, 'path': [4, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 0, 1, 0, 0, 0, 0], 'node': 7}, {'ancestor': 0, 'path': [7, 3], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 0, 1, 0, 0, 0, 0, 0], 'node': 5}, {'ancestor': 0, 'path': [5, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 6}, {'ancestor': 3, 'path': [], 'cost': 0, 'stop': 6, 'orientation': 1, 'direct': True}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 6}, {'ancestor': 3, 'path': [], 'cost': 0, 'stop': 6, 'orientation': 1, 'direct': True})]][N-1]\ncheck('regression certificate 1', solve(cases[0][0]), cases[0][1])\ncheck('regression certificate 2', solve(cases[1][0]), cases[1][1])\ncheck('regression certificate 3', solve(cases[2][0]), cases[2][1])\ncheck('regression certificate 4', solve(cases[3][0]), cases[3][1])\ncheck('regression certificate 5', solve(cases[4][0]), cases[4][1])\ncheck('regression certificate 6', solve(cases[5][0]), cases[5][1])\ncheck('variant-dependent certificate', solve(cases[6][0]), cases[6][1])\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":"df66e53b5c4bba2006b12e452c48637c6ea70e82febb6e1f6c2756303a9b73b9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    r=d['reverse']; start=d['node']; j=start; path=[]\n    while j>0 and j%2==r[j//2]:\n        path.append(j); j//=2\n    ancestor=None if start==0 else j//2\n    return {'ancestor': ancestor,\n    'path': path,\n    'cost': len(path),\n    'stop': j,\n    'orientation': None if start==0 else r[j//2],\n    'direct': bool(start)}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[({'reverse': [0], 'node': 0}, {'ancestor': None, 'path': [], 'cost': 0, 'stop': 0, 'orientation': None, 'direct': False}), ({'reverse': [0, 0], 'node': 1}, {'ancestor': 0, 'path': [], 'cost': 0, 'stop': 1, 'orientation': 0, 'direct': True}), ({'reverse': [0, 0, 0, 0, 0, 0, 0, 0], 'node': 4}, {'ancestor': 0, 'path': [4, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 0, 1, 0, 0, 0, 0], 'node': 7}, {'ancestor': 0, 'path': [7, 3], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 0, 1, 0, 0, 0, 0, 0], 'node': 5}, {'ancestor': 0, 'path': [5, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 6}, {'ancestor': 3, 'path': [], 'cost': 0, 'stop': 6, 'orientation': 1, 'direct': True}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 2}, {'ancestor': 1, 'path': [], 'cost': 0, 'stop': 2, 'orientation': 1, 'direct': True})], [({'reverse': [0], 'node': 0}, {'ancestor': None, 'path': [], 'cost': 0, 'stop': 0, 'orientation': None, 'direct': False}), ({'reverse': [0, 0], 'node': 1}, {'ancestor': 0, 'path': [], 'cost': 0, 'stop': 1, 'orientation': 0, 'direct': True}), ({'reverse': [0, 0, 0, 0, 0, 0, 0, 0], 'node': 4}, {'ancestor': 0, 'path': [4, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 0, 1, 0, 0, 0, 0], 'node': 7}, {'ancestor': 0, 'path': [7, 3], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 0, 1, 0, 0, 0, 0, 0], 'node': 5}, {'ancestor': 0, 'path': [5, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 6}, {'ancestor': 3, 'path': [], 'cost': 0, 'stop': 6, 'orientation': 1, 'direct': True}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 3}, {'ancestor': 0, 'path': [3], 'cost': 1, 'stop': 1, 'orientation': 0, 'direct': False})], [({'reverse': [0], 'node': 0}, {'ancestor': None, 'path': [], 'cost': 0, 'stop': 0, 'orientation': None, 'direct': False}), ({'reverse': [0, 0], 'node': 1}, {'ancestor': 0, 'path': [], 'cost': 0, 'stop': 1, 'orientation': 0, 'direct': True}), ({'reverse': [0, 0, 0, 0, 0, 0, 0, 0], 'node': 4}, {'ancestor': 0, 'path': [4, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 0, 1, 0, 0, 0, 0], 'node': 7}, {'ancestor': 0, 'path': [7, 3], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 0, 1, 0, 0, 0, 0, 0], 'node': 5}, {'ancestor': 0, 'path': [5, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 6}, {'ancestor': 3, 'path': [], 'cost': 0, 'stop': 6, 'orientation': 1, 'direct': True}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 4}, {'ancestor': 2, 'path': [], 'cost': 0, 'stop': 4, 'orientation': 1, 'direct': True})], [({'reverse': [0], 'node': 0}, {'ancestor': None, 'path': [], 'cost': 0, 'stop': 0, 'orientation': None, 'direct': False}), ({'reverse': [0, 0], 'node': 1}, {'ancestor': 0, 'path': [], 'cost': 0, 'stop': 1, 'orientation': 0, 'direct': True}), ({'reverse': [0, 0, 0, 0, 0, 0, 0, 0], 'node': 4}, {'ancestor': 0, 'path': [4, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 0, 1, 0, 0, 0, 0], 'node': 7}, {'ancestor': 0, 'path': [7, 3], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 0, 1, 0, 0, 0, 0, 0], 'node': 5}, {'ancestor': 0, 'path': [5, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 6}, {'ancestor': 3, 'path': [], 'cost': 0, 'stop': 6, 'orientation': 1, 'direct': True}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 5}, {'ancestor': 1, 'path': [5], 'cost': 1, 'stop': 2, 'orientation': 1, 'direct': False})], [({'reverse': [0], 'node': 0}, {'ancestor': None, 'path': [], 'cost': 0, 'stop': 0, 'orientation': None, 'direct': False}), ({'reverse': [0, 0], 'node': 1}, {'ancestor': 0, 'path': [], 'cost': 0, 'stop': 1, 'orientation': 0, 'direct': True}), ({'reverse': [0, 0, 0, 0, 0, 0, 0, 0], 'node': 4}, {'ancestor': 0, 'path': [4, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 0, 1, 0, 0, 0, 0], 'node': 7}, {'ancestor': 0, 'path': [7, 3], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 0, 1, 0, 0, 0, 0, 0], 'node': 5}, {'ancestor': 0, 'path': [5, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 6}, {'ancestor': 3, 'path': [], 'cost': 0, 'stop': 6, 'orientation': 1, 'direct': True}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 6}, {'ancestor': 3, 'path': [], 'cost': 0, 'stop': 6, 'orientation': 1, 'direct': True})]][N-1]\ncheck('regression certificate 1', solve(cases[0][0]), cases[0][1])\ncheck('regression certificate 2', solve(cases[1][0]), cases[1][1])\ncheck('regression certificate 3', solve(cases[2][0]), cases[2][1])\ncheck('regression certificate 4', solve(cases[3][0]), cases[3][1])\ncheck('regression certificate 5', solve(cases[4][0]), cases[4][1])\ncheck('regression certificate 6', solve(cases[5][0]), cases[5][1])\ncheck('variant-dependent certificate', solve(cases[6][0]), cases[6][1])\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":"57fce4bbbb395f2d57a9a53ffc3bbc5556222049b8ae9a0673d013bb0b24f76b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    r=d['reverse']; start=d['node']; j=start; path=[]\n    while j>0 and j%2==r[j//2]:\n        path.append(j); j//=2\n    ancestor=None if start==0 else j//2\n    return {'ancestor': ancestor,\n    'path': path,\n    'cost': len(path),\n    'stop': j,\n    'orientation': None if start==0 else r[j//2],\n    'direct': start!=0 and ancestor==start//2}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[({'reverse': [0], 'node': 0}, {'ancestor': None, 'path': [], 'cost': 0, 'stop': 0, 'orientation': None, 'direct': False}), ({'reverse': [0, 0], 'node': 1}, {'ancestor': 0, 'path': [], 'cost': 0, 'stop': 1, 'orientation': 0, 'direct': True}), ({'reverse': [0, 0, 0, 0, 0, 0, 0, 0], 'node': 4}, {'ancestor': 0, 'path': [4, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 0, 1, 0, 0, 0, 0], 'node': 7}, {'ancestor': 0, 'path': [7, 3], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 0, 1, 0, 0, 0, 0, 0], 'node': 5}, {'ancestor': 0, 'path': [5, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 6}, {'ancestor': 3, 'path': [], 'cost': 0, 'stop': 6, 'orientation': 1, 'direct': True}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 2}, {'ancestor': 1, 'path': [], 'cost': 0, 'stop': 2, 'orientation': 1, 'direct': True})], [({'reverse': [0], 'node': 0}, {'ancestor': None, 'path': [], 'cost': 0, 'stop': 0, 'orientation': None, 'direct': False}), ({'reverse': [0, 0], 'node': 1}, {'ancestor': 0, 'path': [], 'cost': 0, 'stop': 1, 'orientation': 0, 'direct': True}), ({'reverse': [0, 0, 0, 0, 0, 0, 0, 0], 'node': 4}, {'ancestor': 0, 'path': [4, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 0, 1, 0, 0, 0, 0], 'node': 7}, {'ancestor': 0, 'path': [7, 3], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 0, 1, 0, 0, 0, 0, 0], 'node': 5}, {'ancestor': 0, 'path': [5, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 6}, {'ancestor': 3, 'path': [], 'cost': 0, 'stop': 6, 'orientation': 1, 'direct': True}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 3}, {'ancestor': 0, 'path': [3], 'cost': 1, 'stop': 1, 'orientation': 0, 'direct': False})], [({'reverse': [0], 'node': 0}, {'ancestor': None, 'path': [], 'cost': 0, 'stop': 0, 'orientation': None, 'direct': False}), ({'reverse': [0, 0], 'node': 1}, {'ancestor': 0, 'path': [], 'cost': 0, 'stop': 1, 'orientation': 0, 'direct': True}), ({'reverse': [0, 0, 0, 0, 0, 0, 0, 0], 'node': 4}, {'ancestor': 0, 'path': [4, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 0, 1, 0, 0, 0, 0], 'node': 7}, {'ancestor': 0, 'path': [7, 3], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 0, 1, 0, 0, 0, 0, 0], 'node': 5}, {'ancestor': 0, 'path': [5, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 6}, {'ancestor': 3, 'path': [], 'cost': 0, 'stop': 6, 'orientation': 1, 'direct': True}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 4}, {'ancestor': 2, 'path': [], 'cost': 0, 'stop': 4, 'orientation': 1, 'direct': True})], [({'reverse': [0], 'node': 0}, {'ancestor': None, 'path': [], 'cost': 0, 'stop': 0, 'orientation': None, 'direct': False}), ({'reverse': [0, 0], 'node': 1}, {'ancestor': 0, 'path': [], 'cost': 0, 'stop': 1, 'orientation': 0, 'direct': True}), ({'reverse': [0, 0, 0, 0, 0, 0, 0, 0], 'node': 4}, {'ancestor': 0, 'path': [4, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 0, 1, 0, 0, 0, 0], 'node': 7}, {'ancestor': 0, 'path': [7, 3], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 0, 1, 0, 0, 0, 0, 0], 'node': 5}, {'ancestor': 0, 'path': [5, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 6}, {'ancestor': 3, 'path': [], 'cost': 0, 'stop': 6, 'orientation': 1, 'direct': True}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 5}, {'ancestor': 1, 'path': [5], 'cost': 1, 'stop': 2, 'orientation': 1, 'direct': False})], [({'reverse': [0], 'node': 0}, {'ancestor': None, 'path': [], 'cost': 0, 'stop': 0, 'orientation': None, 'direct': False}), ({'reverse': [0, 0], 'node': 1}, {'ancestor': 0, 'path': [], 'cost': 0, 'stop': 1, 'orientation': 0, 'direct': True}), ({'reverse': [0, 0, 0, 0, 0, 0, 0, 0], 'node': 4}, {'ancestor': 0, 'path': [4, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 0, 1, 0, 0, 0, 0], 'node': 7}, {'ancestor': 0, 'path': [7, 3], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 0, 1, 0, 0, 0, 0, 0], 'node': 5}, {'ancestor': 0, 'path': [5, 2], 'cost': 2, 'stop': 1, 'orientation': 0, 'direct': False}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 6}, {'ancestor': 3, 'path': [], 'cost': 0, 'stop': 6, 'orientation': 1, 'direct': True}), ({'reverse': [0, 1, 1, 1, 0, 0, 0, 0], 'node': 6}, {'ancestor': 3, 'path': [], 'cost': 0, 'stop': 6, 'orientation': 1, 'direct': True})]][N-1]\ncheck('regression certificate 1', solve(cases[0][0]), cases[0][1])\ncheck('regression certificate 2', solve(cases[1][0]), cases[1][1])\ncheck('regression certificate 3', solve(cases[2][0]), cases[2][1])\ncheck('regression certificate 4', solve(cases[3][0]), cases[3][1])\ncheck('regression certificate 5', solve(cases[4][0]), cases[4][1])\ncheck('regression certificate 6', solve(cases[5][0]), cases[5][1])\ncheck('variant-dependent certificate', solve(cases[6][0]), cases[6][1])\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":"A stipulated offline diagnostic model; it does not implement a production allocator, concurrency protocol, or complete heap library. 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-heap-weak-ancestor-direct","generated_at":"2026-09-29T14:43:32.179336+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"This isolates an internal heap representation or priority-structure invariant using deterministic finite records.","repair":"Derive direct using start!=0 and ancestor==start//2 under the stated bounded certificate contract.","root_cause":"Weak heap direct ancestry depends on reversal bits as well as index parity.","sha256":"98a372191fda4464d37ea8d245a2038d1e456bdd3169c0a92b6243c9d4557866","title":"Weak heap direct ancestry depends on reversal bits as well as index parity · case 01","variant":1,"variant_policy":"Six explicit regression certificates are retained; a seventh changes structural size, position, priority, or bounds with N.","verification":{"attempt":{"elapsed_ms":37.018,"exit_code":1,"observations":[{"actual":{"ancestor":null,"cost":0,"direct":false,"orientation":null,"path":[],"stop":0},"check":"regression certificate 1","expected":{"ancestor":null,"cost":0,"direct":false,"orientation":null,"path":[],"stop":0},"passed":true},{"actual":{"ancestor":0,"cost":0,"direct":true,"orientation":0,"path":[],"stop":1},"check":"regression certificate 2","expected":{"ancestor":0,"cost":0,"direct":true,"orientation":0,"path":[],"stop":1},"passed":true},{"actual":{"ancestor":0,"cost":2,"direct":false,"orientation":0,"path":[4,2],"stop":1},"check":"regression certificate 3","expected":{"ancestor":0,"cost":2,"direct":false,"orientation":0,"path":[4,2],"stop":1},"passed":true},{"actual":{"ancestor":0,"cost":2,"direct":true,"orientation":0,"path":[7,3],"stop":1},"check":"regression certificate 4","expected":{"ancestor":0,"cost":2,"direct":false,"orientation":0,"path":[7,3],"stop":1},"passed":false},{"actual":{"ancestor":0,"cost":2,"direct":true,"orientation":0,"path":[5,2],"stop":1},"check":"regression certificate 5","expected":{"ancestor":0,"cost":2,"direct":false,"orientation":0,"path":[5,2],"stop":1},"passed":false},{"actual":{"ancestor":3,"cost":0,"direct":false,"orientation":1,"path":[],"stop":6},"check":"regression certificate 6","expected":{"ancestor":3,"cost":0,"direct":true,"orientation":1,"path":[],"stop":6},"passed":false},{"actual":{"ancestor":1,"cost":0,"direct":false,"orientation":1,"path":[],"stop":2},"check":"variant-dependent certificate","expected":{"ancestor":1,"cost":0,"direct":true,"orientation":1,"path":[],"stop":2},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression certificate 1\", \"actual\": {\"ancestor\": null, \"path\": [], \"cost\": 0, \"stop\": 0, \"orientation\": null, \"direct\": false}, \"expected\": {\"ancestor\": null, \"path\": [], \"cost\": 0, \"stop\": 0, \"orientation\": null, \"direct\": false}, \"passed\": true}, {\"check\": \"regression certificate 2\", \"actual\": {\"ancestor\": 0, \"path\": [], \"cost\": 0, \"stop\": 1, \"orientation\": 0, \"direct\": true}, \"expected\": {\"ancestor\": 0, \"path\": [], \"cost\": 0, \"stop\": 1, \"orientation\": 0, \"direct\": true}, \"passed\": true}, {\"check\": \"regression certificate 3\", \"actual\": {\"ancestor\": 0, \"path\": [4, 2], \"cost\": 2, \"stop\": 1, \"orientation\": 0, \"direct\": false}, \"expected\": {\"ancestor\": 0, \"path\": [4, 2], \"cost\": 2, \"stop\": 1, \"orientation\": 0, \"direct\": false}, \"passed\": true}, {\"check\": \"regression certificate 4\", \"actual\": {\"ancestor\": 0, \"path\": [7, 3], \"cost\": 2, \"stop\": 1, \"orientation\": 0, \"direct\": true}, \"expected\": {\"ancestor\": 0, \"path\": [7, 3], \"cost\": 2, \"stop\": 1, \"orientation\": 0, \"direct\": false}, \"passed\": false}, {\"check\": \"regression certificate 5\", \"actual\": {\"ancestor\": 0, \"path\": [5, 2], \"cost\": 2, \"stop\": 1, \"orientation\": 0, \"direct\": true}, \"expected\": {\"ancestor\": 0, \"path\": [5, 2], \"cost\": 2, \"stop\": 1, \"orientation\": 0, \"direct\": false}, \"passed\": false}, {\"check\": \"regression certificate 6\", \"actual\": {\"ancestor\": 3, \"path\": [], \"cost\": 0, \"stop\": 6, \"orientation\": 1, \"direct\": false}, \"expected\": {\"ancestor\": 3, \"path\": [], \"cost\": 0, \"stop\": 6, \"orientation\": 1, \"direct\": true}, \"passed\": false}, {\"check\": \"variant-dependent certificate\", \"actual\": {\"ancestor\": 1, \"path\": [], \"cost\": 0, \"stop\": 2, \"orientation\": 1, \"direct\": false}, \"expected\": {\"ancestor\": 1, \"path\": [], \"cost\": 0, \"stop\": 2, \"orientation\": 1, \"direct\": true}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.036,"exit_code":1,"observations":[{"actual":{"ancestor":null,"cost":0,"direct":false,"orientation":null,"path":[],"stop":0},"check":"regression certificate 1","expected":{"ancestor":null,"cost":0,"direct":false,"orientation":null,"path":[],"stop":0},"passed":true},{"actual":{"ancestor":0,"cost":0,"direct":true,"orientation":0,"path":[],"stop":1},"check":"regression certificate 2","expected":{"ancestor":0,"cost":0,"direct":true,"orientation":0,"path":[],"stop":1},"passed":true},{"actual":{"ancestor":0,"cost":2,"direct":true,"orientation":0,"path":[4,2],"stop":1},"check":"regression certificate 3","expected":{"ancestor":0,"cost":2,"direct":false,"orientation":0,"path":[4,2],"stop":1},"passed":false},{"actual":{"ancestor":0,"cost":2,"direct":true,"orientation":0,"path":[7,3],"stop":1},"check":"regression certificate 4","expected":{"ancestor":0,"cost":2,"direct":false,"orientation":0,"path":[7,3],"stop":1},"passed":false},{"actual":{"ancestor":0,"cost":2,"direct":true,"orientation":0,"path":[5,2],"stop":1},"check":"regression certificate 5","expected":{"ancestor":0,"cost":2,"direct":false,"orientation":0,"path":[5,2],"stop":1},"passed":false},{"actual":{"ancestor":3,"cost":0,"direct":true,"orientation":1,"path":[],"stop":6},"check":"regression certificate 6","expected":{"ancestor":3,"cost":0,"direct":true,"orientation":1,"path":[],"stop":6},"passed":true},{"actual":{"ancestor":1,"cost":0,"direct":true,"orientation":1,"path":[],"stop":2},"check":"variant-dependent certificate","expected":{"ancestor":1,"cost":0,"direct":true,"orientation":1,"path":[],"stop":2},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression certificate 1\", \"actual\": {\"ancestor\": null, \"path\": [], \"cost\": 0, \"stop\": 0, \"orientation\": null, \"direct\": false}, \"expected\": {\"ancestor\": null, \"path\": [], \"cost\": 0, \"stop\": 0, \"orientation\": null, \"direct\": false}, \"passed\": true}, {\"check\": \"regression certificate 2\", \"actual\": {\"ancestor\": 0, \"path\": [], \"cost\": 0, \"stop\": 1, \"orientation\": 0, \"direct\": true}, \"expected\": {\"ancestor\": 0, \"path\": [], \"cost\": 0, \"stop\": 1, \"orientation\": 0, \"direct\": true}, \"passed\": true}, {\"check\": \"regression certificate 3\", \"actual\": {\"ancestor\": 0, \"path\": [4, 2], \"cost\": 2, \"stop\": 1, \"orientation\": 0, \"direct\": true}, \"expected\": {\"ancestor\": 0, \"path\": [4, 2], \"cost\": 2, \"stop\": 1, \"orientation\": 0, \"direct\": false}, \"passed\": false}, {\"check\": \"regression certificate 4\", \"actual\": {\"ancestor\": 0, \"path\": [7, 3], \"cost\": 2, \"stop\": 1, \"orientation\": 0, \"direct\": true}, \"expected\": {\"ancestor\": 0, \"path\": [7, 3], \"cost\": 2, \"stop\": 1, \"orientation\": 0, \"direct\": false}, \"passed\": false}, {\"check\": \"regression certificate 5\", \"actual\": {\"ancestor\": 0, \"path\": [5, 2], \"cost\": 2, \"stop\": 1, \"orientation\": 0, \"direct\": true}, \"expected\": {\"ancestor\": 0, \"path\": [5, 2], \"cost\": 2, \"stop\": 1, \"orientation\": 0, \"direct\": false}, \"passed\": false}, {\"check\": \"regression certificate 6\", \"actual\": {\"ancestor\": 3, \"path\": [], \"cost\": 0, \"stop\": 6, \"orientation\": 1, \"direct\": true}, \"expected\": {\"ancestor\": 3, \"path\": [], \"cost\": 0, \"stop\": 6, \"orientation\": 1, \"direct\": true}, \"passed\": true}, {\"check\": \"variant-dependent certificate\", \"actual\": {\"ancestor\": 1, \"path\": [], \"cost\": 0, \"stop\": 2, \"orientation\": 1, \"direct\": true}, \"expected\": {\"ancestor\": 1, \"path\": [], \"cost\": 0, \"stop\": 2, \"orientation\": 1, \"direct\": true}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.136,"exit_code":0,"observations":[{"actual":{"ancestor":null,"cost":0,"direct":false,"orientation":null,"path":[],"stop":0},"check":"regression certificate 1","expected":{"ancestor":null,"cost":0,"direct":false,"orientation":null,"path":[],"stop":0},"passed":true},{"actual":{"ancestor":0,"cost":0,"direct":true,"orientation":0,"path":[],"stop":1},"check":"regression certificate 2","expected":{"ancestor":0,"cost":0,"direct":true,"orientation":0,"path":[],"stop":1},"passed":true},{"actual":{"ancestor":0,"cost":2,"direct":false,"orientation":0,"path":[4,2],"stop":1},"check":"regression certificate 3","expected":{"ancestor":0,"cost":2,"direct":false,"orientation":0,"path":[4,2],"stop":1},"passed":true},{"actual":{"ancestor":0,"cost":2,"direct":false,"orientation":0,"path":[7,3],"stop":1},"check":"regression certificate 4","expected":{"ancestor":0,"cost":2,"direct":false,"orientation":0,"path":[7,3],"stop":1},"passed":true},{"actual":{"ancestor":0,"cost":2,"direct":false,"orientation":0,"path":[5,2],"stop":1},"check":"regression certificate 5","expected":{"ancestor":0,"cost":2,"direct":false,"orientation":0,"path":[5,2],"stop":1},"passed":true},{"actual":{"ancestor":3,"cost":0,"direct":true,"orientation":1,"path":[],"stop":6},"check":"regression certificate 6","expected":{"ancestor":3,"cost":0,"direct":true,"orientation":1,"path":[],"stop":6},"passed":true},{"actual":{"ancestor":1,"cost":0,"direct":true,"orientation":1,"path":[],"stop":2},"check":"variant-dependent certificate","expected":{"ancestor":1,"cost":0,"direct":true,"orientation":1,"path":[],"stop":2},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression certificate 1\", \"actual\": {\"ancestor\": null, \"path\": [], \"cost\": 0, \"stop\": 0, \"orientation\": null, \"direct\": false}, \"expected\": {\"ancestor\": null, \"path\": [], \"cost\": 0, \"stop\": 0, \"orientation\": null, \"direct\": false}, \"passed\": true}, {\"check\": \"regression certificate 2\", \"actual\": {\"ancestor\": 0, \"path\": [], \"cost\": 0, \"stop\": 1, \"orientation\": 0, \"direct\": true}, \"expected\": {\"ancestor\": 0, \"path\": [], \"cost\": 0, \"stop\": 1, \"orientation\": 0, \"direct\": true}, \"passed\": true}, {\"check\": \"regression certificate 3\", \"actual\": {\"ancestor\": 0, \"path\": [4, 2], \"cost\": 2, \"stop\": 1, \"orientation\": 0, \"direct\": false}, \"expected\": {\"ancestor\": 0, \"path\": [4, 2], \"cost\": 2, \"stop\": 1, \"orientation\": 0, \"direct\": false}, \"passed\": true}, {\"check\": \"regression certificate 4\", \"actual\": {\"ancestor\": 0, \"path\": [7, 3], \"cost\": 2, \"stop\": 1, \"orientation\": 0, \"direct\": false}, \"expected\": {\"ancestor\": 0, \"path\": [7, 3], \"cost\": 2, \"stop\": 1, \"orientation\": 0, \"direct\": false}, \"passed\": true}, {\"check\": \"regression certificate 5\", \"actual\": {\"ancestor\": 0, \"path\": [5, 2], \"cost\": 2, \"stop\": 1, \"orientation\": 0, \"direct\": false}, \"expected\": {\"ancestor\": 0, \"path\": [5, 2], \"cost\": 2, \"stop\": 1, \"orientation\": 0, \"direct\": false}, \"passed\": true}, {\"check\": \"regression certificate 6\", \"actual\": {\"ancestor\": 3, \"path\": [], \"cost\": 0, \"stop\": 6, \"orientation\": 1, \"direct\": true}, \"expected\": {\"ancestor\": 3, \"path\": [], \"cost\": 0, \"stop\": 6, \"orientation\": 1, \"direct\": true}, \"passed\": true}, {\"check\": \"variant-dependent certificate\", \"actual\": {\"ancestor\": 1, \"path\": [], \"cost\": 0, \"stop\": 2, \"orientation\": 1, \"direct\": true}, \"expected\": {\"ancestor\": 1, \"path\": [], \"cost\": 0, \"stop\": 2, \"orientation\": 1, \"direct\": true}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}