Repository navigation
fix(sdk): defer home lookup for explicitly configured Linux runtimes - #2501
mldangelo-oai wants to merge 1 commit into
Conversation
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
alandelong-oai
left a comment
There was a problem hiding this comment.
Thanks for fixing this. No blocking findings in this merge-safety review. Deferring home lookup preserves tilde/default-cache behavior while allowing explicitly configured paths and runtimes to work without an account home.
Both focused no-home regressions passed, along with TypeScript and changed-file formatting. This verifies the throwing-home scenario through SDK preflight and Python discovery; a native numeric-UID container scan and the full SDK suite were not independently run.
A built public SDK smoke also passed with HOME/USERPROFILE unset and homedir forced to throw, with zero home lookups during preflight; five path controls passed.
Summary
An SDK process running under a numeric Linux UID can have neither a passwd entry nor a home directory. In that environment, scan preflight and interpreter discovery called
os.homedir()even with explicit absolute storage and cache paths. Node threwuv_os_homedir returned ENOENTbefore the SDK could use those paths.Changes
Look up the home directory when expanding a tilde path or constructing the default Python cache path. An explicit managed runtime list, XDG cache, or ordinary absolute path can now be used directly.
Testing
Risk and rollout
Tilde expansion and the default cache still use the platform home. The standalone CLI's command parser also looks up a home during import. CLI users running without a passwd entry can set HOME to a private directory.
Public disclosure review