Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 23, 2026

Removes experimental feature flags for ProjectLabels and simplifies to always-on behavior with Basic workspace label detection.

Changes

  • Removed experimental settings

    • ProjectLabelsExpanded - toggled between Basic/Expanded label detection strategies
    • ProjectLabelsChat - controlled ProjectLabels inclusion in chat prompts
    • ProjectLabelsInline - controlled ProjectLabels inclusion in inline prompts
  • Simplified workspace label detection

    • Always uses Basic strategy (file-based indicators: package.json, tsconfig.json, etc.)
    • Removed unused ExpandedPromptWorkspaceLabels class (276 lines)
    • Removed conditional strategy selection logic
  • Updated prompt components

    • ProjectLabels now unconditionally included in all prompts (panel chat, inline chat, edit, notebook)
    • Removed conditional rendering checks in 6 prompt files

Before:

const useProjectLabels = this._configurationService.getExperimentBasedConfig(
  ConfigKey.Advanced.ProjectLabelsChat, 
  this.experimentationService
);
// ...
{useProjectLabels && <ProjectLabels flexGrow={1} priority={600} />}

After:

<ProjectLabels flexGrow={1} priority={600} />

Impact

ProjectLabels context (detected technologies: JavaScript, Python, React, etc.) is now consistently provided in all AI prompts. Net -315 lines.

Original prompt

Start implementation

The user has attached the following file paths as relevant context:

  • .github/copilot-instructions.md
  • .github/copilot-instructions.md
  • src/extension/agents/claude/AGENTS.md
  • AGENTS.md
[Chronological Review: The conversation began with the user requesting the removal of settings and extraneous project labels logic from the experimental settings. The user then specified to remove certain project labels (ProjectLabelsExpanded, ProjectLabelsChat, and Inline) only where they are included with settings checks. The user also indicated that the default should be set to Basic. The conversation has focused on modifying the `provideFeedback.tsx` file in the `vscode-copilot-chat` repository.]

[Intent Mapping:

  1. "Remove the settings and extraneous project labels logic behind these experimental settings" - User wants to simplify the code by removing unnecessary logic.
  2. "Remove ProjectLabelsExpanded, ProjectLabelsChat and Inline and only where they are included with settings checks" - User specifies which project labels to remove.
  3. "Default should be Basic" - User wants to set a default value.]

[Technical Inventory:

  • Repository: vscode-copilot-chat
  • Current branch: digitarald/plan-agent-provider
  • File: provideFeedback.tsx - This file is being modified to remove specific project labels and adjust settings.]

[Code Archaeology:

  • File: provideFeedback.tsx
  • Key segments discussed include the import of ProjectLabels and the logic surrounding project labels that need to be removed.]

[Progress Assessment:

  • Completed: User has articulated specific changes to be made to the project labels in the code.
  • Pending: Actual code modifications to remove specified project labels and set the default value.]

[Context Validation: All necessary context for continuing work on the provideFeedback.tsx file is captured, including specific labels to remove and the desired default setting.]

