Chore/strip tui - #9
Merged
Merged
Conversation
The `nooa tui` and `nooa term` commands shipped in the public release but depend on a `nooa_tui` package that lives in a separate repo — invoking them raises ImportError. Remove the dead surface so the CLI ships only the subcommands that actually work (`start-dev`, `eval`, `traces`, `config`, `completion`, `import-*`, `delete-traces`). - Delete `commands/tui.py`, `commands/term.py`, `web/pty_server.py` - Drop `[web]` extra and TUI-only deps (ipython, prompt-toolkit, rich, pydantic, mcp) from `packages/nooa-cli/pyproject.toml` - Drop `pyte` and `ptyprocess` from the root dev group (unused) - Remove TUI attribution sections from `THIRD_PARTY_NOTICES.md` - Update READMEs and package description to reflect CLI-only scope WebPublisher, InteractiveAgent's `self.web` wiring, and the `TuiSession*` events in core are left in place — they no-op harmlessly and InteractiveAgent is used by non-TUI callers (ARC-AGI-3 example).
Follows the code strip in the previous commit. Removes documentation that describes a TUI surface the public release doesn't ship: - docs/guides/config-migration.md: drop the "TUI settings" section (config keys nothing reads anymore); renumber remaining sections. - examples/README.md: drop the `tui:` YAML block from the MCP section; keep the MCP explanation focused on the core `nooa[mcp]` extra and the stateless `MCPManager` factory. Rewrote (rather than removed) references to primitives that still exist in core but are no longer TUI-hosted: - skills/nemo-oo-tools-and-skills/SKILL.md: `@slash_command` now points at the InteractiveAgent `slash_commands` queue rather than "the TUI"; MCP config points at `.mcp.json` only. - skills/nemo-oo-self-extending/SKILL.md: same reword for slash commands.
This test spawned `python -m nooa_cli term` and verified SIGINT cleanup on the web terminal. The `term` subcommand was deleted in the code strip; the test now times out waiting for a port that never opens.
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Code (
822988a9)packages/nooa-cli/src/nooa_cli/commands/tui.py,commands/term.py, and the entireweb/subpackage (PTY server, xterm.js frontend).[web]extra and TUI-only hard deps (ipython,prompt-toolkit,rich,pydantic,mcp) frompackages/nooa-cli/pyproject.toml.pyteandptyprocessfrom the root dev group.nooa-tui,nooa-cli[web], and TUI-only entries fromTHIRD_PARTY_NOTICES.md._SKIP_SECRETS_PRELOADto reflect CLI-only scope.Docs (
2fc1045e)TUI settings: config.toml → settings.yamlsection fromdocs/guides/config-migration.md(documented config keys nothing reads anymore).examples/README.mdto point at the corenooa[mcp]extra andMCPManagerfactory, dropping the TUI-specificsettings.yamlblock.@slash_commandand/commandsreferences inskills/*/SKILL.mdto point at theInteractiveAgent.slash_commandsqueue (the underlying primitive still exists in core) rather than "the TUI".Tests (
94f98cc6)tests/test_sigint_handling.py, which spawnedpython -m nooa_cli termand timed out after the strip.What was intentionally left in place
src/nooa/tools/web_publisher.py— WebPublisher is still importable; without a terminal listener it silently no-ops.self.webwiring insrc/nooa/interactive.py—InteractiveAgentis used by non-TUI callers (e.g. the ARC-AGI-3 example).TuiSessionResumed/TuiSessionClearedevent classes insrc/nooa/events.py— unused but harmless."nemo.web"entry point in rootpyproject.toml.These are dead-but-harmless; ripping them would break
tests/test_interactive_agent.pyand theTestWebPublisherMethodssuite. Best done as a follow-up if desired.Test plan
uv sync --all-extras --no-extra sandbox(matches CI)uv run pytest -q -m "not integration and not stress"— 6526 passed, 6 skipped, 282 deselecteduv run nooa --help— notui/termin the command list; all other subcommands presentuv run pytest packages/nooa-cli/tests/ tests/test_interactive_agent.py tests/unit/test_remaining_full_coverage.py -q— 65 passed (confirms the deliberately-keptWebPublisher/InteractiveAgentsurface still works)nooa_cli.commands.{tui,term},nooa_cli.web,ptyprocess, orpyte