Skip to content

Ship stable symbol tool descriptions - #315686

Merged
Bhavya U (bhavyaus) merged 2 commits into
microsoft:mainfrom
kevin-m-kent:kevin-m-kent/ship-symbol-tools-cache-stable
May 11, 2026
Merged

Bhavya U (bhavyaus) merged 2 commits into
microsoft:mainfrom
kevin-m-kent:kevin-m-kent/ship-symbol-tools-cache-stable

Conversation

@kevin-m-kent

@kevin-m-kent kevin-m-kent commented May 11, 2026 •

Copy link
Copy Markdown
Contributor

Summary

We saw some nice cache improvements from freezing the tool description and keeping these symbol tools registered in our A/B. This is to ship the change.

  • make rename and list-code-usages tools always use static, language-list-free descriptions
  • remove chat.experimental.symbolTools.cacheStable now that the treatment behavior is shipping
  • keep unsupported-language handling at invocation time and update tests for default cache-stable behavior

Make the cache-stable symbol tool behavior the default by always registering rename and usages tools with static descriptions. Remove the experimental setting now that the treatment is shipping.

Co-authored-by: Copilot <[email protected]>
Copilot AI review requested due to automatic review settings May 11, 2026 14:36

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR makes the vscode_renameSymbol and vscode_listCodeUsages chat tools always publish byte-stable (provider-independent) tool descriptions, removing the previous experiment flag and updating tests to reflect the new default behavior.

Changes:

  • Remove the chat.experimental.symbolTools.cacheStable experiment and its settings registration.
  • Make Rename/Usages tool descriptions static and stop re-registering tools based on provider changes.
  • Update tool tests to assert provider-independent descriptions and default always-available tool data.
Show a summary per file
File Description
src/vs/workbench/contrib/chat/test/browser/tools/usagesTool.test.ts Updates expectations to always return tool data and to assert the description no longer lists languages.
src/vs/workbench/contrib/chat/test/browser/tools/renameTool.test.ts Mirrors the UsagesTool test updates for rename, asserting description stability and always-present tool data.
src/vs/workbench/contrib/chat/common/constants.ts Removes the ChatConfiguration.SymbolToolsCacheStable setting key.
src/vs/workbench/contrib/chat/browser/tools/usagesTool.ts Makes tool data always static and removes provider-change-driven tool re-registration logic.
src/vs/workbench/contrib/chat/browser/tools/renameTool.ts Same as usages tool: static tool data and simplified one-time registration.
src/vs/workbench/contrib/chat/browser/chat.contribution.ts Removes the configuration registry entry for the deleted experiment setting.

Copilot's findings

  • Files reviewed: 6/6 changed files
  • Comments generated: 0

Empty commit to rerun PR checks after an infrastructure setup failure.

Co-authored-by: Copilot <[email protected]>

@bhavyaus Bhavya U (bhavyaus) left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@bhavyaus Bhavya U (bhavyaus) added ~release-cherry-pick Trigger: cherry-pick this PR to the latest release branch and removed triage-needed labels May 11, 2026
@bhavyaus Bhavya U (bhavyaus) self-assigned this May 11, 2026
@bhavyaus
Bhavya U (bhavyaus) enabled auto-merge (squash) May 11, 2026 17:43
@vs-code-engineering

Copy link
Copy Markdown
Contributor

This PR will be automatically cherry-picked to release/1.120 when merged.

@bhavyaus
Bhavya U (bhavyaus) merged commit 2c1c769 into microsoft:main May 11, 2026
25 checks passed
@vs-code-engineering vs-code-engineering Bot added this to the 1.120.0 milestone May 11, 2026
@vs-code-engineering vs-code-engineering Bot added release-cherry-pick Automated cherry-pick between release and main branches and removed ~release-cherry-pick Trigger: cherry-pick this PR to the latest release branch labels May 11, 2026
@vs-code-engineering vs-code-engineering Bot locked and limited conversation to collaborators Jun 25, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-cherry-pick Automated cherry-pick between release and main branches

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants