decrating: absorb shipper-progress into shipper-cli::output::progress#67
Conversation
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 10 minutes and 6 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: ⛔ Files ignored due to path filters (25)
📒 Files selected for processing (18)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f904c07598
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
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".
| micro-auth = ["shipper/micro-auth"] | ||
| micro-git = ["shipper/micro-git"] | ||
| micro-events = ["shipper/micro-events"] | ||
| micro-lock = ["shipper/micro-lock"] | ||
| micro-encrypt = ["shipper/micro-encrypt"] |
There was a problem hiding this comment.
Restore missing shipper-cli micro feature aliases
This commit removes micro-git, micro-environment, and micro-storage from shipper-cli's [features], so those feature sets now hard-fail (for example, cargo test -p shipper-cli --features micro-git errors that the feature does not exist). The BDD CI matrix still invokes all three names in .github/workflows/ci.yml (feature-set list and cargo test -p shipper-cli --features ...), so those jobs will fail before tests execute and users lose the corresponding CLI feature toggles.
Useful? React with 👍 / 👎.
| shipper-retry = { path = "../crates/shipper-retry" } | ||
| shipper-levels = { path = "../crates/shipper-levels" } | ||
| shipper-chunking = { path = "../crates/shipper-chunking" } |
There was a problem hiding this comment.
Re-add shipper-levels dependency to fuzz manifest
Removing shipper-levels from fuzz/Cargo.toml breaks existing fuzz targets that still import shipper_levels::group_packages_by_levels (fuzz_targets/release_levels.rs and fuzz_targets/plan_levels.rs). That makes those targets fail to compile with unresolved crate errors, and it directly affects CI because the fuzz-smoke workflow runs cargo fuzz run release_levels.
Useful? React with 👍 / 👎.
Move shipper-progress crate (~1425 LOC) into crates/shipper-cli/src/output/progress/ as crate-private modules. CLI-only concern with no upstream library consumer — pure absorption with no dedup or shim merge. Splits the 1206-line lib.rs into focused sub-files: - mod.rs: ProgressReporter implementation (~200 LOC) - tests.rs: unit tests (~825 LOC) - proptests.rs: proptest-based property tests (~190 LOC) - bdd_tests.rs: BDD-style tests (absorbed from tests/progress_bdd.rs) - snapshot_tests.rs: insta snapshot tests (absorbed from tests/snapshots.rs) - snapshots/: 22 insta snapshot files Also creates the new crates/shipper-cli/src/output/ folder with CLAUDE.md as the parent for CLI output concerns (future PRs may add output/format/ and output/reporter/). Other changes: - Remove fuzz target for progress_reporter since the absorbed type is now crate-private to a binary crate and cannot be consumed by the fuzz harness. - Update docs/architecture.md and RELEASE_CHECKLIST to drop the standalone crate entries. - Add indicatif as a shipper-cli dependency (was transitive via shipper-progress). - Add proptest as a shipper-cli dev-dependency for the absorbed property tests. Per docs/decrating-plan.md §6 Phase 5.
f904c07 to
2e3ecca
Compare
Summary
Absorbs the standalone
shipper-progressmicrocrate (~1425 LOC) intocrates/shipper-cli/src/output/progress/as crate-private modules. This is a pure absorption — the code had no upstream library consumer (shipperdoesn't depend on it), no in-tree duplicate, and no shim to merge.Implements Phase 5 of the decrating plan (§6) for CLI-only concerns.
What changed
crates/shipper-cli/src/output/progress/with modules:mod.rs—ProgressReporterimplementation (~200 LOC), items arepub(crate).tests.rs— unit tests (~825 LOC, from lib.rs#[cfg(test)] mod tests).proptests.rs— property tests (~190 LOC, from lib.rsmod property_tests+mod proptests).bdd_tests.rs— BDD-style tests (fromtests/progress_bdd.rs).snapshot_tests.rs— insta snapshot tests (fromtests/snapshots.rs).snapshots/— 22 insta.snapfiles (renamed with the new module path prefix).crates/shipper-cli/src/output/withmod.rs+CLAUDE.md. Ready for futureoutput/format/andoutput/reporter/sub-modules.mod output;added tocrates/shipper-cli/src/main.rs; theuse shipper_progress::ProgressReporterimport is rewritten touse crate::output::progress::ProgressReporter.crates/shipper-progress/removed.crates/shipper-cli/Cargo.toml: dropshipper-progress, addindicatif = "0.18.4"(now direct dep), addproptestdev-dep for the absorbed property tests.fuzz/Cargo.toml: dropshipper-progressand theprogress_reporterfuzz target — the absorbed type is now crate-private to a binary crate and can't be consumed by the fuzz harness.docs/architecture.mdandRELEASE_CHECKLIST_v0.3.0.mdno longer mention the standalone crate.Not touched: root
Cargo.toml—shipper-progresswas already not in the workspacememberslist.Validation
cargo check --workspace— cleancargo test -p shipper-cli— 25 test binaries, all passing (0 failures)shipperbin test runcargo clippy -p shipper-cli --all-targets --all-features -- -D warnings— cleancargo fmt --all -- --check— cleancargo run -p shipper-cli -- --help— CLI boots and prints the expected help textTest plan
shipper-cliintegration tests remain green