diff --git a/docs/codebase-summary.md b/docs/codebase-summary.md index de9627cb..986b2194 100644 --- a/docs/codebase-summary.md +++ b/docs/codebase-summary.md @@ -267,7 +267,7 @@ src/ ### Native Codex Runtime Target - Dedicated runtime entrypoints: `ccs-codex` and `ccsx` resolve through `src/bin/codex-runtime.ts`, while `ccsxp` resolves through `src/bin/ccsxp-runtime.ts`; all three set `CCS_INTERNAL_ENTRY_TARGET=codex` before delegating to `src/targets/target-resolver.ts`. -- Provider shortcut behavior: `ccsxp` also strips user-supplied `--target` overrides and rewrites argv to `ccs codex --target codex ...`, so it always lands on the built-in Codex-via-CLIProxy route. +- Provider shortcut behavior: `ccsxp` also strips user-supplied `--target` overrides and rewrites argv to `ccs codex --target codex ...`, so it always lands on the built-in Codex-via-CLIProxy route. It pins `CODEX_HOME` to native `~/.codex` by default so inherited launcher state does not send history/config writes to a nonstandard Codex root; `CCSXP_CODEX_HOME` is the explicit override. - `argv[0]` alias mapping still exists in `src/targets/target-resolver.ts` for same-binary/custom alias scenarios, but the built-in npm bins above do not depend on that map at runtime. - Metadata boundary: `src/targets/target-metadata.ts` keeps Codex runtime-only in v1, so persisted default targets remain `claude | droid`. - Compatibility guardrails: `src/targets/target-runtime-compatibility.ts` centralizes which profile types can execute on Codex. diff --git a/docs/system-architecture/target-adapters.md b/docs/system-architecture/target-adapters.md index 10a37254..8cfddf3f 100644 --- a/docs/system-architecture/target-adapters.md +++ b/docs/system-architecture/target-adapters.md @@ -515,6 +515,7 @@ ccsxp → dist/bin/ccsxp-runtime.js → CCS_INTERNAL_ENTRY_TARGET=codex → injects built-in codex profile shortcut +→ pins CODEX_HOME to native `~/.codex` unless `CCSXP_CODEX_HOME` is set ``` If a user launches CCS through a custom shim instead of the built-in package bins, target