{"abstract":"Global undo intercepts editing inside text fields.","category":"Keyboard interactions","checks":9,"contract":"Ignore prevented, repeated, and editable-origin events; use platform primary modifier; Alt blocks shortcuts; Shift-Z redoes, Z undoes, unshifted S saves.","contract_signature":"key, ctrl, meta, alt, shift, platform, editable, repeat, prevented","evaluation_group":"xi-shortcut","failed_approach":"Blocking only noneditable contexts reverses scope protection.","family":"xi-shortcut-editable","id":"FA-9016","implementations":{"attempt":{"sha256":"cb804983643860fa3cca9524f6bbf0b63f530ca7537816d4367fe251b8ac8b80","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(key, ctrl, meta, alt, shift, platform, editable, repeat, prevented):\n    if prevented or repeat: return None\n    if not editable: return None\n    primary = meta if platform == 'mac' else ctrl\n    if not primary or alt: return None\n    if key.lower() == 'z': return 'redo' if shift else 'undo'\n    if key.lower() == 's' and not shift: return 'save'\n    return None\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('prevented', solve('z', True, False, False, False, 'win', False, False, True), None)\ncheck('repeat', solve('z', True, False, False, False, 'win', False, True, False), None)\ncheck('editable', solve('z', True, False, False, False, 'win', True, False, False), None)\ncheck('mac', solve('z', False, True, False, False, 'mac', False, False, False), 'undo')\ncheck('win', solve('z', True, False, False, False, 'win', False, False, False), 'undo')\ncheck('redo', solve('z', True, False, False, True, 'win', False, False, False), 'redo')\ncheck('alt', solve('z', True, False, True, False, 'win', False, False, False), None)\ncheck('parameterized target context', solve('z',True,False,False,False,'win',bool(N%2),False,False), None if N%2 else 'undo')\nfor repetition in range(N):\n    check('repeat alt', solve('z', True, False, True, False, 'win', False, False, 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":"21dc80c69680c1cdec18e60110ba5e7ff70b73f49d5ffd762593da0d48cba7f9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(key, ctrl, meta, alt, shift, platform, editable, repeat, prevented):\n    if prevented or repeat: return None\n    if False: return None\n    primary = meta if platform == 'mac' else ctrl\n    if not primary or alt: return None\n    if key.lower() == 'z': return 'redo' if shift else 'undo'\n    if key.lower() == 's' and not shift: return 'save'\n    return None\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('prevented', solve('z', True, False, False, False, 'win', False, False, True), None)\ncheck('repeat', solve('z', True, False, False, False, 'win', False, True, False), None)\ncheck('editable', solve('z', True, False, False, False, 'win', True, False, False), None)\ncheck('mac', solve('z', False, True, False, False, 'mac', False, False, False), 'undo')\ncheck('win', solve('z', True, False, False, False, 'win', False, False, False), 'undo')\ncheck('redo', solve('z', True, False, False, True, 'win', False, False, False), 'redo')\ncheck('alt', solve('z', True, False, True, False, 'win', False, False, False), None)\ncheck('parameterized target context', solve('z',True,False,False,False,'win',bool(N%2),False,False), None if N%2 else 'undo')\nfor repetition in range(N):\n    check('repeat alt', solve('z', True, False, True, False, 'win', False, False, 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-shortcut-editable","generated_at":"2026-09-29T14:38:26.451863+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic model of scoped keyboard shortcut dispatch; this isolates one interface invariant without requiring a browser.","root_cause":"The editable operation uses `if False: return None` where the contract requires `if editable: return None`.","sha256":"02731826b6f19db9aec0501c84f9734d882ea6f43534cd6d97be41d065407767","title":"Scoped keyboard shortcut dispatch: Global undo intercepts editing inside text fields · 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":37.488,"exit_code":1,"observations":[{"actual":null,"check":"prevented","expected":null,"passed":true},{"actual":null,"check":"repeat","expected":null,"passed":true},{"actual":"undo","check":"editable","expected":null,"passed":false},{"actual":null,"check":"mac","expected":"undo","passed":false},{"actual":null,"check":"win","expected":"undo","passed":false},{"actual":null,"check":"redo","expected":"redo","passed":false},{"actual":null,"check":"alt","expected":null,"passed":true},{"actual":"undo","check":"parameterized target context","expected":null,"passed":false},{"actual":null,"check":"repeat alt","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"prevented\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"repeat\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"editable\", \"actual\": \"undo\", \"expected\": null, \"passed\": false}, {\"check\": \"mac\", \"actual\": null, \"expected\": \"undo\", \"passed\": false}, {\"check\": \"win\", \"actual\": null, \"expected\": \"undo\", \"passed\": false}, {\"check\": \"redo\", \"actual\": null, \"expected\": \"redo\", \"passed\": false}, {\"check\": \"alt\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"parameterized target context\", \"actual\": \"undo\", \"expected\": null, \"passed\": false}, {\"check\": \"repeat alt\", \"actual\": null, \"expected\": null, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":37.755,"exit_code":1,"observations":[{"actual":null,"check":"prevented","expected":null,"passed":true},{"actual":null,"check":"repeat","expected":null,"passed":true},{"actual":"undo","check":"editable","expected":null,"passed":false},{"actual":"undo","check":"mac","expected":"undo","passed":true},{"actual":"undo","check":"win","expected":"undo","passed":true},{"actual":"redo","check":"redo","expected":"redo","passed":true},{"actual":null,"check":"alt","expected":null,"passed":true},{"actual":"undo","check":"parameterized target context","expected":null,"passed":false},{"actual":null,"check":"repeat alt","expected":null,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"prevented\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"repeat\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"editable\", \"actual\": \"undo\", \"expected\": null, \"passed\": false}, {\"check\": \"mac\", \"actual\": \"undo\", \"expected\": \"undo\", \"passed\": true}, {\"check\": \"win\", \"actual\": \"undo\", \"expected\": \"undo\", \"passed\": true}, {\"check\": \"redo\", \"actual\": \"redo\", \"expected\": \"redo\", \"passed\": true}, {\"check\": \"alt\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"parameterized target context\", \"actual\": \"undo\", \"expected\": null, \"passed\": false}, {\"check\": \"repeat alt\", \"actual\": null, \"expected\": 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."}}