rust(feat): add profile-aware agent installation - #706
Merged
Conversation
This was referenced Jul 30, 2026
evan-sift
marked this pull request as ready for review
July 30, 2026 16:35
evan-sift
force-pushed
the
rust/cli-agent-profiles
branch
from
July 30, 2026 22:39
5d26049 to
b2d8aa1
Compare
lineville
previously approved these changes
Jul 30, 2026
lineville
left a comment
Contributor
There was a problem hiding this comment.
Looks good just want to understand what this mixed profile issue is? How does one create this issue of mixed profiles that we're protecting against?
evan-sift
force-pushed
the
rust/cli-agent-profiles
branch
from
July 31, 2026 01:01
b2d8aa1 to
e7bde1a
Compare
lineville
previously approved these changes
Jul 31, 2026
evan-sift
force-pushed
the
rust/cli-agent-profiles
branch
from
July 31, 2026 17:19
e7bde1a to
23b6bbc
Compare
lineville
approved these changes
Jul 31, 2026
auto-merge was automatically disabled
July 31, 2026 18:06
Pull Request is not mergeable
auto-merge was automatically disabled
July 31, 2026 18:07
Pull Request is not mergeable
evan-sift
force-pushed
the
rust/cli-agent-profiles
branch
from
July 31, 2026 18:09
23b6bbc to
9be8357
Compare
auto-merge was automatically disabled
July 31, 2026 18:24
Pull Request is not mergeable
auto-merge was automatically disabled
July 31, 2026 18:26
Pull Request is not mergeable
auto-merge was automatically disabled
July 31, 2026 18:27
Pull Request is not mergeable
evan-sift
force-pushed
the
rust/cli-agent-profiles
branch
from
July 31, 2026 18:27
9be8357 to
feda33e
Compare
evan-sift
force-pushed
the
rust/cli-agent-profiles
branch
from
July 31, 2026 18:41
feda33e to
448b944
Compare
evan-sift
force-pushed
the
rust/cli-agent-profiles
branch
from
July 31, 2026 18:59
448b944 to
7b42e6c
Compare
Let the agent bundle target a named Sift profile. The global `--profile` flag was already parsed but hidden; unhide it and thread it into the MCP arguments each client is registered with, so a registration points at one profile rather than whatever the default resolves to at runtime. Widen the managed registration from an access mode to access plus profile. Both are read back out of the client configs, so update preserves the installed profile the same way it already preserved read-only or destructive access, with no state file. Add `--default-profile` to move every client back to the default, mutually exclusive with `--profile`. Only the exact argument shapes this CLI writes count as managed, now including `mcp --profile <name>` and `mcp --profile <name> --allow-destructive`. A profile that is empty or starts with `-` is rejected rather than treated as a managed entry. Mixed profiles across detected clients are an error, matching the existing treatment of mixed access modes: doctor reports them and update refuses to guess. Doctor also flags clients that do not all use a profile passed on the command line.
evan-sift
force-pushed
the
rust/cli-agent-profiles
branch
from
July 31, 2026 19:12
7b42e6c to
c2d051e
Compare
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.
Changes
Lets the agent bundle target a named Sift profile. The global
--profileflag was already parsed but hidden; this unhides it and threads it into the MCP arguments each client is registered with, so a registration points at one profile rather than whatever the default resolves to at runtime.Widens the managed registration from an access mode to access plus profile. Both are read back out of the client configs, so update preserves the installed profile the same way it already preserved read-only or destructive access, with no state file. Adds
--default-profileto move every client back to the default, mutually exclusive with--profile.Only the exact argument shapes this CLI writes count as managed, now including
mcp --profile <name>andmcp --profile <name> --allow-destructive. A profile that is empty or starts with-is rejected rather than treated as managed.Mixed profiles across detected clients are an error, matching the existing treatment of mixed access modes: doctor reports them and update refuses to guess.
Verification
cargo fmt --check --all,cargo clippy --all-features,cargo test --all-featurescmd::agenttestsNote for reviewers
No CHANGELOG entry is added here, matching the original branch. If
--profile/--default-profileshould be called out for release, that line is worth adding.