{"abstract":"Deferred response resurrects a closed menu.","category":"Menu interactions","checks":7,"contract":"Deferred menu work belongs to an open popup generation and its parent generation.","evaluation_group":"s3-menu-interactions-session-generation","failed_approach":"The attempted repair `p['request']>=p['live']` still violates the closed oracle.","family":"s3-menu-interactions-session-generation-closed","id":"FA-32436","implementations":{"attempt":{"sha256":"0727322aaf34297019a006a86f11d8b67145bb3ec5a6fccc65e55d570ff63b26","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport unicodedata\nN = 1\nobservations = []\ndef solve(action, p):\n    if action == 'response':\n        return p['request']==p['live'] and p['open']\n    if action == 'closed':\n        return p['request']>=p['live']\n    if action == 'reopen':\n        return p['generation']+1\n    if action == 'parent':\n        return p['parent']==p['live_parent'] and p['child']==p['live_child']\n    if action == 'cancel':\n        return [x for x in p['requests'] if x['session']!=p['closed']]\n    if action == 'transfer':\n        return {'generation':p['generation']+1,'anchor':p['anchor'],'requests':[]}\n    return {'error': 'unsupported menu operation'}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('response contract', solve('response', {'request':N,'live':N+1,'open':True}), False)\ncheck('closed contract', solve('closed', {'request':N,'live':N,'open':False}), False)\ncheck('reopen contract', solve('reopen', {'generation':N}), N+1)\ncheck('parent contract', solve('parent', {'parent':N,'live_parent':N+1,'child':3,'live_child':3}), False)\ncheck('cancel contract', solve('cancel', {'requests':[{'session':N,'id':'a'},{'session':N+1,'id':'b'}],'closed':N}), [{'session':N+1,'id':'b'}])\ncheck('transfer contract', solve('transfer', {'generation':N,'anchor':'next','requests':['old']}), {'generation':N+1,'anchor':'next','requests':[]})\ncheck('unknown operation', solve('unknown', {}), {'error': 'unsupported menu operation'})\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":"79af70a71936b260246e1a76c8e527c8bf1905d8a3b15782d4c439893f500fae","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport unicodedata\nN = 1\nobservations = []\ndef solve(action, p):\n    if action == 'response':\n        return p['request']==p['live'] and p['open']\n    if action == 'closed':\n        return p['request']==p['live']\n    if action == 'reopen':\n        return p['generation']+1\n    if action == 'parent':\n        return p['parent']==p['live_parent'] and p['child']==p['live_child']\n    if action == 'cancel':\n        return [x for x in p['requests'] if x['session']!=p['closed']]\n    if action == 'transfer':\n        return {'generation':p['generation']+1,'anchor':p['anchor'],'requests':[]}\n    return {'error': 'unsupported menu operation'}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('response contract', solve('response', {'request':N,'live':N+1,'open':True}), False)\ncheck('closed contract', solve('closed', {'request':N,'live':N,'open':False}), False)\ncheck('reopen contract', solve('reopen', {'generation':N}), N+1)\ncheck('parent contract', solve('parent', {'parent':N,'live_parent':N+1,'child':3,'live_child':3}), False)\ncheck('cancel contract', solve('cancel', {'requests':[{'session':N,'id':'a'},{'session':N+1,'id':'b'}],'closed':N}), [{'session':N+1,'id':'b'}])\ncheck('transfer contract', solve('transfer', {'generation':N,'anchor':'next','requests':['old']}), {'generation':N+1,'anchor':'next','requests':[]})\ncheck('unknown operation', solve('unknown', {}), {'error': 'unsupported menu operation'})\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":"887afad2cc166e01242dddde849486cf3f9d97240c97d3713b02fe8b8b244cfc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport unicodedata\nN = 1\nobservations = []\ndef solve(action, p):\n    if action == 'response':\n        return p['request']==p['live'] and p['open']\n    if action == 'closed':\n        return p['open'] and p['request']==p['live']\n    if action == 'reopen':\n        return p['generation']+1\n    if action == 'parent':\n        return p['parent']==p['live_parent'] and p['child']==p['live_child']\n    if action == 'cancel':\n        return [x for x in p['requests'] if x['session']!=p['closed']]\n    if action == 'transfer':\n        return {'generation':p['generation']+1,'anchor':p['anchor'],'requests':[]}\n    return {'error': 'unsupported menu operation'}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('response contract', solve('response', {'request':N,'live':N+1,'open':True}), False)\ncheck('closed contract', solve('closed', {'request':N,'live':N,'open':False}), False)\ncheck('reopen contract', solve('reopen', {'generation':N}), N+1)\ncheck('parent contract', solve('parent', {'parent':N,'live_parent':N+1,'child':3,'live_child':3}), False)\ncheck('cancel contract', solve('cancel', {'requests':[{'session':N,'id':'a'},{'session':N+1,'id':'b'}],'closed':N}), [{'session':N+1,'id':'b'}])\ncheck('transfer contract', solve('transfer', {'generation':N,'anchor':'next','requests':['old']}), {'generation':N+1,'anchor':'next','requests':[]})\ncheck('unknown operation', solve('unknown', {}), {'error': 'unsupported menu operation'})\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Offline supplied-valid-payload model; excludes DOM, keyboard, focus, selection, announcements and browser conformance. 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-menu-interactions-session-generation-closed","generated_at":"2026-09-29T14:42:12.174102+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Cascading and context menus require coherent command and session state as content changes.","repair":"Apply `p['open'] and p['request']==p['live']` at closed.","root_cause":"The session-generation model applies `p['request']==p['live']` at its closed operation instead of the stipulated transformation.","sha256":"1c705c23e0b35e2a7b4d8364d1f1fe60bee73f3b95e5b8c8a1583ce18ea42d77","title":"Deferred response resurrects a closed menu · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.467,"exit_code":1,"observations":[{"actual":false,"check":"response contract","expected":false,"passed":true},{"actual":true,"check":"closed contract","expected":false,"passed":false},{"actual":2,"check":"reopen contract","expected":2,"passed":true},{"actual":false,"check":"parent contract","expected":false,"passed":true},{"actual":[{"id":"b","session":2}],"check":"cancel contract","expected":[{"id":"b","session":2}],"passed":true},{"actual":{"anchor":"next","generation":2,"requests":[]},"check":"transfer contract","expected":{"anchor":"next","generation":2,"requests":[]},"passed":true},{"actual":{"error":"unsupported menu operation"},"check":"unknown operation","expected":{"error":"unsupported menu operation"},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"response contract\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"closed contract\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"reopen contract\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"parent contract\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"cancel contract\", \"actual\": [{\"session\": 2, \"id\": \"b\"}], \"expected\": [{\"session\": 2, \"id\": \"b\"}], \"passed\": true}, {\"check\": \"transfer contract\", \"actual\": {\"generation\": 2, \"anchor\": \"next\", \"requests\": []}, \"expected\": {\"generation\": 2, \"anchor\": \"next\", \"requests\": []}, \"passed\": true}, {\"check\": \"unknown operation\", \"actual\": {\"error\": \"unsupported menu operation\"}, \"expected\": {\"error\": \"unsupported menu operation\"}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.45,"exit_code":1,"observations":[{"actual":false,"check":"response contract","expected":false,"passed":true},{"actual":true,"check":"closed contract","expected":false,"passed":false},{"actual":2,"check":"reopen contract","expected":2,"passed":true},{"actual":false,"check":"parent contract","expected":false,"passed":true},{"actual":[{"id":"b","session":2}],"check":"cancel contract","expected":[{"id":"b","session":2}],"passed":true},{"actual":{"anchor":"next","generation":2,"requests":[]},"check":"transfer contract","expected":{"anchor":"next","generation":2,"requests":[]},"passed":true},{"actual":{"error":"unsupported menu operation"},"check":"unknown operation","expected":{"error":"unsupported menu operation"},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"response contract\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"closed contract\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"reopen contract\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"parent contract\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"cancel contract\", \"actual\": [{\"session\": 2, \"id\": \"b\"}], \"expected\": [{\"session\": 2, \"id\": \"b\"}], \"passed\": true}, {\"check\": \"transfer contract\", \"actual\": {\"generation\": 2, \"anchor\": \"next\", \"requests\": []}, \"expected\": {\"generation\": 2, \"anchor\": \"next\", \"requests\": []}, \"passed\": true}, {\"check\": \"unknown operation\", \"actual\": {\"error\": \"unsupported menu operation\"}, \"expected\": {\"error\": \"unsupported menu operation\"}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.671,"exit_code":0,"observations":[{"actual":false,"check":"response contract","expected":false,"passed":true},{"actual":false,"check":"closed contract","expected":false,"passed":true},{"actual":2,"check":"reopen contract","expected":2,"passed":true},{"actual":false,"check":"parent contract","expected":false,"passed":true},{"actual":[{"id":"b","session":2}],"check":"cancel contract","expected":[{"id":"b","session":2}],"passed":true},{"actual":{"anchor":"next","generation":2,"requests":[]},"check":"transfer contract","expected":{"anchor":"next","generation":2,"requests":[]},"passed":true},{"actual":{"error":"unsupported menu operation"},"check":"unknown operation","expected":{"error":"unsupported menu operation"},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"response contract\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"closed contract\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"reopen contract\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"parent contract\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"cancel contract\", \"actual\": [{\"session\": 2, \"id\": \"b\"}], \"expected\": [{\"session\": 2, \"id\": \"b\"}], \"passed\": true}, {\"check\": \"transfer contract\", \"actual\": {\"generation\": 2, \"anchor\": \"next\", \"requests\": []}, \"expected\": {\"generation\": 2, \"anchor\": \"next\", \"requests\": []}, \"passed\": true}, {\"check\": \"unknown operation\", \"actual\": {\"error\": \"unsupported menu operation\"}, \"expected\": {\"error\": \"unsupported menu operation\"}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}