FAILURE MAP
← Case archive

FA-33621 / Menu interactions / Open access

Parameter menu binds the display label instead of typed value · case 01

Parameter menu binds the display label instead of typed value.

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

ROOT CAUSE

The parameter-submenu model applies `p['label']` at its value-identity operation instead of the stipulated transformation.

VERIFIED REPAIR

Apply `p['value']` at value-identity.

Unsuccessful approach: The attempted repair `str(p['value'])` still violates the value-identity oracle.

Case contract

A parameter submenu binds a chosen parameter to a parent command while preserving other bindings; cancel discards provisional parameters and commit requires all required fields.

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 == 'bind':
        return dict(p['bound'],**{p['name']:p['value']})
    if action == 'parent-command':
        return p['parent_command']
    if action == 'cancel':
        return p['committed']
    if action == 'required-fields':
        return all(k in p['bound'] for k in p['required'])
    if action == 'value-identity':
        return p['label']
    if action == 'return-path':
        return p['path'][:-1]
    return {'error': 'unsupported menu operation'}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('bind contract', solve('bind', {'bound':{'format':'old','target':'doc'},'name':'format','value':'new'+str(N)}), {'format':'new'+str(N),'target':'doc'})
check('parent-command contract', solve('parent-command', {'parent_command':'export'+str(N),'row_id':'pdf','submenu_id':'formats'}), 'export'+str(N))
check('cancel contract', solve('cancel', {'committed':{'size':N},'provisional':{'size':N+1}}), {'size':N})
check('required-fields contract', solve('required-fields', {'bound':{'format':'pdf','scale':N},'required':['format','destination']}), False)
check('value-identity contract', solve('value-identity', {'value':N,'label':'Size '+str(N)}), N)
check('return-path contract', solve('return-path', {'path':['root','export','size'+str(N)]}), ['root','export'])
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
bind contract{'format': 'new1', 'target': 'doc'}{'format': 'new1', 'target': 'doc'}Passed
parent-command contractexport1export1Passed
cancel contract{'size': 1}{'size': 1}Passed
required-fields contractFalseFalsePassed
value-identity contractSize 11Failed
return-path contract['root', 'export']['root', 'export']Passed
unknown operation{'error': 'unsupported menu operation'}{'error': 'unsupported menu operation'}Passed

SHA-256 / 36ad3d9b14455a33e003545a4a60d90569ecea14a226fcc16a8f7c66c3e1fec0

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 == 'bind':
        return dict(p['bound'],**{p['name']:p['value']})
    if action == 'parent-command':
        return p['parent_command']
    if action == 'cancel':
        return p['committed']
    if action == 'required-fields':
        return all(k in p['bound'] for k in p['required'])
    if action == 'value-identity':
        return str(p['value'])
    if action == 'return-path':
        return p['path'][:-1]
    return {'error': 'unsupported menu operation'}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('bind contract', solve('bind', {'bound':{'format':'old','target':'doc'},'name':'format','value':'new'+str(N)}), {'format':'new'+str(N),'target':'doc'})
check('parent-command contract', solve('parent-command', {'parent_command':'export'+str(N),'row_id':'pdf','submenu_id':'formats'}), 'export'+str(N))
check('cancel contract', solve('cancel', {'committed':{'size':N},'provisional':{'size':N+1}}), {'size':N})
check('required-fields contract', solve('required-fields', {'bound':{'format':'pdf','scale':N},'required':['format','destination']}), False)
check('value-identity contract', solve('value-identity', {'value':N,'label':'Size '+str(N)}), N)
check('return-path contract', solve('return-path', {'path':['root','export','size'+str(N)]}), ['root','export'])
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
bind contract{'format': 'new1', 'target': 'doc'}{'format': 'new1', 'target': 'doc'}Passed
parent-command contractexport1export1Passed
cancel contract{'size': 1}{'size': 1}Passed
required-fields contractFalseFalsePassed
value-identity contract11Failed
return-path contract['root', 'export']['root', 'export']Passed
unknown operation{'error': 'unsupported menu operation'}{'error': 'unsupported menu operation'}Passed

SHA-256 / df5da85c878a4da8fa5a519d880411b3986fa19b2a0a428f6bfc30087169878f

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 == 'bind':
        return dict(p['bound'],**{p['name']:p['value']})
    if action == 'parent-command':
        return p['parent_command']
    if action == 'cancel':
        return p['committed']
    if action == 'required-fields':
        return all(k in p['bound'] for k in p['required'])
    if action == 'value-identity':
        return p['value']
    if action == 'return-path':
        return p['path'][:-1]
    return {'error': 'unsupported menu operation'}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('bind contract', solve('bind', {'bound':{'format':'old','target':'doc'},'name':'format','value':'new'+str(N)}), {'format':'new'+str(N),'target':'doc'})
check('parent-command contract', solve('parent-command', {'parent_command':'export'+str(N),'row_id':'pdf','submenu_id':'formats'}), 'export'+str(N))
check('cancel contract', solve('cancel', {'committed':{'size':N},'provisional':{'size':N+1}}), {'size':N})
check('required-fields contract', solve('required-fields', {'bound':{'format':'pdf','scale':N},'required':['format','destination']}), False)
check('value-identity contract', solve('value-identity', {'value':N,'label':'Size '+str(N)}), N)
check('return-path contract', solve('return-path', {'path':['root','export','size'+str(N)]}), ['root','export'])
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
bind contract{'format': 'new1', 'target': 'doc'}{'format': 'new1', 'target': 'doc'}Passed
parent-command contractexport1export1Passed
cancel contract{'size': 1}{'size': 1}Passed
required-fields contractFalseFalsePassed
value-identity contract11Passed
return-path contract['root', 'export']['root', 'export']Passed
unknown operation{'error': 'unsupported menu operation'}{'error': 'unsupported menu operation'}Passed

SHA-256 / dcb3308f6884fcd590fb8586ba0bfba9d592ca001b19f6fe086b048c58637d82

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

Case digest / 2c43edbc8ac3db011145b10135567e97409859172dab90fe3d0757d6f8e08850