FAILURE MAP
← Case archive

FA-33511 / Menu interactions / Open access

Batch menu advertises commands supported by only one target · case 01

Batch menu advertises commands supported by only one target.

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

ROOT CAUSE

The batch-menu-planning model applies `sorted(set.union(*(set(x) for x in p))) if p else []` at its intersection operation instead of the stipulated transformation.

VERIFIED REPAIR

Apply `sorted(set.intersection(*(set(x) for x in p))) if p else []` at intersection.

Unsuccessful approach: The attempted repair `p[0] if p else []` still violates the intersection oracle.

Case contract

A batch context menu plans command work per document capability, preserves document order and separates unsupported, no-op and runnable targets.

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 == 'intersection':
        return sorted(set.union(*(set(x) for x in p))) if p else []
    if action == 'eligible-order':
        return [x['id'] for x in p if x['eligible']]
    if action == 'noop-split':
        return {'run':[x['id'] for x in p if x['change']], 'noop':[x['id'] for x in p if not x['change']]}
    if action == 'duplicate-doc':
        return list(dict.fromkeys(p))
    if action == 'partial-policy':
        return p['supported'] if p['allow_partial'] else (p['supported'] if not p['unsupported'] else [])
    if action == 'summary':
        return {'requested':len(p['requested']),'runnable':len(p['runnable'])}
    return {'error': 'unsupported menu operation'}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('intersection contract', solve('intersection', [['open','edit'+str(N)],['open','print']]), ['open'])
check('eligible-order contract', solve('eligible-order', [{'id':N+2,'eligible':True},{'id':N,'eligible':True},{'id':N+1,'eligible':False}]), [N+2,N])
check('noop-split contract', solve('noop-split', [{'id':N,'change':False},{'id':N+1,'change':True}]), {'run':[N+1],'noop':[N]})
check('duplicate-doc contract', solve('duplicate-doc', [N+1,N,N+1]), [N+1,N])
check('partial-policy contract', solve('partial-policy', {'supported':[N],'unsupported':[N+1],'allow_partial':False}), [])
check('summary contract', solve('summary', {'requested':list(range(N+2)),'runnable':[0]}), {'requested':N+2,'runnable':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
intersection contract['edit1', 'open', 'print']['open']Failed
eligible-order contract[3, 1][3, 1]Passed
noop-split contract{'noop': [1], 'run': [2]}{'noop': [1], 'run': [2]}Passed
duplicate-doc contract[2, 1][2, 1]Passed
partial-policy contract[][]Passed
summary contract{'requested': 3, 'runnable': 1}{'requested': 3, 'runnable': 1}Passed
unknown operation{'error': 'unsupported menu operation'}{'error': 'unsupported menu operation'}Passed

SHA-256 / 3dabe844f0fa4626ca75e51829d60288534d47ce9b7f63486ff5c204574a523f

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 == 'intersection':
        return p[0] if p else []
    if action == 'eligible-order':
        return [x['id'] for x in p if x['eligible']]
    if action == 'noop-split':
        return {'run':[x['id'] for x in p if x['change']], 'noop':[x['id'] for x in p if not x['change']]}
    if action == 'duplicate-doc':
        return list(dict.fromkeys(p))
    if action == 'partial-policy':
        return p['supported'] if p['allow_partial'] else (p['supported'] if not p['unsupported'] else [])
    if action == 'summary':
        return {'requested':len(p['requested']),'runnable':len(p['runnable'])}
    return {'error': 'unsupported menu operation'}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('intersection contract', solve('intersection', [['open','edit'+str(N)],['open','print']]), ['open'])
check('eligible-order contract', solve('eligible-order', [{'id':N+2,'eligible':True},{'id':N,'eligible':True},{'id':N+1,'eligible':False}]), [N+2,N])
check('noop-split contract', solve('noop-split', [{'id':N,'change':False},{'id':N+1,'change':True}]), {'run':[N+1],'noop':[N]})
check('duplicate-doc contract', solve('duplicate-doc', [N+1,N,N+1]), [N+1,N])
check('partial-policy contract', solve('partial-policy', {'supported':[N],'unsupported':[N+1],'allow_partial':False}), [])
check('summary contract', solve('summary', {'requested':list(range(N+2)),'runnable':[0]}), {'requested':N+2,'runnable':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
intersection contract['open', 'edit1']['open']Failed
eligible-order contract[3, 1][3, 1]Passed
noop-split contract{'noop': [1], 'run': [2]}{'noop': [1], 'run': [2]}Passed
duplicate-doc contract[2, 1][2, 1]Passed
partial-policy contract[][]Passed
summary contract{'requested': 3, 'runnable': 1}{'requested': 3, 'runnable': 1}Passed
unknown operation{'error': 'unsupported menu operation'}{'error': 'unsupported menu operation'}Passed

SHA-256 / dc3a1f150bd9c2dbec2c33ce901e4e68fbcd748f7e1c595f109082792020fdbd

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 == 'intersection':
        return sorted(set.intersection(*(set(x) for x in p))) if p else []
    if action == 'eligible-order':
        return [x['id'] for x in p if x['eligible']]
    if action == 'noop-split':
        return {'run':[x['id'] for x in p if x['change']], 'noop':[x['id'] for x in p if not x['change']]}
    if action == 'duplicate-doc':
        return list(dict.fromkeys(p))
    if action == 'partial-policy':
        return p['supported'] if p['allow_partial'] else (p['supported'] if not p['unsupported'] else [])
    if action == 'summary':
        return {'requested':len(p['requested']),'runnable':len(p['runnable'])}
    return {'error': 'unsupported menu operation'}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('intersection contract', solve('intersection', [['open','edit'+str(N)],['open','print']]), ['open'])
check('eligible-order contract', solve('eligible-order', [{'id':N+2,'eligible':True},{'id':N,'eligible':True},{'id':N+1,'eligible':False}]), [N+2,N])
check('noop-split contract', solve('noop-split', [{'id':N,'change':False},{'id':N+1,'change':True}]), {'run':[N+1],'noop':[N]})
check('duplicate-doc contract', solve('duplicate-doc', [N+1,N,N+1]), [N+1,N])
check('partial-policy contract', solve('partial-policy', {'supported':[N],'unsupported':[N+1],'allow_partial':False}), [])
check('summary contract', solve('summary', {'requested':list(range(N+2)),'runnable':[0]}), {'requested':N+2,'runnable':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
intersection contract['open']['open']Passed
eligible-order contract[3, 1][3, 1]Passed
noop-split contract{'noop': [1], 'run': [2]}{'noop': [1], 'run': [2]}Passed
duplicate-doc contract[2, 1][2, 1]Passed
partial-policy contract[][]Passed
summary contract{'requested': 3, 'runnable': 1}{'requested': 3, 'runnable': 1}Passed
unknown operation{'error': 'unsupported menu operation'}{'error': 'unsupported menu operation'}Passed

SHA-256 / 6414d5c0c8b294f3e580b4ed1a15c6bc5e45b7fc82e97e34f0d748080e461442

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

Case digest / 48abca4cd7f28d23736262707fc75150c841469c3f3e44360f3d3fde47e34625