{"abstract":"Failed menu action is appended to command macro playback.","category":"Menu interactions","checks":7,"contract":"Menu command macros record successful semantic commands, omit private context data, preserve execution order and retain typed parameter bindings.","contract_signature":"action, p","evaluation_group":"s3-menu-interactions-menu-macro-recording","failed_approach":"The attempted repair `[]` still violates the failed oracle.","family":"s3-menu-interactions-menu-macro-recording-failed","id":"FA-33756","implementations":{"attempt":{"sha256":"2557627fedb4239ef72c11597e040cf446db7892f35b0d6a120289dc1b27dd49","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 == 'semantic':\n        return {'command':p['command'],'arguments':p['arguments']}\n    if action == 'failed':\n        return []\n    if action == 'private-args':\n        return {k:v for k,v in p['args'].items() if k not in p['private']}\n    if action == 'playback-order':\n        return p['steps']\n    if action == 'recording-playback':\n        return p['recording'] and not p['replaying']\n    if action == 'typed-parameters':\n        return p['args']\n    return {'error': 'unsupported menu operation'}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('semantic contract', solve('semantic', {'command':'resize','arguments':{'size':N},'row':'row-7','label':'Resize'}), {'command':'resize','arguments':{'size':N}})\ncheck('failed contract', solve('failed', {'macro':[N],'entry':N+1,'success':False}), [N])\ncheck('private-args contract', solve('private-args', {'args':{'size':N,'document_token':'private'},'private':['document_token']}), {'size':N})\ncheck('playback-order contract', solve('playback-order', {'steps':['create','write'+str(N),'close']}), ['create','write'+str(N),'close'])\ncheck('recording-playback contract', solve('recording-playback', {'recording':True,'replaying':True,'step':N}), False)\ncheck('typed-parameters contract', solve('typed-parameters', {'args':{'count':N+1,'enabled':False}}), {'count':N+1,'enabled':False})\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":"6733cf479080fbc60bf39d8f72139a72beada1ea476b030f15a424400528de0b","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 == 'semantic':\n        return {'command':p['command'],'arguments':p['arguments']}\n    if action == 'failed':\n        return p['macro']+[p['entry']]\n    if action == 'private-args':\n        return {k:v for k,v in p['args'].items() if k not in p['private']}\n    if action == 'playback-order':\n        return p['steps']\n    if action == 'recording-playback':\n        return p['recording'] and not p['replaying']\n    if action == 'typed-parameters':\n        return p['args']\n    return {'error': 'unsupported menu operation'}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('semantic contract', solve('semantic', {'command':'resize','arguments':{'size':N},'row':'row-7','label':'Resize'}), {'command':'resize','arguments':{'size':N}})\ncheck('failed contract', solve('failed', {'macro':[N],'entry':N+1,'success':False}), [N])\ncheck('private-args contract', solve('private-args', {'args':{'size':N,'document_token':'private'},'private':['document_token']}), {'size':N})\ncheck('playback-order contract', solve('playback-order', {'steps':['create','write'+str(N),'close']}), ['create','write'+str(N),'close'])\ncheck('recording-playback contract', solve('recording-playback', {'recording':True,'replaying':True,'step':N}), False)\ncheck('typed-parameters contract', solve('typed-parameters', {'args':{'count':N+1,'enabled':False}}), {'count':N+1,'enabled':False})\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-menu-macro-recording-failed","generated_at":"2026-09-29T14:42:25.608689+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.","root_cause":"The menu-macro-recording model applies `p['macro']+[p['entry']]` at its failed operation instead of the stipulated transformation.","sha256":"46bab1cdf25230dcc6175eba0ebf19ef91e29984e797013bdde245fa59dc4e05","title":"Failed menu action is appended to command macro playback · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":41.437,"exit_code":1,"observations":[{"actual":{"arguments":{"size":1},"command":"resize"},"check":"semantic contract","expected":{"arguments":{"size":1},"command":"resize"},"passed":true},{"actual":[],"check":"failed contract","expected":[1],"passed":false},{"actual":{"size":1},"check":"private-args contract","expected":{"size":1},"passed":true},{"actual":["create","write1","close"],"check":"playback-order contract","expected":["create","write1","close"],"passed":true},{"actual":false,"check":"recording-playback contract","expected":false,"passed":true},{"actual":{"count":2,"enabled":false},"check":"typed-parameters contract","expected":{"count":2,"enabled":false},"passed":true},{"actual":{"error":"unsupported menu operation"},"check":"unknown operation","expected":{"error":"unsupported menu operation"},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"semantic contract\", \"actual\": {\"command\": \"resize\", \"arguments\": {\"size\": 1}}, \"expected\": {\"command\": \"resize\", \"arguments\": {\"size\": 1}}, \"passed\": true}, {\"check\": \"failed contract\", \"actual\": [], \"expected\": [1], \"passed\": false}, {\"check\": \"private-args contract\", \"actual\": {\"size\": 1}, \"expected\": {\"size\": 1}, \"passed\": true}, {\"check\": \"playback-order contract\", \"actual\": [\"create\", \"write1\", \"close\"], \"expected\": [\"create\", \"write1\", \"close\"], \"passed\": true}, {\"check\": \"recording-playback contract\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"typed-parameters contract\", \"actual\": {\"count\": 2, \"enabled\": false}, \"expected\": {\"count\": 2, \"enabled\": false}, \"passed\": true}, {\"check\": \"unknown operation\", \"actual\": {\"error\": \"unsupported menu operation\"}, \"expected\": {\"error\": \"unsupported menu operation\"}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.014,"exit_code":1,"observations":[{"actual":{"arguments":{"size":1},"command":"resize"},"check":"semantic contract","expected":{"arguments":{"size":1},"command":"resize"},"passed":true},{"actual":[1,2],"check":"failed contract","expected":[1],"passed":false},{"actual":{"size":1},"check":"private-args contract","expected":{"size":1},"passed":true},{"actual":["create","write1","close"],"check":"playback-order contract","expected":["create","write1","close"],"passed":true},{"actual":false,"check":"recording-playback contract","expected":false,"passed":true},{"actual":{"count":2,"enabled":false},"check":"typed-parameters contract","expected":{"count":2,"enabled":false},"passed":true},{"actual":{"error":"unsupported menu operation"},"check":"unknown operation","expected":{"error":"unsupported menu operation"},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"semantic contract\", \"actual\": {\"command\": \"resize\", \"arguments\": {\"size\": 1}}, \"expected\": {\"command\": \"resize\", \"arguments\": {\"size\": 1}}, \"passed\": true}, {\"check\": \"failed contract\", \"actual\": [1, 2], \"expected\": [1], \"passed\": false}, {\"check\": \"private-args contract\", \"actual\": {\"size\": 1}, \"expected\": {\"size\": 1}, \"passed\": true}, {\"check\": \"playback-order contract\", \"actual\": [\"create\", \"write1\", \"close\"], \"expected\": [\"create\", \"write1\", \"close\"], \"passed\": true}, {\"check\": \"recording-playback contract\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"typed-parameters contract\", \"actual\": {\"count\": 2, \"enabled\": false}, \"expected\": {\"count\": 2, \"enabled\": false}, \"passed\": true}, {\"check\": \"unknown operation\", \"actual\": {\"error\": \"unsupported menu operation\"}, \"expected\": {\"error\": \"unsupported menu operation\"}, \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}