FA-32411 / Menu interactions / Open access
Context command executes against an edited document revision · case 01
Context command executes against an edited document revision.
ROOT CAUSE
The context-capture model applies `True` at its revision operation instead of the stipulated transformation.
VERIFIED REPAIR
Apply `p['snapshot']==p['current']` at revision.
Unsuccessful approach: The attempted repair `p['snapshot']<=p['current']` still violates the revision oracle.
Case contract
A context-menu invocation snapshots target, document coordinates, revision, capabilities, document objects and parsing locale.
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['captured']
if action == 'point':
return [p['client'][0]+p['scroll'][0],p['client'][1]+p['scroll'][1]]
if action == 'revision':
return True
if action == 'capabilities':
return sorted(set(p['captured']) & set(p['current']))
if action == 'objects':
return list(p['captured'])
if action == 'locale':
return p['opened']
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', {'captured':'doc'+str(N),'hover':'other','active':'third'}), 'doc'+str(N))
check('point contract', solve('point', {'client':[N,2*N],'scroll':[3*N,4*N]}), [4*N,6*N])
check('revision contract', solve('revision', {'snapshot':N,'current':N+1}), False)
check('capabilities contract', solve('capabilities', {'captured':['read','delete'+str(N)],'current':['read','share']}), ['read'])
check('objects contract', solve('objects', {'captured':['a'+str(N),'b'],'current':['c']}), ['a'+str(N),'b'])
check('locale contract', solve('locale', {'opened':'locale'+str(N),'ambient':'other','default':'default'}), 'locale'+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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| target contract | doc1 | doc1 | Passed |
| point contract | [4, 6] | [4, 6] | Passed |
| revision contract | True | False | Failed |
| capabilities contract | ['read'] | ['read'] | Passed |
| objects contract | ['a1', 'b'] | ['a1', 'b'] | Passed |
| locale contract | locale1 | locale1 | Passed |
| unknown operation | {'error': 'unsupported menu operation'} | {'error': 'unsupported menu operation'} | Passed |
SHA-256 / 5f0faa9030f099bccf29280859febeb30b5fbf892c41aebd1632496792042f01
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['captured']
if action == 'point':
return [p['client'][0]+p['scroll'][0],p['client'][1]+p['scroll'][1]]
if action == 'revision':
return p['snapshot']<=p['current']
if action == 'capabilities':
return sorted(set(p['captured']) & set(p['current']))
if action == 'objects':
return list(p['captured'])
if action == 'locale':
return p['opened']
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', {'captured':'doc'+str(N),'hover':'other','active':'third'}), 'doc'+str(N))
check('point contract', solve('point', {'client':[N,2*N],'scroll':[3*N,4*N]}), [4*N,6*N])
check('revision contract', solve('revision', {'snapshot':N,'current':N+1}), False)
check('capabilities contract', solve('capabilities', {'captured':['read','delete'+str(N)],'current':['read','share']}), ['read'])
check('objects contract', solve('objects', {'captured':['a'+str(N),'b'],'current':['c']}), ['a'+str(N),'b'])
check('locale contract', solve('locale', {'opened':'locale'+str(N),'ambient':'other','default':'default'}), 'locale'+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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| target contract | doc1 | doc1 | Passed |
| point contract | [4, 6] | [4, 6] | Passed |
| revision contract | True | False | Failed |
| capabilities contract | ['read'] | ['read'] | Passed |
| objects contract | ['a1', 'b'] | ['a1', 'b'] | Passed |
| locale contract | locale1 | locale1 | Passed |
| unknown operation | {'error': 'unsupported menu operation'} | {'error': 'unsupported menu operation'} | Passed |
SHA-256 / d42a3c63c085951352490c4a66278ed19f5a96fc4f28ea0123959572e7ea5871
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['captured']
if action == 'point':
return [p['client'][0]+p['scroll'][0],p['client'][1]+p['scroll'][1]]
if action == 'revision':
return p['snapshot']==p['current']
if action == 'capabilities':
return sorted(set(p['captured']) & set(p['current']))
if action == 'objects':
return list(p['captured'])
if action == 'locale':
return p['opened']
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', {'captured':'doc'+str(N),'hover':'other','active':'third'}), 'doc'+str(N))
check('point contract', solve('point', {'client':[N,2*N],'scroll':[3*N,4*N]}), [4*N,6*N])
check('revision contract', solve('revision', {'snapshot':N,'current':N+1}), False)
check('capabilities contract', solve('capabilities', {'captured':['read','delete'+str(N)],'current':['read','share']}), ['read'])
check('objects contract', solve('objects', {'captured':['a'+str(N),'b'],'current':['c']}), ['a'+str(N),'b'])
check('locale contract', solve('locale', {'opened':'locale'+str(N),'ambient':'other','default':'default'}), 'locale'+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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| target contract | doc1 | doc1 | Passed |
| point contract | [4, 6] | [4, 6] | Passed |
| revision contract | False | False | Passed |
| capabilities contract | ['read'] | ['read'] | Passed |
| objects contract | ['a1', 'b'] | ['a1', 'b'] | Passed |
| locale contract | locale1 | locale1 | Passed |
| unknown operation | {'error': 'unsupported menu operation'} | {'error': 'unsupported menu operation'} | Passed |
SHA-256 / b98ea463260ecfb2baf7ddd73f53d181d77b923525acb533763c496c6e61d1d9
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:11.989436+00:00.
Case digest / ce34f6dd44c63afaa7612dfcdfbe5d847dc25e16d3d3bebefbcef55cf4cd40b7