FA-33811 / Menu interactions / Open access
Repeated row renders inflate menu impression counts · case 01
Repeated row renders inflate menu impression counts.
ROOT CAUSE
The menu-usage-accounting model applies `len(p)` at its impression-once operation instead of the stipulated transformation.
VERIFIED REPAIR
Apply `len(set(p))` at impression-once.
Unsuccessful approach: The attempted repair `int(bool(p))` still violates the impression-once oracle.
Case contract
Menu metrics distinguish impressions, command invocation and completed execution; root sessions and menu paths remain separate dimensions and sensitive arguments are excluded.
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 == 'impression-once':
return len(p)
if action == 'invoked-vs-success':
return {'invoked':len(p),'succeeded':sum(x['success'] for x in p)}
if action == 'path-dimension':
return '/'.join(p['path'])
if action == 'duration':
return max(0,p['closed']-p['opened'])
if action == 'arguments':
return {k:v for k,v in p.items() if k in ('command','path','outcome')}
if action == 'session-count':
return len({x['root_session'] for x in p})
return {'error': 'unsupported menu operation'}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('impression-once contract', solve('impression-once', [N,N,N+1]), 2)
check('invoked-vs-success contract', solve('invoked-vs-success', [{'success':True,'id':N},{'success':False,'id':N+1}]), {'invoked':2,'succeeded':1})
check('path-dimension contract', solve('path-dimension', {'path':['root','tools',str(N)]}), 'root/tools/'+str(N))
check('duration contract', solve('duration', {'opened':N,'closed':N+7}), 7)
check('arguments contract', solve('arguments', {'command':'copy','path':['root'], 'arguments':{'doc':N},'target':'doc'}), {'command':'copy','path':['root']})
check('session-count contract', solve('session-count', [{'root_session':N,'surface':'a'},{'root_session':N,'surface':'b'}]), 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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| impression-once contract | 3 | 2 | Failed |
| invoked-vs-success contract | {'invoked': 2, 'succeeded': 1} | {'invoked': 2, 'succeeded': 1} | Passed |
| path-dimension contract | root/tools/1 | root/tools/1 | Passed |
| duration contract | 7 | 7 | Passed |
| arguments contract | {'command': 'copy', 'path': ['root']} | {'command': 'copy', 'path': ['root']} | Passed |
| session-count contract | 1 | 1 | Passed |
| unknown operation | {'error': 'unsupported menu operation'} | {'error': 'unsupported menu operation'} | Passed |
SHA-256 / 7d700c853665d49d50fd41cf1f41e137fe0d6172cf43d8e0db0e6b33775d2b63
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 == 'impression-once':
return int(bool(p))
if action == 'invoked-vs-success':
return {'invoked':len(p),'succeeded':sum(x['success'] for x in p)}
if action == 'path-dimension':
return '/'.join(p['path'])
if action == 'duration':
return max(0,p['closed']-p['opened'])
if action == 'arguments':
return {k:v for k,v in p.items() if k in ('command','path','outcome')}
if action == 'session-count':
return len({x['root_session'] for x in p})
return {'error': 'unsupported menu operation'}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('impression-once contract', solve('impression-once', [N,N,N+1]), 2)
check('invoked-vs-success contract', solve('invoked-vs-success', [{'success':True,'id':N},{'success':False,'id':N+1}]), {'invoked':2,'succeeded':1})
check('path-dimension contract', solve('path-dimension', {'path':['root','tools',str(N)]}), 'root/tools/'+str(N))
check('duration contract', solve('duration', {'opened':N,'closed':N+7}), 7)
check('arguments contract', solve('arguments', {'command':'copy','path':['root'], 'arguments':{'doc':N},'target':'doc'}), {'command':'copy','path':['root']})
check('session-count contract', solve('session-count', [{'root_session':N,'surface':'a'},{'root_session':N,'surface':'b'}]), 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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| impression-once contract | 1 | 2 | Failed |
| invoked-vs-success contract | {'invoked': 2, 'succeeded': 1} | {'invoked': 2, 'succeeded': 1} | Passed |
| path-dimension contract | root/tools/1 | root/tools/1 | Passed |
| duration contract | 7 | 7 | Passed |
| arguments contract | {'command': 'copy', 'path': ['root']} | {'command': 'copy', 'path': ['root']} | Passed |
| session-count contract | 1 | 1 | Passed |
| unknown operation | {'error': 'unsupported menu operation'} | {'error': 'unsupported menu operation'} | Passed |
SHA-256 / 34ef6d6de42a346157ab169da4260585e40e87eedb872cc0ab88b3f6e9a58ed6
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 == 'impression-once':
return len(set(p))
if action == 'invoked-vs-success':
return {'invoked':len(p),'succeeded':sum(x['success'] for x in p)}
if action == 'path-dimension':
return '/'.join(p['path'])
if action == 'duration':
return max(0,p['closed']-p['opened'])
if action == 'arguments':
return {k:v for k,v in p.items() if k in ('command','path','outcome')}
if action == 'session-count':
return len({x['root_session'] for x in p})
return {'error': 'unsupported menu operation'}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('impression-once contract', solve('impression-once', [N,N,N+1]), 2)
check('invoked-vs-success contract', solve('invoked-vs-success', [{'success':True,'id':N},{'success':False,'id':N+1}]), {'invoked':2,'succeeded':1})
check('path-dimension contract', solve('path-dimension', {'path':['root','tools',str(N)]}), 'root/tools/'+str(N))
check('duration contract', solve('duration', {'opened':N,'closed':N+7}), 7)
check('arguments contract', solve('arguments', {'command':'copy','path':['root'], 'arguments':{'doc':N},'target':'doc'}), {'command':'copy','path':['root']})
check('session-count contract', solve('session-count', [{'root_session':N,'surface':'a'},{'root_session':N,'surface':'b'}]), 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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| impression-once contract | 2 | 2 | Passed |
| invoked-vs-success contract | {'invoked': 2, 'succeeded': 1} | {'invoked': 2, 'succeeded': 1} | Passed |
| path-dimension contract | root/tools/1 | root/tools/1 | Passed |
| duration contract | 7 | 7 | Passed |
| arguments contract | {'command': 'copy', 'path': ['root']} | {'command': 'copy', 'path': ['root']} | Passed |
| session-count contract | 1 | 1 | Passed |
| unknown operation | {'error': 'unsupported menu operation'} | {'error': 'unsupported menu operation'} | Passed |
SHA-256 / 9c8cf90dd34ceb0f3936d85560f26e6e6cf877458712086a3dc4e61a946bb31f
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:25.902959+00:00.
Case digest / e42dc46e011fa3da3396733eb8918467719863cdb597887d256f58fa07680fec