FAILURE MAP
← Case archive

FA-33171 / Menu interactions / Open access

Menu alias loses bound argument overrides · case 01

Menu alias loses bound argument overrides.

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

ROOT CAUSE

The menu-aliases model applies `p['target_args']` at its arguments operation instead of the stipulated transformation.

VERIFIED REPAIR

Apply `dict(p['target_args'],**p['alias_args'])` at arguments.

Unsuccessful approach: The attempted repair `dict(p['alias_args'],**p['target_args'])` still violates the arguments oracle.

Case contract

Menu aliases preserve display ownership while resolving an explicit one-level target; alias overrides affect presentation but never command identity.

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 == 'target':
        return p['alias']['target']
    if action == 'label-override':
        return p['alias']['label'] if 'label' in p['alias'] else p['target']['label']
    if action == 'missing-target':
        return p['target'] in p['registry']
    if action == 'self-alias':
        return p['id']!=p['target']
    if action == 'arguments':
        return p['target_args']
    if action == 'owner':
        return p['alias_parent']
    return {'error': 'unsupported menu operation'}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('target contract', solve('target', {'alias':{'target':'cmd'+str(N),'id':'shortcut','parent':'tools'}}), 'cmd'+str(N))
check('label-override contract', solve('label-override', {'alias':{'label':'Quick '+str(N),'id':'shortcut'},'target':{'label':'Full'}}), 'Quick '+str(N))
check('missing-target contract', solve('missing-target', {'target':'missing'+str(N),'alias':'shortcut','registry':['shortcut']}), False)
check('self-alias contract', solve('self-alias', {'id':N,'target':N,'registry':[N]}), False)
check('arguments contract', solve('arguments', {'target_args':{'mode':'normal','count':1},'alias_args':{'count':N+1}}), {'mode':'normal','count':N+1})
check('owner contract', solve('owner', {'alias_parent':'quick'+str(N),'target_parent':'full','root':'r'}), 'quick'+str(N))
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
target contractcmd1cmd1Passed
label-override contractQuick 1Quick 1Passed
missing-target contractFalseFalsePassed
self-alias contractFalseFalsePassed
arguments contract{'count': 1, 'mode': 'normal'}{'count': 2, 'mode': 'normal'}Failed
owner contractquick1quick1Passed
unknown operation{'error': 'unsupported menu operation'}{'error': 'unsupported menu operation'}Passed

SHA-256 / 105fe02b41d50b78ac15aac94a8f8e7a55078b06c1bc408869edd87017093d7b

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 == 'target':
        return p['alias']['target']
    if action == 'label-override':
        return p['alias']['label'] if 'label' in p['alias'] else p['target']['label']
    if action == 'missing-target':
        return p['target'] in p['registry']
    if action == 'self-alias':
        return p['id']!=p['target']
    if action == 'arguments':
        return dict(p['alias_args'],**p['target_args'])
    if action == 'owner':
        return p['alias_parent']
    return {'error': 'unsupported menu operation'}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('target contract', solve('target', {'alias':{'target':'cmd'+str(N),'id':'shortcut','parent':'tools'}}), 'cmd'+str(N))
check('label-override contract', solve('label-override', {'alias':{'label':'Quick '+str(N),'id':'shortcut'},'target':{'label':'Full'}}), 'Quick '+str(N))
check('missing-target contract', solve('missing-target', {'target':'missing'+str(N),'alias':'shortcut','registry':['shortcut']}), False)
check('self-alias contract', solve('self-alias', {'id':N,'target':N,'registry':[N]}), False)
check('arguments contract', solve('arguments', {'target_args':{'mode':'normal','count':1},'alias_args':{'count':N+1}}), {'mode':'normal','count':N+1})
check('owner contract', solve('owner', {'alias_parent':'quick'+str(N),'target_parent':'full','root':'r'}), 'quick'+str(N))
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
target contractcmd1cmd1Passed
label-override contractQuick 1Quick 1Passed
missing-target contractFalseFalsePassed
self-alias contractFalseFalsePassed
arguments contract{'count': 1, 'mode': 'normal'}{'count': 2, 'mode': 'normal'}Failed
owner contractquick1quick1Passed
unknown operation{'error': 'unsupported menu operation'}{'error': 'unsupported menu operation'}Passed

SHA-256 / 4c829632ba4199ab71e261ec28bb1105ac966d56382ce2ce769869305151e3ba

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 == 'target':
        return p['alias']['target']
    if action == 'label-override':
        return p['alias']['label'] if 'label' in p['alias'] else p['target']['label']
    if action == 'missing-target':
        return p['target'] in p['registry']
    if action == 'self-alias':
        return p['id']!=p['target']
    if action == 'arguments':
        return dict(p['target_args'],**p['alias_args'])
    if action == 'owner':
        return p['alias_parent']
    return {'error': 'unsupported menu operation'}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('target contract', solve('target', {'alias':{'target':'cmd'+str(N),'id':'shortcut','parent':'tools'}}), 'cmd'+str(N))
check('label-override contract', solve('label-override', {'alias':{'label':'Quick '+str(N),'id':'shortcut'},'target':{'label':'Full'}}), 'Quick '+str(N))
check('missing-target contract', solve('missing-target', {'target':'missing'+str(N),'alias':'shortcut','registry':['shortcut']}), False)
check('self-alias contract', solve('self-alias', {'id':N,'target':N,'registry':[N]}), False)
check('arguments contract', solve('arguments', {'target_args':{'mode':'normal','count':1},'alias_args':{'count':N+1}}), {'mode':'normal','count':N+1})
check('owner contract', solve('owner', {'alias_parent':'quick'+str(N),'target_parent':'full','root':'r'}), 'quick'+str(N))
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
target contractcmd1cmd1Passed
label-override contractQuick 1Quick 1Passed
missing-target contractFalseFalsePassed
self-alias contractFalseFalsePassed
arguments contract{'count': 2, 'mode': 'normal'}{'count': 2, 'mode': 'normal'}Passed
owner contractquick1quick1Passed
unknown operation{'error': 'unsupported menu operation'}{'error': 'unsupported menu operation'}Passed

SHA-256 / 27113f8352ffe71c1788bed7fcedb31035f54cde2795872169928d269a87564c

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

Case digest / b1bd2bd569eee92c12f15a057b96d8fc5590e3138bf6bd9c3cbb2a7f4eb97678