Files
manual_slop/conductor/tracks/async_tool_execution_20260303/plan.md
2026-03-06 14:04:50 -05:00

1.7 KiB

Implementation Plan: Asynchronous Tool Execution Engine (async_tool_execution_20260303)

TEST DEBT FIX: Due to ongoing test architecture instability (documented in test_architecture_integrity_audit_20260304), do NOT write new live_gui integration tests for this track. Use purely in-process mocks to verify concurrency logic.

Phase 1: Engine Refactoring

  • Task: Initialize MMA Environment activate_skill mma-orchestrator
  • Task: Refactor mcp_client.py for async execution (60e1dce)
    • WHERE: mcp_client.py
    • WHAT: Convert tool execution wrappers to async def or wrap them in thread executors.
    • HOW: Use asyncio.to_thread for blocking I/O bound tools.
    • SAFETY: Ensure thread safety for shared resources.
  • Task: Update ai_client.py dispatcher (87dbfc5)
    • WHERE: ai_client.py (around tool dispatch loop)
    • WHAT: Use asyncio.gather to execute multiple tool calls concurrently.
    • HOW: Await the gathered results before proceeding with the AI loop.
    • SAFETY: Handle tool execution exceptions gracefully without crashing the gather group.
  • Task: Conductor - User Manual Verification 'Phase 1' (Protocol in workflow.md)

Phase 2: Testing & Validation

  • Task: Implement async tool execution tests (eddc245)
    • WHERE: tests/test_async_tools.py
    • WHAT: Write a test verifying that multiple tools run concurrently (e.g., measuring total time vs sum of individual sleep times).
    • HOW: Use a mock tool with an explicit sleep delay.
    • SAFETY: Standard pytest setup.
  • Task: Full Suite Validation (3bc900b)
  • Task: Conductor - User Manual Verification 'Phase 2' (Protocol in workflow.md)