Metadata
| Status | done |
|---|---|
| Assigned | agent-2113 |
| Agent identity | f51439356729d112a6c404803d88015d5b44832c6c584c62b96732b63c2b0c7e |
| Model | codex:gpt-5.5 |
| Created | 2026-05-03T21:31:05.642156748+00:00 |
| Started | 2026-05-04T01:49:51.617995860+00:00 |
| Completed | 2026-05-04T02:22:53.008323304+00:00 |
| Tags | fix,architecture,chat,tui,generalize, eval-scheduled |
| Eval score | 0.86 |
| └ blocking impact | 0.87 |
| └ completeness | 0.88 |
| └ constraint fidelity | 0.85 |
| └ coordination overhead | 0.87 |
| └ correctness | 0.87 |
| └ downstream usability | 0.83 |
| └ efficiency | 0.83 |
| └ intent fidelity | 0.86 |
| └ style adherence | 0.82 |
Description
Description
Generalize the chat-pane primitive from 'LLM-specific (claude/codex/nex)' to 'arbitrary command in a persistent tmux+PTY pane'. claude/codex/nex become preset shortcuts that fill in known command shapes; users can also launch bash, vim, tail -f, or anything else as a chat tab.
Conditional on verify-fix-nex-chat-mirror PASSING. If verify-A fails, do NOT start this task — fix A first.
User direct quote 2026-05-03: 'you should be able to run whatever in a chat lol. why not? that gives a persistent state for shells. this is... more.'
Spec
Schema change
Chat task metadata becomes (command_argv, working_dir, optional executor-preset-name) instead of (executor, model, endpoint).
- Existing claude/codex/nex chat tasks: migrate to the new shape on first read; preset name preserves the 'this is a claude chat' display intent.
- Per skip-back-compat-ceremony memory: hard schema change; in-place migration of existing chat tasks; no deprecation window.
CLI surface
wg chat new --exec <executor>— current preset path (claude/codex/nex). Builds the command_argv from the preset's known shape.wg chat new --command '<command-line>'— NEW: arbitrary command. Just runs it in a tmux+PTY pane.- New-chat dialog gets a 'Custom Command' option that takes the command line directly.
Use cases this enables
- Persistent dev shell:
wg chat new --command 'bash'— survives TUI exit, reattach via TUI's chat tabs. - Log tail in a chat tab:
wg chat new --command 'tail -f deploy.log'— always-on monitoring. - Vim session:
wg chat new --command 'vim my-doc.md'— persistent edit session.
Implementation surface
- src/tui/viz_viewer/state.rs — chat-spawn dispatch becomes generic; preset → command_argv
- src/commands/chat_cmd.rs — new
--commandflag - src/tui/ — new 'Custom Command' option (composes with redesign-new-chat)
- Schema migration code for existing chat tasks
- Smoke scenarios covering the new use cases (bash chat, vim chat, etc.)
Validation
- Failing tests written first
- Schema migration: existing claude/codex/nex chats still work after the change (preset preserved, command_argv derived)
-
wg chat new --command 'bash'creates a chat task whose pane runs bash - Bash chat survives TUI exit + reattach
-
wg chat new --command 'tail -f /tmp/test.log'works -
wg chat new --exec claudeand--exec codexand--exec nexstill work as before (preset shortcuts) - New-chat dialog has Custom Command option; freeform command-line input is accepted
- No regression of A's verified behavior (nex chat in TUI still works post-B)
- cargo build + cargo test pass
- Permanent smoke scenarios added: bash-chat, custom-command-chat, preset-shortcuts-still-work
- cargo install --path . was run before claiming done
-
Call
wg doneat completion
Depends on
Required by
- (none)
Log
- 2026-05-03T21:31:05.612445705+00:00 Task paused
- 2026-05-03T21:31:53.101219176+00:00 Task published
- 2026-05-03T21:32:21.760541797+00:00 Lightweight assignment: agent=Careful Programmer (f5143935), exec_mode=full, context_scope=task, reason=Careful Programmer is the only implementation-capable agent available; high score (0.80) and Careful tradeoff ensure rigorous schema migration, multi-file changes, and comprehensive validation testing.
- 2026-05-04T01:49:51.617999768+00:00 Spawned by coordinator --executor codex --model gpt-5.5
- 2026-05-04T01:50:04.108877048+00:00 Starting implementation: A is verified; inspecting chat schema, CLI, TUI launcher, and smoke patterns before edits.
- 2026-05-04T01:51:36.545581951+00:00 Inspected chat creation/spawn path: CLI and IPC create .chat tasks; TUI reconstructs PTY argv from CoordinatorState. Implementing command_argv/working_dir metadata with preset compatibility and generic custom-command spawn.
- 2026-05-04T02:19:08.021180288+00:00 Validated: cargo build passes; cargo test --release --bin wg passes (3379 passed, 0 failed); cargo install --path . completed; new smoke scenarios bash_chat, custom_command_chat, preset_shortcuts_still_work pass; chat_create_endpoint_persists pass. A live nex smoke rerun skipped after endpoint unreachable.
- 2026-05-04T02:19:08.051228433+00:00 Implemented generic chat command metadata, custom --command path, preset command derivation, migration on read, TUI Custom Command launcher, and owned smoke scenarios.
- 2026-05-04T02:22:31.293916878+00:00 Committed: 3c15016eb — pushed to remote branch wg/agent-2113/implement-generalize-chat
- 2026-05-04T02:22:53.008331610+00:00 Task pending eval (agent reported done; awaiting `.evaluate-*` to score)
- 2026-05-04T02:24:53.631261962+00:00 PendingEval → Done (evaluator passed; downstream unblocks)