When DevSpace is globally linked to a source checkout, bin/devspace.js executes the checked-in working tree's ignored dist/cli.js. After pulling source changes, dist can remain stale.
Observed symptom: persisted tools.mode=codex is correctly read by current src/config.ts, but the stale dist/config.js ignores it and falls back to minimal, so the MCP server exposes read/write/edit/bash instead of the Codex-compatible apply_patch/exec_command/write_stdin surface.
DevSpace should not silently start from stale generated output when run from a linked source checkout. The real launcher path needs a regression test and a safe mechanism that ensures current source and runtime behavior stay aligned.
When DevSpace is globally linked to a source checkout, bin/devspace.js executes the checked-in working tree's ignored dist/cli.js. After pulling source changes, dist can remain stale.
Observed symptom: persisted tools.mode=codex is correctly read by current src/config.ts, but the stale dist/config.js ignores it and falls back to minimal, so the MCP server exposes read/write/edit/bash instead of the Codex-compatible apply_patch/exec_command/write_stdin surface.
DevSpace should not silently start from stale generated output when run from a linked source checkout. The real launcher path needs a regression test and a safe mechanism that ensures current source and runtime behavior stay aligned.