{"abstract":"The tab workspace reports an incorrect restore entry.","category":"Tab interfaces","checks":6,"contract":"Closed tabs are restored LIFO with original group, insertion slot, document and viewport; skip tombstones and keep remaining stack order.","evaluation_group":"s3-tabs-recently-closed-stack","failed_approach":"The partial repair x['stack'][-1][0] still violates a workspace boundary or normal case.","family":"s3-tab-interfaces-recently-closed-stack-restore-entry","id":"FA-35611","implementations":{"attempt":{"sha256":"713db0dd42c8790637ea40ca9e457fbbe3352653b20d20d677db506756bdbb2a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    r0 = x['stack'][-1][0]\n    r1 = next((r[1] for r in reversed(x['stack']) if r[0] not in x['deleted']),None)\n    r2 = next((min(r[2],x['group_sizes'][r[1]]) for r in reversed(x['stack']) if r[0] not in x['deleted']),None)\n    r3 = next((r[3] for r in reversed(x['stack']) if r[0] not in x['deleted']),None)\n    r4 = [r[0] for r in x['stack'] if r[0] not in x['deleted']]\n    r5 = [r[0] for r in x['stack'] if r[0] not in x['deleted']][:-1]\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: [({'stack': [['a', 'g', 2, 30], ['b', 'h', 0, 50], ['c', 'g', 1, 20]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 0, 50, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 30], ['b', 'h', 0, 50], ['c', 'g', 1, 20]], 'deleted': [], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 20, ['a', 'b', 'c'], ['a', 'b']]), ({'stack': [['a', 'g', 2, 30], ['b', 'h', 0, 50], ['c', 'g', 1, 20]], 'deleted': ['b', 'c'], 'group_sizes': {'g': 1, 'h': 2}}, ['a', 'g', 1, 30, ['a'], []]), ({'stack': [['a', 'g', 2, 30], ['b', 'h', 0, 50], ['c', 'g', 1, 20]], 'deleted': ['c'], 'group_sizes': {'g': 4, 'h': 0}}, ['b', 'h', 0, 50, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 30], ['b', 'h', 0, 50], ['c', 'g', 1, 20]], 'deleted': ['a'], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 20, ['b', 'c'], ['b']]), ({'stack': [['a', 'g', 2, 30], ['b', 'h', 1, 0]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 1, 0, ['a', 'b'], ['a']])], 2: [({'stack': [['a', 'g', 2, 60], ['b', 'h', 0, 100], ['c', 'g', 1, 40]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 0, 100, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 60], ['b', 'h', 0, 100], ['c', 'g', 1, 40]], 'deleted': [], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 40, ['a', 'b', 'c'], ['a', 'b']]), ({'stack': [['a', 'g', 2, 60], ['b', 'h', 0, 100], ['c', 'g', 1, 40]], 'deleted': ['b', 'c'], 'group_sizes': {'g': 1, 'h': 2}}, ['a', 'g', 1, 60, ['a'], []]), ({'stack': [['a', 'g', 2, 60], ['b', 'h', 0, 100], ['c', 'g', 1, 40]], 'deleted': ['c'], 'group_sizes': {'g': 4, 'h': 0}}, ['b', 'h', 0, 100, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 60], ['b', 'h', 0, 100], ['c', 'g', 1, 40]], 'deleted': ['a'], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 40, ['b', 'c'], ['b']]), ({'stack': [['a', 'g', 2, 60], ['b', 'h', 1, 0]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 1, 0, ['a', 'b'], ['a']])], 3: [({'stack': [['a', 'g', 2, 90], ['b', 'h', 0, 150], ['c', 'g', 1, 60]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 0, 150, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 90], ['b', 'h', 0, 150], ['c', 'g', 1, 60]], 'deleted': [], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 60, ['a', 'b', 'c'], ['a', 'b']]), ({'stack': [['a', 'g', 2, 90], ['b', 'h', 0, 150], ['c', 'g', 1, 60]], 'deleted': ['b', 'c'], 'group_sizes': {'g': 1, 'h': 2}}, ['a', 'g', 1, 90, ['a'], []]), ({'stack': [['a', 'g', 2, 90], ['b', 'h', 0, 150], ['c', 'g', 1, 60]], 'deleted': ['c'], 'group_sizes': {'g': 4, 'h': 0}}, ['b', 'h', 0, 150, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 90], ['b', 'h', 0, 150], ['c', 'g', 1, 60]], 'deleted': ['a'], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 60, ['b', 'c'], ['b']]), ({'stack': [['a', 'g', 2, 90], ['b', 'h', 1, 0]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 1, 0, ['a', 'b'], ['a']])], 4: [({'stack': [['a', 'g', 2, 120], ['b', 'h', 0, 200], ['c', 'g', 1, 80]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 0, 200, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 120], ['b', 'h', 0, 200], ['c', 'g', 1, 80]], 'deleted': [], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 80, ['a', 'b', 'c'], ['a', 'b']]), ({'stack': [['a', 'g', 2, 120], ['b', 'h', 0, 200], ['c', 'g', 1, 80]], 'deleted': ['b', 'c'], 'group_sizes': {'g': 1, 'h': 2}}, ['a', 'g', 1, 120, ['a'], []]), ({'stack': [['a', 'g', 2, 120], ['b', 'h', 0, 200], ['c', 'g', 1, 80]], 'deleted': ['c'], 'group_sizes': {'g': 4, 'h': 0}}, ['b', 'h', 0, 200, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 120], ['b', 'h', 0, 200], ['c', 'g', 1, 80]], 'deleted': ['a'], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 80, ['b', 'c'], ['b']]), ({'stack': [['a', 'g', 2, 120], ['b', 'h', 1, 0]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 1, 0, ['a', 'b'], ['a']])], 5: [({'stack': [['a', 'g', 2, 150], ['b', 'h', 0, 250], ['c', 'g', 1, 100]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 0, 250, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 150], ['b', 'h', 0, 250], ['c', 'g', 1, 100]], 'deleted': [], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 100, ['a', 'b', 'c'], ['a', 'b']]), ({'stack': [['a', 'g', 2, 150], ['b', 'h', 0, 250], ['c', 'g', 1, 100]], 'deleted': ['b', 'c'], 'group_sizes': {'g': 1, 'h': 2}}, ['a', 'g', 1, 150, ['a'], []]), ({'stack': [['a', 'g', 2, 150], ['b', 'h', 0, 250], ['c', 'g', 1, 100]], 'deleted': ['c'], 'group_sizes': {'g': 4, 'h': 0}}, ['b', 'h', 0, 250, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 150], ['b', 'h', 0, 250], ['c', 'g', 1, 100]], 'deleted': ['a'], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 100, ['b', 'c'], ['b']]), ({'stack': [['a', 'g', 2, 150], ['b', 'h', 1, 0]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 1, 0, ['a', 'b'], ['a']])]}\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":"859cc59093a44023a8ec201467c8ab11ae81ae79bf9e9b417293a3e168d822c7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    r0 = x['stack'][0][0]\n    r1 = next((r[1] for r in reversed(x['stack']) if r[0] not in x['deleted']),None)\n    r2 = next((min(r[2],x['group_sizes'][r[1]]) for r in reversed(x['stack']) if r[0] not in x['deleted']),None)\n    r3 = next((r[3] for r in reversed(x['stack']) if r[0] not in x['deleted']),None)\n    r4 = [r[0] for r in x['stack'] if r[0] not in x['deleted']]\n    r5 = [r[0] for r in x['stack'] if r[0] not in x['deleted']][:-1]\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: [({'stack': [['a', 'g', 2, 30], ['b', 'h', 0, 50], ['c', 'g', 1, 20]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 0, 50, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 30], ['b', 'h', 0, 50], ['c', 'g', 1, 20]], 'deleted': [], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 20, ['a', 'b', 'c'], ['a', 'b']]), ({'stack': [['a', 'g', 2, 30], ['b', 'h', 0, 50], ['c', 'g', 1, 20]], 'deleted': ['b', 'c'], 'group_sizes': {'g': 1, 'h': 2}}, ['a', 'g', 1, 30, ['a'], []]), ({'stack': [['a', 'g', 2, 30], ['b', 'h', 0, 50], ['c', 'g', 1, 20]], 'deleted': ['c'], 'group_sizes': {'g': 4, 'h': 0}}, ['b', 'h', 0, 50, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 30], ['b', 'h', 0, 50], ['c', 'g', 1, 20]], 'deleted': ['a'], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 20, ['b', 'c'], ['b']]), ({'stack': [['a', 'g', 2, 30], ['b', 'h', 1, 0]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 1, 0, ['a', 'b'], ['a']])], 2: [({'stack': [['a', 'g', 2, 60], ['b', 'h', 0, 100], ['c', 'g', 1, 40]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 0, 100, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 60], ['b', 'h', 0, 100], ['c', 'g', 1, 40]], 'deleted': [], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 40, ['a', 'b', 'c'], ['a', 'b']]), ({'stack': [['a', 'g', 2, 60], ['b', 'h', 0, 100], ['c', 'g', 1, 40]], 'deleted': ['b', 'c'], 'group_sizes': {'g': 1, 'h': 2}}, ['a', 'g', 1, 60, ['a'], []]), ({'stack': [['a', 'g', 2, 60], ['b', 'h', 0, 100], ['c', 'g', 1, 40]], 'deleted': ['c'], 'group_sizes': {'g': 4, 'h': 0}}, ['b', 'h', 0, 100, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 60], ['b', 'h', 0, 100], ['c', 'g', 1, 40]], 'deleted': ['a'], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 40, ['b', 'c'], ['b']]), ({'stack': [['a', 'g', 2, 60], ['b', 'h', 1, 0]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 1, 0, ['a', 'b'], ['a']])], 3: [({'stack': [['a', 'g', 2, 90], ['b', 'h', 0, 150], ['c', 'g', 1, 60]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 0, 150, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 90], ['b', 'h', 0, 150], ['c', 'g', 1, 60]], 'deleted': [], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 60, ['a', 'b', 'c'], ['a', 'b']]), ({'stack': [['a', 'g', 2, 90], ['b', 'h', 0, 150], ['c', 'g', 1, 60]], 'deleted': ['b', 'c'], 'group_sizes': {'g': 1, 'h': 2}}, ['a', 'g', 1, 90, ['a'], []]), ({'stack': [['a', 'g', 2, 90], ['b', 'h', 0, 150], ['c', 'g', 1, 60]], 'deleted': ['c'], 'group_sizes': {'g': 4, 'h': 0}}, ['b', 'h', 0, 150, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 90], ['b', 'h', 0, 150], ['c', 'g', 1, 60]], 'deleted': ['a'], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 60, ['b', 'c'], ['b']]), ({'stack': [['a', 'g', 2, 90], ['b', 'h', 1, 0]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 1, 0, ['a', 'b'], ['a']])], 4: [({'stack': [['a', 'g', 2, 120], ['b', 'h', 0, 200], ['c', 'g', 1, 80]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 0, 200, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 120], ['b', 'h', 0, 200], ['c', 'g', 1, 80]], 'deleted': [], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 80, ['a', 'b', 'c'], ['a', 'b']]), ({'stack': [['a', 'g', 2, 120], ['b', 'h', 0, 200], ['c', 'g', 1, 80]], 'deleted': ['b', 'c'], 'group_sizes': {'g': 1, 'h': 2}}, ['a', 'g', 1, 120, ['a'], []]), ({'stack': [['a', 'g', 2, 120], ['b', 'h', 0, 200], ['c', 'g', 1, 80]], 'deleted': ['c'], 'group_sizes': {'g': 4, 'h': 0}}, ['b', 'h', 0, 200, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 120], ['b', 'h', 0, 200], ['c', 'g', 1, 80]], 'deleted': ['a'], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 80, ['b', 'c'], ['b']]), ({'stack': [['a', 'g', 2, 120], ['b', 'h', 1, 0]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 1, 0, ['a', 'b'], ['a']])], 5: [({'stack': [['a', 'g', 2, 150], ['b', 'h', 0, 250], ['c', 'g', 1, 100]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 0, 250, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 150], ['b', 'h', 0, 250], ['c', 'g', 1, 100]], 'deleted': [], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 100, ['a', 'b', 'c'], ['a', 'b']]), ({'stack': [['a', 'g', 2, 150], ['b', 'h', 0, 250], ['c', 'g', 1, 100]], 'deleted': ['b', 'c'], 'group_sizes': {'g': 1, 'h': 2}}, ['a', 'g', 1, 150, ['a'], []]), ({'stack': [['a', 'g', 2, 150], ['b', 'h', 0, 250], ['c', 'g', 1, 100]], 'deleted': ['c'], 'group_sizes': {'g': 4, 'h': 0}}, ['b', 'h', 0, 250, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 150], ['b', 'h', 0, 250], ['c', 'g', 1, 100]], 'deleted': ['a'], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 100, ['b', 'c'], ['b']]), ({'stack': [['a', 'g', 2, 150], ['b', 'h', 1, 0]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 1, 0, ['a', 'b'], ['a']])]}\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":"e60bd678a02720fc761c7b9e201f6a3ea39cd6dea6a2e5e3c5293d954ad9a112","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    r0 = next((r[0] for r in reversed(x['stack']) if r[0] not in x['deleted']),None)\n    r1 = next((r[1] for r in reversed(x['stack']) if r[0] not in x['deleted']),None)\n    r2 = next((min(r[2],x['group_sizes'][r[1]]) for r in reversed(x['stack']) if r[0] not in x['deleted']),None)\n    r3 = next((r[3] for r in reversed(x['stack']) if r[0] not in x['deleted']),None)\n    r4 = [r[0] for r in x['stack'] if r[0] not in x['deleted']]\n    r5 = [r[0] for r in x['stack'] if r[0] not in x['deleted']][:-1]\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: [({'stack': [['a', 'g', 2, 30], ['b', 'h', 0, 50], ['c', 'g', 1, 20]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 0, 50, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 30], ['b', 'h', 0, 50], ['c', 'g', 1, 20]], 'deleted': [], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 20, ['a', 'b', 'c'], ['a', 'b']]), ({'stack': [['a', 'g', 2, 30], ['b', 'h', 0, 50], ['c', 'g', 1, 20]], 'deleted': ['b', 'c'], 'group_sizes': {'g': 1, 'h': 2}}, ['a', 'g', 1, 30, ['a'], []]), ({'stack': [['a', 'g', 2, 30], ['b', 'h', 0, 50], ['c', 'g', 1, 20]], 'deleted': ['c'], 'group_sizes': {'g': 4, 'h': 0}}, ['b', 'h', 0, 50, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 30], ['b', 'h', 0, 50], ['c', 'g', 1, 20]], 'deleted': ['a'], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 20, ['b', 'c'], ['b']]), ({'stack': [['a', 'g', 2, 30], ['b', 'h', 1, 0]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 1, 0, ['a', 'b'], ['a']])], 2: [({'stack': [['a', 'g', 2, 60], ['b', 'h', 0, 100], ['c', 'g', 1, 40]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 0, 100, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 60], ['b', 'h', 0, 100], ['c', 'g', 1, 40]], 'deleted': [], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 40, ['a', 'b', 'c'], ['a', 'b']]), ({'stack': [['a', 'g', 2, 60], ['b', 'h', 0, 100], ['c', 'g', 1, 40]], 'deleted': ['b', 'c'], 'group_sizes': {'g': 1, 'h': 2}}, ['a', 'g', 1, 60, ['a'], []]), ({'stack': [['a', 'g', 2, 60], ['b', 'h', 0, 100], ['c', 'g', 1, 40]], 'deleted': ['c'], 'group_sizes': {'g': 4, 'h': 0}}, ['b', 'h', 0, 100, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 60], ['b', 'h', 0, 100], ['c', 'g', 1, 40]], 'deleted': ['a'], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 40, ['b', 'c'], ['b']]), ({'stack': [['a', 'g', 2, 60], ['b', 'h', 1, 0]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 1, 0, ['a', 'b'], ['a']])], 3: [({'stack': [['a', 'g', 2, 90], ['b', 'h', 0, 150], ['c', 'g', 1, 60]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 0, 150, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 90], ['b', 'h', 0, 150], ['c', 'g', 1, 60]], 'deleted': [], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 60, ['a', 'b', 'c'], ['a', 'b']]), ({'stack': [['a', 'g', 2, 90], ['b', 'h', 0, 150], ['c', 'g', 1, 60]], 'deleted': ['b', 'c'], 'group_sizes': {'g': 1, 'h': 2}}, ['a', 'g', 1, 90, ['a'], []]), ({'stack': [['a', 'g', 2, 90], ['b', 'h', 0, 150], ['c', 'g', 1, 60]], 'deleted': ['c'], 'group_sizes': {'g': 4, 'h': 0}}, ['b', 'h', 0, 150, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 90], ['b', 'h', 0, 150], ['c', 'g', 1, 60]], 'deleted': ['a'], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 60, ['b', 'c'], ['b']]), ({'stack': [['a', 'g', 2, 90], ['b', 'h', 1, 0]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 1, 0, ['a', 'b'], ['a']])], 4: [({'stack': [['a', 'g', 2, 120], ['b', 'h', 0, 200], ['c', 'g', 1, 80]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 0, 200, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 120], ['b', 'h', 0, 200], ['c', 'g', 1, 80]], 'deleted': [], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 80, ['a', 'b', 'c'], ['a', 'b']]), ({'stack': [['a', 'g', 2, 120], ['b', 'h', 0, 200], ['c', 'g', 1, 80]], 'deleted': ['b', 'c'], 'group_sizes': {'g': 1, 'h': 2}}, ['a', 'g', 1, 120, ['a'], []]), ({'stack': [['a', 'g', 2, 120], ['b', 'h', 0, 200], ['c', 'g', 1, 80]], 'deleted': ['c'], 'group_sizes': {'g': 4, 'h': 0}}, ['b', 'h', 0, 200, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 120], ['b', 'h', 0, 200], ['c', 'g', 1, 80]], 'deleted': ['a'], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 80, ['b', 'c'], ['b']]), ({'stack': [['a', 'g', 2, 120], ['b', 'h', 1, 0]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 1, 0, ['a', 'b'], ['a']])], 5: [({'stack': [['a', 'g', 2, 150], ['b', 'h', 0, 250], ['c', 'g', 1, 100]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 0, 250, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 150], ['b', 'h', 0, 250], ['c', 'g', 1, 100]], 'deleted': [], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 100, ['a', 'b', 'c'], ['a', 'b']]), ({'stack': [['a', 'g', 2, 150], ['b', 'h', 0, 250], ['c', 'g', 1, 100]], 'deleted': ['b', 'c'], 'group_sizes': {'g': 1, 'h': 2}}, ['a', 'g', 1, 150, ['a'], []]), ({'stack': [['a', 'g', 2, 150], ['b', 'h', 0, 250], ['c', 'g', 1, 100]], 'deleted': ['c'], 'group_sizes': {'g': 4, 'h': 0}}, ['b', 'h', 0, 250, ['a', 'b'], ['a']]), ({'stack': [['a', 'g', 2, 150], ['b', 'h', 0, 250], ['c', 'g', 1, 100]], 'deleted': ['a'], 'group_sizes': {'g': 1, 'h': 2}}, ['c', 'g', 1, 100, ['b', 'c'], ['b']]), ({'stack': [['a', 'g', 2, 150], ['b', 'h', 1, 0]], 'deleted': ['c'], 'group_sizes': {'g': 1, 'h': 2}}, ['b', 'h', 1, 0, ['a', 'b'], ['a']])]}\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-recently-closed-stack-restore-entry","generated_at":"2026-09-29T14:42:43.305759+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: next((r[0] for r in reversed(x['stack']) if r[0] not in x['deleted']),None).","root_cause":"The restore entry decision uses x['stack'][0][0] instead of next((r[0] for r in reversed(x['stack']) if r[0] not in x['deleted']),None).","sha256":"7339b5240377a431733627497d00cc46c7789e3a8b72bc343805b7394da6d66a","title":"Recently closed stack: restore entry · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.949,"exit_code":1,"observations":[{"actual":["c","h",0,50,["a","b"],["a"]],"check":"workspace regression 0","expected":["b","h",0,50,["a","b"],["a"]],"passed":false},{"actual":["c","g",1,20,["a","b","c"],["a","b"]],"check":"workspace regression 1","expected":["c","g",1,20,["a","b","c"],["a","b"]],"passed":true},{"actual":["c","g",1,30,["a"],[]],"check":"workspace regression 2","expected":["a","g",1,30,["a"],[]],"passed":false},{"actual":["c","h",0,50,["a","b"],["a"]],"check":"workspace regression 3","expected":["b","h",0,50,["a","b"],["a"]],"passed":false},{"actual":["c","g",1,20,["b","c"],["b"]],"check":"workspace regression 4","expected":["c","g",1,20,["b","c"],["b"]],"passed":true},{"actual":["b","h",1,0,["a","b"],["a"]],"check":"workspace regression 5","expected":["b","h",1,0,["a","b"],["a"]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"workspace regression 0\", \"actual\": [\"c\", \"h\", 0, 50, [\"a\", \"b\"], [\"a\"]], \"expected\": [\"b\", \"h\", 0, 50, [\"a\", \"b\"], [\"a\"]], \"passed\": false}, {\"check\": \"workspace regression 1\", \"actual\": [\"c\", \"g\", 1, 20, [\"a\", \"b\", \"c\"], [\"a\", \"b\"]], \"expected\": [\"c\", \"g\", 1, 20, [\"a\", \"b\", \"c\"], [\"a\", \"b\"]], \"passed\": true}, {\"check\": \"workspace regression 2\", \"actual\": [\"c\", \"g\", 1, 30, [\"a\"], []], \"expected\": [\"a\", \"g\", 1, 30, [\"a\"], []], \"passed\": false}, {\"check\": \"workspace regression 3\", \"actual\": [\"c\", \"h\", 0, 50, [\"a\", \"b\"], [\"a\"]], \"expected\": [\"b\", \"h\", 0, 50, [\"a\", \"b\"], [\"a\"]], \"passed\": false}, {\"check\": \"workspace regression 4\", \"actual\": [\"c\", \"g\", 1, 20, [\"b\", \"c\"], [\"b\"]], \"expected\": [\"c\", \"g\", 1, 20, [\"b\", \"c\"], [\"b\"]], \"passed\": true}, {\"check\": \"workspace regression 5\", \"actual\": [\"b\", \"h\", 1, 0, [\"a\", \"b\"], [\"a\"]], \"expected\": [\"b\", \"h\", 1, 0, [\"a\", \"b\"], [\"a\"]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.378,"exit_code":1,"observations":[{"actual":["a","h",0,50,["a","b"],["a"]],"check":"workspace regression 0","expected":["b","h",0,50,["a","b"],["a"]],"passed":false},{"actual":["a","g",1,20,["a","b","c"],["a","b"]],"check":"workspace regression 1","expected":["c","g",1,20,["a","b","c"],["a","b"]],"passed":false},{"actual":["a","g",1,30,["a"],[]],"check":"workspace regression 2","expected":["a","g",1,30,["a"],[]],"passed":true},{"actual":["a","h",0,50,["a","b"],["a"]],"check":"workspace regression 3","expected":["b","h",0,50,["a","b"],["a"]],"passed":false},{"actual":["a","g",1,20,["b","c"],["b"]],"check":"workspace regression 4","expected":["c","g",1,20,["b","c"],["b"]],"passed":false},{"actual":["a","h",1,0,["a","b"],["a"]],"check":"workspace regression 5","expected":["b","h",1,0,["a","b"],["a"]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"workspace regression 0\", \"actual\": [\"a\", \"h\", 0, 50, [\"a\", \"b\"], [\"a\"]], \"expected\": [\"b\", \"h\", 0, 50, [\"a\", \"b\"], [\"a\"]], \"passed\": false}, {\"check\": \"workspace regression 1\", \"actual\": [\"a\", \"g\", 1, 20, [\"a\", \"b\", \"c\"], [\"a\", \"b\"]], \"expected\": [\"c\", \"g\", 1, 20, [\"a\", \"b\", \"c\"], [\"a\", \"b\"]], \"passed\": false}, {\"check\": \"workspace regression 2\", \"actual\": [\"a\", \"g\", 1, 30, [\"a\"], []], \"expected\": [\"a\", \"g\", 1, 30, [\"a\"], []], \"passed\": true}, {\"check\": \"workspace regression 3\", \"actual\": [\"a\", \"h\", 0, 50, [\"a\", \"b\"], [\"a\"]], \"expected\": [\"b\", \"h\", 0, 50, [\"a\", \"b\"], [\"a\"]], \"passed\": false}, {\"check\": \"workspace regression 4\", \"actual\": [\"a\", \"g\", 1, 20, [\"b\", \"c\"], [\"b\"]], \"expected\": [\"c\", \"g\", 1, 20, [\"b\", \"c\"], [\"b\"]], \"passed\": false}, {\"check\": \"workspace regression 5\", \"actual\": [\"a\", \"h\", 1, 0, [\"a\", \"b\"], [\"a\"]], \"expected\": [\"b\", \"h\", 1, 0, [\"a\", \"b\"], [\"a\"]], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":45.956,"exit_code":0,"observations":[{"actual":["b","h",0,50,["a","b"],["a"]],"check":"workspace regression 0","expected":["b","h",0,50,["a","b"],["a"]],"passed":true},{"actual":["c","g",1,20,["a","b","c"],["a","b"]],"check":"workspace regression 1","expected":["c","g",1,20,["a","b","c"],["a","b"]],"passed":true},{"actual":["a","g",1,30,["a"],[]],"check":"workspace regression 2","expected":["a","g",1,30,["a"],[]],"passed":true},{"actual":["b","h",0,50,["a","b"],["a"]],"check":"workspace regression 3","expected":["b","h",0,50,["a","b"],["a"]],"passed":true},{"actual":["c","g",1,20,["b","c"],["b"]],"check":"workspace regression 4","expected":["c","g",1,20,["b","c"],["b"]],"passed":true},{"actual":["b","h",1,0,["a","b"],["a"]],"check":"workspace regression 5","expected":["b","h",1,0,["a","b"],["a"]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"workspace regression 0\", \"actual\": [\"b\", \"h\", 0, 50, [\"a\", \"b\"], [\"a\"]], \"expected\": [\"b\", \"h\", 0, 50, [\"a\", \"b\"], [\"a\"]], \"passed\": true}, {\"check\": \"workspace regression 1\", \"actual\": [\"c\", \"g\", 1, 20, [\"a\", \"b\", \"c\"], [\"a\", \"b\"]], \"expected\": [\"c\", \"g\", 1, 20, [\"a\", \"b\", \"c\"], [\"a\", \"b\"]], \"passed\": true}, {\"check\": \"workspace regression 2\", \"actual\": [\"a\", \"g\", 1, 30, [\"a\"], []], \"expected\": [\"a\", \"g\", 1, 30, [\"a\"], []], \"passed\": true}, {\"check\": \"workspace regression 3\", \"actual\": [\"b\", \"h\", 0, 50, [\"a\", \"b\"], [\"a\"]], \"expected\": [\"b\", \"h\", 0, 50, [\"a\", \"b\"], [\"a\"]], \"passed\": true}, {\"check\": \"workspace regression 4\", \"actual\": [\"c\", \"g\", 1, 20, [\"b\", \"c\"], [\"b\"]], \"expected\": [\"c\", \"g\", 1, 20, [\"b\", \"c\"], [\"b\"]], \"passed\": true}, {\"check\": \"workspace regression 5\", \"actual\": [\"b\", \"h\", 1, 0, [\"a\", \"b\"], [\"a\"]], \"expected\": [\"b\", \"h\", 1, 0, [\"a\", \"b\"], [\"a\"]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}