Skip to content

Release v6.8.2: parallel read-only tools, malformed tool-call recovery, and one-shot search - #127

Merged
code-crusher merged 1 commit into
mainfrom
release/v6.8.2
Aug 28, 2026
Merged

code-crusher merged 1 commit into
mainfrom
release/v6.8.2

Conversation

@code-crusher

Copy link
Copy Markdown
Member

Summary

Bumps the extension 6.8.1 -> 6.8.2 and ships the accumulated agent-loop work:

Added

  • Parallel execution of independent read-only tools. Independent read/search calls (read_file, search_files, list_files, list_code_definition_names, codebase_search, lsp) returned in one native-JSON assistant message now run concurrently (max 4, MAX_PARALLEL_READ_ONLY_TOOLS in the new src/core/tools/toolExecutionPolicy.ts), with results committed in model order to preserve tool_use/tool_result pairing. Mutating/interactive tools stay serialized; read approvals inside a batch use non-interactive progress rows. parallel_tool_calls is enabled for native tool call providers.

Changed

  • search_files one-shot and ripgrep-first. Ripgrep is the default engine (FFF fallback), default/max results 50 -> 100, model-facing cursor removed from XML and native JSON schemas; capped pages direct the model to refine the query instead of paginating.
  • System prompt condensed. RULES / tool-use guidelines / objective rewritten: codebase_search recommended (not mandatory-first), smallest sufficient tool preferred, independent reads batched in JSON mode while edits/commands stay sequential. Legacy text-tool guidance only included for XML tool style.
  • Native tool schemas tightened for strict mode. execute_command requires cwd/message/isDangerous; file_edit/multi_file_edit require replace_all; generate_file requires path; check_past_chat_memories requires workspace (nullable where optional); lsp description condensed.
  • allowedTools metadata respected when empty in addNativeToolCallsToParams (intentional empty list for tool-less modes no longer falls back to the full tool set).
  • DEFAULT_WRITE_DELAY_MS 1000ms -> 250ms.
  • KiloCode notification polling stubbed to an empty list; native-notification fetch/display path removed.

Fixed

  • Malformed tool-call JSON recovery. Calls whose JSON arguments fail to parse at finalization are tracked by AssistantMessageParser and retried with a corrective message (raw-args preview) instead of silently stopping the agent; bounded by the consecutive-mistake limit.
  • Tool-repetition auto-retry bounded at 2 attempts (MAX_TOOL_REPETITION_AUTO_RETRIES) so an unchanged model cannot loop forever.

Changelog

  • Added the ## [v6.8.2] - 2026-08-28 section and relabeled the previous ## [Unreleased] block to ## [v6.8.1] - 2026-08-21 (that content shipped in v6.8.1), so the publish workflow's [v<version>] extraction finds real release notes.

Verification

  • tsc --noEmit (extension) and turbo check-types / lint across the monorepo: clean.
  • Specs touched by this release pass: presentAssistantMessage, nativeToolCallHelpers (new), tool-contracts (new), objective, tool-use-guidelines, search-files.
  • Note: the extension test suite has pre-existing failures on main. On the specs overlapping this diff the release strictly reduces failures (63 -> 48; system-prompt.spec.ts 13 -> 8) and introduces none. The remaining system-prompt.spec.ts failures are stale expectations from the v6.8.1 prompt changes and are untouched here.

…y, and one-shot search

- Execute independent read-only native tools (read_file, search_files,
  list_files, list_code_definition_names, codebase_search, lsp)
  concurrently (max 4) with results committed in model order; mutating
  and interactive tools stay serialized. parallel_tool_calls enabled for
  native JSON providers.
- Recover from malformed tool-call JSON: dropped calls are tracked by the
  parser and retried with a corrective message instead of silently
  stopping the agent.
- Bound tool-repetition auto-retry at 2 attempts to prevent infinite
  model loops.
- search_files: ripgrep-first with FFF fallback, one-shot 100-match
  results, cursor pagination removed from model-facing schemas.
- Condense system prompt rules/guidelines/objective; codebase_search is
  recommended, not mandatory-first; legacy text guidance only for XML
  tool style.
- Tighten native tool schemas for strict mode (required nullable params,
  execute_command safety metadata) and respect empty allowedTools.
- Reduce DEFAULT_WRITE_DELAY_MS 1000ms -> 250ms; stub KiloCode
  notification polling.
- Bump extension version 6.8.1 -> 6.8.2 and update CHANGELOG.

Co-authored-by: matterai-app[bot] <bot@matterai.so>
@matterai-app

matterai-app Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Summary By MatterAI MatterAI logo ### 🔄 What Changed

Introduces parallel read-only tool execution, malformed tool-call recovery, and one-shot search optimizations alongside system prompt refinements.

🔍 Impact of the Change

Significantly reduces harness latency during agent execution by executing parallel read-only tools and prevents agent lockups on malformed JSON tool arguments.

📁 Total Files Changed
Click to Expand

File ChangeLog
Global Settings (packages/types/src/global-settings.ts) Reduced default write delay constant to 250ms.
Native Helpers (src/api/providers/kilocode/nativeToolCallHelpers.ts) Prioritizes allowedTools from metadata over defaults.
Message Parser (src/core/assistant-message/AssistantMessageParser.ts) Added tracking for dropped malformed tool calls to allow corrective retries.
Message Presenter (src/core/assistant-message/presentAssistantMessage.ts) Implemented parallel execution scheduler for read-only tools.
Task Lifecycle (src/core/task/Task.ts) Added automated recovery and retry injection for malformed tool JSON arguments.
Multi-File Edit (src/core/tools/multiFileEditTool.ts) Deferred diagnostic runs until the final edit in a batch.
Read File Tool (src/core/tools/readFileTool.ts) Added non-interactive approval handling for parallel read workers.
Search Files Service (src/services/search-files/index.ts) Added fallback mechanism from ripgrep to FFF engine.

🧪 Test Added/Recommended

Added

  • Added unit tests for native tool call parameter helpers (addNativeToolCallsToParams).
  • Added integration tests for parallel read-only tool execution flows.
  • Added tool contract validation tests for strict schemas.

🔒Security Vulnerabilities

  • N/A

@code-crusher
code-crusher merged commit cdb837e into main Aug 28, 2026
3 of 9 checks passed
@code-crusher
code-crusher deleted the release/v6.8.2 branch August 28, 2026 08:32
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