Layer 1: clean command support boundaries#2871
Conversation
There was a problem hiding this comment.
aboimpinto has reached the 50-review limit for trial accounts. To continue receiving code reviews, upgrade your plan.
|
Thanks @aboimpinto for taking the time to contribute. This repository is currently observing a maintainer-managed contribution gate in dry-run mode, so this pull request is staying open. When enforcement is enabled, pull requests from contributors who are not listed in Please read |
There was a problem hiding this comment.
Code Review
This pull request refactors the codebase by extracting configuration persistence and model routing logic into dedicated modules (config_persistence and model_routing), cleaning up unused functions and dead code across commands and skills, and configuring core.autocrlf to false in git-related tests to ensure cross-platform stability. Additionally, the parent directory search for project context files is now capped at the home directory. The review feedback highlights opportunities to optimize path traversal in project_context.rs by replacing redundant, repeated filesystem canonicalization calls inside loops with direct equality checks on pre-canonicalized paths.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
There was a problem hiding this comment.
aboimpinto has reached the 50-review limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
aboimpinto has reached the 50-review limit for trial accounts. To continue receiving code reviews, upgrade your plan.
Summary
Refs #2791.
Refs #2870.
Reference / proof PR: #2851.
This is Layer 1 of the staged command-boundary refactor. It keeps the current command folder structure intact and focuses on cleanup before the parity-harness and group-boundary layers.
What changed
config_persistence.rs.model_routing.rs..gitattributesrules so Rust sources stay LF-normalized on Windows.What this intentionally does not do
user_commandsrestructuring.Those are tracked as later layers in #2870.
Why
#2851 showed that some behavior under
commandsis not command-owned. Config persistence and model routing are used by UI/runtime/subagent paths too, so keeping them undercommandsmakes ownership blurry. This layer moves that shared behavior to neutral TUI modules and removes dead command APIs before we add the parity harness and then reshape the command boundary.Validation
cargo test --workspacewarning_count=0actual_failures=0git diff --checkPaulo Aboim Pinto