[Recent Commands Analysis:

  • Last Agent Commands: User requests to remove specific project labels and set a default value.
  • Tool Results Summary: No tool results were returned as the conversation focused on user requests rather than tool executions.
  • Pre-Summary State: The agent was actively discussing modifications to the provideFeedback.tsx file when the token budget was exceeded.
  • Operation Context: The commands were executed to align the code with the user's goal of simplifying the project label logic.]
1. Conversation Overview: - Primary Objectives: - "Remove the settings and extraneous project labels logic behind these experimental settings." - "Remove ProjectLabelsExpanded, ProjectLabelsChat and Inline and only where they are included with settings checks." - "Default should be Basic." - Session Context: The user is focused on modifying the `provideFeedback.tsx` file to streamline project label logic and set a default value. - User Intent Evolution: The user has progressively specified which project labels to remove and clarified the desired default setting.
  1. Technical Foundation:
  • Repository: vscode-copilot-chat
  • Current Branch: digitarald/plan-agent-provider
  • File: provideFeedback.tsx - This file is central to the user's requests regarding project labels.
  1. Codebase Status:
  • File Name: provideFeedback.tsx
  • Purpose: This file handles feedback-related functionality and includes logic for project labels.
  • Current State: The user has requested specific removals of project labels and a default setting change.
  • Key Code Segments: The import statement for ProjectLabels and the logic surrounding project labels are critical areas for modification.
  • Dependencies: The changes will affect how project labels are handled in the feedback process.
  1. Problem Resolution:
  • Issues Encountered: The complexity of project label logic may have been causing confusion or unnecessary overhead.
  • Solutions Implemented: User has provided clear directives on what to remove and how to set defaults.
  • Debugging Context: No specific debugging issues were mentioned, but the user is focused on simplifying the code.
  • Lessons Learned: Clear communication of requirements is essential for effective code modification.
  1. Progress Tracking:
  • Completed Tasks: User has articulated the changes needed regarding project labels.
  • Partially Complete Work: The actual implementation of these changes is still pending.
  • Validated Outcomes: No outcomes have been validated yet as changes have not been made.
  1. Active Work State:
  • Current Focus: Modifying the provideFeedback.tsx file to remove specific project labels and set a default value.
  • Recent Context: The user has been specifying which project labels to remove and the desired default setting.
  • Working Code: The focus is on the logic surrounding project labels in provideFeedback.tsx.
  • Immediate Context: The user is addressing the removal of specific project labels and setting a default value.
  1. Re...

Created from VS Code.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits January 23, 2026 02:31
Co-authored-by: digitarald <8599+digitarald@users.noreply.github.com>
Co-authored-by: digitarald <8599+digitarald@users.noreply.github.com>
Copilot AI changed the title [WIP] Remove settings and project labels logic from experimental settings Remove experimental ProjectLabels settings and always use Basic strategy Jan 23, 2026
Copilot AI requested a review from digitarald January 23, 2026 02:36
@digitarald digitarald requested a review from Copilot January 23, 2026 04:48
Copy link
Contributor

Copilot AI left a comment

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 removes experimental toggles for ProjectLabels and simplifies workspace label detection to always use the basic file-based strategy, while including ProjectLabels unconditionally across chat and inline prompts.

Changes:

  • Removed ConfigKey.Advanced.ProjectLabelsExpanded, ProjectLabelsChat, and ProjectLabelsInline experiment-backed settings and their usage.
  • Simplified PromptWorkspaceLabels to always use BasicPromptWorkspaceLabels and deleted the ExpandedPromptWorkspaceLabels implementation.
  • Updated panel, notebook, and inline prompt components so ProjectLabels is always rendered (no feature-flag checks) in panel chat, edit, and inline workflows.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/platform/configuration/common/configurationService.ts Deletes the three experiment-based configuration keys controlling project labels expansion and inclusion in chat/inline prompts.
src/extension/prompts/node/panel/panelChatBasePrompt.tsx Removes experimentation/configuration dependencies and always includes <ProjectLabels> in the main panel chat user message.
src/extension/prompts/node/panel/notebookInlinePrompt.tsx Drops the experiment gate inside EditCode2UserMessage so notebook inline prompts always include <ProjectLabels>, while still using configuration for unrelated code search messaging.
src/extension/prompts/node/panel/editCodePrompt2.tsx Simplifies EditCode2UserMessage to no longer depend on experimentation/config services and always render <ProjectLabels> in the edit code v2 panel prompt.
src/extension/prompts/node/panel/editCodePrompt.tsx Removes experimentation/config dependencies from EditCodeUserMessage and always includes <ProjectLabels> in the legacy edit code panel prompt.
src/extension/prompts/node/inline/inlineChatGenerateCodePrompt.tsx Eliminates inline project labels experiment checks and unconditionally renders <ProjectLabels> (outside the user message) for inline “generate code” prompts.
src/extension/prompts/node/inline/inlineChatEditCodePrompt.tsx Similarly removes experiment-based gating and always renders <ProjectLabels> for inline “edit code” prompts.
src/extension/context/node/resolvers/promptWorkspaceLabels.ts Simplifies PromptWorkspaceLabels to only instantiate and delegate to BasicPromptWorkspaceLabels, removes the strategy enum and expanded strategy, and keeps telemetry based on the basic labels set.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants