feat: Add api-model to remove Scorpio’s dependency on Ceres - #1808
Conversation
|
Claude finished @benjamin-747's task in 1m 40s —— View job Code Review Complete ✅I've completed a comprehensive code review of this PR that adds the Todo List
Review SummaryThis PR successfully extracts a shared Architecture & Design ✅Strengths:
Observations:
Code Quality ✅api-model/src/git/commit.rs (lines 1-12):
ceres/src/model/git.rs (lines 1-80):
ceres/src/api_service/commit_ops.rs:
Potential Issues & Recommendations1. Missing PR Description
|
|
@codex review |
|
Codex Review: Didn't find any major issues. Breezy! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
There was a problem hiding this comment.
Pull request overview
This PR introduces a new api-model crate to break the circular dependency between scorpio and ceres by extracting the shared LatestCommitInfo model into a standalone package. This architectural improvement allows scorpio to use Git commit information structures without depending on the larger ceres crate.
Changes:
- Created new
api-modelcrate withLatestCommitInfostruct extracted fromceres - Updated
scorpioto depend onapi-modelinstead ofceres - Refactored
ceresto useLatestCommitInfofromapi-modelvia a wrapper pattern - Migrated several dependencies in
orionandorion-serverto use workspace versions for consistency - Removed unused dependencies (
ring,hex,callisto,http-body-util) from various crates
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| api-model/Cargo.toml | New crate configuration with serde and utoipa dependencies |
| api-model/src/lib.rs | Module declaration for git submodule |
| api-model/src/git/mod.rs | Module declaration for commit submodule |
| api-model/src/git/commit.rs | Extracted LatestCommitInfo struct from ceres |
| Cargo.toml | Added api-model to workspace members and dependencies, updated axum-extra version |
| scorpio/Cargo.toml | Replaced ceres dependency with api-model |
| scorpio/src/manager/fetch.rs | Updated import to use api-model |
| ceres/Cargo.toml | Added api-model dependency, removed unused ring and hex |
| ceres/src/model/git.rs | Removed LatestCommitInfo definition, added LatestCommitInfoWrapper for internal use |
| ceres/src/api_service/mod.rs | Updated import to use api-model |
| ceres/src/api_service/commit_ops.rs | Refactored to use wrapper pattern for username binding mutations |
| mono/Cargo.toml | Added api-model dependency, removed unused http-body-util, improved reqwest formatting |
| mono/src/api/router/preview_router.rs | Updated import to use api-model |
| jupiter/Cargo.toml | Removed unused hex and ring dependencies |
| common/Cargo.toml | Removed unused callisto dependency |
| orion/Cargo.toml | Migrated dependencies to workspace versions (anyhow, itertools, thiserror, serial_test), fixed formatting |
| orion-server/Cargo.toml | Migrated tokio-stream and chrono to workspace versions |
|
Claude finished @benjamin-747's task in 2m 9s —— View job Code Review Complete ✅I've completed a comprehensive code review of this PR that adds the Todo List
Review SummaryThis PR successfully extracts a shared Architecture & Design ✅Strengths:
Observations:
Code Quality ✅api-model/src/git/commit.rs (lines 1-12):
ceres/src/model/git.rs (lines 1-80):
ceres/src/api_service/commit_ops.rs:
Issues Found1. Missing PR Description
|
|
Claude finished @benjamin-747's task in 1m 56s —— View job Code Review Complete ✅I've completed a thorough code review of this PR that adds the Todo List
Review SummaryThis PR successfully extracts the shared Architecture & Design ✅Strengths:
Observations:
Code Quality ✅api-model/src/git/commit.rs:
ceres/src/model/git.rs:
scorpio/src/manager/fetch.rs:
Critical Issues Found1. 🔴 Invalid Rust Edition "2024"api-model/Cargo.toml (line 4): edition = "2024"Issue: Rust edition "2024" doesn't exist. Valid editions are: 2015, 2018, 2021. Impact: This will cause compilation errors when the edition is actually validated. Recommendation: Change to Note: I also noticed that mono/Cargo.toml (line 4) and ceres/Cargo.toml (line 4) have the same issue. These should all be fixed to 2. 📝 Formatting Inconsistency in scorpio/Cargo.tomlscorpio/Cargo.toml (line 7): api-model = { path = "../api-model" }Issue: Missing space after Recommendation: Add space for consistency: Important Improvements Needed3.
|
No description provided.