fix(workspace): declare 19 missing workspace dependencies - #527
Conversation
`cargo metadata` failed because workspace members inherited deps that were not declared in `[workspace.dependencies]`. Internal (path) deps added: - codex-app-server-client (path = "app-server-client") - codex-artifacts (path = "artifacts") - codex-code-mode (path = "code-mode") - codex-connectors (path = "connectors") - codex-exec-server (path = "exec-server") - codex-features (path = "features") - codex-git-utils (path = "git-utils") - codex-package-manager (path = "package-manager") - codex-rollout (path = "rollout") - codex-sandboxing (path = "sandboxing") - codex-terminal-detection (path = "terminal-detection") - codex-tui-app-server (path = "tui_app_server") - codex-utils-output-truncation (path = "utils/output-truncation") - codex-utils-path (path = "utils/path-utils") External (versioned) deps added: - askama = "0.14.0" - fd-lock = "4.0.4" - flate2 = "1.0.35" - quick-xml = "0.38.3" - tar = "0.4.43" - v8 = "130" Also fixed two pre-existing blockers exposed once the deps loaded: - removed orphan workspace member `utils/git` (directory does not exist; no consumer references `codex-git`) - resolved an unmerged conflict marker in `codex-rs/cli/Cargo.toml` by keeping the `codex-sandboxing` workspace dep line Verification: `cargo metadata --manifest-path codex-rs/Cargo.toml --no-deps` now succeeds. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
CodeAnt AI is reviewing your PR. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
There was a problem hiding this comment.
Code Review
This pull request updates the workspace configuration in codex-rs/Cargo.toml by adding several new internal crates and external dependencies, and it resolves merge conflicts in codex-rs/cli/Cargo.toml. Feedback indicates that the newly added internal crates must be explicitly included in the [workspace].members list to correctly inherit workspace settings. Additionally, it is suggested to add codex-cloud-tasks and codex-cloud-tasks-client to the workspace dependencies for consistency.
| "utils/absolute-path", | ||
| "utils/cargo-bin", | ||
| "utils/git", | ||
| "utils/cache", |
There was a problem hiding this comment.
The 14 internal crates added to [workspace.dependencies] in this PR (e.g., artifacts, git-utils, package-manager, sandboxing, etc.) are missing from the [workspace].members list.
For these crates to correctly inherit workspace settings (such as version.workspace = true seen in artifacts/Cargo.toml) and share the workspace lockfile/target directory, they must be explicitly listed in the members array. Currently, only the removal of utils/git is reflected here, but the new crates are not added.
Missing members include:
app-server-clientartifactscode-modeconnectorsexec-serverfeaturesgit-utilspackage-managerrolloutsandboxingterminal-detectiontui_app_serverutils/output-truncationutils/path-utils
| codex-cli = { path = "cli" } | ||
| codex-client = { path = "codex-client" } | ||
| codex-cloud-requirements = { path = "cloud-requirements" } | ||
| codex-code-mode = { path = "code-mode" } |
There was a problem hiding this comment.
For consistency with the goal of declaring missing workspace dependencies, codex-cloud-tasks and codex-cloud-tasks-client should also be added to [workspace.dependencies]. These are existing workspace members (lines 15-16) that are currently referenced via hardcoded paths in crates like codex-cli (line 27).
| codex-code-mode = { path = "code-mode" } | |
| codex-cloud-tasks = { path = "cloud-tasks" } | |
| codex-cloud-tasks-client = { path = "cloud-tasks-client" } | |
| codex-code-mode = { path = "code-mode" } |
|
CodeAnt AI finished reviewing your PR. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: New dependency breaks alphabetical sort order
- Moved askama dependency from line 169 to line 164 to restore alphabetical ordering between arboard and assert_cmd.
Or push these changes by commenting:
@cursor push 5be7072eb0
Preview (5be7072eb0)
diff --git a/codex-rs/Cargo.toml b/codex-rs/Cargo.toml
--- a/codex-rs/Cargo.toml
+++ b/codex-rs/Cargo.toml
@@ -161,12 +161,12 @@
ansi-to-tui = "7.0.0"
anyhow = "1"
arboard = { version = "3", features = ["wayland-data-control"] }
+askama = "0.14.0"
assert_cmd = "2"
assert_matches = "1.5.0"
async-channel = "2.3.1"
async-stream = "0.3.6"
async-trait = "0.1.89"
-askama = "0.14.0"
axum = { version = "0.8", default-features = false }
base64 = "0.22.1"
bm25 = "2.3.2"You can send follow-ups to the cloud agent here.
Reviewed by Cursor Bugbot for commit 551bb98. Configure here.
| async-channel = "2.3.1" | ||
| async-stream = "0.3.6" | ||
| async-trait = "0.1.89" | ||
| askama = "0.14.0" |
There was a problem hiding this comment.
New dependency breaks alphabetical sort order
Low Severity
The askama dependency in Cargo.toml is out of alphabetical order within the [workspace.dependencies] section. It's currently after async-trait but belongs after arboard to align with the established sorting convention, which helps avoid CI failures and merge conflicts.
Reviewed by Cursor Bugbot for commit 551bb98. Configure here.
helios-cli ships OpenAI Codex CLI's README verbatim. Prepend a fork-context section that: - declares this as a Phenotype-org fork of openai/codex - enumerates recent fork-specific patches (CVE bumps in codex-rs #525/#526, workspace deps fix #527, OSSF Scorecard #524, action SHA pinning #519-#521, VitePress deploy bootstrap #518) - points downstream readers at PLAN.md and docs/contributing.md for Phenotype-specific context - documents upstream tracking strategy Upstream README is preserved verbatim below the preamble.
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>



