Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
06eefbe
docs(codex-cloud): retire xhigh prompt marker gate and clarify raw-en…
BigSimmo Oct 16, 2026
85793dc
docs(ledger): record review for codex/cloud-policy-clarity
BigSimmo Oct 16, 2026
627f034
fix: Clarify Cloud setting refresh behavior
qodo-code-review[bot] Oct 16, 2026
bdb0cea
chore(cloud): remove all remaining xhigh marker references and scrub …
BigSimmo Oct 16, 2026
b0b486e
docs(ledger): record review for bdb0cea521 on codex/cloud-policy-clarity
BigSimmo Oct 16, 2026
9c3c473
Merge remote-tracking branch 'origin/main' into gb-3581-work-2232
BigSimmo Oct 16, 2026
111fede
docs(codex-cloud): address review threads on raw-env exit semantics a…
BigSimmo Oct 16, 2026
1e3f1a0
fix(codex-cloud): harden shell profile sourcing, command shims, and o…
BigSimmo Oct 16, 2026
ce6c8a8
Merge remote-tracking branch 'origin/codex/cloud-policy-clarity' into…
BigSimmo Oct 16, 2026
953409c
docs(ledger): record review for ce6c8a8e19 on codex/cloud-policy-clarity
BigSimmo Oct 16, 2026
51e6077
fix(codex-cloud): add JSDoc env type annotations to shouldAutoSourceC…
BigSimmo Oct 16, 2026
d8a5a26
docs(ledger): record review for 51e6077ab9 on codex/cloud-policy-clarity
BigSimmo Oct 16, 2026
90c5f13
docs(ledger): record review for d8a5a2675e on codex/cloud-policy-clarity
BigSimmo Oct 16, 2026
3e0876f
chore(cloud): remove xhighConfirmed from RAG phase receipt schemas an…
BigSimmo Oct 16, 2026
db82acc
docs(ledger): record review for 3e0876f6e8 on codex/cloud-policy-clarity
BigSimmo Oct 16, 2026
59c030d
fix: Relocate existing Cloud profile blocks
qodo-code-review[bot] Oct 16, 2026
fc2164c
fix: 3 findings — Validate Node version before creating shims; Allow PAT
qodo-code-review[bot] Oct 16, 2026
a24ecb8
fix: Report Cloud profile re-exec failures
qodo-code-review[bot] Oct 16, 2026
b9d688c
fix(codex-cloud): unbreak CI and close open review findings on #3587 …
BigSimmo Oct 16, 2026
ff8c5ef
test(codex-cloud): policy-only harness now expects the Cloud block in…
claude Oct 16, 2026
9b03ee6
fix: Assert the complete Cloud profile block at the top
qodo-code-review[bot] Oct 16, 2026
adf52ea
fix(codex-cloud): align the policy-only harness test with profile pre…
claude Oct 16, 2026
84d83f5
Merge codex/cloud-policy-clarity into the fix branch
claude Oct 16, 2026
94a24f7
fix(codex-cloud): quote Node paths in shim installer version probes
claude Oct 16, 2026
ec906fd
Merge main into the fix branch
claude Oct 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions scripts/install-codex-cloud-command-shims.sh
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,11 @@ if [[ -n "$resolved_node_version" && "$resolved_node_version" != "N/A" ]]; then
else
fallback_node="$(PATH="$fallback_path" command -v node 2>/dev/null || true)"
[[ -n "$fallback_node" ]] || fail "Node ${expected_node_major} is unavailable through nvm or PATH."
fallback_node_version="$($fallback_node -p 'process.versions.node' 2>/dev/null || true)"
fallback_node_version="$("$fallback_node" -p 'process.versions.node' 2>/dev/null || true)"
node_version_supported "$fallback_node_version" || fail "Node ${expected_node_major}.x >=24.15.0 and <25 is required; detected ${fallback_node_version:-unavailable}."
node_bin="$(cd "$(dirname "$fallback_node")" && pwd)"
fi
node_version="$($node_bin/node -p 'process.versions.node' 2>/dev/null || true)"
node_version="$("$node_bin/node" -p 'process.versions.node' 2>/dev/null || true)"
node_version_supported "$node_version" || fail "Node ${expected_node_major}.x >=24.15.0 and <25 is required; detected ${node_version:-unavailable}."
mkdir -p "$HOME/.local/bin"
for command_name in node npm npx; do
Expand Down
31 changes: 31 additions & 0 deletions tests/codex-cloud-setup.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -815,6 +815,37 @@ describe("Codex Cloud environment contract", () => {
expect(resolvedPath).toEqual(expect.arrayContaining(["/usr/bin", "/bin"]));
}, 120_000);

it("probes a supported Node installed under a directory containing spaces", () => {
const homeRoot = temporaryDirectory("codex-cloud-shim-space-");
const home = path.join(homeRoot, "home with spaces");
mkdirSync(home, { recursive: true });
const bashHome = bashPathEntry(home);
const nodeVersion = "v24.19.0";
const nodeBin = path.join(home, ".nvm", "versions", "node", nodeVersion, "bin");
mkdirSync(nodeBin, { recursive: true });
for (const command of ["node", "npm", "npx"]) {
const executable = path.join(nodeBin, command);
writeFileSync(
executable,
command === "node"
? `#!/usr/bin/env bash\nif [[ "\${1:-}" = "-p" ]]; then printf "%s\\n" "${nodeVersion.slice(1)}"; fi\n`
: '#!/usr/bin/env bash\nprintf "%s\\n" "$PATH"\n',
);
chmodSync(executable, 0o755);
}
writeFileSync(
path.join(home, ".clinical-kb-codex-cloud.sh"),
[`export NVM_DIR="${bashHome}/.nvm"`, `nvm() { printf '${nodeVersion}\\n'; }`, ""].join("\n"),
);

const install = spawnSync(bashCommand, ["scripts/install-codex-cloud-command-shims.sh"], {
cwd: repoRoot,
encoding: "utf8",
env: { ...process.env, HOME: bashHome, PATH: bashPathList(process.env.PATH || "") },
});
expect(install.status, install.stderr || install.stdout).toBe(0);
}, 120_000);

it("only accepts a PATH fallback npm and npx that meet the repository npm range", () => {
const home = temporaryDirectory("codex-cloud-shim-npm-home-");
const bashHome = bashPathEntry(home);
Expand Down
Loading