fix(cross-model): discover the Codex.app-bundled codex CLI and name the peer-CLI requirement - #1395
Merged
Merged
Conversation
…he peer-CLI requirement Peer discovery in the four cross-model worker scripts was PATH-only, so a Codex desktop-app install (Codex.app/Contents/Resources/codex, not linked onto PATH) was never found and the pass silently reported "not run". When no codex is on PATH, probe the known Codex.app bundle dirs (CROSS_MODEL_CODEX_APP_DIRS overrides) and append the first hit, so a PATH-installed CLI stays authoritative. Make the "no peer reachable" skip name the peer CLIs and note that an API key alone does not enable the pass. Document the prerequisite, bundle discovery, and Gemini's lack of a standalone target. Add one regression test per script plus a PATH-vs-bundle precedence case; sandboxes mask any real bundle. Fixes #1272 Claude-Session: https://claude.ai/code/session_01SfcNrQM7jUjYiEPTc92Zw9
PR SummaryCursor Bugbot is generating a summary for commit 64785ae. Configure here. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 64785ae. Configure here.
- probe ChatGPT.app bundle dirs as well as Codex.app: the Codex desktop app was merged into ChatGPT.app in July 2026, so fresh desktop-only installs carry the CLI there - docs name both bundle layouts Claude-Session: https://claude.ai/code/session_01SfcNrQM7jUjYiEPTc92Zw9
Merged
ethras
added a commit
to ethras/compound-engineering-orca
that referenced
this pull request
Aug 16, 2026
* fix(ce-commit-push-pr): root PR stacks on the parent PR the user named (EveryInc#1365) * fix(ce-babysit-pr): decode gh output as UTF-8 on Windows (EveryInc#1368) * fix(ce-prototype): cover decisions settled by seeing, not just driving (EveryInc#1369) * perf(tests): cut suite wall time by splitting the largest test file (EveryInc#1370) * fix(tests): stop the cross-model routes test reading the working tree (EveryInc#1371) * fix(ce-doc-review): ask only where a real choice exists, batch the rest (EveryInc#1373) * chore(orca): re-pin upstream provenance baseline to 421a337 Co-authored-by: Cursor <cursoragent@cursor.com> * fix(ce-doc-review): align Orca ownership wording with Apply routing Co-authored-by: Cursor <cursoragent@cursor.com> * feat(ce-prototype): add a seeing-mode craft floor and durable storage (EveryInc#1374) * fix(ce-pov): stop the panel guessing the cross-model host argument (EveryInc#1375) * chore(cross-model): pin the Grok peer to 4.6 (EveryInc#1376) * docs(skills): rewrite user skill pages for accuracy and clearer use (EveryInc#1377) * fix(commit): append known plan unit ids to commit subjects (EveryInc#1379) * fix(ce-work): stop sandboxed workers committing in linked worktrees (EveryInc#1382) * fix(ce-doc-review): edit HTML plans in native format (EveryInc#1381) * fix(ce-code-review): cover adversarial after quota or auth no-review (EveryInc#1380) * fix(skills): correct a rejected dispatch instead of spending the fallback (EveryInc#1383) * fix(ce-compound): find Claude sessions started outside the repo root (EveryInc#1378) * ci(windows-native): retry peer-job-runner smoke on ctypes flake (EveryInc#1384) * fix(ce-debug): stop asking at the handoff, stop shipping unoffered work (EveryInc#1385) * docs(solutions): record why skill gates state conditions, not git commands (EveryInc#1386) * fix(skills): drop the residual-findings record file for real sinks (EveryInc#1387) * fix(ce-doc-review): run the cross-model pass when CROSS_MODEL_PEERS is unset (EveryInc#1389) * fix(ce-proof): sync with current Proof v3 contract (EveryInc#1390) * fix(skill-authoring): make goal-first the default when authoring and reviewing skills (EveryInc#1391) * fix(cross-model): let reviews run on Fable and pin model/effort from CE config (EveryInc#1392) * docs(cross-model): point superseded peer benchmarks at the luna/xhigh decision (EveryInc#1393) * fix(cross-model): discover the Codex.app-bundled codex CLI and name the peer-CLI requirement (EveryInc#1395) * feat(cross-model): add cross_model_review_mode checkout egress gate (EveryInc#1396) * fix(ce-compound-refresh): compare knowledge-track learnings against guidance they name (EveryInc#1399) * docs(solutions): capture the named-guidance contradiction-check learning (EveryInc#1400) * fix(ce-compound): prefer the repo's own frontmatter vocabulary over the Rails-era enums (EveryInc#1394) * fix(ce-work): stop asking about branches before starting work (EveryInc#1397) * fix(review): answer covered cases on skill prose with the condition, not a patch (EveryInc#1401) * fix(scratch): fall back to $TMPDIR when /tmp cannot host the scratch root (EveryInc#1398) * feat(ce-skill-work): repo-local skill for authoring, editing, reviewing, and responding to review on skills (EveryInc#1402) * fix(ce-pov): reject non-final peer positions instead of folding them in (EveryInc#1403) * feat(manifest): add Agent Plugins v1.0.0 manifest support (EveryInc#1345) * chore: release main (EveryInc#1354) * fix(ce-work): run cross-model verification on warm checkouts (EveryInc#1404) * fix(orca): reconcile upstream skill contracts * fix(orca): preserve additive Codex session roots --------- Co-authored-by: Trevin Chow <trevin@trevinchow.com> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Fixes #1272.
On a machine where Codex is installed only as the desktop app, the cross-model pass in
ce-code-review(andce-doc-review,ce-pov,ce-work) silently reported "cross-model pass: not run". Codex.app ships a workingcodexatContents/Resources/codexbut does not link it ontoPATH, and peer discovery wascommand -vonly.Now, when no
codexis onPATH, each worker probes the known Codex.app bundle dirs (~/Applicationsand/Applications;CROSS_MODEL_CODEX_APP_DIRSoverrides) and appends the first hit. Append, never prepend: aPATH-installed CLI stays authoritative. The "no peer reachable" skip line now names the peer CLIs (codex,claude,grok,cursor-agent) and says an API key alone does not enable the pass, so a fresh machine explains itself instead of failing quietly.Docs (
docs/skills/ce-code-review.md, pointer ince-doc-review.md) now state the peer-CLI prerequisite, the app-bundle discovery, and that Gemini has no standalone target (issue items 1 and 3). Item 2 — a one-time install check — belongs to the installer insrc/and is left for a separate change.Validation
codexinside aCodex.app/Contents/Resourcesfixture with none onPATHresolves and is invoked. Each fails onmain.PATHstub is invoked over the bundle stub.bun run test: 3117 pass.bun run release:validatein sync.ce-code-reviewincluding an independent Codex cross-model adversarial pass; all its findings (test hermeticity) were applied before this PR.Known residuals (advisory)
-x, not that the bundled binary executes; a broken bundle would fail at invocation with a less tidy message than today's skip.docs/skills/ce-pov.mdandce-work.mddo not yet carry the prerequisite note.Security Disclosure
Shell change in four skill worker scripts: when
codexis absent fromPATH, the script appends a fixed, well-known app-bundle directory (or an explicitCROSS_MODEL_CODEX_APP_DIRSvalue) toPATH. Append-only, so an existingPATHbinary always wins; the lookup under$HOMEfollows the same trust model asPATHitself. No secrets, permissions, or converter output changed.Agent Disclosure
Claude Code · claude-fable-5