Skip to content

Release/v6.1.1#83

Merged
code-crusher merged 4 commits into
mainfrom
release/v6.1.1
May 8, 2026
Merged

Release/v6.1.1#83
code-crusher merged 4 commits into
mainfrom
release/v6.1.1

Conversation

@code-crusher

Copy link
Copy Markdown
Member

No description provided.

- Guard userMessageContentReady on last content block to prevent race
  conditions with parallel native tool calls
- Resolve pending ask on command auto-approval so subsequent commands
  don't retain stale UI state
- Refactor attemptCompletionTool feedback to use pushToolResult
- Add handleRunEverythingClick prop to ExplorationGroupRow
When an exec command inside an exploration group requires the user
to click Run/Cancel buttons, the collapsed view would hide them.
Auto-expand the group in this case and collapse back after the
command is handled.
@matterai-app

matterai-app Bot commented May 8, 2026

Copy link
Copy Markdown
Contributor

Context

This PR releases version 6.1.1, focusing on enforcing structured task management via mandatory todo list usage, resolving critical race conditions in parallel tool execution, and enhancing the agent rule loading system.

Implementation

The implementation mandates the use of the update_todo_list tool by injecting a CRITICAL instruction into the system prompt within mode.ts. It also includes logic to track currentStreamingContentIndex to handle parallel tool call race conditions and flags reasoning streams as non-interactive to maintain task loop integrity.

Summary By MatterAI MatterAI logo

🔄 What Changed

Released v6.1.1 which enforces mandatory update_todo_list tool usage for all AI tasks. It also incorporates fixes for parallel tool call race conditions, multi-directory AGENTS.md rule merging, and UI enhancements for protected file operations.

🔍 Impact of the Change

Ensures consistent task tracking and status updates across all AI modes, preventing skipped steps in complex workflows. System stability is significantly improved during multi-tool tasks, and UI transparency is increased for file edits.

📁 Total Files Changed

Click to Expand
File ChangeLog
Task Enforcement packages/types/src/mode.ts Mandates update_todo_list tool usage for all tasks via system prompt.
Parallel Fixes src/core/assistant-message/presentAssistantMessage.ts Fixed race conditions in parallel tool calls and auto-approval flows.
Rule Merging src/core/prompts/sections/custom-instructions.ts Implemented merging of AGENTS.md from project root and .orbital/.
Reasoning Flags src/core/task/Task.ts Marked reasoning as non-interactive to prevent breaking active tool 'asks'.
Feedback Refactor src/core/tools/attemptCompletionTool.ts Refactored user feedback handling to use standard tool result pushing.
Version Bump src/package.json Updated extension version to 6.1.1.
UI Polish webview-ui/src/components/chat/ChatRow.tsx Added loading states and labels for protected/outside-workspace file edits.
Auto-Expand webview-ui/src/components/chat/ExplorationGroupRow.tsx Added logic to auto-expand groups when a command requires user interaction.

🧪 Test Added/Recommended

Added

  • custom-instructions.spec.ts: Tests for loading .orbital/AGENTS.md in addition to root rules.
  • custom-instructions.spec.ts: Tests for loading rules when root AGENTS.md is missing.

Recommended

  • Unit tests for mode.ts to verify the inclusion of the CRITICAL instruction in generated prompts.
  • Integration tests for parallel tool calls to ensure userMessageContentReady triggers only on the final block.
  • UI tests for the auto-expansion logic in ExplorationGroupRow.

🔒 Security Vulnerabilities

  • N/A. The PR improves visibility of "Protected" file operations in the UI, enhancing security awareness.

Screenshots

before after
Static file edit labels Loading spinners and detailed 'Protected' status labels

How to Test

  1. Trigger a task that calls multiple tools in parallel (e.g., searching and reading files simultaneously).
  2. Verify the agent initializes a todo list using update_todo_list immediately.
  3. Create a .orbital/AGENTS.md file and verify its instructions appear in the system prompt.
  4. Attempt to edit a protected file and observe the new UI loading state.

Get in Touch

N/A

Total Score: 5/5

@matterai-app matterai-app Bot 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.

🧪 PR Review is completed: Release v6.1.1 contains solid race-condition fixes and AGENTS.md loading improvements. Found 2 issues: a missing nullish coalescing on user feedback text and a copy-paste translation key error in the create-file UI path.

Skipped files
  • webview-ui/src/i18n/locales/en/chat.json: Skipped file pattern

const feedbackContent: (Anthropic.TextBlockParam | Anthropic.ImageBlockParam)[] = [
{
type: "text",
text: `The user has provided feedback on the results. Consider their input to continue the task, and then attempt completion again.\n<feedback>\n${text}\n</feedback>`,

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.

🟡 Logic Error

Issue: The template literal interpolates text directly without a fallback. If text is undefined (which the old code explicitly guarded against with text ?? ""), the string "undefined" is injected into the feedback block sent to the LLM.

Fix: Preserve the nullish coalescing fallback inside the template literal.

Impact: Prevents garbage "undefined" text from appearing in model context when a user submits feedback without text.

Suggested change
text: `The user has provided feedback on the results. Consider their input to continue the task, and then attempt completion again.\n<feedback>\n${text}\n</feedback>`,
text: `The user has provided feedback on the results. Consider their input to continue the task, and then attempt completion again.\n<feedback>\n${text ?? ""}\n</feedback>`,

Comment on lines +844 to +845
: tool.isProtected
? t("chat:fileOperations.wantsToEditProtected")

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.

🟡 Logic Error

Issue: In the create-file UI branch (non-partial, protected), the translation key chat:fileOperations.wantsToEditProtected is used instead of chat:fileOperations.wantsToCreateProtected. This is a copy-paste error from the edit-file branch above and causes the wrong label to be shown when the model wants to create a protected file.

Fix: Use the create-specific translation key to match the surrounding create-file keys.

Impact: Correct UI label for protected file creation requests.

Suggested change
: tool.isProtected
? t("chat:fileOperations.wantsToEditProtected")
? t("chat:fileOperations.wantsToCreateProtected")

@matterai-app matterai-app Bot 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.

🧪 PR Review is completed: Adds a mandatory TODO list instruction to the Act mode prompt. Note a grammatical typo in the new string that should be corrected.


CRITICAL: For any task, small or big, you will always and always use the update_todo_list tool to create the TODO list, always keep is upto date with updates to the status and updating/editing the list as needed.
`,
CRITICAL: For any task, small or big, you will always and always use the update_todo_list tool to create the TODO list, always keep is upto date with updates to the status and updating/editing the list as needed.`,

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.

🟡 Code Quality

Issue: The newly added CRITICAL instruction contains grammatical errors ("keep is upto date" instead of "keep it up to date") that could reduce clarity for the model parsing this system prompt.

Fix: Correct the typos and streamline the sentence for better readability.

Impact: Ensures the system prompt is grammatically correct and clearly understood by the AI model.

Suggested change
CRITICAL: For any task, small or big, you will always and always use the update_todo_list tool to create the TODO list, always keep is upto date with updates to the status and updating/editing the list as needed.`,
CRITICAL: For any task, small or big, you will always and always use the update_todo_list tool to create the TODO list, always keep it up to date with status updates and edit it as needed.`,

@code-crusher code-crusher merged commit b7adb28 into main May 8, 2026
4 of 13 checks passed
@code-crusher code-crusher deleted the release/v6.1.1 branch May 8, 2026 05:29
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.

1 participant