Repository navigation
fix: retrieve authored MCP synonyms and isolate role autocomplete - #65
Merged
Merged
Conversation
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.
Authored synonyms now retrieve the same saved documents as their canonical concept. For example, a role containing
# Riskandsynonyms:: Concernreturns its three Risk-only documents for either query. Expanded results are deduplicated by source and document identity, ranked together with the existing RoleGraph, and paginated once. Ordinary free-text search keeps its existing route.Autocomplete now validates the requested role and retains a separate index for each current role configuration. Switching roles, deserialising an active fuzzy index, or updating the configuration cannot silently return another role’s suggestions. Snippets use the same synonym retrieval path. Search pagination rejects negative, fractional and overflowing wire values before conversion.
Validation: Rust 1.96 formatter, strict workspace clippy and all-target test compilation pass; the full MCP suite has 59 passing tests and one existing APFS-only filename skip. Eight real stdio regressions use temporary Markdown concept/corpus files, exercise actual returned resources, pagination, snippets and cache invalidation, and run in CI. The previous released MCP binary failed the retained synonym/role regressions. Obsolete ignored or disabled tests are replaced by assertions against the actual fixture; the existing raw MCP handshake test remains.
Fixes #62
Fixes #63
The separate agent memory/learning MCP surface in #64 is not included.