Conversation
There was a problem hiding this comment.
njfio has reached the 50-review limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Pull request overview
Updates the root repo “tui” launcher path so scripts/run/tau-unified.sh tui (and just tui) defaults to launching the graphical tau-tui interactive mode, while retaining the legacy --agent mode.
Changes:
- Switch
tau-unified.sh tuidefault mode fromagenttointeractiveand add an explicit--interactiveflag. - Update launcher tests to assert
interactiveis the default TUI mode and runner args reflect that. - Extend root justfile launcher contract test coverage for
tui-freshdry-run behavior.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
specs/3613-root-interactive-launcher.md |
Adds a spec document for the change (currently not following repo spec layout conventions). |
scripts/run/tau-unified.sh |
Changes default TUI mode to interactive, adds --interactive, and refactors TUI command selection. |
scripts/run/test-tau-unified.sh |
Updates assertions so the default TUI marker/args are interactive. |
scripts/dev/test-root-just-launcher.sh |
Adds tui-fresh dry-run assertions (session reset + tui invocation). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| local tui_mode="interactive" | ||
| local saw_iterations="false" | ||
| local saw_interval="false" | ||
| local bootstrap_runtime="${TAU_UNIFIED_TUI_BOOTSTRAP_RUNTIME:-}" |
There was a problem hiding this comment.
Since tui_mode now defaults to interactive, the later --iterations/--interval-ms require --live-shell guard no longer triggers for the default mode. This allows incompatible flags (e.g. tui --iterations 2) to be silently accepted/ignored, which contradicts the launcher contract to hard-fail on incompatible flags. Update the validation so --iterations/--interval-ms are rejected unless tui_mode is live-shell (regardless of agent vs interactive).
| tui_output="$( | ||
| TAU_UNIFIED_RUNNER="${runner}" \ | ||
| TAU_UNIFIED_RUNNER_LOG="${runner_log}" \ | ||
| TAU_UNIFIED_RUNNER_PID="${runner_pid}" \ | ||
| TAU_UNIFIED_RUNTIME_DIR="${runtime_dir}" \ | ||
| "${LAUNCHER_SCRIPT}" tui --no-color 2>&1 || true | ||
| )" | ||
| assert_contains "${tui_output}" "tau-unified: launching tui (agent)" "tui agent marker" | ||
| assert_contains "${tui_output}" "tau-unified: launching tui (interactive)" "tui interactive marker" | ||
| up_count_after_tui="$(grep -c '^runner_mode=up$' "${runner_log}" || true)" |
There was a problem hiding this comment.
The updated assertions validate the new default interactive mode, but there is no integration check that ./tau-unified.sh tui --agent still routes to the legacy agent mode (as promised in the PR description). Add a test invocation that passes --agent and asserts the (agent) launch marker and runner args include agent so the legacy path can’t regress.
| # 3613 Root Interactive Launcher | ||
|
|
||
| ## Objective | ||
| Make the sanctioned root-path dev loop launch the graphical `tau-tui interactive` entrypoint instead of the legacy `tau-tui agent` shell path. | ||
|
|
||
| ## Inputs/Outputs | ||
| - Input: `just tui`, `just tui-fresh`, or `./scripts/run/tau-unified.sh tui` from the root repo. | ||
| - Output: a command path that launches `cargo run -p tau-tui -- interactive --profile <profile> --model <model>` and preserves the validated root dev defaults for timeout and retry behavior where applicable. |
There was a problem hiding this comment.
This spec file doesn’t follow the repo’s spec contract: AGENTS.md specifies per-issue specs must live at specs/<issue-id>/spec.md and include a Status: line (Draft|Reviewed|Accepted|Implemented). As written (specs/3613-root-interactive-launcher.md) it likely won’t be picked up by spec tooling and is missing Status:. Consider moving it to specs/3613/spec.md (and adding Status:) to match the established structure.
Closes #3613
Spec:
specs/3613-root-interactive-launcher.mdWhat changed:
tau-unified.sh tuipath now launchestau-tui interactive--agentmodeinteractiveis the default root TUI modeTest evidence:
bash scripts/run/test-tau-unified.shbash scripts/dev/test-root-just-launcher.shtau-unified: launching tui (interactive)viajust tui