Conversation
Splits the file that grew to 3.6x over its own LOC-gate frozen ceiling into 13 sibling files under src/mcp_server/, following the delegation pattern item.rs already established (each MCP tool method's body moves to a pub fn in its own file; the #[tool_router]-tagged impl block in mcp_server.rs keeps only thin one-line dispatchers, so the router macro's exactly_one_tool_router_block_exists invariant still holds). - types.rs: request/response structs + small shared helpers (856 lines) - artifact.rs, asset.rs, claim.rs, comment.rs, flare_git.rs, handoff.rs, memory_tool.rs, review.rs: one file per tool's method body - tests/: the former ~3580-line monolithic test module, split by domain into mod.rs (shared harness + misc tests), item_tests.rs, asset_tests.rs, artifact_tests.rs, action_tests.rs -- all under the 1500-line limit for new files Widely-shared helpers used across many tools (with_backend_db, resolve_project, claim_db, resolve_repo_or_err, run_git, etc.) stay in mcp_server.rs itself rather than being assigned to one tool's file. Verified: all 619 tests pass (confirmed identical test-name set before and after via diff, after catching and fixing one dropped #[test] attribute at a file-split boundary); cargo clippy with CI's exact flags clean (aside from the pre-existing Windows-only agent_launch.rs import, tracked as #169); scripts/loc-gate.sh passes clean, no allowlist bump needed; .githooks/pre-commit's staged-file LOC check now passes without --no-verify. mcp_server.rs remains on the LOC gate's frozen allowlist at 1521 lines (down from 7249) -- under the 2000 ceiling but not yet under the 1500 line ordinarily required to drop off the allowlist entirely; the remaining content is mostly cross-tool shared infrastructure that doesn't cleanly belong to any single tool's file.
Owner
Author
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (15)
📝 WalkthroughWalkthroughAdds shared MCP request/response models and implements artifact, asset, handoff, claim, comment, memory, review, and GitHub action handlers. Expands integration coverage for storage, validation, item workflows, routing, schemas, and resource behavior. ChangesMCP contracts and utilities
Artifact, asset, and handoff flows
Coordination and external operations
Integration validation
Estimated code review effort: 5 (Critical) | ~120 minutes Possibly related PRs
Suggested labels: ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
This was referenced Jul 19, 2026
This was referenced Jul 21, 2026
getappz
added a commit
that referenced
this pull request
Jul 21, 2026
) * fix(search): rename max_results->num_results for rivalsearch; sanitize store FTS query - search_web: rivalsearch web_search expects num_results, not max_results (#253) - search_store: sanitize query via flare_search_kit::fts_query to prevent FTS5 column-name parsing errors like 'no such column: ctx' (#254) Agentflare-Agent: 1 Agentflare-Branch: fix/search-web-store-bugs * fix(search): avoid unsanitized FTS5 fallback in store search fts_query() returns None only when the sanitized query has no tokens (e.g. quote-only input). The unwrap_or_else fallback was resubmitting the raw, unsanitized query to FTS5 MATCH in that case, undermining the sanitization it was meant to guarantee. Return an empty result set instead. Agentflare-Agent: claude-code_2-1-216_agent Agentflare-Branch: fix/search-web-store-bugs * fix(search): clamp web search limit to rivalsearch's num_results bound rivalsearch web_search rejects num_results outside 1..=20 (schema validation). An unclamped limit (e.g. the default max of 50 used elsewhere, or a caller-supplied value) failed the whole search call instead of returning a truncated result set. Agentflare-Agent: claude-code_2-1-216_agent Agentflare-Branch: fix/search-web-store-bugs
This was referenced Jul 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Auto-opened on
item donefor 019f735d-f4d2-7a62-a960-3f9689391714.Summary by CodeRabbit