Skip to content

fix(codex): send T3's MCP server as a dotted config key so profile servers stay - #22

Merged
Andrey170170 merged 2 commits into
dev_v2from
trellis-v2/c-codex-mcp-dotted
Oct 3, 2026
Merged

Andrey170170 merged 2 commits into
dev_v2from
trellis-v2/c-codex-mcp-dotted

Conversation

@Andrey170170

Copy link
Copy Markdown
Owner

Lane T3 follow-up from the Env lane's checks.

Problem

Codex 0.160: when thread/start (and resume/fork) config carries a nested mcp_servers table, that table replaces every MCP server configured on the app-server's command line (-c mcp_servers.*). Trellis agent profiles add their MCP servers that way, so a Trellis thread on Codex lost them. A dotted key ({"mcp_servers.t3-code": {...}}) merges instead.

Change

  • codexThreadRuntimeParams sends T3's own server as "mcp_servers.t3-code": {url, http_headers}. It is used for start, resume, fork, and rollback resume. The value shape matches Codex's config reference.
  • Replay comparisons (packages/effect-codex-app-server/src/replay.ts) also leave out mcp_servers.* dotted keys, as they already did for the nested table. Recorded transcripts then still match whatever machine-local MCP endpoint and token a run uses.
  • Nothing else sends Codex MCP config: text generation uses codex exec without T3's server.

Checks

  • Tests:
    • CodexAdapterV2.test.ts expects the dotted key, with the Trellis loopback host rewrite, and no nested mcp_servers.
    • New replay.test.ts covers normalization for nested, dotted and absent servers.
    • The orchestration-v2 suites (1465) and the codex-app-server package tests (37) pass.
  • Not checked here: I did not run a live Codex 0.160 session to confirm that a command-line server survives alongside T3's. That behaviour comes from the Env lane's check.
  • Local CI: knip:check, vp check, vpr typecheck and release-smoke pass. t3 tests fail only on the known CodexInstallation and AcpSessionRuntime.processTree failures. Package tests fail only on the known desktop libsecret and snapshot file-mode failures (desktop rerun after an Electron install race); client-runtime, relay and mobile pass when run separately. build:desktop fails on the known libsecret helper.
  • Review: Codex gpt-6.1-sol found the replay normalization gap, now fixed.

🤖 Generated with Claude Code

Andrey170170 and others added 2 commits October 2, 2026 19:26
…ne servers stay

Codex 0.160 lets a nested mcp_servers table in thread/start config replace
every server given on its command line (-c mcp_servers.*), which drops the
MCP servers Trellis agent profiles add; a dotted mcp_servers.t3-code key
merges.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…keys

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-03T02:11:24.129543Z 3705c45 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:S labels Oct 3, 2026
@Andrey170170
Andrey170170 merged commit 8ecc8f0 into dev_v2 Oct 3, 2026
8 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant