smoke-tui-nex-end-to-end

Smoke: simulated-human end-to-end test for nex chat in TUI (tmux + tui-dump)

Metadata

Statusdone
Assignedagent-1869
Agent identity3184716484e6f0ea08bb13539daf07686ee79d440505f1fdf2de0357707034c3
Created2026-05-02T23:54:58.735871575+00:00
Started2026-05-03T04:57:57.098729317+00:00
Completed2026-05-03T05:39:55.759467165+00:00
Tagssmoke,test,nex,chat,tui, eval-scheduled
Eval score0.82
└ blocking impact0.85
└ completeness0.78
└ constraint fidelity0.55
└ coordination overhead0.85
└ correctness0.82
└ downstream usability0.80
└ efficiency0.85
└ intent fidelity0.91
└ style adherence0.90

Description

Description

Add the permanent simulated-human smoke that exercises the canonical user flow end-to-end. Uses the same tmux + send-keys + capture-pane + wg tui-dump pattern already in tests/smoke/scenarios/tui_chat_redesign_modal_close_persist.sh and tui_chat_switch_keystrokes.sh. Architecture rationale documented in design-nex-chat's design doc Section 2.

Implement directly — do not decompose further.

File scope

  • tests/smoke/scenarios/tui_nex_chat_end_to_end.sh (NEW)
  • tests/smoke/manifest.toml (ADD scenario entry; do not modify or remove existing entries)

DO NOT touch: any src/ file (smoke test should be passive).

Scenario shape

1. wg init -m claude:opus  (project default; chat will override)
2. start daemon (background)
3. tmux new-session -d 'wg tui'
4. send '+' to open new-chat dialog
5. arrow-key to nex preset, OR Tab into AddNew form, type 'qwen3-coder' + endpoint URL
6. Enter to submit
7. wait + capture-pane: assert chat tab "[N]" appears in tab bar
8. send 'hello' + Enter
9. wait up to 60s, capture-pane: assert response text appears in chat pane (not just the prompt echo)
10. tmux kill-session
11. wg --json tui-dump | grep chat persistence proof
12. relaunch tui, capture-pane: assert resume worked

Live-skip pattern: if endpoint unreachable → loud_skip (exit 77) per existing nex_two_message_against_lambda01.sh.

Manifest entry shape

[[scenario]]
name = "tui_nex_chat_end_to_end"
script = "scenarios/tui_nex_chat_end_to_end.sh"
owners = [
    "fix-nex-cursor-corruption",
    "fix-supervisor-restart-backoff",
    "fix-tui-supervisor-coexistence",
    "fix-chat-dir-race",
    "integrate-nex-chat-end-to-end",
    "smoke-tui-nex-end-to-end",
    "design-nex-chat",
]
description = "Simulated-human end-to-end smoke: TUI new-chat dialog → nex chat against live endpoint → message+reply → close+reopen → resume."
timeout_seconds = 240

Validation

  • Scenario script written
  • Manifest entry added
  • Pre-fix: scenario FAILs (or LOUD_SKIPs if endpoint unreachable) — proves the test catches the regression
  • Post-fix: scenario PASSes against lambda01
  • CI: scenario is included in wg done smoke gate via owners list
  • Documented in tests/smoke/README.md if a new dependency or convention was introduced

Depends on

Required by

Log