fix(cli): require explicit init for guidance - #343
Open
neusse wants to merge 1 commit into
Open
Conversation
neusse
force-pushed
the
codex/fix-nonmutating-mcp-startup
branch
from
August 26, 2026 20:13
b09329b to
f3b4eb6
Compare
neusse
marked this pull request as ready for review
August 26, 2026 20:36
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.
Summary
--clientaccepted and validated for command compatibilitykonnect initCloses #242.
Root cause and design
Server startup treated an absent
.installed-{client}marker as a first launch and called the silent installer.uninstalldeliberately removes that same marker, so the next MCP launch could not distinguish an explicit uninstall from a new installation and recreated the guidance.This selects the simpler policy approved in #242: server startup performs no guidance installation at all. Installation remains available only through the explicit
konnect init [--client ...]command. No tombstone or new persistent state is needed.Compatibility and migration
--client claudeand--client codexremain valid server arguments.init,status, anduninstallbehavior is unchanged.konnect initonce.Tests
cargo test --workspace --locked --lib --testscargo test --workspace --locked --doccargo clippy --workspace --locked --all-targets -- -D warningscargo fmt --all -- --checkpython -m unittest discover -s plugin/tests -v(KiCad 10 bundled Python)The real-process home-directory regression runs on Linux and macOS. It is intentionally excluded on Windows because
dirs::home_dir()usesSHGetKnownFolderPaththere and ignoresHOME/USERPROFILE; attempting to redirect it would risk the runner's real client configuration. The normal Windows unit/integration suite remains green. Live-KiCad tests retain their repository-definedignoredstatus.Risk and rollback
Risk is limited to removing an implicit side effect. Rollback is the single commit, but would restore the destructive post-uninstall behavior. No file format, IPC protocol, packaging, schema, or configuration-key changes are involved.