Skip to content

fix: restore iii-cloud binary registry entry#1444

Merged
ytallo merged 1 commit intomainfrom
fix/restore-cloud-registry
Apr 9, 2026
Merged

fix: restore iii-cloud binary registry entry#1444
ytallo merged 1 commit intomainfrom
fix/restore-cloud-registry

Conversation

@ytallo
Copy link
Copy Markdown
Contributor

@ytallo ytallo commented Apr 9, 2026

Summary

  • The iii-cloud BinarySpec was accidentally replaced by iii-worker in feat: add managed worker sandbox with libkrun VM isolation #1402 (cb54ced3) instead of being added alongside it
  • This broke iii cloud with Unknown command: 'cloud' since resolve_command("cloud") could no longer find a registry entry
  • Restores the original iii-cloud entry (repo: iii-hq/iii-cloud-cli, all 7 targets, tag_prefix: None) and its test

Test plan

  • cargo test -p iii --lib -- registry — all 45 tests pass (including restored test_resolve_cloud)
  • iii cloud --help works after installing the new binary

Summary by CodeRabbit

  • New Features
    • Added a cloud command to the CLI for accessing cloud service operations.
  • Tests
    • Updated test coverage to verify the new cloud command resolves correctly.

@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented Apr 9, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
iii-website Ready Ready Preview, Comment Apr 9, 2026 8:07pm
motia-docs Ready Ready Preview, Comment Apr 9, 2026 8:07pm

Request Review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 9, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: f9a19b30-be6a-4c16-8076-5fe33df8ed4f

📥 Commits

Reviewing files that changed from the base of the PR and between 7ee327d and 7135e6d.

📒 Files selected for processing (1)
  • engine/src/cli/registry.rs
🚧 Files skipped from review as they are similar to previous changes (1)
  • engine/src/cli/registry.rs

📝 Walkthrough

Walkthrough

Added a new iii-cloud BinarySpec to the CLI registry and registered the cloud CLI command to resolve to that binary (no subcommand). Updated tests to assert cloud resolution returns the iii-cloud spec and that no binary subcommand is present.

Changes

Cohort / File(s) Summary
CLI Registry & Tests
engine/src/cli/registry.rs
Inserted BinarySpec for iii-cloud (iii-hq/iii-cloud-cli), added CommandMapping for CLI command "cloud" with binary_subcommand: None, and added test_resolve_cloud validating resolution behavior.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Suggested reviewers

  • andersonleal

Poem

🐰 I hopped into the registry bright,
Placed a cloud where commands take flight,
Targets stretched and tests agree,
Now "cloud" resolves right back to me! ☁️✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and concisely describes the main change: restoring a previously removed iii-cloud binary registry entry.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/restore-cloud-registry

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
engine/src/cli/registry.rs (1)

230-236: Add one more regression assertion for the update path (and optionally worker coexistence).

test_resolve_cloud is good for resolve_command, but a small extension to cover resolve_binary_for_update("cloud") would protect the update flow too.

Suggested test hardening
 #[test]
 fn test_resolve_cloud() {
     let (spec, sub) = resolve_command("cloud").unwrap();
     assert_eq!(spec.name, "iii-cloud");
     assert_eq!(spec.repo, "iii-hq/iii-cloud-cli");
     assert!(sub.is_none());
+
+    let update_spec = resolve_binary_for_update("cloud").unwrap();
+    assert_eq!(update_spec.name, "iii-cloud");
 }
+
+#[test]
+fn test_resolve_worker_still_present() {
+    let (spec, sub) = resolve_command("worker").unwrap();
+    assert_eq!(spec.name, "iii-worker");
+    assert!(sub.is_none());
+}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@engine/src/cli/registry.rs` around lines 230 - 236, Extend the existing
test_resolve_cloud by adding an assertion that calls
resolve_binary_for_update("cloud") and verifies it returns the expected update
binary (e.g., matching the same repo/name semantics as resolve_command) to cover
the update path; locate the test function test_resolve_cloud and after the
current assertions invoke resolve_binary_for_update("cloud") and assert the
returned value equals the expected binary name/path (and optionally add a check
that worker-related resolution still coexists if relevant).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@engine/src/cli/registry.rs`:
- Around line 230-236: Extend the existing test_resolve_cloud by adding an
assertion that calls resolve_binary_for_update("cloud") and verifies it returns
the expected update binary (e.g., matching the same repo/name semantics as
resolve_command) to cover the update path; locate the test function
test_resolve_cloud and after the current assertions invoke
resolve_binary_for_update("cloud") and assert the returned value equals the
expected binary name/path (and optionally add a check that worker-related
resolution still coexists if relevant).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 216f2977-eba3-4fff-8aee-f82802ce2d92

📥 Commits

Reviewing files that changed from the base of the PR and between 8921efa and 7ee327d.

📒 Files selected for processing (1)
  • engine/src/cli/registry.rs

The iii-cloud BinarySpec was accidentally replaced by iii-worker in
cb54ced instead of being added alongside it, breaking `iii cloud`.
@ytallo ytallo merged commit b8c9a12 into main Apr 9, 2026
26 checks passed
@ytallo ytallo deleted the fix/restore-cloud-registry branch April 9, 2026 20:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants