The TUI's structured-view gate already delegates to command_tool, the same resolver web/spawnForm.ts uses via splitCommand, so paths, env assignments, wrappers, and configured presets already resolve like daemon dispatch. Add coverage for those forms plus stale-selection clearing on both preset switches and custom-command edits, so a regression back to a naive basename match would be caught.