Found by a live tmux-driven TUI test sweep (fake provider rigs). Evidence: .tmp/tui-test/results/ (history.md, runs.md, workspace.md, pickers.md, inputux.md).
Root cause for the headline bugs: the global Submit key case (cmd/harnesscli/tui/model.go:2884) precedes overlay routing (model.go:3301/3243) and lacks branches for several overlays, so Enter falls through to the input area.
Bugs (acceptance criteria — each fixed with a regression test)
Test plan
Failing Go regression tests first per bug (pattern-match slashcomplete_dropdown_test.go, overlay_wire_test.go, dashboard_test.go), then minimal fixes; scripts/test-regression.sh green.
Rollout/rollback
TUI-only changes in cmd/harnesscli/tui/; rollback by reverting the branch.
Found by a live tmux-driven TUI test sweep (fake provider rigs). Evidence:
.tmp/tui-test/results/(history.md, runs.md, workspace.md, pickers.md, inputux.md).Root cause for the headline bugs: the global Submit key case (
cmd/harnesscli/tui/model.go:2884) precedes overlay routing (model.go:3301/3243) and lacks branches for several overlays, so Enter falls through to the input area.Bugs (acceptance criteria — each fixed with a regression test)
/sessionsEnter never selects a session — session switching impossible in the real TUI (model.go:2884 vs :3301)./pluginsEnter enable/disable toggle unreachable (model.go:3243/3256)./dashboardn/s(new-run / steer) inputs can never be submitted; spaces are also dropped in those inputs (tea.KeySpaceunhandled) — "go faster" becomes "gofaster"./modelEnter on an empty filter result hijacks into the /keys overlay (model.go:3006 ignoresAccept()'s ok=false)./+ Enter executes/add-dir— dropdown auto-accepts the first suggestion and the immediate-execute path runs it./continue+ Enter is swallowed — aliases not in the suggestion list; the no-suggestion arm (~model.go:3067) only handles unregistered names.activeToolCallIDnever cleared)./configsearch advertised (/ search...header) but dead — keys never routed to the config panel; values hard-truncate at 20 chars with no ellipsis./modelsearch drops batched/pasted multi-rune input —HandleSearchKeyonly accepts single-rune keys.Test plan
Failing Go regression tests first per bug (pattern-match
slashcomplete_dropdown_test.go,overlay_wire_test.go,dashboard_test.go), then minimal fixes;scripts/test-regression.shgreen.Rollout/rollback
TUI-only changes in
cmd/harnesscli/tui/; rollback by reverting the branch.