fix: derive Clone on gateway_registry::ServerConfig - #610
Conversation
All fields are plain String/Vec<String>/Option<String> with no Clone-unsafe design intent in history. ToolsManifest (agentflare-apps) had lost its own Clone derive as a result, which Task 4's app_send_hook needs for tools.clone() on Option<ToolsManifest>. Unblocks #532/#533/#534. Agentflare-Agent: claude-code_2-1-245_agent Agentflare-Branch: task/535-fix-derive-clone-on-gateway-registry-ser Agentflare-Item: 535
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
Included review availability: 1 review is currently available. Your included PR review attempts over the past 7 days set your current allowance at 2 reviews per hour. 📝 WalkthroughWalkthroughTwo public configuration types now derive ChangesPublic configuration cloning
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to This localized change restores cloning support for configuration manifests without introducing an actionable merge-blocking risk; it is merge-ready after normal checks and review. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Description checkExplanation The description explains the change, its purpose, and the affected tasks. It includes concrete validation results for formatting, clippy, targeted tests, and the workspace build. The optional Notes for reviewers section is missing, but the description is otherwise complete. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Summary
ServerConfigonly derivedDebug/Deserialize. All its fields are plainString/Vec<String>/Option<String>— no Clone-unsafe design intent found anywhere in git history for this file.ToolsManifest(agentflare-apps) had lost its ownClonederive as a transitive consequence, since it wrapsHashMap<String, ServerConfig>.app_send_hooksketch needstools.clone()onOption<ToolsManifest>, which would not compile without this.Unblocks item #532 (Task 4), and transitively #533/#534.
Test plan
cargo fmtclean on both cratescargo clippy --all-targets --all-features -- -D warningsclean on both cratescargo test -p agentflare-gateway-registry -p agentflare-apps— 11 tests passcargo build --workspace— full workspace build succeeds (no other crate broke on the added derive)Summary by CodeRabbit