Conversation
|
Warning Review limit reachedNext included review available in 10 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Repository: jmrplens/gitlab-mcp-server/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (6)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
jmrplens
added this pull request to stack #863
September 20, 2026 10:16
jmrplens
force-pushed
the
plan-l12
branch
2 times, most recently
from
September 20, 2026 14:43
cf816b4 to
dc7e43b
Compare
jmrplens
removed this pull request from stack #863
September 20, 2026 19:40
jmrplens
added this pull request to stack #866
September 20, 2026 19:40
toolutil kept a second alias table beside the meta dispatcher, keyed by legacy spelling and valued by canonical ID. A catalog group's route map is keyed by bare action names, so every dotted value in that table could never be found: about ninety of its ninety-three entries were unreachable, and `milestone.get` was listed there while resolving on no surface at all. The live table is `internal/tools/actioncompat`, already projected into every ActionSpec's compatibility policy, already refused per group when two actions claim one spelling, and already what the dynamic surface resolves against. The catalog now carries each action's historical spellings on its route, the way it already carries the embedded resource template and the content kind, and NormalizeActionAlias answers out of the group's own routes. A spelling the tool already routes still runs its own handler, which is the guard that stopped group_board_list reaching the epic boards. The eleven spellings the dead table held and actioncompat did not are added there with their canonical IDs: badge.add, hook.add, the five milestone reads and writes, group.custom_emoji_list, me, and the two unqualified epic discussion note spellings. `me` is unsearchable, since an ordinary English pronoun would rank half the catalog. A new test drives all 174 aliases through the dispatcher's resolver against the group that owns each canonical action, because a table nothing can reach reads as coverage. The unit test it replaces fabricated routes keyed by dotted IDs, which no group produces, so it asserted a rewrite the server could never perform. (cherry picked from commit 48d4815a1d9ed0f1c928d946ff5c99a7169c92df)
|
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.



toolutil kept a second alias table beside the meta dispatcher, keyed by legacy spelling and valued by canonical ID. A catalog group's route map is keyed by bare action names, so every dotted value in that table could never be found: about ninety of its ninety-three entries were unreachable, and
milestone.getwas listed there while resolving on no surface at all.The live table is
internal/tools/actioncompat, already projected into every ActionSpec's compatibility policy, already refused per group when two actions claim one spelling, and already what the dynamic surface resolves against. The catalog now carries each action's historical spellings on its route, the way it already carries the embedded resource template and the content kind, and NormalizeActionAlias answers out of the group's own routes. A spelling the tool already routes still runs its own handler, which is the guard that stopped group_board_list reaching the epic boards.The eleven spellings the dead table held and actioncompat did not are added there with their canonical IDs: badge.add, hook.add, the five milestone reads and writes, group.custom_emoji_list, me, and the two unqualified epic discussion note spellings.
meis unsearchable, since an ordinary English pronoun would rank half the catalog.A new test drives all 174 aliases through the dispatcher's resolver against the group that owns each canonical action, because a table nothing can reach reads as coverage. The unit test it replaces fabricated routes keyed by dotted IDs, which no group produces, so it asserted a rewrite the server could never perform.
(cherry picked from commit 48d4815a1d9ed0f1c928d946ff5c99a7169c92df)