fix(install): declare a transport in generated Codex agent role TOMLs - #1408
Conversation
Codex deserializes ~/.codex/agents/*.toml standalone: an [mcp_servers.codebase-memory-mcp] table with only enabled_tools fails with "invalid transport" and the whole role is dropped, so all three generated roles have been dead on Codex since they first shipped in v0.9.1-rc.1. Render command = <installed binary> plus args = ["--tool-profile=scout|analysis"] in direct Codex profiles, mirroring the Kiro renderer, and keep enabled_tools. Recognize the rc.1 transport-less rendering as a released shape so install migrates those files in place and uninstall still removes them; pass the installed binary path in the Codex uninstall set so exact-content ownership keeps matching. Fixes DeusData#1391 Signed-off-by: Ivan Dergachev <dergachoff@gmail.com>
|
Thanks for opening this — it has been seen, and it is queued. This note is automated, but it is not a brush-off: it exists so you know where your PR stands instead of having to guess from silence. Current review status: working through a backlog. What that means for this PR, concretely:
Things that will genuinely speed it up whenever review does happen:
If this fixes a bug, a reproduction we can run is worth more than a description of the symptom. Thanks for contributing, and sorry in advance for the wait. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
… test cbm_agent_installed_binary_path renders the expected uninstall content with ~/.local/bin/codebase-memory-mcp.exe on Windows, so installing the test fixture with a suffix-less path made exact-content removal of the migrated auditor profile miss and fail test-windows shard 2/2. Signed-off-by: Ivan Dergachev <dergachoff@gmail.com>
|
Thank you for turning the Codex transport failure in #1391 into a focused installer change. It is now routed at high priority in |
|
Thank you — this is an outstanding fix, and honestly a model for what an installer PR should look like. Root cause nailed (Codex deserializes role files standalone, so a server table without a transport drops the whole role), the fix mirrors the Kiro renderer instead of inventing a new shape, and above all: keeping the rc.1 transport-less rendering as a recognized released shape so install migrates broken files in place and uninstall still owns them — that's the lifecycle detail that separates a patch from a fix. The live Codex validation against real rc.1-generated files seals it. And thank you for the whole #1387/#1388/#1391 report trio — the before/after evidence in each one made this release-blocking cluster far easier to work. This lands in 0.9.1. |
Maintainer notice: please disregard comments from @adfjadfj16-a11y on this thread@adfjadfj16-a11y is not a maintainer of this project and does not speak for it. That account has posted replies on 17 threads here written in the project's voice — promising merges, announcing that a case has been "escalated to the development team", asking to close issues, and in some threads replying as though it were the author of someone else's pull request. None of those were maintainer decisions, and none of them carried any weight. @DeusData is the only account that gives a maintainer response on this repository. If a comment about the fate of your issue or pull request did not come from @DeusData, it is not a decision, however official it reads. If you were waiting on something because of one of those comments — a promised merge, a review "immediately", a request to close your ticket — I am sorry. That was noise you had no way to identify as noise, and it should not have been on your thread. Your issue or PR is judged on its own merits, and I will answer it here myself. Nothing in this notice reflects on your contribution. Thank you for your patience, and thank you for the work. |
Problem
Codex CLI startup prints
Ignoring malformed agent role definition: failed to deserialize agent role file at ~/.codex/agents/codebase-memory[-scout|-auditor].toml: invalid transportand drops all three generated roles. Fixes #1391.Root cause
The Codex profile renderer emits
[mcp_servers.codebase-memory-mcp]with onlyenabled_tools. Codex deserializes role files standalone and requirescommandorurl, so every direct Codex profile since v0.9.1-rc.1 is rejected.Fix
command = "<installed binary>"andargs = ["--tool-profile=scout|analysis"], mirroring the Kiro renderer;enabled_toolskept.cbm_render_graph_profile_codex_rc1), soinstallmigrates rc.1-written files in place anduninstallremoves them.Validation
test-runner:agent_profiles10/10,cli257/257,agent_clients26/26,config_toml_edit34/34 (cli lifecycle tests require no live daemon; a running one blocks uninstall quiesce)lint-format,lint-cppcheck,lint-no-suppresscleaninstall -ymigrated all three in place. Codex CLI 0.146.0: threeinvalid transportwarnings before, zero after.codebase-memory-mcp --tool-profile=scoutfrom the role's rendered transport, and the exposed tool surface was exactly the seven scout-tier tools (noquery_graph/search_code/detect_changes/get_graph_schema, no mutators).Known limit: custom
--dirinstalls still cannot be exact-matched at uninstall (path reconstruction assumes~/.local/bin); same pre-existing limitation as Kiro's profiles.