docs/solutions/logic-errors/2026-04-23-slate-react-shell-buttons-must-be-internal-targets.md
Large-document shell buttons are app/internal controls. If their keydown events
bubble into Editable as editor events, the kernel can classify shell
activation as a native-owned editor command.
command cannot be native-owned.Treat role-button and contenteditable=false descendants as internal targets in
the editable input classifier.
Generated shell activation proofs should assert model selection through the Slate browser handle, not DOM selection.
Shell activation belongs to the shell control, not the editor native input
path. Classifying shell controls as internal targets prevents Editable from
recording a command while also marking the event as native-owned.