NATURALLY OBSERVED · NO BUG INJECTION

Tab becomes text. Focus cannot leave.

In the unmodified SynthVis Pro editor, Tab inserts spaces instead of moving to the next control. Shift+Tab follows the same branch, and Escape has no release path.

SONIC CANVASBASELINE BUILDTRUSTED KEY TRACE
LTL obligation G(probe_complete → (tab_exits ∨ shift_tab_exits ∨ escape_exits)) TRACE IN PROGRESS
Bombadil
const editorExitProbe = extract(state =>
  state.window.__keyboardExitProbe ?? { complete: false }
).named("editorExitProbe");

export const editorHasKeyboardExit = always(() => {
  const p = editorExitProbe.current;
  return !p.complete || p.tabExits || p.shiftTabExits || p.escapeExits;
});

one editor context · recorded forward Tab + source-verified exit matrix

Tab
settle
probe
UNMODIFIED GENERATED WEBSITEs0 · Enter editor
SynthVis Pro audio and visual code editors from the recorded baseline run
FOCUS · Audio editor
EXPECTED · Visual editor

Evidence: baseline VibeApps artifact 45, Bombadil transaction key:10. The recorded Tab settles on the same textarea. The unmodified handler applies preventDefault() to every Tab without a Shift exception, while no Escape release branch exists. This demo reports the exercised editor context, not all code editors.