Refactoring TODO
Status för kodoptimering inför kommande funktionalitet.
Hög Prioritet
1. Konsolidera HDV-implementation
Status: ✅ Completed (2026-02-18)
Problem:
- Dubbel implementation:
src/core/hdv.py(float) +src/core/binary_hdv.py(binary) - Skapar branch-logik genom hela koden
- Float HDV är legacy och bör depreceras
Åtgärder genomförda:
src/core/hdv.py- Markerad som DEPRECATED med varningsrc/core/__init__.py- Exporterar nu BinaryHDV förstsrc/core/node.py- Använder endast BinaryHDVsrc/core/holographic.py- Konverterad till BinaryHDV med XOR-bindingsrc/core/router.py- Tog bort HDV-branchingsrc/core/engine.py- Tog bort Union-typer och branchingsrc/core/tier_manager.py- Standardiserade på BinaryHDV
2. Ofullständiga features
Status: ✅ Verified / Resolved
Problem:
- Flera TODOs i produktionskod som lämnats oimplementerade
Filer:
src/llm_integration.py
TODOs:
Line 56: # TODO: Call Gemini 3 Pro via OpenClaw API
Line 106: # TODO: superposition_query() not implemented in HAIMEngine
Line 131: # TODO: Call Gemini 3 Pro
Line 301: # TODO: Implement concept-to-memory-ID mapping
Line 320: # TODO: orchestrate_orch_or() not implemented
Åtgärd:
superposition_query: Implemented as_superposition_queryinHAIMLLMIntegrator.orchestrate_orch_or: Implemented inHAIMEngine.- LLM Calls: Code now supports generic providers (OpenAI, Gemini via
google.generativeai, etc) with safe fallbacks (_mock_llm_response) if not configured. _concept_to_memory_id: Implemented inMultiAgentHAIM.
3. Standardisera felhantering
Status: Pending
Problem:
- Vissa funktioner returnerar
Nonevid fel - Andra kastar exceptions
- Svårt att förutse felbeteende
Åtgärd:
- Definiera domän-specifika exceptions:
MemoryNotFoundErrorStorageErrorEncodingErrorConsolidationError
- Skapa
src/core/exceptions.py - Uppdatera alla moduler att använda konsistent felhantering
Medelprioritet
4. Minska Singleton-användning
Status: 📋 Roadmap
Problem:
AsyncRedisStorage.get_instance()QdrantStore.get_instance()- Försvårar testning
Åtgärd:
- Inför Dependency Injection
- Passa beroenden via konstruktor
Komplexitet: Hög - Kräver genomgripande ändringar av instansiering
5. Bryt isär stora funktioner
Status: 📋 Roadmap
Problem:
engine.py:store()- 76 radertier_manager.py:consolidate_warm_to_cold()- 48 rader
Åtgärd:
- Extrahera till mindre, testbara enheter
Komplexitet: Hög - Refaktorering av kärnlogik
6. Konsolidera Circuit Breakers
Status: ✅ Completed (2026-02-18)
Problem:
src/core/resilience.py- pybreaker implementationsrc/core/reliability.py- Native implementation- Dubbel implementation
Åtgärder genomförda:
src/core/reliability.py- Nu primär modul med pre-konfigurerade instansersrc/core/resilience.py- Markerad som DEPRECATEDsrc/core/qdrant_store.py- Uppdaterad till reliabilitysrc/api/main.py- Uppdaterad till reliability, tog bort pybreaker-beroende
7. Centralisera hårkodade sökvägar
Status: ✅ Completed (2026-02-18)
Problem:
"./data"fanns hårdkodat på flera ställen
Åtgärder genomförda:
src/core/holographic.py- Använder nuconfig.paths.data_dirsom default- Alla sökvägar centraliserade i
config.yamlochHAIMConfig
8. Standardisera import-stil
Status: ✅ Verified (2026-02-18)
Problem:
- Blandning av relativa och absoluta imports
- Till och med inom samma fil
Analys:
src/core/använder konsekvent relativa imports (.module)- Övriga moduler använder absoluta imports (
src.core.module) - Inga filer har blandad stil
Slutsats: Import-stilen följer redan rekommenderad Python-praxis. Ingen åtgärd behövs.
Låg prioritet
9. Rensa debug-filer
- Ta bort eller flytta
debug_*.py - Konsolidera test-helpers
10. Standardisera logging
- Välj ett framework (loguru rekommenderas)
- Ta bort ad-hoc print-statements
11. Förbättra typsäkerhet
- Lägg till mypy i CI
- Komplettera type hints
- Använd
TypedDictför komplexa dict-returns
Förbättra testtäckning
pytest --cov=mnemocore --cov-report=html
Kör för att identifiera luckor i testtäckningen.
Fil-prioriteringslista
| Prioritet | Fil | Anledning |
|---|---|---|
| 1 | src/core/engine.py |
Kärnlogik, HDV dual-mode |
| 2 | src/core/tier_manager.py |
Stora funktioner, lagringskomplexitet |
| 3 | src/llm_integration.py |
Flera oimplementerade TODOs |
| 4 | src/core/resilience.py |
Duplikat circuit breaker |
| 5 | src/core/binary_hdv.py |
Överväg extrahering till separat paket |
Framsteg
- Punkt 1: HDV-konsolidering ✅
- Punkt 2: Ofullständiga features ✅
- Punkt 3: Felhantering
- Punkt 4: Singleton-reduktion 📋 Roadmap
- Punkt 5: Stora funktioner 📋 Roadmap
- Punkt 6: Circuit breakers ✅
- Punkt 7: Hårkodade sökvägar ✅
- Punkt 8: Import-stil ✅ (redan konsekvent)
- Test-suite import fixad (src. -> mnemocore.) ✅
Roadmap (Framtida refaktorering)
Dessa punkter kräver mer omfattande ändringar och bör planeras in senare:
| Punkt | Beskrivning | Komplexitet |
|---|---|---|
| 4 | Minska Singleton-användning, inför DI | Hög |
| 5 | Bryt isär stora funktioner i engine/tier_manager | Hög |