refactor(cli): drop the MCP exclusion no command could reach - #816
Merged
Conversation
`framework remove` was the only caller of UninstallUseCase and passed an empty mcpFilter, so UninstallMcpExclusionUseCase never removed or recorded anything, and nothing read the manifest's excludedMcp. Deleted: the use case, the mcpFilter option, McpExclusion and its equality, the manifest's exclusion methods and the excludedMcp member of a tool entry, with the tests and the round-trip fixture that exercised only that path. A manifest already carrying excludedMcp still loads: the tool-entry parser reads named fields and ignores the rest, so the field is dropped on the next write. The new test asserting the rewrite omits it failed before the deletion (the rewrite still held excludedMcp) and passes after. Measured: typecheck, lint, knip and the type-honesty check clean; test:arch 126 passed; unit and integration 4994 passed; e2e 297 passed. Refs #806 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011x4ms5qcGuZgYhCxfdHMUb AIDD-Session-Id: 4acc9a1c-19bc-4468-b8b6-e86644bcba60
The framework skill's concept table named a module the previous commit deleted. Refs #806 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011x4ms5qcGuZgYhCxfdHMUb AIDD-Session-Id: 4acc9a1c-19bc-4468-b8b6-e86644bcba60
2 tasks
1 task
blafourcade
added a commit
that referenced
this pull request
Sep 11, 2026
…es (#836) `tools/domain/mcp-exclusion.ts` holds only `transformFor`, the transform of an MCP server's launch command for the target platform. The exclusion it was named for was deleted with #816, so the name pointed at a feature that no longer exists. The module becomes `mcp-launch-command.ts`, with its test file, its one import and its entry in the context-boundary public-module list. No behaviour change. Fixes #824 Claude-Session: https://claude.ai/code/session_011x4ms5qcGuZgYhCxfdHMUb AIDD-Session-Id: 4acc9a1c-19bc-4468-b8b6-e86644bcba60 Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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.
🎯 What & why
aidd framework removehas carried a way to strip single MCP servers from a tool's config since the manifest learnedexcludedMcp. It was never reachable. The only caller passed an empty filter, no command could pass anything else, and an install recordssectionKey: null, which the exclusion skipped. The maintainer chose to delete it rather than wire it (#806).🛠️ How it works
UninstallMcpExclusionUseCaseandmanifest/mcp-exclusions.ts, along withmcpFilterand therunMcpExclusionsbranch of the uninstall use case.excludedMcpfield and its accessors from the manifest and the tool entry, andMcpExclusion/mcpExclusionEqualsfromtools/domain/mcp-exclusion.ts. That file keepstransformFor.excludedMcploads as before and drops the field on its next write. That is what the parser already does with any field it does not know.MANIFEST_VERSIONstays 8.framework removebehaves the same for users. It never excluded anything.🧪 How to verify
The test "drops the exclusions on its next write" was red before the source change: the rewrite still held
excludedMcp. It is green after.Measured on this branch:
frameworkmutationtoolsmutation scope becausetools/domain/mcp-exclusion.tschanged. It was not run locally. The deleted lines held 7 killed and 1 surviving mutant.mcp-exclusion.tsis now misleading, since the file holds only the win32 MCP command transform. The rename is left out to keep this PR a pure deletion.srccomment count is unchanged.🔗 Linked issue
Closes #806
✅ I certify
🤖 Generated with Claude Code
https://claude.ai/code/session_011x4ms5qcGuZgYhCxfdHMUb