Skip to content

[codex] Pluggable Tool Registry#2

Draft
aboimpinto wants to merge 15 commits into
feat/external-tool-pr2-stacked-cleanfrom
feat/pluggable-tool-registry-pr3-stacked
Draft

[codex] Pluggable Tool Registry#2
aboimpinto wants to merge 15 commits into
feat/external-tool-pr2-stacked-cleanfrom
feat/pluggable-tool-registry-pr3-stacked

Conversation

@aboimpinto
Copy link
Copy Markdown
Owner

This adds the third stacked layer on top of Hmbown#2294: pluggable tool registry support for runtime registration, config.toml overrides, and plugin discovery.

What changed:

  • restored the existing tools_always_load behavior from the stacked shell branch
  • added [tools] support for plugin_dir and per-tool overrides
  • registered plugin tools as model-visible tools without deferring user-added overrides/plugins
  • added registry/plugin regression tests

Why:

  • the owner asked for the feature to be split into stacked PRs rather than one broad monolith
  • this keeps registry/plugin changes reviewable on top of the shell and external-tool layers

Validation:

  • cargo fmt --all
  • cargo check -p codewhale-tui --all-features --locked
  • cargo test -p codewhale-tui test_parse_frontmatter_full -- --nocapture
  • cargo test -p codewhale-tui test_load_plugin_tools_creates_tools -- --nocapture
  • cargo test -p codewhale-tui test_tool_from_override_script -- --nocapture

Paulo Aboim Pinto

@aboimpinto aboimpinto force-pushed the feat/external-tool-pr2-stacked-clean branch 5 times, most recently from f7660df to ce84cf0 Compare May 31, 2026 09:11
aboimpinto and others added 7 commits May 31, 2026 02:24
Harvested with thanks to @aboimpinto.

Includes the ExternalTool abstraction layer plus follow-up fixes for lossy REPL stdout handling and unquoted unicode git diff paths.

Validation included full CI and focused local checks for non-UTF8 REPL stdout, git_diff, and external_tool behavior.
Harvested from Hmbown#2407 with thanks to @axobase001.

Adds a first-time macOS Python FAQ and completes the virtualenv flow with the final run command.

Fixes Hmbown#2351.
Harvested from Hmbown#2406 with thanks to @axobase001.

Adds auto-selected model and reasoning effort to turn metadata while keeping user text isolated in its own content block. Includes the comment cleanup requested in review.

Partially addresses Hmbown#2380.
Harvested from Hmbown#2400 with thanks to @axobase001.\n\nAligns the configuration docs around CODEWHALE_HOME while preserving the DEEPSEEK_HOME legacy alias and spelling out how legacy checkpoints can still be scanned during cleanup.\n\nCloses Hmbown#2322.
Harvested from Hmbown#2405 with thanks to @axobase001.\n\nCompacts the statusline token chip to use the short  label while preserving the existing token detail and adding focused coverage for the rendered label.\n\nPartially addresses Hmbown#2309.
Harvested from Hmbown#2408 with thanks to @axobase001.

Adds regression coverage proving tty:true shell commands receive a controlling terminal, with a longer wait margin so the test is stable on slower CI hosts.

Partially addresses Hmbown#2372.
Harvested from Hmbown#2415 with thanks to @axobase001.

Keeps the denser mobile QR renderer and replaces the fixed binding-warning sleep with health polling plus an explicit timeout failure path, so slow starts fail with the useful cause instead of drifting into misleading assertions.

Follow-up to Hmbown#2403.
@aboimpinto aboimpinto force-pushed the feat/pluggable-tool-registry-pr3-stacked branch from f18db1c to 60cf7a3 Compare May 31, 2026 09:52
Hmbown added 4 commits May 31, 2026 02:52
Harvested from Hmbown#2402 with thanks to @axobase001.

Keeps `allow_shell` guidance visible for gated shell tools even when missing-tool suggestions exist, removes the nonexistent task_shell_cancel matcher, and broadens regression coverage.

Partially addresses Hmbown#2328.
Harvested from Hmbown#2392 with thanks to @wplll.

Makes project context pack path ordering deterministic across Unix and Windows-style separators while keeping README/config/source entries prioritized before general directory noise.
Harvested from Hmbown#2393 with thanks to @wplll.

Strengthens the tool-result dedup regression coverage by exercising repeated medium-sized outputs that are above the dedup threshold but below the truncation budget.
Harvested from Hmbown#2343 with thanks to @lucaszhu-hue.

Registers AtlasCloud static model rows for Pro and Flash resolution, adds provider-hinted alias coverage, and updates neutral provider docs and env examples while leaving promotional assets/copy out.
@aboimpinto aboimpinto force-pushed the feat/pluggable-tool-registry-pr3-stacked branch from 60cf7a3 to e3a2681 Compare May 31, 2026 10:06
Hmbown and others added 4 commits May 31, 2026 03:16
Harvested from Hmbown#2377 with thanks to @buko.

Threads the parent MCP tool pool into child SubAgentRuntime construction and registers MCP-backed tools for child agents when MCP is enabled, while leaving the broader mention-browser/provider/config work for focused follow-ups.

Validation:
- cargo fmt --all -- --check
- CARGO_TARGET_DIR=/Volumes/VIXinSSD/codewhale-pr2377-target cargo test -p codewhale-tui tools::subagent
- CARGO_TARGET_DIR=/Volumes/VIXinSSD/codewhale-target/harvest-2377-recheck cargo test -p codewhale-tui tools::subagent --all-features
Follow-up on Hmbown#2420 after the contributor branch update. Keeps explicit overrides above auto-discovered tools, makes directory scan ordering deterministic, and fixes the audit wrapper example.
@Hmbown Hmbown force-pushed the feat/pluggable-tool-registry-pr3-stacked branch from 6f8374a to a637159 Compare May 31, 2026 10:22
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.

2 participants