FA-33631 / Menu interactions / Open access
Queued menu invocation rebinds its context at enqueue time · case 01
Queued menu invocation rebinds its context at enqueue time.
ROOT CAUSE
The menu-command-queue model applies `p['queue']+[{'id':p['id'],'context':p['ambient']}]` at its enqueue-snapshot operation instead of the stipulated transformation.
VERIFIED REPAIR
Apply `p['queue']+[{'id':p['id'],'context':p['captured']}]` at enqueue-snapshot.
Unsuccessful approach: The attempted repair `[{'id':p['id'],'context':p['captured']}]` still violates the enqueue-snapshot oracle.
Case contract
Queued menu commands preserve invocation snapshots and FIFO order; cancellation and completion act on transaction identity without blocking unrelated command lanes.
Why this case matters
Cascading and context menus require coherent command and session state as content changes.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
import unicodedata
N = 1
observations = []
def solve(action, p):
if action == 'enqueue-snapshot':
return p['queue']+[{'id':p['id'],'context':p['ambient']}]
if action == 'dequeue':
return (p[0],p[1:])
if action == 'cancel-id':
return [x for x in p['queue'] if x['id']!=p['id']]
if action == 'lane':
return [x for x in p['queue'] if x['lane'] not in p['busy']]
if action == 'failure-next':
return p['remaining'] if p['continue_on_error'] else []
if action == 'close-policy':
return p['queue'] if p['survive_close'] else []
return {'error': 'unsupported menu operation'}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('enqueue-snapshot contract', solve('enqueue-snapshot', {'queue':[{'id':0,'context':'old'}],'id':N,'captured':'doc','ambient':'other'}), [{'id':0,'context':'old'},{'id':N,'context':'doc'}])
check('dequeue contract', solve('dequeue', [N,N+1,N+2]), (N,[N+1,N+2]))
check('cancel-id contract', solve('cancel-id', {'queue':[{'id':N,'command':'copy'},{'id':N+1,'command':'copy'}],'id':N,'command':'copy'}), [{'id':N+1,'command':'copy'}])
check('lane contract', solve('lane', {'queue':[{'lane':'a','id':N},{'lane':'b','id':N+1}],'busy':['a']}), [{'lane':'b','id':N+1}])
check('failure-next contract', solve('failure-next', {'remaining':[N+1],'failed':[N],'continue_on_error':True}), [N+1])
check('close-policy contract', solve('close-policy', {'queue':[N,N+1],'survive_close':True}), [N,N+1])
check('unknown operation', solve('unknown', {}), {'error': 'unsupported menu operation'})
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| enqueue-snapshot contract | [{'context': 'old', 'id': 0}, {'context': 'other', 'id': 1}] | [{'context': 'old', 'id': 0}, {'context': 'doc', 'id': 1}] | Failed |
| dequeue contract | [1, [2, 3]] | [1, [2, 3]] | Passed |
| cancel-id contract | [{'command': 'copy', 'id': 2}] | [{'command': 'copy', 'id': 2}] | Passed |
| lane contract | [{'id': 2, 'lane': 'b'}] | [{'id': 2, 'lane': 'b'}] | Passed |
| failure-next contract | [2] | [2] | Passed |
| close-policy contract | [1, 2] | [1, 2] | Passed |
| unknown operation | {'error': 'unsupported menu operation'} | {'error': 'unsupported menu operation'} | Passed |
SHA-256 / 2697d3ca6426acecb9a82f96fe70f762c07fd0423b7573e9bb6ea235c1d446a7
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
import unicodedata
N = 1
observations = []
def solve(action, p):
if action == 'enqueue-snapshot':
return [{'id':p['id'],'context':p['captured']}]
if action == 'dequeue':
return (p[0],p[1:])
if action == 'cancel-id':
return [x for x in p['queue'] if x['id']!=p['id']]
if action == 'lane':
return [x for x in p['queue'] if x['lane'] not in p['busy']]
if action == 'failure-next':
return p['remaining'] if p['continue_on_error'] else []
if action == 'close-policy':
return p['queue'] if p['survive_close'] else []
return {'error': 'unsupported menu operation'}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('enqueue-snapshot contract', solve('enqueue-snapshot', {'queue':[{'id':0,'context':'old'}],'id':N,'captured':'doc','ambient':'other'}), [{'id':0,'context':'old'},{'id':N,'context':'doc'}])
check('dequeue contract', solve('dequeue', [N,N+1,N+2]), (N,[N+1,N+2]))
check('cancel-id contract', solve('cancel-id', {'queue':[{'id':N,'command':'copy'},{'id':N+1,'command':'copy'}],'id':N,'command':'copy'}), [{'id':N+1,'command':'copy'}])
check('lane contract', solve('lane', {'queue':[{'lane':'a','id':N},{'lane':'b','id':N+1}],'busy':['a']}), [{'lane':'b','id':N+1}])
check('failure-next contract', solve('failure-next', {'remaining':[N+1],'failed':[N],'continue_on_error':True}), [N+1])
check('close-policy contract', solve('close-policy', {'queue':[N,N+1],'survive_close':True}), [N,N+1])
check('unknown operation', solve('unknown', {}), {'error': 'unsupported menu operation'})
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| enqueue-snapshot contract | [{'context': 'doc', 'id': 1}] | [{'context': 'old', 'id': 0}, {'context': 'doc', 'id': 1}] | Failed |
| dequeue contract | [1, [2, 3]] | [1, [2, 3]] | Passed |
| cancel-id contract | [{'command': 'copy', 'id': 2}] | [{'command': 'copy', 'id': 2}] | Passed |
| lane contract | [{'id': 2, 'lane': 'b'}] | [{'id': 2, 'lane': 'b'}] | Passed |
| failure-next contract | [2] | [2] | Passed |
| close-policy contract | [1, 2] | [1, 2] | Passed |
| unknown operation | {'error': 'unsupported menu operation'} | {'error': 'unsupported menu operation'} | Passed |
SHA-256 / 2e33b5d588577e4999951d89a36c37f0611fac291c1dd6c0e4f5e732db23d96a
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
import math
import unicodedata
N = 1
observations = []
def solve(action, p):
if action == 'enqueue-snapshot':
return p['queue']+[{'id':p['id'],'context':p['captured']}]
if action == 'dequeue':
return (p[0],p[1:])
if action == 'cancel-id':
return [x for x in p['queue'] if x['id']!=p['id']]
if action == 'lane':
return [x for x in p['queue'] if x['lane'] not in p['busy']]
if action == 'failure-next':
return p['remaining'] if p['continue_on_error'] else []
if action == 'close-policy':
return p['queue'] if p['survive_close'] else []
return {'error': 'unsupported menu operation'}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('enqueue-snapshot contract', solve('enqueue-snapshot', {'queue':[{'id':0,'context':'old'}],'id':N,'captured':'doc','ambient':'other'}), [{'id':0,'context':'old'},{'id':N,'context':'doc'}])
check('dequeue contract', solve('dequeue', [N,N+1,N+2]), (N,[N+1,N+2]))
check('cancel-id contract', solve('cancel-id', {'queue':[{'id':N,'command':'copy'},{'id':N+1,'command':'copy'}],'id':N,'command':'copy'}), [{'id':N+1,'command':'copy'}])
check('lane contract', solve('lane', {'queue':[{'lane':'a','id':N},{'lane':'b','id':N+1}],'busy':['a']}), [{'lane':'b','id':N+1}])
check('failure-next contract', solve('failure-next', {'remaining':[N+1],'failed':[N],'continue_on_error':True}), [N+1])
check('close-policy contract', solve('close-policy', {'queue':[N,N+1],'survive_close':True}), [N,N+1])
check('unknown operation', solve('unknown', {}), {'error': 'unsupported menu operation'})
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| enqueue-snapshot contract | [{'context': 'old', 'id': 0}, {'context': 'doc', 'id': 1}] | [{'context': 'old', 'id': 0}, {'context': 'doc', 'id': 1}] | Passed |
| dequeue contract | [1, [2, 3]] | [1, [2, 3]] | Passed |
| cancel-id contract | [{'command': 'copy', 'id': 2}] | [{'command': 'copy', 'id': 2}] | Passed |
| lane contract | [{'id': 2, 'lane': 'b'}] | [{'id': 2, 'lane': 'b'}] | Passed |
| failure-next contract | [2] | [2] | Passed |
| close-policy contract | [1, 2] | [1, 2] | Passed |
| unknown operation | {'error': 'unsupported menu operation'} | {'error': 'unsupported menu operation'} | Passed |
SHA-256 / 6859c24cf8fd36a7d1ce9f4be3cbab464829480ba910368736e5b967a0bca86d
Verification & scope
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.
Observations recorded using Python 3.12.14 at 2026-09-29T14:42:24.246898+00:00.
Case digest / d6916921390feda12d9ad1d296673ac7ec2ed79e2b5b52fbf2fa0348d1c6be50