{"abstract":"Checked menu checkboxes cannot toggle off.","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.","contract_signature":"item, opened, checked, event","evaluation_group":"xi-menu-activation","failed_approach":"Closing the menu violates the persistent checkbox menu contract.","family":"xi-menu-activation-checkbox","id":"FA-8121","implementations":{"attempt":{"sha256":"ae32c515e6bd2c0a37bd1994196c3258032e826b30bdfeef2c5ecd2c9966cebf","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 (False, 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"},"broken":{"sha256":"ad047ef0a0f222be816d14eb152d6e4fdbba511653fdc106350f66507640cda0","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, True, '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-checkbox","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.","root_cause":"The checkbox operation uses `(opened, True, 'change')` where the contract requires `(opened, not checked, 'change')`.","sha256":"de5e6419fc425962ddebf194841e6e85bfc6943b07ae28b6a520f5b1aee640d9","title":"Menu item activation: Checked menu checkboxes cannot toggle off · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":67.683,"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":[false,false,"change"],"check":"checkbox off","expected":[true,false,"change"],"passed":false},{"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":[false,false,"change"],"check":"parameterized checked state","expected":[true,false,"change"],"passed":false},{"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\": [false, false, \"change\"], \"expected\": [true, false, \"change\"], \"passed\": false}, {\"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\": [false, false, \"change\"], \"expected\": [true, false, \"change\"], \"passed\": false}, {\"check\": \"repeat ignore arrow\", \"actual\": [true, false, null], \"expected\": [true, false, null], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":146.861,"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,true,"change"],"check":"checkbox off","expected":[true,false,"change"],"passed":false},{"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,true,"change"],"check":"parameterized checked state","expected":[true,false,"change"],"passed":false},{"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, true, \"change\"], \"expected\": [true, false, \"change\"], \"passed\": false}, {\"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, true, \"change\"], \"expected\": [true, false, \"change\"], \"passed\": false}, {\"check\": \"repeat ignore arrow\", \"actual\": [true, false, null], \"expected\": [true, false, null], \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}