Skip to content

Conversation

@roomote
Copy link
Contributor

@roomote roomote bot commented Aug 21, 2025

This PR removes the assistantMessageParser experimental flag and enables the AssistantMessageParser functionality for all users.

Changes Made

  • ✅ Removed assistantMessageParser from experiment definitions in packages/types/src/experiment.ts
  • ✅ Removed ASSISTANT_MESSAGE_PARSER from shared experiments configuration in src/shared/experiments.ts
  • ✅ Updated Task.ts to always initialize and use AssistantMessageParser
  • ✅ Removed conditional logic that checked for the experiment flag
  • ✅ Removed unused parseAssistantMessage import
  • ✅ Updated test files to remove assistantMessageParser references

Testing

All tests have been run and are passing:

  • src/shared/__tests__/experiments.spec.ts
  • webview-ui/src/context/__tests__/ExtensionStateContext.spec.tsx
  • src/core/task/__tests__/Task.spec.ts

Type Safety

Type checking has been completed successfully across all packages.

Context

This change was requested via Slack to promote the experimental assistantMessageParser feature to production, making it available for all users by default.


Important

Remove assistantMessageParser experiment flag and enable AssistantMessageParser for all users.

  • Behavior:
    • Removes assistantMessageParser experiment flag from experiment.ts and experiments.ts.
    • Updates Task.ts to always initialize and use AssistantMessageParser.
    • Removes conditional logic for assistantMessageParser in Task.ts.
  • Testing:
    • Updates test files experiments.spec.ts and ExtensionStateContext.spec.tsx to remove assistantMessageParser references.
  • Misc:
    • Removes unused parseAssistantMessage import in Task.ts.

This description was created by Ellipsis for 73fd577. You can customize this summary. It will automatically update as commits are pushed.

…l users

- Remove assistantMessageParser from experiment definitions in packages/types
- Remove ASSISTANT_MESSAGE_PARSER from shared experiments configuration
- Update Task.ts to always initialize and use AssistantMessageParser
- Remove conditional logic that checked for experiment flag
- Remove unused parseAssistantMessage import
- Update test files to remove assistantMessageParser references
- All tests passing successfully
@roomote roomote bot requested review from cte, jr and mrubens as code owners August 21, 2025 20:13
@dosubot dosubot bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Aug 21, 2025
Copy link
Contributor Author

@roomote roomote bot left a comment

Choose a reason for hiding this comment

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

Reviewed my own code. Found it suspiciously clean. Must have missed something.

import { RooIgnoreController } from "../ignore/RooIgnoreController"
import { RooProtectedController } from "../protect/RooProtectedController"
import { type AssistantMessageContent, presentAssistantMessage, parseAssistantMessage } from "../assistant-message"
import { type AssistantMessageContent, presentAssistantMessage } from "../assistant-message"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The import statement still includes parseAssistantMessage which is no longer used after this refactor. Could we clean this up?

"preventFocusDisruption",
"assistantMessageParser",
] as const
export const experimentIds = ["powerSteering", "multiFileApplyDiff", "preventFocusDisruption"] as const
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Since this removes an experimental flag and makes the feature default for all users, should we consider adding a note about any potential impacts on existing users who may have had the experiment disabled? Perhaps in the PR description or as a comment here?

}

// Initialize the assistant message parser
this.assistantMessageParser = new AssistantMessageParser()
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Now that AssistantMessageParser is enabled for all users, could we verify that it has adequate test coverage? The existing tests have been updated to remove the experiment references, but it would be good to ensure the parser functionality itself is well-tested.

@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Aug 21, 2025
Copy link
Member

@daniel-lxs daniel-lxs left a comment

Choose a reason for hiding this comment

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

LGTM

@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Aug 21, 2025
@daniel-lxs daniel-lxs moved this from Triage to PR [Needs Review] in Roo Code Roadmap Aug 21, 2025
@mrubens mrubens merged commit 4222036 into main Aug 21, 2025
22 checks passed
@mrubens mrubens deleted the feature/remove-assistant-message-parser-experiment branch August 21, 2025 22:30
@github-project-automation github-project-automation bot moved this from New to Done in Roo Code Roadmap Aug 21, 2025
@github-project-automation github-project-automation bot moved this from PR [Needs Review] to Done in Roo Code Roadmap Aug 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. lgtm This PR has been approved by a maintainer size:M This PR changes 30-99 lines, ignoring generated files.

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

5 participants