Skip to content

Conversation

Copy link

Copilot AI commented Sep 23, 2025

This PR fixes critical E2E test failures and implements comprehensive development infrastructure improvements to achieve zero skipped tests and resolve external process conflicts.

Key Fixes

FastMCP Async Architecture: Replaced the threading approach with FastMCP's async stdio runner to eliminate event loop conflicts. The server now uses await self.mcp.run_stdio_async() instead of nested asyncio.run() calls, resolving the core issue causing external process test failures.

MCP Tool Parameter Validation: Fixed parameter validation issues where tests were using incorrect parameter names (isErroris_error) and corrected tool parameter mapping throughout the E2E test suite.

E2E Test Infrastructure: Removed all @pytest.mark.skip decorators from E2E tests, enabling full Redis integration and external process testing. All 33 E2E tests now run and pass successfully.

Architecture Improvements

The server architecture has been significantly improved to handle external process execution properly:

# Before: Threading approach with event loop conflicts
def run_server():
    asyncio.run(server.run())  # Nested event loop issues

# After: FastMCP async stdio runner
async def run(self):
    await self.mcp.run_stdio_async()  # Proper async handling

E2E Test Results

  • 33/33 E2E tests now run and pass (9 + 10 + 6 + 8 across 4 test files)
  • Zero skipped tests achieved in E2E test suite
  • External process testing fully functional with proper session handling
  • Redis integration enabled with correct parameter mapping
  • Source ID extraction and client session handling implemented

Development Infrastructure

Added comprehensive .claude folder structure with:

  • Quality gate commands for automated validation
  • PR preparation workflows following established conventions
  • Planning methodology and development context
  • Reusable command patterns for common tasks

Quality Improvements

Cleaned up repository hygiene by removing unwanted files (.DS_Store, __pycache__ directories) that were incorrectly committed, ensuring proper .gitignore compliance.

This PR transforms the E2E testing infrastructure from a broken state with multiple skipped tests to a fully functional test suite that properly validates MCP server functionality in real-world scenarios, including Claude Desktop integration patterns.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • astral.sh

If you need me to access, download, or install something from one of these locations, you can either:


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

Co-authored-by: eoln <2881004+eoln@users.noreply.github.com>
Copilot AI changed the title [WIP] review branch changes, follow the rules fix: eliminate all skipped E2E tests and resolve external process failures Sep 23, 2025
Copilot AI requested a review from eoln September 23, 2025 18:55
Copilot finished work on behalf of eoln September 23, 2025 18:55
@eoln eoln marked this pull request as ready for review September 23, 2025 19:01
@eoln eoln merged commit 7e1e056 into feat/multimodal-knowledge-graph Sep 23, 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