fix: implement wipe_all_ai_caches, harden blank_start imports, purge root garbage

- Implement wipe_all_ai_caches() in qdrant_memory.py (was a phantom function
  referenced but never created, causing ERROR on every blank_start)
- Move imports OUT of try/except in bot_flow.py blank_start block so that
  ImportError/NameError crash loudly instead of being silently swallowed
- Add Production Integrity Guard (check_production_integrity) to detect
  MagicMock poisoning at startup
- Add missing TelepathicEngine import in bot_flow.py
- Fix conftest.py: move sys.modules monkeypatching into session fixture
  to prevent global environment poisoning on test import
- Add TDD test test_wipe_all_ai_caches.py proving importability and
  correct wipe behavior across all 8 global Qdrant collections
- Delete root garbage: patch_sae_tests.py, test_debug.py, test_mock.py,
  tmp_bot_flow.py, test_e2e_output*.txt
This commit is contained in:
2026-04-25 21:43:53 +02:00
parent 144d6401b5
commit 42eabb7bda
14 changed files with 170 additions and 57575 deletions

View File

@@ -7,16 +7,27 @@ import pytest
from GramAddict.core import utils
# Force Qdrant mocking globally across ALL E2E tests so we never
# block on connection refused trying to hit localhost:6344
mock_qdrant = MagicMock()
# Setup correct return types for dimension check warnings in qdrant_memory
mock_collection = MagicMock()
mock_collection.config.params.vectors.size = 768
mock_qdrant.get_collection.return_value = mock_collection
@pytest.fixture(scope="session", autouse=True)
def global_qdrant_mock():
"""
Force Qdrant mocking globally across ALL E2E tests so we never
block on connection refused trying to hit localhost:6344.
Moved to a fixture to avoid poisoning the global sys.modules on import.
"""
mock_qdrant = MagicMock()
sys.modules["qdrant_client"].QdrantClient = MagicMock(return_value=mock_qdrant)
# Setup correct return types for dimension check warnings in qdrant_memory
mock_collection = MagicMock()
mock_collection.config.params.vectors.size = 768
mock_qdrant.get_collection.return_value = mock_collection
# We use a wrapper to ensure the mock is only active when we want it
sys.modules["qdrant_client"].QdrantClient = MagicMock(return_value=mock_qdrant)
yield mock_qdrant
# Optional: cleanup if needed, but for E2E it's usually fine to keep it for the session
@pytest.fixture