Skip to content

Conversation

@DrJsPBs
Copy link

@DrJsPBs DrJsPBs commented Oct 1, 2025

Summary

Runtime changes

  • introduce parallelExecution.ts so CopilotPlus and Autonomous runners share a coordinator-aware execution path that emits tool.start/tool.settle spans, preserves streaming markers, and records a [parallel] execution summary
  • default parallelToolCalls to enabled (cap 10) while clamping persisted values via parallelConcurrency.ts; sanitizeSettings now treats the stored flag as unknown so malformed JSON falls back to sequential safely
  • keep the legacy sequential loop as a first-class fallback whenever the feature flag is disabled, the concurrency setting is ≤ 1, or the coordinator throws—both runners forward the existing AbortSignal and reuse prior marker updates

Evidence & telemetry

  • coordinator telemetry logs: artifacts/evidence/copilot-log-autonomous-gpt5mini.md, artifacts/evidence/copilot-log-autonomous-copilotflash.md
  • manual vault/web search parity: artifacts/evidence/copilot-log-websearch-vault-search-gpt5mini.md
  • UI marker screenshots: artifacts/evidence/2025-09-30_22-00.png, artifacts/evidence/2025-09-30_22-05.png
  • onboarding sanity: artifacts/evidence/2025-09-30_fresh-install-sanity.md
  • consolidated reviewer summary: artifacts/evidence/2025-09-30_parallel-tool-evidence-summary.md

Implementation notes

  • parallelExecution.ts wraps executeToolCallsInParallel, collects ordered results, and updates markers in place so downstream aggregation (processLocalSearchResult, citations, etc.) stays unchanged
  • parallelConfig.ts and the updated tests cover min/max bounds (1–10), ensuring stored values from earlier releases can’t bypass the clamp
  • added suites: Copilot+ parallel e2e, coordinator harness, parallel config, plus refreshed tool execution tests to cover mixed latency, spans, and fallback behavior

Testing

  • npm test -- --runTestsByPath src/LLMProviders/chainRunner/utils/toolExecution.test.ts src/LLMProviders/chainRunner/tests/parallelExecution.test.ts src/LLMProviders/chainRunner/tests/parallelCoordinator.e2e.test.ts
  • npm test
  • npm run lint
  • npm run format:check (fails – existing drift in src/settings/v2/components/QASettings.tsx)
  • npm run build (fails – existing @orama/orama typing gaps and Autonomous/Copilot private member mismatch)
  • npm run test:integration

Manual validation

  • Copilot+ parallel run telemetry (Autonomous GPT‑5 Mini & Copilot Plus Flash logs)
  • Manual vault/web search parity log
  • Fresh install + API-key onboarding note
  • UI marker screenshots showing 10 concurrent webSearch executions

@DrJsPBs DrJsPBs changed the title Enable parallel tool execution by default and publish Copilot evidence Enable parallel tool execution for Copilot runners Oct 1, 2025
@logancyang
Copy link
Owner

Thanks for the PR. If you'd like to contribute to this repo, please join our discord's contributor channel and align with us first before doing any coding, especially for significant changes. If not, you are also free to apply the change only on your fork.

@logancyang
Copy link
Owner

This PR can't be merged as is. Closing. If you'd like to pursue this idea, let's sync in Discord and get alignment.

@logancyang logancyang closed this Oct 6, 2025
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