{"abstract":"The tab workspace reports an incorrect released view listeners.","category":"Tab interfaces","checks":6,"contract":"Several tab views may share one document. Closing one view releases only its view resources and closes document resources only when no other view references that document.","evaluation_group":"s3-tabs-tab-resource-sharing","failed_approach":"The partial repair 0 still violates a workspace boundary or normal case.","family":"s3-tab-interfaces-tab-resource-sharing-released-view-listeners","id":"FA-36226","implementations":{"attempt":{"sha256":"bd741c6479bb53983275c657e4e82660a7736e872fd918927f9dfc05a49a48cf","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    r0 = {v:d for v,d in x['views'].items() if v!=x['closing']}\n    r1 = sum(v!=x['closing'] and d==x['views'][x['closing']] for v,d in x['views'].items())\n    r2 = not any(v!=x['closing'] and d==x['views'][x['closing']] for v,d in x['views'].items())\n    r3 = 0\n    r4 = x['document_handles'][x['views'][x['closing']]] if not any(v!=x['closing'] and d==x['views'][x['closing']] for v,d in x['views'].items()) else 0\n    r5 = [v for v,d in x['views'].items() if v!=x['closing'] and d==x['views'][x['closing']]]\n    return [r0,r1,r2,r3,r4,r5]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 2, 'b': 3, 'c': 1}, 'document_handles': {'d': 7, 'e': 4}}, [{'b': 'd', 'c': 'e'}, 1, False, 2, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'c', 'subscriptions': {'a': 2, 'b': 3, 'c': 1}, 'document_handles': {'d': 7, 'e': 4}}, [{'a': 'd', 'b': 'd'}, 0, True, 1, 4, []]), ({'views': {'a': 'd', 'b': 'e', 'c': 'f'}, 'closing': 'a', 'subscriptions': {'a': 2, 'b': 3, 'c': 1}, 'document_handles': {'d': 7, 'e': 4, 'f': 1}}, [{'b': 'e', 'c': 'f'}, 0, True, 2, 7, []]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 0, 'b': 3, 'c': 1}, 'document_handles': {'d': 7, 'e': 4}}, [{'b': 'd', 'c': 'e'}, 1, False, 0, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'b', 'subscriptions': {'a': 2, 'b': 3, 'c': 1}, 'document_handles': {'d': 7, 'e': 4}}, [{'a': 'd', 'c': 'e'}, 1, False, 3, 0, ['a']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'd'}, 'closing': 'a', 'subscriptions': {'a': 2, 'b': 3, 'c': 1}, 'document_handles': {'d': 7, 'e': 4}}, [{'b': 'd', 'c': 'd'}, 2, False, 2, 0, ['b', 'c']])], 2: [({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 4, 'b': 6, 'c': 2}, 'document_handles': {'d': 14, 'e': 8}}, [{'b': 'd', 'c': 'e'}, 1, False, 4, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'c', 'subscriptions': {'a': 4, 'b': 6, 'c': 2}, 'document_handles': {'d': 14, 'e': 8}}, [{'a': 'd', 'b': 'd'}, 0, True, 2, 8, []]), ({'views': {'a': 'd', 'b': 'e', 'c': 'f'}, 'closing': 'a', 'subscriptions': {'a': 4, 'b': 6, 'c': 2}, 'document_handles': {'d': 14, 'e': 8, 'f': 2}}, [{'b': 'e', 'c': 'f'}, 0, True, 4, 14, []]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 0, 'b': 6, 'c': 2}, 'document_handles': {'d': 14, 'e': 8}}, [{'b': 'd', 'c': 'e'}, 1, False, 0, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'b', 'subscriptions': {'a': 4, 'b': 6, 'c': 2}, 'document_handles': {'d': 14, 'e': 8}}, [{'a': 'd', 'c': 'e'}, 1, False, 6, 0, ['a']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'd'}, 'closing': 'a', 'subscriptions': {'a': 4, 'b': 6, 'c': 2}, 'document_handles': {'d': 14, 'e': 8}}, [{'b': 'd', 'c': 'd'}, 2, False, 4, 0, ['b', 'c']])], 3: [({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 6, 'b': 9, 'c': 3}, 'document_handles': {'d': 21, 'e': 12}}, [{'b': 'd', 'c': 'e'}, 1, False, 6, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'c', 'subscriptions': {'a': 6, 'b': 9, 'c': 3}, 'document_handles': {'d': 21, 'e': 12}}, [{'a': 'd', 'b': 'd'}, 0, True, 3, 12, []]), ({'views': {'a': 'd', 'b': 'e', 'c': 'f'}, 'closing': 'a', 'subscriptions': {'a': 6, 'b': 9, 'c': 3}, 'document_handles': {'d': 21, 'e': 12, 'f': 3}}, [{'b': 'e', 'c': 'f'}, 0, True, 6, 21, []]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 0, 'b': 9, 'c': 3}, 'document_handles': {'d': 21, 'e': 12}}, [{'b': 'd', 'c': 'e'}, 1, False, 0, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'b', 'subscriptions': {'a': 6, 'b': 9, 'c': 3}, 'document_handles': {'d': 21, 'e': 12}}, [{'a': 'd', 'c': 'e'}, 1, False, 9, 0, ['a']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'd'}, 'closing': 'a', 'subscriptions': {'a': 6, 'b': 9, 'c': 3}, 'document_handles': {'d': 21, 'e': 12}}, [{'b': 'd', 'c': 'd'}, 2, False, 6, 0, ['b', 'c']])], 4: [({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 8, 'b': 12, 'c': 4}, 'document_handles': {'d': 28, 'e': 16}}, [{'b': 'd', 'c': 'e'}, 1, False, 8, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'c', 'subscriptions': {'a': 8, 'b': 12, 'c': 4}, 'document_handles': {'d': 28, 'e': 16}}, [{'a': 'd', 'b': 'd'}, 0, True, 4, 16, []]), ({'views': {'a': 'd', 'b': 'e', 'c': 'f'}, 'closing': 'a', 'subscriptions': {'a': 8, 'b': 12, 'c': 4}, 'document_handles': {'d': 28, 'e': 16, 'f': 4}}, [{'b': 'e', 'c': 'f'}, 0, True, 8, 28, []]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 0, 'b': 12, 'c': 4}, 'document_handles': {'d': 28, 'e': 16}}, [{'b': 'd', 'c': 'e'}, 1, False, 0, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'b', 'subscriptions': {'a': 8, 'b': 12, 'c': 4}, 'document_handles': {'d': 28, 'e': 16}}, [{'a': 'd', 'c': 'e'}, 1, False, 12, 0, ['a']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'd'}, 'closing': 'a', 'subscriptions': {'a': 8, 'b': 12, 'c': 4}, 'document_handles': {'d': 28, 'e': 16}}, [{'b': 'd', 'c': 'd'}, 2, False, 8, 0, ['b', 'c']])], 5: [({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 10, 'b': 15, 'c': 5}, 'document_handles': {'d': 35, 'e': 20}}, [{'b': 'd', 'c': 'e'}, 1, False, 10, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'c', 'subscriptions': {'a': 10, 'b': 15, 'c': 5}, 'document_handles': {'d': 35, 'e': 20}}, [{'a': 'd', 'b': 'd'}, 0, True, 5, 20, []]), ({'views': {'a': 'd', 'b': 'e', 'c': 'f'}, 'closing': 'a', 'subscriptions': {'a': 10, 'b': 15, 'c': 5}, 'document_handles': {'d': 35, 'e': 20, 'f': 5}}, [{'b': 'e', 'c': 'f'}, 0, True, 10, 35, []]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 0, 'b': 15, 'c': 5}, 'document_handles': {'d': 35, 'e': 20}}, [{'b': 'd', 'c': 'e'}, 1, False, 0, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'b', 'subscriptions': {'a': 10, 'b': 15, 'c': 5}, 'document_handles': {'d': 35, 'e': 20}}, [{'a': 'd', 'c': 'e'}, 1, False, 15, 0, ['a']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'd'}, 'closing': 'a', 'subscriptions': {'a': 10, 'b': 15, 'c': 5}, 'document_handles': {'d': 35, 'e': 20}}, [{'b': 'd', 'c': 'd'}, 2, False, 10, 0, ['b', 'c']])]}\nfor i, (inputs, expected) in enumerate(fixtures[N]):\n    check(\"workspace regression \"+str(i), solve(inputs), 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":"dbdcd9228e9754d15c5d0f4f848aad9549ee14f67a535c5c9b496b263af0d52e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    r0 = {v:d for v,d in x['views'].items() if v!=x['closing']}\n    r1 = sum(v!=x['closing'] and d==x['views'][x['closing']] for v,d in x['views'].items())\n    r2 = not any(v!=x['closing'] and d==x['views'][x['closing']] for v,d in x['views'].items())\n    r3 = sum(x['subscriptions'].values())\n    r4 = x['document_handles'][x['views'][x['closing']]] if not any(v!=x['closing'] and d==x['views'][x['closing']] for v,d in x['views'].items()) else 0\n    r5 = [v for v,d in x['views'].items() if v!=x['closing'] and d==x['views'][x['closing']]]\n    return [r0,r1,r2,r3,r4,r5]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 2, 'b': 3, 'c': 1}, 'document_handles': {'d': 7, 'e': 4}}, [{'b': 'd', 'c': 'e'}, 1, False, 2, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'c', 'subscriptions': {'a': 2, 'b': 3, 'c': 1}, 'document_handles': {'d': 7, 'e': 4}}, [{'a': 'd', 'b': 'd'}, 0, True, 1, 4, []]), ({'views': {'a': 'd', 'b': 'e', 'c': 'f'}, 'closing': 'a', 'subscriptions': {'a': 2, 'b': 3, 'c': 1}, 'document_handles': {'d': 7, 'e': 4, 'f': 1}}, [{'b': 'e', 'c': 'f'}, 0, True, 2, 7, []]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 0, 'b': 3, 'c': 1}, 'document_handles': {'d': 7, 'e': 4}}, [{'b': 'd', 'c': 'e'}, 1, False, 0, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'b', 'subscriptions': {'a': 2, 'b': 3, 'c': 1}, 'document_handles': {'d': 7, 'e': 4}}, [{'a': 'd', 'c': 'e'}, 1, False, 3, 0, ['a']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'd'}, 'closing': 'a', 'subscriptions': {'a': 2, 'b': 3, 'c': 1}, 'document_handles': {'d': 7, 'e': 4}}, [{'b': 'd', 'c': 'd'}, 2, False, 2, 0, ['b', 'c']])], 2: [({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 4, 'b': 6, 'c': 2}, 'document_handles': {'d': 14, 'e': 8}}, [{'b': 'd', 'c': 'e'}, 1, False, 4, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'c', 'subscriptions': {'a': 4, 'b': 6, 'c': 2}, 'document_handles': {'d': 14, 'e': 8}}, [{'a': 'd', 'b': 'd'}, 0, True, 2, 8, []]), ({'views': {'a': 'd', 'b': 'e', 'c': 'f'}, 'closing': 'a', 'subscriptions': {'a': 4, 'b': 6, 'c': 2}, 'document_handles': {'d': 14, 'e': 8, 'f': 2}}, [{'b': 'e', 'c': 'f'}, 0, True, 4, 14, []]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 0, 'b': 6, 'c': 2}, 'document_handles': {'d': 14, 'e': 8}}, [{'b': 'd', 'c': 'e'}, 1, False, 0, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'b', 'subscriptions': {'a': 4, 'b': 6, 'c': 2}, 'document_handles': {'d': 14, 'e': 8}}, [{'a': 'd', 'c': 'e'}, 1, False, 6, 0, ['a']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'd'}, 'closing': 'a', 'subscriptions': {'a': 4, 'b': 6, 'c': 2}, 'document_handles': {'d': 14, 'e': 8}}, [{'b': 'd', 'c': 'd'}, 2, False, 4, 0, ['b', 'c']])], 3: [({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 6, 'b': 9, 'c': 3}, 'document_handles': {'d': 21, 'e': 12}}, [{'b': 'd', 'c': 'e'}, 1, False, 6, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'c', 'subscriptions': {'a': 6, 'b': 9, 'c': 3}, 'document_handles': {'d': 21, 'e': 12}}, [{'a': 'd', 'b': 'd'}, 0, True, 3, 12, []]), ({'views': {'a': 'd', 'b': 'e', 'c': 'f'}, 'closing': 'a', 'subscriptions': {'a': 6, 'b': 9, 'c': 3}, 'document_handles': {'d': 21, 'e': 12, 'f': 3}}, [{'b': 'e', 'c': 'f'}, 0, True, 6, 21, []]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 0, 'b': 9, 'c': 3}, 'document_handles': {'d': 21, 'e': 12}}, [{'b': 'd', 'c': 'e'}, 1, False, 0, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'b', 'subscriptions': {'a': 6, 'b': 9, 'c': 3}, 'document_handles': {'d': 21, 'e': 12}}, [{'a': 'd', 'c': 'e'}, 1, False, 9, 0, ['a']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'd'}, 'closing': 'a', 'subscriptions': {'a': 6, 'b': 9, 'c': 3}, 'document_handles': {'d': 21, 'e': 12}}, [{'b': 'd', 'c': 'd'}, 2, False, 6, 0, ['b', 'c']])], 4: [({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 8, 'b': 12, 'c': 4}, 'document_handles': {'d': 28, 'e': 16}}, [{'b': 'd', 'c': 'e'}, 1, False, 8, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'c', 'subscriptions': {'a': 8, 'b': 12, 'c': 4}, 'document_handles': {'d': 28, 'e': 16}}, [{'a': 'd', 'b': 'd'}, 0, True, 4, 16, []]), ({'views': {'a': 'd', 'b': 'e', 'c': 'f'}, 'closing': 'a', 'subscriptions': {'a': 8, 'b': 12, 'c': 4}, 'document_handles': {'d': 28, 'e': 16, 'f': 4}}, [{'b': 'e', 'c': 'f'}, 0, True, 8, 28, []]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 0, 'b': 12, 'c': 4}, 'document_handles': {'d': 28, 'e': 16}}, [{'b': 'd', 'c': 'e'}, 1, False, 0, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'b', 'subscriptions': {'a': 8, 'b': 12, 'c': 4}, 'document_handles': {'d': 28, 'e': 16}}, [{'a': 'd', 'c': 'e'}, 1, False, 12, 0, ['a']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'd'}, 'closing': 'a', 'subscriptions': {'a': 8, 'b': 12, 'c': 4}, 'document_handles': {'d': 28, 'e': 16}}, [{'b': 'd', 'c': 'd'}, 2, False, 8, 0, ['b', 'c']])], 5: [({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 10, 'b': 15, 'c': 5}, 'document_handles': {'d': 35, 'e': 20}}, [{'b': 'd', 'c': 'e'}, 1, False, 10, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'c', 'subscriptions': {'a': 10, 'b': 15, 'c': 5}, 'document_handles': {'d': 35, 'e': 20}}, [{'a': 'd', 'b': 'd'}, 0, True, 5, 20, []]), ({'views': {'a': 'd', 'b': 'e', 'c': 'f'}, 'closing': 'a', 'subscriptions': {'a': 10, 'b': 15, 'c': 5}, 'document_handles': {'d': 35, 'e': 20, 'f': 5}}, [{'b': 'e', 'c': 'f'}, 0, True, 10, 35, []]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 0, 'b': 15, 'c': 5}, 'document_handles': {'d': 35, 'e': 20}}, [{'b': 'd', 'c': 'e'}, 1, False, 0, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'b', 'subscriptions': {'a': 10, 'b': 15, 'c': 5}, 'document_handles': {'d': 35, 'e': 20}}, [{'a': 'd', 'c': 'e'}, 1, False, 15, 0, ['a']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'd'}, 'closing': 'a', 'subscriptions': {'a': 10, 'b': 15, 'c': 5}, 'document_handles': {'d': 35, 'e': 20}}, [{'b': 'd', 'c': 'd'}, 2, False, 10, 0, ['b', 'c']])]}\nfor i, (inputs, expected) in enumerate(fixtures[N]):\n    check(\"workspace regression \"+str(i), solve(inputs), 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":"1dfbb02d9805a3ce0afa02418de5d9893ac9e89fdac5efaf493b87b7826b640f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    r0 = {v:d for v,d in x['views'].items() if v!=x['closing']}\n    r1 = sum(v!=x['closing'] and d==x['views'][x['closing']] for v,d in x['views'].items())\n    r2 = not any(v!=x['closing'] and d==x['views'][x['closing']] for v,d in x['views'].items())\n    r3 = x['subscriptions'][x['closing']]\n    r4 = x['document_handles'][x['views'][x['closing']]] if not any(v!=x['closing'] and d==x['views'][x['closing']] for v,d in x['views'].items()) else 0\n    r5 = [v for v,d in x['views'].items() if v!=x['closing'] and d==x['views'][x['closing']]]\n    return [r0,r1,r2,r3,r4,r5]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 2, 'b': 3, 'c': 1}, 'document_handles': {'d': 7, 'e': 4}}, [{'b': 'd', 'c': 'e'}, 1, False, 2, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'c', 'subscriptions': {'a': 2, 'b': 3, 'c': 1}, 'document_handles': {'d': 7, 'e': 4}}, [{'a': 'd', 'b': 'd'}, 0, True, 1, 4, []]), ({'views': {'a': 'd', 'b': 'e', 'c': 'f'}, 'closing': 'a', 'subscriptions': {'a': 2, 'b': 3, 'c': 1}, 'document_handles': {'d': 7, 'e': 4, 'f': 1}}, [{'b': 'e', 'c': 'f'}, 0, True, 2, 7, []]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 0, 'b': 3, 'c': 1}, 'document_handles': {'d': 7, 'e': 4}}, [{'b': 'd', 'c': 'e'}, 1, False, 0, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'b', 'subscriptions': {'a': 2, 'b': 3, 'c': 1}, 'document_handles': {'d': 7, 'e': 4}}, [{'a': 'd', 'c': 'e'}, 1, False, 3, 0, ['a']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'd'}, 'closing': 'a', 'subscriptions': {'a': 2, 'b': 3, 'c': 1}, 'document_handles': {'d': 7, 'e': 4}}, [{'b': 'd', 'c': 'd'}, 2, False, 2, 0, ['b', 'c']])], 2: [({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 4, 'b': 6, 'c': 2}, 'document_handles': {'d': 14, 'e': 8}}, [{'b': 'd', 'c': 'e'}, 1, False, 4, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'c', 'subscriptions': {'a': 4, 'b': 6, 'c': 2}, 'document_handles': {'d': 14, 'e': 8}}, [{'a': 'd', 'b': 'd'}, 0, True, 2, 8, []]), ({'views': {'a': 'd', 'b': 'e', 'c': 'f'}, 'closing': 'a', 'subscriptions': {'a': 4, 'b': 6, 'c': 2}, 'document_handles': {'d': 14, 'e': 8, 'f': 2}}, [{'b': 'e', 'c': 'f'}, 0, True, 4, 14, []]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 0, 'b': 6, 'c': 2}, 'document_handles': {'d': 14, 'e': 8}}, [{'b': 'd', 'c': 'e'}, 1, False, 0, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'b', 'subscriptions': {'a': 4, 'b': 6, 'c': 2}, 'document_handles': {'d': 14, 'e': 8}}, [{'a': 'd', 'c': 'e'}, 1, False, 6, 0, ['a']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'd'}, 'closing': 'a', 'subscriptions': {'a': 4, 'b': 6, 'c': 2}, 'document_handles': {'d': 14, 'e': 8}}, [{'b': 'd', 'c': 'd'}, 2, False, 4, 0, ['b', 'c']])], 3: [({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 6, 'b': 9, 'c': 3}, 'document_handles': {'d': 21, 'e': 12}}, [{'b': 'd', 'c': 'e'}, 1, False, 6, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'c', 'subscriptions': {'a': 6, 'b': 9, 'c': 3}, 'document_handles': {'d': 21, 'e': 12}}, [{'a': 'd', 'b': 'd'}, 0, True, 3, 12, []]), ({'views': {'a': 'd', 'b': 'e', 'c': 'f'}, 'closing': 'a', 'subscriptions': {'a': 6, 'b': 9, 'c': 3}, 'document_handles': {'d': 21, 'e': 12, 'f': 3}}, [{'b': 'e', 'c': 'f'}, 0, True, 6, 21, []]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 0, 'b': 9, 'c': 3}, 'document_handles': {'d': 21, 'e': 12}}, [{'b': 'd', 'c': 'e'}, 1, False, 0, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'b', 'subscriptions': {'a': 6, 'b': 9, 'c': 3}, 'document_handles': {'d': 21, 'e': 12}}, [{'a': 'd', 'c': 'e'}, 1, False, 9, 0, ['a']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'd'}, 'closing': 'a', 'subscriptions': {'a': 6, 'b': 9, 'c': 3}, 'document_handles': {'d': 21, 'e': 12}}, [{'b': 'd', 'c': 'd'}, 2, False, 6, 0, ['b', 'c']])], 4: [({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 8, 'b': 12, 'c': 4}, 'document_handles': {'d': 28, 'e': 16}}, [{'b': 'd', 'c': 'e'}, 1, False, 8, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'c', 'subscriptions': {'a': 8, 'b': 12, 'c': 4}, 'document_handles': {'d': 28, 'e': 16}}, [{'a': 'd', 'b': 'd'}, 0, True, 4, 16, []]), ({'views': {'a': 'd', 'b': 'e', 'c': 'f'}, 'closing': 'a', 'subscriptions': {'a': 8, 'b': 12, 'c': 4}, 'document_handles': {'d': 28, 'e': 16, 'f': 4}}, [{'b': 'e', 'c': 'f'}, 0, True, 8, 28, []]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 0, 'b': 12, 'c': 4}, 'document_handles': {'d': 28, 'e': 16}}, [{'b': 'd', 'c': 'e'}, 1, False, 0, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'b', 'subscriptions': {'a': 8, 'b': 12, 'c': 4}, 'document_handles': {'d': 28, 'e': 16}}, [{'a': 'd', 'c': 'e'}, 1, False, 12, 0, ['a']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'd'}, 'closing': 'a', 'subscriptions': {'a': 8, 'b': 12, 'c': 4}, 'document_handles': {'d': 28, 'e': 16}}, [{'b': 'd', 'c': 'd'}, 2, False, 8, 0, ['b', 'c']])], 5: [({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 10, 'b': 15, 'c': 5}, 'document_handles': {'d': 35, 'e': 20}}, [{'b': 'd', 'c': 'e'}, 1, False, 10, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'c', 'subscriptions': {'a': 10, 'b': 15, 'c': 5}, 'document_handles': {'d': 35, 'e': 20}}, [{'a': 'd', 'b': 'd'}, 0, True, 5, 20, []]), ({'views': {'a': 'd', 'b': 'e', 'c': 'f'}, 'closing': 'a', 'subscriptions': {'a': 10, 'b': 15, 'c': 5}, 'document_handles': {'d': 35, 'e': 20, 'f': 5}}, [{'b': 'e', 'c': 'f'}, 0, True, 10, 35, []]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'a', 'subscriptions': {'a': 0, 'b': 15, 'c': 5}, 'document_handles': {'d': 35, 'e': 20}}, [{'b': 'd', 'c': 'e'}, 1, False, 0, 0, ['b']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'e'}, 'closing': 'b', 'subscriptions': {'a': 10, 'b': 15, 'c': 5}, 'document_handles': {'d': 35, 'e': 20}}, [{'a': 'd', 'c': 'e'}, 1, False, 15, 0, ['a']]), ({'views': {'a': 'd', 'b': 'd', 'c': 'd'}, 'closing': 'a', 'subscriptions': {'a': 10, 'b': 15, 'c': 5}, 'document_handles': {'d': 35, 'e': 20}}, [{'b': 'd', 'c': 'd'}, 2, False, 10, 0, ['b', 'c']])]}\nfor i, (inputs, expected) in enumerate(fixtures[N]):\n    check(\"workspace regression \"+str(i), solve(inputs), 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":"Finite stipulated workspace snapshots only. Independent result fields describe observable obligations, not a full UI runtime. 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-tab-interfaces-tab-resource-sharing-released-view-listeners","generated_at":"2026-09-29T14:42:49.224674+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Offline tab/panel workspace behavior; no browser or desktop framework is emulated.","repair":"Use the stipulated workspace rule: x['subscriptions'][x['closing']].","root_cause":"The released view listeners decision uses sum(x['subscriptions'].values()) instead of x['subscriptions'][x['closing']].","sha256":"0fe994dc07e65420858f8183419445fb474a557052ed74e81ee659ebf97b99cb","title":"Tab resource sharing: released view listeners · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":46.302,"exit_code":1,"observations":[{"actual":[{"b":"d","c":"e"},1,false,0,0,["b"]],"check":"workspace regression 0","expected":[{"b":"d","c":"e"},1,false,2,0,["b"]],"passed":false},{"actual":[{"a":"d","b":"d"},0,true,0,4,[]],"check":"workspace regression 1","expected":[{"a":"d","b":"d"},0,true,1,4,[]],"passed":false},{"actual":[{"b":"e","c":"f"},0,true,0,7,[]],"check":"workspace regression 2","expected":[{"b":"e","c":"f"},0,true,2,7,[]],"passed":false},{"actual":[{"b":"d","c":"e"},1,false,0,0,["b"]],"check":"workspace regression 3","expected":[{"b":"d","c":"e"},1,false,0,0,["b"]],"passed":true},{"actual":[{"a":"d","c":"e"},1,false,0,0,["a"]],"check":"workspace regression 4","expected":[{"a":"d","c":"e"},1,false,3,0,["a"]],"passed":false},{"actual":[{"b":"d","c":"d"},2,false,0,0,["b","c"]],"check":"workspace regression 5","expected":[{"b":"d","c":"d"},2,false,2,0,["b","c"]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"workspace regression 0\", \"actual\": [{\"b\": \"d\", \"c\": \"e\"}, 1, false, 0, 0, [\"b\"]], \"expected\": [{\"b\": \"d\", \"c\": \"e\"}, 1, false, 2, 0, [\"b\"]], \"passed\": false}, {\"check\": \"workspace regression 1\", \"actual\": [{\"a\": \"d\", \"b\": \"d\"}, 0, true, 0, 4, []], \"expected\": [{\"a\": \"d\", \"b\": \"d\"}, 0, true, 1, 4, []], \"passed\": false}, {\"check\": \"workspace regression 2\", \"actual\": [{\"b\": \"e\", \"c\": \"f\"}, 0, true, 0, 7, []], \"expected\": [{\"b\": \"e\", \"c\": \"f\"}, 0, true, 2, 7, []], \"passed\": false}, {\"check\": \"workspace regression 3\", \"actual\": [{\"b\": \"d\", \"c\": \"e\"}, 1, false, 0, 0, [\"b\"]], \"expected\": [{\"b\": \"d\", \"c\": \"e\"}, 1, false, 0, 0, [\"b\"]], \"passed\": true}, {\"check\": \"workspace regression 4\", \"actual\": [{\"a\": \"d\", \"c\": \"e\"}, 1, false, 0, 0, [\"a\"]], \"expected\": [{\"a\": \"d\", \"c\": \"e\"}, 1, false, 3, 0, [\"a\"]], \"passed\": false}, {\"check\": \"workspace regression 5\", \"actual\": [{\"b\": \"d\", \"c\": \"d\"}, 2, false, 0, 0, [\"b\", \"c\"]], \"expected\": [{\"b\": \"d\", \"c\": \"d\"}, 2, false, 2, 0, [\"b\", \"c\"]], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.611,"exit_code":1,"observations":[{"actual":[{"b":"d","c":"e"},1,false,6,0,["b"]],"check":"workspace regression 0","expected":[{"b":"d","c":"e"},1,false,2,0,["b"]],"passed":false},{"actual":[{"a":"d","b":"d"},0,true,6,4,[]],"check":"workspace regression 1","expected":[{"a":"d","b":"d"},0,true,1,4,[]],"passed":false},{"actual":[{"b":"e","c":"f"},0,true,6,7,[]],"check":"workspace regression 2","expected":[{"b":"e","c":"f"},0,true,2,7,[]],"passed":false},{"actual":[{"b":"d","c":"e"},1,false,4,0,["b"]],"check":"workspace regression 3","expected":[{"b":"d","c":"e"},1,false,0,0,["b"]],"passed":false},{"actual":[{"a":"d","c":"e"},1,false,6,0,["a"]],"check":"workspace regression 4","expected":[{"a":"d","c":"e"},1,false,3,0,["a"]],"passed":false},{"actual":[{"b":"d","c":"d"},2,false,6,0,["b","c"]],"check":"workspace regression 5","expected":[{"b":"d","c":"d"},2,false,2,0,["b","c"]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"workspace regression 0\", \"actual\": [{\"b\": \"d\", \"c\": \"e\"}, 1, false, 6, 0, [\"b\"]], \"expected\": [{\"b\": \"d\", \"c\": \"e\"}, 1, false, 2, 0, [\"b\"]], \"passed\": false}, {\"check\": \"workspace regression 1\", \"actual\": [{\"a\": \"d\", \"b\": \"d\"}, 0, true, 6, 4, []], \"expected\": [{\"a\": \"d\", \"b\": \"d\"}, 0, true, 1, 4, []], \"passed\": false}, {\"check\": \"workspace regression 2\", \"actual\": [{\"b\": \"e\", \"c\": \"f\"}, 0, true, 6, 7, []], \"expected\": [{\"b\": \"e\", \"c\": \"f\"}, 0, true, 2, 7, []], \"passed\": false}, {\"check\": \"workspace regression 3\", \"actual\": [{\"b\": \"d\", \"c\": \"e\"}, 1, false, 4, 0, [\"b\"]], \"expected\": [{\"b\": \"d\", \"c\": \"e\"}, 1, false, 0, 0, [\"b\"]], \"passed\": false}, {\"check\": \"workspace regression 4\", \"actual\": [{\"a\": \"d\", \"c\": \"e\"}, 1, false, 6, 0, [\"a\"]], \"expected\": [{\"a\": \"d\", \"c\": \"e\"}, 1, false, 3, 0, [\"a\"]], \"passed\": false}, {\"check\": \"workspace regression 5\", \"actual\": [{\"b\": \"d\", \"c\": \"d\"}, 2, false, 6, 0, [\"b\", \"c\"]], \"expected\": [{\"b\": \"d\", \"c\": \"d\"}, 2, false, 2, 0, [\"b\", \"c\"]], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.541,"exit_code":0,"observations":[{"actual":[{"b":"d","c":"e"},1,false,2,0,["b"]],"check":"workspace regression 0","expected":[{"b":"d","c":"e"},1,false,2,0,["b"]],"passed":true},{"actual":[{"a":"d","b":"d"},0,true,1,4,[]],"check":"workspace regression 1","expected":[{"a":"d","b":"d"},0,true,1,4,[]],"passed":true},{"actual":[{"b":"e","c":"f"},0,true,2,7,[]],"check":"workspace regression 2","expected":[{"b":"e","c":"f"},0,true,2,7,[]],"passed":true},{"actual":[{"b":"d","c":"e"},1,false,0,0,["b"]],"check":"workspace regression 3","expected":[{"b":"d","c":"e"},1,false,0,0,["b"]],"passed":true},{"actual":[{"a":"d","c":"e"},1,false,3,0,["a"]],"check":"workspace regression 4","expected":[{"a":"d","c":"e"},1,false,3,0,["a"]],"passed":true},{"actual":[{"b":"d","c":"d"},2,false,2,0,["b","c"]],"check":"workspace regression 5","expected":[{"b":"d","c":"d"},2,false,2,0,["b","c"]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"workspace regression 0\", \"actual\": [{\"b\": \"d\", \"c\": \"e\"}, 1, false, 2, 0, [\"b\"]], \"expected\": [{\"b\": \"d\", \"c\": \"e\"}, 1, false, 2, 0, [\"b\"]], \"passed\": true}, {\"check\": \"workspace regression 1\", \"actual\": [{\"a\": \"d\", \"b\": \"d\"}, 0, true, 1, 4, []], \"expected\": [{\"a\": \"d\", \"b\": \"d\"}, 0, true, 1, 4, []], \"passed\": true}, {\"check\": \"workspace regression 2\", \"actual\": [{\"b\": \"e\", \"c\": \"f\"}, 0, true, 2, 7, []], \"expected\": [{\"b\": \"e\", \"c\": \"f\"}, 0, true, 2, 7, []], \"passed\": true}, {\"check\": \"workspace regression 3\", \"actual\": [{\"b\": \"d\", \"c\": \"e\"}, 1, false, 0, 0, [\"b\"]], \"expected\": [{\"b\": \"d\", \"c\": \"e\"}, 1, false, 0, 0, [\"b\"]], \"passed\": true}, {\"check\": \"workspace regression 4\", \"actual\": [{\"a\": \"d\", \"c\": \"e\"}, 1, false, 3, 0, [\"a\"]], \"expected\": [{\"a\": \"d\", \"c\": \"e\"}, 1, false, 3, 0, [\"a\"]], \"passed\": true}, {\"check\": \"workspace regression 5\", \"actual\": [{\"b\": \"d\", \"c\": \"d\"}, 2, false, 2, 0, [\"b\", \"c\"]], \"expected\": [{\"b\": \"d\", \"c\": \"d\"}, 2, false, 2, 0, [\"b\", \"c\"]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}