User description
Summary
cargo metadata --manifest-path codex-rs/Cargo.toml --no-depsfailed because workspace members inherit deps that were never declared in[workspace.dependencies]. This blocks tooling, IDEs, and CI that rely on metadata loading. Adds the 19 missing entries (14 internal path deps, 6 external version deps) plus two pre-existing blockers exposed once the deps loaded.Changes
Internal
pathdeps (local workspace crates):codex-app-server-client,codex-artifacts,codex-code-mode,codex-connectors,codex-exec-server,codex-features,codex-git-utils,codex-package-manager,codex-rollout,codex-sandboxing,codex-terminal-detection,codex-tui-app-server,codex-utils-output-truncation,codex-utils-pathExternal
versiondeps (latest stable per "bleeding-edge first"):askama = "0.14.0"fd-lock = "4.0.4"flate2 = "1.0.35"quick-xml = "0.38.3"tar = "0.4.43"v8 = "130"Pre-existing blockers fixed (CI Completeness Policy):
utils/git— directory does not exist on disk, no consumer referencescodex-git.codex-rs/cli/Cargo.toml(<<<<<<< HEAD ... >>>>>>> upstream_main) by keeping thecodex-sandboxing = { workspace = true }line.Verification
Did not run
cargo build(disk-tight on this host); metadata-only verification per task scope.Test plan
cargo metadata --manifest-path codex-rs/Cargo.toml --no-depsexits 0cargo build --workspace(defer to CI / merger; disk constrained locally)🤖 Generated with Claude Code
Note
Low Risk
Low risk manifest-only changes: updates workspace dependency declarations and cleans up a stray merge conflict marker. Main risk is potential downstream build/lockfile churn from newly declared external crates and renamed internal git utility crate.
Overview
Fixes workspace metadata resolution by declaring previously missing
[workspace.dependencies]entries (adds multiple internalpathcrates and several external crates likeaskama,tar, andv8).Removes the nonexistent
utils/gitworkspace member/codex-gitreference in favor ofcodex-git-utils, and cleans up an unmerged conflict marker incli/Cargo.tomlwhile keepingcodex-sandboxingas a workspace dependency.Reviewed by Cursor Bugbot for commit 551bb98. Bugbot is set up for automated code reviews on this repo. Configure here.
CodeAnt-AI Description
Fix workspace dependency declarations so metadata loading succeeds
What Changed
Impact
✅ Workspace metadata loads successfully✅ Fewer IDE and CI failures when scanning the workspace✅ No broken workspace member references🔄 Retrigger CodeAnt AI Review
Details
💡 Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
Preserve Org Learnings with CodeAnt
You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:
This helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
Check Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.