Skip to content

Latest commit

 

History

History
22 lines (19 loc) · 2.01 KB

codex-cli-update.md

File metadata and controls

22 lines (19 loc) · 2.01 KB

Codex CLI Update Plan

src/codex/cli-update-plan.ts constructs the read-only update plan; src/codex/app-server-processes.ts supplies its process observation. Installation inspection follows the runtime inspection contract, and explicit Windows observation follows its separate read-only contract.

Explicit Codex CLI installation observation does not discover a Codex home or read/write its state. See the read-only observation contract.

The read-only CLI update plan binds npm executable selection to the inspected launcher PATH. Registry integrity requires a canonical base64 SHA-512 digest of exactly 64 bytes; malformed or truncated tokens refuse the target. Selection observation uses the runtime resolver with provenance's bounded no-follow, nonblocking state reader and local executable-path policy. Windows returns before invoking the resolver; its deferred inspection performs no candidate or configuration I/O. Its child environment drops npm configuration overrides, named Node startup/output controls, the LD_*/DYLD_* loader families and the OpenSSL startup configuration and provider/engine search variables; proxy settings and NODE_EXTRA_CA_CERTS remain supported. Distinct npm config files, cache and logs stay under the owned temporary root with best-effort cleanup; a cleanup error does not replace the computed plan/refusal. The POSIX update scan includes all readable users by default, retaining an explicitly injected UID scope. Linux per-process status/cmdline read failures invalidate a complete observation except for ENOENT (a process that disappeared); incomplete observation refuses with blocked_process_state_unknown; the restart/kill path skips unreadable entries while retaining independently verified same-user app-server targets. This plan neither installs a runtime nor signals an existing Codex session. Windows enumeration/installation limits remain unchanged.