Consolidate search_tool feature into apps (#11509)

## Summary
- Remove `Feature::SearchTool` and the `search_tool` config key from the
feature registry/schema.
- Gate `search_tool_bm25` exposure via `Feature::Apps` in
`core/src/tools/spec.rs`.
- Update MCP selection logic in `core/src/codex.rs` to use
`Feature::Apps` for search-tool behavior.
- Update `core/tests/suite/search_tool.rs` to enable `Feature::Apps`.
- Regenerate `core/config.schema.json` via `just write-config-schema`.

## Testing
- `just fmt`
- `cargo test -p codex-core --test all suite::search_tool::`

## Tickets
- None
This commit is contained in:
Anton Panasenko
2026-02-11 16:52:42 -08:00
committed by GitHub
parent fd1efb86df
commit d3b078c282
4 changed files with 9 additions and 9 deletions

View File

@@ -111,7 +111,7 @@ async fn search_tool_flag_adds_tool() -> Result<()> {
.await;
let mut builder = test_codex().with_config(|config| {
config.features.enable(Feature::SearchTool);
config.features.enable(Feature::Apps);
});
let test = builder.build(&server).await?;
@@ -148,7 +148,7 @@ async fn search_tool_adds_developer_instructions() -> Result<()> {
.await;
let mut builder = test_codex().with_config(|config| {
config.features.enable(Feature::SearchTool);
config.features.enable(Feature::Apps);
});
let test = builder.build(&server).await?;
@@ -190,7 +190,7 @@ async fn search_tool_hides_mcp_tools_without_search() -> Result<()> {
let rmcp_test_server_bin = stdio_server_bin()?;
let mut builder = test_codex().with_config(move |config| {
config.features.enable(Feature::SearchTool);
config.features.enable(Feature::Apps);
let mut servers = config.mcp_servers.get().clone();
servers.insert(
"rmcp".to_string(),
@@ -273,7 +273,7 @@ async fn search_tool_selection_persists_within_turn_and_resets_next_turn() -> Re
let rmcp_test_server_bin = stdio_server_bin()?;
let mut builder = test_codex().with_config(move |config| {
config.features.enable(Feature::SearchTool);
config.features.enable(Feature::Apps);
let mut servers = config.mcp_servers.get().clone();
servers.insert(
"rmcp".to_string(),
@@ -401,7 +401,7 @@ async fn search_tool_selection_unions_results_within_turn() -> Result<()> {
let rmcp_test_server_bin = stdio_server_bin()?;
let mut builder = test_codex().with_config(move |config| {
config.features.enable(Feature::SearchTool);
config.features.enable(Feature::Apps);
let mut servers = config.mcp_servers.get().clone();
servers.insert(
"rmcp".to_string(),