{"abstract":"Context menu resolution crosses a document ownership boundary.","category":"Menu interactions","checks":7,"contract":"Context invocations choose the nearest eligible context owner from a composed target path; nested ownership, exclusions and document boundaries are explicit.","evaluation_group":"s3-menu-interactions-context-target-resolution","failed_approach":"The attempted repair `[x for x in p['path'] if x['document']!=p['document']]` still violates the document oracle.","family":"s3-menu-interactions-context-target-resolution-document","id":"FA-32801","implementations":{"attempt":{"sha256":"100e6a097efe8fcaa5d0e008723aa838f48d3aeeacb58cd2d9ef68981d661513","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 == 'nearest':\n        return next((x['id'] for x in p if x['context']),None)\n    if action == 'exclude':\n        return next((x['id'] for x in p if x['context'] and not x['excluded']),None)\n    if action == 'document':\n        return [x for x in p['path'] if x['document']!=p['document']]\n    if action == 'detached':\n        return p['connected'] and p['owner_exists']\n    if action == 'fallback':\n        return p['local'] if p['local'] is not None else p['document']\n    if action == 'hit-target':\n        return p['captured'] if p['capture_valid'] else p['hit']\n    return {'error': 'unsupported menu operation'}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('nearest contract', solve('nearest', [{'id':N,'context':True},{'id':N+1,'context':True}]), N)\ncheck('exclude contract', solve('exclude', [{'id':N,'context':True,'excluded':True},{'id':N+1,'context':False,'excluded':False},{'id':N+2,'context':True,'excluded':False}]), N+2)\ncheck('document contract', solve('document', {'document':'a','path':[{'id':N,'document':'a'},{'id':N+1,'document':'b'}]}), [{'id':N,'document':'a'}])\ncheck('detached contract', solve('detached', {'connected':False,'owner_exists':True,'id':N}), False)\ncheck('fallback contract', solve('fallback', {'local':0,'document':N+1}), 0)\ncheck('hit-target contract', solve('hit-target', {'captured':N,'capture_valid':True,'hit':N+1,'capture_owner':'canvas'}), N)\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":"cac745f173fab7b8636447033c3dc698c51cc266fcedc5dcd478a9f8cee32cea","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 == 'nearest':\n        return next((x['id'] for x in p if x['context']),None)\n    if action == 'exclude':\n        return next((x['id'] for x in p if x['context'] and not x['excluded']),None)\n    if action == 'document':\n        return p['path']\n    if action == 'detached':\n        return p['connected'] and p['owner_exists']\n    if action == 'fallback':\n        return p['local'] if p['local'] is not None else p['document']\n    if action == 'hit-target':\n        return p['captured'] if p['capture_valid'] else p['hit']\n    return {'error': 'unsupported menu operation'}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('nearest contract', solve('nearest', [{'id':N,'context':True},{'id':N+1,'context':True}]), N)\ncheck('exclude contract', solve('exclude', [{'id':N,'context':True,'excluded':True},{'id':N+1,'context':False,'excluded':False},{'id':N+2,'context':True,'excluded':False}]), N+2)\ncheck('document contract', solve('document', {'document':'a','path':[{'id':N,'document':'a'},{'id':N+1,'document':'b'}]}), [{'id':N,'document':'a'}])\ncheck('detached contract', solve('detached', {'connected':False,'owner_exists':True,'id':N}), False)\ncheck('fallback contract', solve('fallback', {'local':0,'document':N+1}), 0)\ncheck('hit-target contract', solve('hit-target', {'captured':N,'capture_valid':True,'hit':N+1,'capture_owner':'canvas'}), N)\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":"28b79fd8a0387bbcae7b6edb581aa2b97886e29db0c664846c0810564c809652","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 == 'nearest':\n        return next((x['id'] for x in p if x['context']),None)\n    if action == 'exclude':\n        return next((x['id'] for x in p if x['context'] and not x['excluded']),None)\n    if action == 'document':\n        return [x for x in p['path'] if x['document']==p['document']]\n    if action == 'detached':\n        return p['connected'] and p['owner_exists']\n    if action == 'fallback':\n        return p['local'] if p['local'] is not None else p['document']\n    if action == 'hit-target':\n        return p['captured'] if p['capture_valid'] else p['hit']\n    return {'error': 'unsupported menu operation'}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('nearest contract', solve('nearest', [{'id':N,'context':True},{'id':N+1,'context':True}]), N)\ncheck('exclude contract', solve('exclude', [{'id':N,'context':True,'excluded':True},{'id':N+1,'context':False,'excluded':False},{'id':N+2,'context':True,'excluded':False}]), N+2)\ncheck('document contract', solve('document', {'document':'a','path':[{'id':N,'document':'a'},{'id':N+1,'document':'b'}]}), [{'id':N,'document':'a'}])\ncheck('detached contract', solve('detached', {'connected':False,'owner_exists':True,'id':N}), False)\ncheck('fallback contract', solve('fallback', {'local':0,'document':N+1}), 0)\ncheck('hit-target contract', solve('hit-target', {'captured':N,'capture_valid':True,'hit':N+1,'capture_owner':'canvas'}), N)\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-context-target-resolution-document","generated_at":"2026-09-29T14:42:15.899392+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 `[x for x in p['path'] if x['document']==p['document']]` at document.","root_cause":"The context-target-resolution model applies `p['path']` at its document operation instead of the stipulated transformation.","sha256":"f8c6add51a7e37158517508c30f47f7da69e9e9e51dcee758c58bdbf5b07e17a","title":"Context menu resolution crosses a document ownership boundary · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":48.109,"exit_code":1,"observations":[{"actual":1,"check":"nearest contract","expected":1,"passed":true},{"actual":3,"check":"exclude contract","expected":3,"passed":true},{"actual":[{"document":"b","id":2}],"check":"document contract","expected":[{"document":"a","id":1}],"passed":false},{"actual":false,"check":"detached contract","expected":false,"passed":true},{"actual":0,"check":"fallback contract","expected":0,"passed":true},{"actual":1,"check":"hit-target contract","expected":1,"passed":true},{"actual":{"error":"unsupported menu operation"},"check":"unknown operation","expected":{"error":"unsupported menu operation"},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"nearest contract\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"exclude contract\", \"actual\": 3, \"expected\": 3, \"passed\": true}, {\"check\": \"document contract\", \"actual\": [{\"id\": 2, \"document\": \"b\"}], \"expected\": [{\"id\": 1, \"document\": \"a\"}], \"passed\": false}, {\"check\": \"detached contract\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"fallback contract\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"hit-target contract\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"unknown operation\", \"actual\": {\"error\": \"unsupported menu operation\"}, \"expected\": {\"error\": \"unsupported menu operation\"}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":48.183,"exit_code":1,"observations":[{"actual":1,"check":"nearest contract","expected":1,"passed":true},{"actual":3,"check":"exclude contract","expected":3,"passed":true},{"actual":[{"document":"a","id":1},{"document":"b","id":2}],"check":"document contract","expected":[{"document":"a","id":1}],"passed":false},{"actual":false,"check":"detached contract","expected":false,"passed":true},{"actual":0,"check":"fallback contract","expected":0,"passed":true},{"actual":1,"check":"hit-target contract","expected":1,"passed":true},{"actual":{"error":"unsupported menu operation"},"check":"unknown operation","expected":{"error":"unsupported menu operation"},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"nearest contract\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"exclude contract\", \"actual\": 3, \"expected\": 3, \"passed\": true}, {\"check\": \"document contract\", \"actual\": [{\"id\": 1, \"document\": \"a\"}, {\"id\": 2, \"document\": \"b\"}], \"expected\": [{\"id\": 1, \"document\": \"a\"}], \"passed\": false}, {\"check\": \"detached contract\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"fallback contract\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"hit-target contract\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"unknown operation\", \"actual\": {\"error\": \"unsupported menu operation\"}, \"expected\": {\"error\": \"unsupported menu operation\"}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":46.166,"exit_code":0,"observations":[{"actual":1,"check":"nearest contract","expected":1,"passed":true},{"actual":3,"check":"exclude contract","expected":3,"passed":true},{"actual":[{"document":"a","id":1}],"check":"document contract","expected":[{"document":"a","id":1}],"passed":true},{"actual":false,"check":"detached contract","expected":false,"passed":true},{"actual":0,"check":"fallback contract","expected":0,"passed":true},{"actual":1,"check":"hit-target contract","expected":1,"passed":true},{"actual":{"error":"unsupported menu operation"},"check":"unknown operation","expected":{"error":"unsupported menu operation"},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"nearest contract\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"exclude contract\", \"actual\": 3, \"expected\": 3, \"passed\": true}, {\"check\": \"document contract\", \"actual\": [{\"id\": 1, \"document\": \"a\"}], \"expected\": [{\"id\": 1, \"document\": \"a\"}], \"passed\": true}, {\"check\": \"detached contract\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"fallback contract\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"hit-target contract\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"unknown operation\", \"actual\": {\"error\": \"unsupported menu operation\"}, \"expected\": {\"error\": \"unsupported menu operation\"}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}