Represent dynamic tools with explicit namespaces internally#27365
Merged
Conversation
sayan-oai
force-pushed
the
codex/dynamic-tools-generic-search-metadata
branch
from
June 11, 2026 04:16
520aff4 to
902b3a6
Compare
sayan-oai
force-pushed
the
codex/dynamic-tool-explicit-namespaces-core
branch
from
June 11, 2026 04:16
1765bf7 to
acca13f
Compare
sayan-oai
commented
Jun 11, 2026
| /// Ensures dynamic tool specs are serialized into the model request payload. | ||
| #[tokio::test] | ||
| async fn thread_start_injects_dynamic_tools_into_model_requests() -> Result<()> { | ||
| async fn thread_start_normalizes_legacy_dynamic_tools_into_model_request() -> Result<()> { |
Contributor
Author
There was a problem hiding this comment.
integration test for old client compat; flat legacy tools are accepted + grouped into a namespace
sayan-oai
marked this pull request as ready for review
June 11, 2026 05:38
Contributor
Author
|
@codex review this |
Contributor
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ab8c1e58e3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Base automatically changed from
codex/dynamic-tools-generic-search-metadata
to
main
June 11, 2026 06:06
sayan-oai
force-pushed
the
codex/dynamic-tool-explicit-namespaces-core
branch
from
June 11, 2026 08:50
ab8c1e5 to
c856ed2
Compare
jif-oai
reviewed
Jun 11, 2026
jif-oai
approved these changes
Jun 12, 2026
jif-oai
approved these changes
Jun 15, 2026
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Follow-up to #27356.
Stack note
This PR changes Codex's internal dynamic-tool shape while leaving
thread/startunchanged. App-server therefore converts the existing per-tool input into explicit functions and namespaces before passing it to core.#27371 updates
thread/startto use the same explicit shape and removes this temporary conversion.Why
Dynamic tools repeat namespace metadata on every function. Core should keep one explicit namespace with its member tools so descriptions and membership stay consistent across sessions and runtime planning.
What changed
thread/start.dynamicToolsflat for now and normalize it at the app-server boundary.New builds can read old rollout metadata. Older builds cannot read newly written hierarchical metadata.
Test plan
just test -p codex-app-server thread_start_normalizes_legacy_dynamic_tools_into_model_requestjust test -p codex-protocol session_meta_normalizes_legacy_dynamic_toolsjust test -p codex-core resume_restores_dynamic_tools_from_rollout_with_sqlite_enabledjust test -p codex-core tool_search_returns_deferred_dynamic_tool_and_routes_follow_up_calljust test -p codex-core code_mode_can_call_hidden_dynamic_toolsjust test -p codex-tools