#572 ·
llmmsg-srvca.sh codex launcher: run codex on llmmsg-srv (ca= identity, sandbox-off, pull-only inbound, push-to-ccs) - fleet
- Ref
#572(#572)- Project
llmmsg-srv- Status
- inProgress
- Priority
- high
- Type
- epic
- Assigned
- pm-llmmsgsrv-cc
- Created by
- —
- Created
- 2026-05-29T02:58:17.582Z
- Updated
- 2026-06-05T06:51:02.451Z
Sub-items (0/5 done · 0%)
Questions
No questions.
Event log
-
wi cli
-
status=inProgress
-
venus ca unblock LANDED+verified: appended [mcp_servers.llmmsg-srv] block to venus ~/.codex/config.toml (command=absolute pnpm node, args=/opt/llmmsg-srv/hub/llmmsg-srv-mcp.mjs, env LLMMSG_HUB_URL=http://172.27.178.27:9703 + LLMMSG_AGENT_NAME=audit-mars-ca). nw-venus-cc applied verbatim (whey has no direct ssh to venus), TOML validated, shim path resolves, backup config.toml.bak.20260606-0428. Elazar relaunched ca.sh; audit-mars-ca re-registered + actively polling (newest last_seen in roster) = MCP mount confirmed, no more slow stdio fallback. REMAINING for #572: fold wiring into ca.sh as per-launch -c override keyed to resolve_agent_label (kills global-hardcode footgun; supersedes the static config.toml block since -c beats config file). Also noted: ca.sh exports LLMMSG_AGENT not LLMMSG_AGENT_NAME (wrong var) - the -c override fix moots it.
-
ca.sh resume-trap (root cause of stale-session/no-mount): ca.sh:45-46 does blind 'exec codex resume --last' whenever $cwd/.codex state dir exists, else fresh. So any config.toml/MCP change is silently swallowed - the agent keeps resuming the pre-change session and never mounts the new server. Verified on venus: codex-cli 0.137.0, 'codex mcp list' in audit-mars cwd shows llmmsg-srv enabled (mount IS valid), but the running audit-mars-ca was a stale pre-04:28 session improvising a hand-rolled node MCP client because ca.sh resumed it. AGENTS.md/commons all use native tools (no hand-roll instruction) - confirmed not an AGENTS.md issue. Immediate unblock given to Elazar: mv .codex aside + rerun ca.sh = fresh session picks up native mount. STRUCTURAL FIX for #572: add a --fresh/--new flag to ca.sh (and/or detect config-newer-than-session) so a launcher restart actually re-inits MCP instead of resuming across a config change. Pairs with the per-launch -c override item already on #572.
-
CORRECTION to prior 'ca.sh resume-trap' note: empirically FALSE. nw-venus-cc inspected the live codex process on venus (PID 998252, started via resume --last in Elazar's pts/32) and found a CHILD process = node /opt/llmmsg-srv/hub/llmmsg-srv-mcp.mjs with env LLMMSG_AGENT_NAME=audit-mars-ca + LLMMSG_HUB_URL=172.27.178.27:9703 = the config.toml [mcp_servers.llmmsg-srv] native mount. So codex 'resume --last' DOES re-read config.toml mcp_servers and spawn the MCP server at process start - a config/MCP change IS picked up on the next ca.sh launch even via the resume branch. The earlier hand-rolled 'node <<NODE' the agent ran was conversational improvisation ON TOP of a working mount (and/or pre-mount scrollback), NOT a missing mount. Therefore: DROP the '--fresh flag needed so restart re-inits MCP' rationale - unneeded; resume already re-inits. Remaining valid #572 work: (1) per-launch -c override to set LLMMSG_AGENT_NAME per agent-CWD so the global config.toml hardcode (currently audit-mars-ca) doesn't mis-identify other ca agents; (2) ca.sh exports LLMMSG_AGENT not LLMMSG_AGENT_NAME - the -c override or a config.toml env moots it. venus audit-mars-ca is now live on the native mount; mars join uses wi=725 (MARS-38), directed by pm-mars-cc.