FAILURE MAP
← Case archive

FA-33636 / Menu interactions / Open access

Menu command queue removes a different invocation than it executes · case 01

Menu command queue removes a different invocation than it executes.

Verified by executionVariant 1 · 7 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The menu-command-queue model applies `(p[-1],p[:-1])` at its dequeue operation instead of the stipulated transformation.

VERIFIED REPAIR

Apply `(p[0],p[1:])` at dequeue.

Unsuccessful approach: The attempted repair `(p[0],p[:-1])` still violates the dequeue 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['captured']}]
    if action == 'dequeue':
        return (p[-1],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 fixtureActualExpectedOutcome
enqueue-snapshot contract[{'context': 'old', 'id': 0}, {'context': 'doc', 'id': 1}][{'context': 'old', 'id': 0}, {'context': 'doc', 'id': 1}]Passed
dequeue contract[3, [1, 2]][1, [2, 3]]Failed
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 / 92af1e4347f7da8439e2d58d69122afaca6cca58cdcce95b2994878d3ab34f18

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 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 fixtureActualExpectedOutcome
enqueue-snapshot contract[{'context': 'old', 'id': 0}, {'context': 'doc', 'id': 1}][{'context': 'old', 'id': 0}, {'context': 'doc', 'id': 1}]Passed
dequeue contract[1, [1, 2]][1, [2, 3]]Failed
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 / 4534f8cfbd86b09d5725c7232d8c1c8f3ff747096aa2d5dff06f78ee8aa4ac48

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 fixtureActualExpectedOutcome
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.289334+00:00.

Case digest / e2547f1262e1a84dbe29e471fd8c7050a2f807ec96ac047b7fbf52b6d51fccb5