Skip to content

fix: derive Clone on gateway_registry::ServerConfig - #610

Merged
getappz merged 1 commit into
masterfrom
task/535-fix-derive-clone-on-gateway-registry-ser
Aug 25, 2026
Merged

fix: derive Clone on gateway_registry::ServerConfig#610
getappz merged 1 commit into
masterfrom
task/535-fix-derive-clone-on-gateway-registry-ser

Conversation

@getappz

@getappz getappz commented Aug 25, 2026

Copy link
Copy Markdown
Owner

Summary

  • ServerConfig only derived Debug/Deserialize. All its fields are plain String/Vec<String>/Option<String> — no Clone-unsafe design intent found anywhere in git history for this file.
  • ToolsManifest (agentflare-apps) had lost its own Clone derive as a transitive consequence, since it wraps HashMap<String, ServerConfig>.
  • Task 4's app_send_hook sketch needs tools.clone() on Option<ToolsManifest>, which would not compile without this.

Unblocks item #532 (Task 4), and transitively #533/#534.

Test plan

  • cargo fmt clean on both crates
  • cargo clippy --all-targets --all-features -- -D warnings clean on both crates
  • cargo test -p agentflare-gateway-registry -p agentflare-apps — 11 tests pass
  • cargo build --workspace — full workspace build succeeds (no other crate broke on the added derive)

Summary by CodeRabbit

  • Refactor
    • Improved internal configuration handling to support safely duplicating tool and server configuration values.
  • Bug Fixes
    • No user-facing behavior or parsing changes.

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
@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 6201f3da-0dd0-4e39-a93f-a15633bc4cb8

📥 Commits

Reviewing files that changed from the base of the PR and between e5292e7 and 809e2a6.

📒 Files selected for processing (2)
  • crates/agentflare-apps/src/manifest.rs
  • crates/gateway-registry/src/config.rs

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.


📝 Walkthrough

Walkthrough

Two public configuration types now derive Clone. Their existing fields, variants, debugging behavior, and deserialization behavior remain unchanged.

Changes

Public configuration cloning

Layer / File(s) Summary
Derive Clone for public configuration types
crates/agentflare-apps/src/manifest.rs, crates/gateway-registry/src/config.rs
ToolsManifest and ServerConfig now implement Clone. Existing derives and deserialization behavior remain unchanged.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to 809e2

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)
Check name Status Explanation
Description check ✅ Passed 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 fo…
Title check ✅ Passed The title clearly identifies the primary change: adding a Clone derive to gateway_registry::ServerConfig. It is concise and matches the main objective.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 2 files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

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
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch task/535-fix-derive-clone-on-gateway-registry-ser

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

@getappz
getappz merged commit 2f92e16 into master Aug 25, 2026
18 checks passed
@getappz
getappz deleted the task/535-fix-derive-clone-on-gateway-registry-ser branch August 25, 2026 18:30
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.

1 participant