github doobidoo/mcp-memory-service v8.58.0
v8.58.0 - Test Infrastructure Stabilization - Phase 4

latest releases: v10.31.0, v10.30.0, v10.29.1...
3 months ago

Test Infrastructure Stabilization - Phase 4 🎯

Major Milestone: Achieved 100% test pass rate (283/283 tests passing)

Summary

This release completes Phase 4 of our test suite stabilization effort, fixing 52 tests across 5 commits and achieving a 100% pass rate (up from 81.6%). The work demonstrates systematic debugging, root cause analysis, and infrastructure improvements that ensure reliable test results.

Key Achievements

📊 Test Pass Rate Improvement

  • Before Phase 4: 231/283 tests passing (81.6% pass rate)
  • After Phase 4: 283/283 tests passing (100% pass rate)
  • Impact: 52 tests fixed, 18.4% improvement in pass rate

🎯 ONE-LINE FIX with Major Impact

The most impactful fix was a single line in src/mcp_memory_service/storage/sqlite_vec.py:

check_same_thread=False  # Fixed 21 thread-safety tests

This enabled SQLite to work correctly with FastAPI's async operations, resolving 21 tests in test_server_handlers.py.

Phase 4 Breakdown

Phase 4.1: Content Uniqueness & Timeouts (11 tests)

  • Added unique_content() fixture to prevent duplicate content detection errors
  • Fixed test_operations.py: 6 tests now use unique content per test
  • Fixed test_api_with_memory_service.py: 5 tests use unique content

Phase 4.2 Part 1: Thread-Safety & API Format (32 tests)

  • Thread-Safety Fix: check_same_thread=False in sqlite_vec.py (21 tests)
  • API Format Evolution: Updated mocks from "memories" to "results" key (11 tests)

Phase 4.2 Part 2: Mock Setup (4 tests)

  • Fixed test_api_tag_time_search.py: Mock type consistency (Memory vs MemoryQueryResult)
  • Fixed test_memory_service.py: Proper MemoryQueryResult wrapper usage

Phase 4.3: Flaky Integration Tests (3 tests)

  • Fixed test_api_with_memory_service.py: Config-aware testing for chunking and hostname tagging
  • Tests now respect MCP_CHUNKED_STORAGE_ENABLED environment variable

Phase 4.4: Pre-Existing Failures (2 tests)

  • Fixed cache_manager.py import in test_server_handlers.py
  • Addressed failures unrelated to Phase 4 work

Technical Achievements

  1. SQLite Thread-Safety: Single-line fix enabling async operations with FastAPI
  2. API Format Evolution: Tracked and updated mocks for "memories""results" transition
  3. Mock Type Consistency: Proper handling of Memory vs MemoryQueryResult throughout test suite
  4. Config-Aware Testing: Tests respect optional features (chunking, hostname tagging)
  5. Test Isolation: unique_content() fixture prevents duplicate detection errors

What's Changed

  • Test Infrastructure: Complete overhaul for 100% reliability
  • Documentation: Updated CHANGELOG.md, README.md, CLAUDE.md with Phase 4 details
  • Version Management: Proper four-file version bump (_version.py, pyproject.toml, README.md, uv.lock)

Files Modified

Core Fixes

  • src/mcp_memory_service/storage/sqlite_vec.py - ONE-LINE FIX (check_same_thread)
  • src/mcp_memory_service/server/cache_manager.py - Import fix

Test Updates

  • tests/integration/test_server_handlers.py - Thread-safety tests (21 fixed)
  • tests/api/test_operations.py - unique_content() usage (6 fixed)
  • tests/integration/test_api_with_memory_service.py - unique_content() + config-aware (8 fixed)
  • tests/integration/test_api_tag_time_search.py - Mock type consistency (4 fixed)
  • tests/conftest.py - unique_content() fixture

Documentation

  • CHANGELOG.md - Comprehensive Phase 4 entry
  • README.md - Latest Release section updated
  • CLAUDE.md - Version reference updated

Commits in This Release

  1. 7b01486 - Phase 4.1: 11 tests (unique_content + timeouts)
  2. 1933ce9 - Phase 4.2 Part 1: 32 tests (thread-safety + API format)
  3. ad56e70 - Phase 4.2 Part 2: 4 tests (mock setup)
  4. 19739f7 - Phase 4.3: 3 tests (flaky integration)
  5. e6219cd - Phase 4.4: 2 tests (pre-existing failures)
  6. 2901e75 - chore: release v8.58.0

Installation

# Install latest version
pip install --upgrade mcp-memory-service

# Or with uv
uv pip install --upgrade mcp-memory-service

Verification

Run the complete test suite to verify 100% pass rate:

pytest tests/

Expected output: 283 passed in X.XXs

Next Steps

With 100% test pass rate achieved, the project now has a solid foundation for:

  • Confident code changes with reliable test coverage
  • CI/CD pipeline stability
  • Regression detection for future changes
  • Developer productivity improvements

Full Changelog

See CHANGELOG.md for complete version history.


🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

Don't miss a new mcp-memory-service release

NewReleases is sending notifications on new releases.