{"abstract":"Reactivating a selected menu radio clears its selection.","category":"Menu interactions","checks":9,"contract":"Disabled items and nonactivation keys do nothing; click, Enter and Space activate; submenu transfers focus; checks toggle; radios select; leaf commands close.","evaluation_group":"xi-menu-activation","failed_approach":"Forcing false never selects the radio.","family":"xi-menu-activation-radio","id":"FA-8126","implementations":{"attempt":{"sha256":"8f3efb8ce2b23e449a5984fbcfbbe405bb84165d36d836be7951add3ab993ccc","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(item, opened, checked, event):\n    if item['disabled']: return (opened, checked, None)\n    if event not in ('click', 'Enter', 'Space'): return (opened, checked, None)\n    if item['kind'] == 'submenu': return (True, checked, 'focus-child')\n    if item['kind'] == 'checkbox': return (opened, not checked, 'change')\n    if item['kind'] == 'radio': return (opened, False, 'change')\n    return (False, checked, 'invoke')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('disabled', solve(dict(disabled=True,kind='command'), True, False, 'click'), (True, False, None))\ncheck('enter', solve(dict(disabled=False,kind='command'), True, False, 'Enter'), (False, False, 'invoke'))\ncheck('space', solve(dict(disabled=False,kind='command'), True, False, 'Space'), (False, False, 'invoke'))\ncheck('submenu', solve(dict(disabled=False,kind='submenu'), False, False, 'click'), (True, False, 'focus-child'))\ncheck('checkbox off', solve(dict(disabled=False,kind='checkbox'), True, True, 'click'), (True, False, 'change'))\ncheck('radio stays', solve(dict(disabled=False,kind='radio'), True, True, 'click'), (True, True, 'change'))\ncheck('ignore arrow', solve(dict(disabled=False,kind='command'), True, False, 'Left'), (True, False, None))\ncheck('parameterized checked state', solve(dict(disabled=False,kind='checkbox'), True, bool(N%2), 'Space'), (True, not bool(N%2), 'change'))\nfor repetition in range(N):\n    check('repeat ignore arrow', solve(dict(disabled=False,kind='command'), True, False, 'Left'), (True, False, None))\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"b898c6a9b80715c4f563f4446e442647a3a69f9a1baf87e9e64468e376fcccfa","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(item, opened, checked, event):\n    if item['disabled']: return (opened, checked, None)\n    if event not in ('click', 'Enter', 'Space'): return (opened, checked, None)\n    if item['kind'] == 'submenu': return (True, checked, 'focus-child')\n    if item['kind'] == 'checkbox': return (opened, not checked, 'change')\n    if item['kind'] == 'radio': return (opened, not checked, 'change')\n    return (False, checked, 'invoke')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('disabled', solve(dict(disabled=True,kind='command'), True, False, 'click'), (True, False, None))\ncheck('enter', solve(dict(disabled=False,kind='command'), True, False, 'Enter'), (False, False, 'invoke'))\ncheck('space', solve(dict(disabled=False,kind='command'), True, False, 'Space'), (False, False, 'invoke'))\ncheck('submenu', solve(dict(disabled=False,kind='submenu'), False, False, 'click'), (True, False, 'focus-child'))\ncheck('checkbox off', solve(dict(disabled=False,kind='checkbox'), True, True, 'click'), (True, False, 'change'))\ncheck('radio stays', solve(dict(disabled=False,kind='radio'), True, True, 'click'), (True, True, 'change'))\ncheck('ignore arrow', solve(dict(disabled=False,kind='command'), True, False, 'Left'), (True, False, None))\ncheck('parameterized checked state', solve(dict(disabled=False,kind='checkbox'), True, bool(N%2), 'Space'), (True, not bool(N%2), 'change'))\nfor repetition in range(N):\n    check('repeat ignore arrow', solve(dict(disabled=False,kind='command'), True, False, 'Left'), (True, False, None))\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"07c93b96f2669cf8ba42e57ef6c586338983f5ed2f64fc3e16d41412264ce883","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(item, opened, checked, event):\n    if item['disabled']: return (opened, checked, None)\n    if event not in ('click', 'Enter', 'Space'): return (opened, checked, None)\n    if item['kind'] == 'submenu': return (True, checked, 'focus-child')\n    if item['kind'] == 'checkbox': return (opened, not checked, 'change')\n    if item['kind'] == 'radio': return (opened, True, 'change')\n    return (False, checked, 'invoke')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('disabled', solve(dict(disabled=True,kind='command'), True, False, 'click'), (True, False, None))\ncheck('enter', solve(dict(disabled=False,kind='command'), True, False, 'Enter'), (False, False, 'invoke'))\ncheck('space', solve(dict(disabled=False,kind='command'), True, False, 'Space'), (False, False, 'invoke'))\ncheck('submenu', solve(dict(disabled=False,kind='submenu'), False, False, 'click'), (True, False, 'focus-child'))\ncheck('checkbox off', solve(dict(disabled=False,kind='checkbox'), True, True, 'click'), (True, False, 'change'))\ncheck('radio stays', solve(dict(disabled=False,kind='radio'), True, True, 'click'), (True, True, 'change'))\ncheck('ignore arrow', solve(dict(disabled=False,kind='command'), True, False, 'Left'), (True, False, None))\ncheck('parameterized checked state', solve(dict(disabled=False,kind='checkbox'), True, bool(N%2), 'Space'), (True, not bool(N%2), 'change'))\nfor repetition in range(N):\n    check('repeat ignore arrow', solve(dict(disabled=False,kind='command'), True, False, 'Left'), (True, False, None))\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":" 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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"xi-menu-activation-radio","generated_at":"2026-09-29T14:38:18.583747+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic model of menu item activation; this isolates one interface invariant without requiring a browser.","repair":"Implement the radio operation as `(opened, True, 'change')`.","root_cause":"The radio operation uses `(opened, not checked, 'change')` where the contract requires `(opened, True, 'change')`.","sha256":"f5965b25e0efe05f4fb068d80db03e7db1df2ae85ffe54379c1fd4d770571ad7","title":"Menu item activation: Reactivating a selected menu radio clears its selection · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":45.752,"exit_code":1,"observations":[{"actual":[true,false,null],"check":"disabled","expected":[true,false,null],"passed":true},{"actual":[false,false,"invoke"],"check":"enter","expected":[false,false,"invoke"],"passed":true},{"actual":[false,false,"invoke"],"check":"space","expected":[false,false,"invoke"],"passed":true},{"actual":[true,false,"focus-child"],"check":"submenu","expected":[true,false,"focus-child"],"passed":true},{"actual":[true,false,"change"],"check":"checkbox off","expected":[true,false,"change"],"passed":true},{"actual":[true,false,"change"],"check":"radio stays","expected":[true,true,"change"],"passed":false},{"actual":[true,false,null],"check":"ignore arrow","expected":[true,false,null],"passed":true},{"actual":[true,false,"change"],"check":"parameterized checked state","expected":[true,false,"change"],"passed":true},{"actual":[true,false,null],"check":"repeat ignore arrow","expected":[true,false,null],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"disabled\", \"actual\": [true, false, null], \"expected\": [true, false, null], \"passed\": true}, {\"check\": \"enter\", \"actual\": [false, false, \"invoke\"], \"expected\": [false, false, \"invoke\"], \"passed\": true}, {\"check\": \"space\", \"actual\": [false, false, \"invoke\"], \"expected\": [false, false, \"invoke\"], \"passed\": true}, {\"check\": \"submenu\", \"actual\": [true, false, \"focus-child\"], \"expected\": [true, false, \"focus-child\"], \"passed\": true}, {\"check\": \"checkbox off\", \"actual\": [true, false, \"change\"], \"expected\": [true, false, \"change\"], \"passed\": true}, {\"check\": \"radio stays\", \"actual\": [true, false, \"change\"], \"expected\": [true, true, \"change\"], \"passed\": false}, {\"check\": \"ignore arrow\", \"actual\": [true, false, null], \"expected\": [true, false, null], \"passed\": true}, {\"check\": \"parameterized checked state\", \"actual\": [true, false, \"change\"], \"expected\": [true, false, \"change\"], \"passed\": true}, {\"check\": \"repeat ignore arrow\", \"actual\": [true, false, null], \"expected\": [true, false, null], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":129.115,"exit_code":1,"observations":[{"actual":[true,false,null],"check":"disabled","expected":[true,false,null],"passed":true},{"actual":[false,false,"invoke"],"check":"enter","expected":[false,false,"invoke"],"passed":true},{"actual":[false,false,"invoke"],"check":"space","expected":[false,false,"invoke"],"passed":true},{"actual":[true,false,"focus-child"],"check":"submenu","expected":[true,false,"focus-child"],"passed":true},{"actual":[true,false,"change"],"check":"checkbox off","expected":[true,false,"change"],"passed":true},{"actual":[true,false,"change"],"check":"radio stays","expected":[true,true,"change"],"passed":false},{"actual":[true,false,null],"check":"ignore arrow","expected":[true,false,null],"passed":true},{"actual":[true,false,"change"],"check":"parameterized checked state","expected":[true,false,"change"],"passed":true},{"actual":[true,false,null],"check":"repeat ignore arrow","expected":[true,false,null],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"disabled\", \"actual\": [true, false, null], \"expected\": [true, false, null], \"passed\": true}, {\"check\": \"enter\", \"actual\": [false, false, \"invoke\"], \"expected\": [false, false, \"invoke\"], \"passed\": true}, {\"check\": \"space\", \"actual\": [false, false, \"invoke\"], \"expected\": [false, false, \"invoke\"], \"passed\": true}, {\"check\": \"submenu\", \"actual\": [true, false, \"focus-child\"], \"expected\": [true, false, \"focus-child\"], \"passed\": true}, {\"check\": \"checkbox off\", \"actual\": [true, false, \"change\"], \"expected\": [true, false, \"change\"], \"passed\": true}, {\"check\": \"radio stays\", \"actual\": [true, false, \"change\"], \"expected\": [true, true, \"change\"], \"passed\": false}, {\"check\": \"ignore arrow\", \"actual\": [true, false, null], \"expected\": [true, false, null], \"passed\": true}, {\"check\": \"parameterized checked state\", \"actual\": [true, false, \"change\"], \"expected\": [true, false, \"change\"], \"passed\": true}, {\"check\": \"repeat ignore arrow\", \"actual\": [true, false, null], \"expected\": [true, false, null], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.946,"exit_code":0,"observations":[{"actual":[true,false,null],"check":"disabled","expected":[true,false,null],"passed":true},{"actual":[false,false,"invoke"],"check":"enter","expected":[false,false,"invoke"],"passed":true},{"actual":[false,false,"invoke"],"check":"space","expected":[false,false,"invoke"],"passed":true},{"actual":[true,false,"focus-child"],"check":"submenu","expected":[true,false,"focus-child"],"passed":true},{"actual":[true,false,"change"],"check":"checkbox off","expected":[true,false,"change"],"passed":true},{"actual":[true,true,"change"],"check":"radio stays","expected":[true,true,"change"],"passed":true},{"actual":[true,false,null],"check":"ignore arrow","expected":[true,false,null],"passed":true},{"actual":[true,false,"change"],"check":"parameterized checked state","expected":[true,false,"change"],"passed":true},{"actual":[true,false,null],"check":"repeat ignore arrow","expected":[true,false,null],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"disabled\", \"actual\": [true, false, null], \"expected\": [true, false, null], \"passed\": true}, {\"check\": \"enter\", \"actual\": [false, false, \"invoke\"], \"expected\": [false, false, \"invoke\"], \"passed\": true}, {\"check\": \"space\", \"actual\": [false, false, \"invoke\"], \"expected\": [false, false, \"invoke\"], \"passed\": true}, {\"check\": \"submenu\", \"actual\": [true, false, \"focus-child\"], \"expected\": [true, false, \"focus-child\"], \"passed\": true}, {\"check\": \"checkbox off\", \"actual\": [true, false, \"change\"], \"expected\": [true, false, \"change\"], \"passed\": true}, {\"check\": \"radio stays\", \"actual\": [true, true, \"change\"], \"expected\": [true, true, \"change\"], \"passed\": true}, {\"check\": \"ignore arrow\", \"actual\": [true, false, null], \"expected\": [true, false, null], \"passed\": true}, {\"check\": \"parameterized checked state\", \"actual\": [true, false, \"change\"], \"expected\": [true, false, \"change\"], \"passed\": true}, {\"check\": \"repeat ignore arrow\", \"actual\": [true, false, null], \"expected\": [true, false, null], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}