Skip to content

chore: remove unused ShellToolsLegacy - #21

Merged
rdasilveiracabral merged 1 commit into
mainfrom
chore/remove-shell-tools-legacy
Jul 25, 2026
Merged

chore: remove unused ShellToolsLegacy#21
rdasilveiracabral merged 1 commit into
mainfrom
chore/remove-shell-tools-legacy

Conversation

@rdasilveiracabral

Copy link
Copy Markdown
Collaborator

src/nooa/tools/shell_tools_legacy.py was dead code. Nothing in src/, examples/, or packages/ imported it: both bench agents and the tools package __init__ use the modern nooa.tools.shell_tools.ShellTools. Its only consumers were five test modules that existed solely to exercise it.

Removed:

  • src/nooa/tools/shell_tools_legacy.py
  • tests/tools/test_shell_tools.py
  • tests/tools/test_edit_regressions.py
  • tests/tools/test_grep_timeout.py
  • tests/tools/test_shell_tools_rg_fallback.py

These four suites target legacy-only methods (view, edit, insert, grep, find, ls, reset) that have no counterpart on the modern ShellTools, so there is nothing to port. The modern surface stays covered by test_shell_tools_modern.py and test_shell_tools_modern_behavior.py.

Kept, repointed at the modern ShellTools:

  • tests/tools/test_bash_cross_loop.py — the gl-212 cross-loop Lock regression is about BashSession, not the legacy wrapper, and its ShellTools case only uses run(), which both classes provide.

Also dropped a stale docstring reference to the deleted legacy suite.

What does this PR do?

Related issues

Checklist

  • Code follows the project style (uv run ruff check . and uv run ruff format --check . pass)
  • Tests added/updated and passing (uv run pytest)
  • Docs updated if behavior or public APIs changed
  • New source files carry an SPDX license header

`src/nooa/tools/shell_tools_legacy.py` was dead code. Nothing in `src/`,
`examples/`, or `packages/` imported it: both bench agents and the tools
package `__init__` use the modern `nooa.tools.shell_tools.ShellTools`. Its
only consumers were five test modules that existed solely to exercise it.

Removed:
- `src/nooa/tools/shell_tools_legacy.py`
- `tests/tools/test_shell_tools.py`
- `tests/tools/test_edit_regressions.py`
- `tests/tools/test_grep_timeout.py`
- `tests/tools/test_shell_tools_rg_fallback.py`

These four suites target legacy-only methods (`view`, `edit`, `insert`,
`grep`, `find`, `ls`, `reset`) that have no counterpart on the modern
`ShellTools`, so there is nothing to port. The modern surface stays covered
by `test_shell_tools_modern.py` and `test_shell_tools_modern_behavior.py`.

Kept, repointed at the modern `ShellTools`:
- `tests/tools/test_bash_cross_loop.py` — the gl-212 cross-loop `Lock`
  regression is about `BashSession`, not the legacy wrapper, and its
  `ShellTools` case only uses `run()`, which both classes provide.

Also dropped a stale docstring reference to the deleted legacy suite.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@rdasilveiracabral
rdasilveiracabral merged commit 480e09b into main Jul 25, 2026
@alessiodevoto
alessiodevoto deleted the chore/remove-shell-tools-legacy branch August 19, 2026 10:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant