superlocalmemory 3.5.3__tar.gz → 3.5.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (470) hide show
  1. {superlocalmemory-3.5.3/src/superlocalmemory.egg-info → superlocalmemory-3.5.5}/PKG-INFO +25 -18
  2. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/README.md +24 -17
  3. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/pyproject.toml +1 -1
  4. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/engine.py +85 -0
  5. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_core.py +31 -13
  6. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/unified_daemon.py +41 -5
  7. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5/src/superlocalmemory.egg-info}/PKG-INFO +25 -18
  8. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/AUTHORS.md +0 -0
  9. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/LICENSE +0 -0
  10. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/NOTICE +0 -0
  11. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/setup.cfg +0 -0
  12. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/__init__.py +0 -0
  13. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/attribution/__init__.py +0 -0
  14. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/attribution/mathematical_dna.py +0 -0
  15. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/attribution/signer.py +0 -0
  16. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/attribution/watermark.py +0 -0
  17. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/__init__.py +0 -0
  18. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/commands.py +0 -0
  19. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/context_commands.py +0 -0
  20. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/daemon.py +0 -0
  21. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/db_migrate.py +0 -0
  22. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/doctor_cmd.py +0 -0
  23. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/escape_hatch.py +0 -0
  24. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/ingest_cmd.py +0 -0
  25. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/json_output.py +0 -0
  26. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/main.py +0 -0
  27. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/migrate_cmd.py +0 -0
  28. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/pending_store.py +0 -0
  29. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/post_install.py +0 -0
  30. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/service_installer.py +0 -0
  31. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/setup_wizard.py +0 -0
  32. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/version_banner.py +0 -0
  33. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/cli/wizard_v3426_options.py +0 -0
  34. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/__init__.py +0 -0
  35. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/blast_radius.py +0 -0
  36. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/bridge/__init__.py +0 -0
  37. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/bridge/entity_resolver.py +0 -0
  38. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/bridge/event_listeners.py +0 -0
  39. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/bridge/fact_enricher.py +0 -0
  40. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/bridge/hebbian_linker.py +0 -0
  41. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/bridge/temporal_checker.py +0 -0
  42. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/changes.py +0 -0
  43. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/communities.py +0 -0
  44. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/config.py +0 -0
  45. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/database.py +0 -0
  46. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/extractors/__init__.py +0 -0
  47. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/extractors/python.py +0 -0
  48. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/extractors/typescript.py +0 -0
  49. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/flows.py +0 -0
  50. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/git_hooks.py +0 -0
  51. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/graph_engine.py +0 -0
  52. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/graph_store.py +0 -0
  53. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/incremental.py +0 -0
  54. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/models.py +0 -0
  55. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/parser.py +0 -0
  56. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/resolver.py +0 -0
  57. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/search.py +0 -0
  58. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/service.py +0 -0
  59. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/code_graph/watcher.py +0 -0
  60. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/__init__.py +0 -0
  61. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/abac.py +0 -0
  62. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/audit.py +0 -0
  63. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/eu_ai_act.py +0 -0
  64. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/gdpr.py +0 -0
  65. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/lifecycle.py +0 -0
  66. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/retention.py +0 -0
  67. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/compliance/scheduler.py +0 -0
  68. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/__init__.py +0 -0
  69. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/backend_orchestrator.py +0 -0
  70. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/clock_monitor.py +0 -0
  71. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/config.py +0 -0
  72. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/consolidation_engine.py +0 -0
  73. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/context_cache.py +0 -0
  74. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/db_pool.py +0 -0
  75. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/embedding_worker.py +0 -0
  76. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/embeddings.py +0 -0
  77. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/engine_capabilities.py +0 -0
  78. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/engine_lock.py +0 -0
  79. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/engine_wiring.py +0 -0
  80. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/error_catalog.py +0 -0
  81. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/error_envelope.py +0 -0
  82. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/fact_consolidator.py +0 -0
  83. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/file_lock.py +0 -0
  84. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/graph_analyzer.py +0 -0
  85. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/graph_pruner.py +0 -0
  86. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/health_monitor.py +0 -0
  87. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/hooks.py +0 -0
  88. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/injection.py +0 -0
  89. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/loop_watchdog.py +0 -0
  90. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/maintenance.py +0 -0
  91. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/maintenance_scheduler.py +0 -0
  92. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/modes.py +0 -0
  93. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/ollama_embedder.py +0 -0
  94. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/platform_utils.py +0 -0
  95. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/priority_queue.py +0 -0
  96. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/profiles.py +0 -0
  97. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/pruning_engine.py +0 -0
  98. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/queue_consumer.py +0 -0
  99. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/queue_dispatcher.py +0 -0
  100. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/ram_lock.py +0 -0
  101. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/rate_limit.py +0 -0
  102. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/recall_gate.py +0 -0
  103. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/recall_pipeline.py +0 -0
  104. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/recall_queue.py +0 -0
  105. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/recall_worker.py +0 -0
  106. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/registry.py +0 -0
  107. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/reranker_worker.py +0 -0
  108. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/safe_fs.py +0 -0
  109. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/security_primitives.py +0 -0
  110. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/shadow_router.py +0 -0
  111. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/slm_disabled.py +0 -0
  112. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/slmignore.py +0 -0
  113. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/store_pipeline.py +0 -0
  114. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/summarizer.py +0 -0
  115. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/tier_manager.py +0 -0
  116. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/topic_signature.py +0 -0
  117. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/core/worker_pool.py +0 -0
  118. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/dynamics/__init__.py +0 -0
  119. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/dynamics/activation_guided_quantization.py +0 -0
  120. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/dynamics/eap_scheduler.py +0 -0
  121. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/dynamics/ebbinghaus_langevin_coupling.py +0 -0
  122. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/dynamics/fisher_langevin_coupling.py +0 -0
  123. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/__init__.py +0 -0
  124. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/auto_linker.py +0 -0
  125. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/cognitive_consolidator.py +0 -0
  126. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/consolidator.py +0 -0
  127. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/context_generator.py +0 -0
  128. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/emotional.py +0 -0
  129. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/entity_resolver.py +0 -0
  130. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/entropy_gate.py +0 -0
  131. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/fact_extractor.py +0 -0
  132. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/foresight.py +0 -0
  133. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/graph_builder.py +0 -0
  134. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/observation_builder.py +0 -0
  135. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/scene_builder.py +0 -0
  136. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/signal_inference.py +0 -0
  137. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/temporal_parser.py +0 -0
  138. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/temporal_validator.py +0 -0
  139. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/encoding/type_router.py +0 -0
  140. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/__init__.py +0 -0
  141. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/blind_verifier.py +0 -0
  142. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/budget.py +0 -0
  143. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/evolution_store.py +0 -0
  144. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/llm_dispatch.py +0 -0
  145. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/mutation_generator.py +0 -0
  146. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/skill_evolver.py +0 -0
  147. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/triggers.py +0 -0
  148. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/evolution/types.py +0 -0
  149. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/graph/__init__.py +0 -0
  150. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/graph/cozo_backend.py +0 -0
  151. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/__init__.py +0 -0
  152. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/_outcome_common.py +0 -0
  153. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/adapter_base.py +0 -0
  154. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/antigravity_adapter.py +0 -0
  155. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/auto_capture.py +0 -0
  156. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/auto_invoker.py +0 -0
  157. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/auto_parameterize.py +0 -0
  158. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/auto_recall.py +0 -0
  159. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/auto_recall_hook.py +0 -0
  160. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/before_web_hook.py +0 -0
  161. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/claude_code_hooks.py +0 -0
  162. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/context_payload.py +0 -0
  163. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/copilot_adapter.py +0 -0
  164. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/cross_platform_connector.py +0 -0
  165. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/cursor_adapter.py +0 -0
  166. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/hook_daemon.py +0 -0
  167. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/hook_handlers.py +0 -0
  168. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/ide_connector.py +0 -0
  169. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/post_tool_async_hook.py +0 -0
  170. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/post_tool_outcome_hook.py +0 -0
  171. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/prewarm_auth.py +0 -0
  172. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/rules_engine.py +0 -0
  173. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/session_registry.py +0 -0
  174. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/stop_outcome_hook.py +0 -0
  175. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/sync_loop.py +0 -0
  176. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/topic_shift_hook.py +0 -0
  177. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/user_prompt_hook.py +0 -0
  178. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/hooks/user_prompt_rehash_hook.py +0 -0
  179. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/__init__.py +0 -0
  180. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/auth_middleware.py +0 -0
  181. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/backup.py +0 -0
  182. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/cache_manager.py +0 -0
  183. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/cloud_backup.py +0 -0
  184. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/event_bus.py +0 -0
  185. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/heartbeat_monitor.py +0 -0
  186. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/pid_manager.py +0 -0
  187. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/process_reaper.py +0 -0
  188. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/rate_limiter.py +0 -0
  189. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/infra/webhook_dispatcher.py +0 -0
  190. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ingestion/__init__.py +0 -0
  191. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ingestion/adapter_manager.py +0 -0
  192. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ingestion/base_adapter.py +0 -0
  193. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ingestion/calendar_adapter.py +0 -0
  194. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ingestion/credentials.py +0 -0
  195. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ingestion/gmail_adapter.py +0 -0
  196. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ingestion/parsers.py +0 -0
  197. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ingestion/transcript_adapter.py +0 -0
  198. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/__init__.py +0 -0
  199. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/adaptive.py +0 -0
  200. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/arm_catalog.py +0 -0
  201. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/assertion_miner.py +0 -0
  202. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/bandit.py +0 -0
  203. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/bandit_cache.py +0 -0
  204. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/behavioral.py +0 -0
  205. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/behavioral_listener.py +0 -0
  206. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/bootstrap.py +0 -0
  207. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/consolidation_cycle.py +0 -0
  208. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/consolidation_quantization_worker.py +0 -0
  209. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/consolidation_worker.py +0 -0
  210. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/cross_project.py +0 -0
  211. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/database.py +0 -0
  212. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/dedup_hnsw.py +0 -0
  213. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/engagement.py +0 -0
  214. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/ensemble.py +0 -0
  215. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/entity_compiler.py +0 -0
  216. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/fact_outcome_joins.py +0 -0
  217. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/features.py +0 -0
  218. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/feedback.py +0 -0
  219. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/forgetting_scheduler.py +0 -0
  220. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/hnsw_dedup.py +0 -0
  221. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/labeler.py +0 -0
  222. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/legacy_migration.py +0 -0
  223. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/memory_merge.py +0 -0
  224. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/model_cache.py +0 -0
  225. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/model_rollback.py +0 -0
  226. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/outcome_queue.py +0 -0
  227. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/outcomes.py +0 -0
  228. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/pattern_miner.py +0 -0
  229. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/pattern_miner_constants.py +0 -0
  230. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/project_context.py +0 -0
  231. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/quantization_scheduler.py +0 -0
  232. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/ranker.py +0 -0
  233. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/ranker_common.py +0 -0
  234. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/ranker_retrain_legacy.py +0 -0
  235. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/ranker_retrain_online.py +0 -0
  236. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/reward.py +0 -0
  237. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/reward_archive.py +0 -0
  238. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/reward_boost.py +0 -0
  239. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/reward_proxy.py +0 -0
  240. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/shadow_test.py +0 -0
  241. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/signal_worker.py +0 -0
  242. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/signals.py +0 -0
  243. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/skill_performance_miner.py +0 -0
  244. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/source_quality.py +0 -0
  245. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/trigram_index.py +0 -0
  246. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/learning/workflows.py +0 -0
  247. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/llm/__init__.py +0 -0
  248. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/llm/backbone.py +0 -0
  249. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/math/__init__.py +0 -0
  250. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/math/ebbinghaus.py +0 -0
  251. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/math/fisher.py +0 -0
  252. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/math/fisher_quantized.py +0 -0
  253. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/math/hopfield.py +0 -0
  254. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/math/langevin.py +0 -0
  255. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/math/polar_quant.py +0 -0
  256. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/math/qjl.py +0 -0
  257. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/math/sheaf.py +0 -0
  258. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/math/turbo_quant.py +0 -0
  259. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/__init__.py +0 -0
  260. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/_daemon_proxy.py +0 -0
  261. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/_pool_adapter.py +0 -0
  262. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/resources.py +0 -0
  263. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/server.py +0 -0
  264. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/shared.py +0 -0
  265. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools.py +0 -0
  266. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_active.py +0 -0
  267. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_code_graph.py +0 -0
  268. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_context.py +0 -0
  269. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_evolution.py +0 -0
  270. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_learning.py +0 -0
  271. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_mesh.py +0 -0
  272. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_v28.py +0 -0
  273. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_v3.py +0 -0
  274. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mcp/tools_v33.py +0 -0
  275. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mesh/__init__.py +0 -0
  276. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mesh/broker.py +0 -0
  277. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/mesh/remote_sync.py +0 -0
  278. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/migrations/__init__.py +0 -0
  279. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/migrations/v3_4_25_to_v3_4_26.py +0 -0
  280. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/parameterization/__init__.py +0 -0
  281. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/parameterization/pattern_extractor.py +0 -0
  282. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/parameterization/pii_filter.py +0 -0
  283. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/parameterization/prompt_injector.py +0 -0
  284. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/parameterization/prompt_lifecycle.py +0 -0
  285. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/parameterization/soft_prompt_generator.py +0 -0
  286. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/__init__.py +0 -0
  287. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/agentic.py +0 -0
  288. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/ann_index.py +0 -0
  289. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/bm25_channel.py +0 -0
  290. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/bridge_discovery.py +0 -0
  291. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/channel_registry.py +0 -0
  292. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/engine.py +0 -0
  293. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/entity_channel.py +0 -0
  294. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/forgetting_filter.py +0 -0
  295. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/fusion.py +0 -0
  296. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/hopfield_channel.py +0 -0
  297. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/profile_channel.py +0 -0
  298. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/quantization_aware_search.py +0 -0
  299. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/reranker.py +0 -0
  300. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/semantic_channel.py +0 -0
  301. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/spreading_activation.py +0 -0
  302. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/strategy.py +0 -0
  303. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/temporal_channel.py +0 -0
  304. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/retrieval/vector_store.py +0 -0
  305. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/__init__.py +0 -0
  306. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/api.py +0 -0
  307. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/bandit_loops.py +0 -0
  308. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/middleware/__init__.py +0 -0
  309. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/middleware/security_headers.py +0 -0
  310. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/__init__.py +0 -0
  311. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/adapters.py +0 -0
  312. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/agents.py +0 -0
  313. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/backup.py +0 -0
  314. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/behavioral.py +0 -0
  315. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/brain.py +0 -0
  316. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/chat.py +0 -0
  317. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/compliance.py +0 -0
  318. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/data_io.py +0 -0
  319. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/entity.py +0 -0
  320. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/events.py +0 -0
  321. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/evolution.py +0 -0
  322. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/helpers.py +0 -0
  323. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/ingest.py +0 -0
  324. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/insights.py +0 -0
  325. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/learning.py +0 -0
  326. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/lifecycle.py +0 -0
  327. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/memories.py +0 -0
  328. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/mesh.py +0 -0
  329. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/prewarm.py +0 -0
  330. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/profiles.py +0 -0
  331. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/stats.py +0 -0
  332. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/tiers.py +0 -0
  333. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/timeline.py +0 -0
  334. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/token.py +0 -0
  335. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/v3_api.py +0 -0
  336. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/routes/ws.py +0 -0
  337. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/security_middleware.py +0 -0
  338. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/server/ui.py +0 -0
  339. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/skills/slm-build-graph/SKILL.md +0 -0
  340. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/skills/slm-list-recent/SKILL.md +0 -0
  341. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/skills/slm-recall/SKILL.md +0 -0
  342. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/skills/slm-remember/SKILL.md +0 -0
  343. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/skills/slm-show-patterns/SKILL.md +0 -0
  344. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/skills/slm-status/SKILL.md +0 -0
  345. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/skills/slm-switch-profile/SKILL.md +0 -0
  346. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/__init__.py +0 -0
  347. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/access_control.py +0 -0
  348. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/access_log.py +0 -0
  349. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/database.py +0 -0
  350. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/embedding_migrator.py +0 -0
  351. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migration_runner.py +0 -0
  352. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migration_v33.py +0 -0
  353. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M001_add_signal_features_columns.py +0 -0
  354. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M002_model_state_history.py +0 -0
  355. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M003_migration_log.py +0 -0
  356. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M004_cross_platform_sync_log.py +0 -0
  357. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M005_bandit_tables.py +0 -0
  358. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M006_action_outcomes_reward.py +0 -0
  359. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M007_pending_outcomes.py +0 -0
  360. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M009_model_lineage.py +0 -0
  361. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M010_evolution_config.py +0 -0
  362. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M011_archive_and_merge.py +0 -0
  363. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M012_shadow_observations.py +0 -0
  364. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M013_bi_temporal_columns.py +0 -0
  365. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M014_v345_scale_ready.py +0 -0
  366. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/M015_add_pinned_column.py +0 -0
  367. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations/__init__.py +0 -0
  368. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/migrations.py +0 -0
  369. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/models.py +0 -0
  370. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/quantized_store.py +0 -0
  371. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/schema.py +0 -0
  372. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/schema_code_graph.py +0 -0
  373. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/schema_v32.py +0 -0
  374. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/schema_v3410.py +0 -0
  375. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/schema_v3411.py +0 -0
  376. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/schema_v343.py +0 -0
  377. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/schema_v345.py +0 -0
  378. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/schema_v347.py +0 -0
  379. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/storage/v2_migrator.py +0 -0
  380. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/trust/__init__.py +0 -0
  381. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/trust/gate.py +0 -0
  382. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/trust/provenance.py +0 -0
  383. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/trust/scorer.py +0 -0
  384. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/trust/signals.py +0 -0
  385. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/css/brain.css +0 -0
  386. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/css/legacy-dashboard.css +0 -0
  387. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/css/neural-glass.css +0 -0
  388. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/index.html +0 -0
  389. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/agents.js +0 -0
  390. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/auto-settings.js +0 -0
  391. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/brain.js +0 -0
  392. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/clusters.js +0 -0
  393. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/compliance.js +0 -0
  394. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/core.js +0 -0
  395. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/dashboard.js +0 -0
  396. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/events.js +0 -0
  397. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/fact-detail.js +0 -0
  398. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/feedback.js +0 -0
  399. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/graph-event-bus.js +0 -0
  400. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/graph-filters.js +0 -0
  401. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/graph-ui.js +0 -0
  402. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/ide-status.js +0 -0
  403. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/init.js +0 -0
  404. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/knowledge-graph.js +0 -0
  405. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/lifecycle.js +0 -0
  406. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/math-health.js +0 -0
  407. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/memories.js +0 -0
  408. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/memory-chat.js +0 -0
  409. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/memory-timeline.js +0 -0
  410. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/modal.js +0 -0
  411. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/ng-entities.js +0 -0
  412. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/ng-health.js +0 -0
  413. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/ng-ingestion.js +0 -0
  414. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/ng-mesh.js +0 -0
  415. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/ng-shell.js +0 -0
  416. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/ng-skills.js +0 -0
  417. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/profiles.js +0 -0
  418. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/quick-actions.js +0 -0
  419. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/recall-lab.js +0 -0
  420. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/search.js +0 -0
  421. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/settings.js +0 -0
  422. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/timeline.js +0 -0
  423. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/js/trust-dashboard.js +0 -0
  424. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/bootstrap-icons/bootstrap-icons.css +0 -0
  425. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/bootstrap-icons/fonts/bootstrap-icons.woff +0 -0
  426. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2 +0 -0
  427. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/bootstrap.bundle.min.js +0 -0
  428. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/bootstrap.min.css +0 -0
  429. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/d3.v7.min.js +0 -0
  430. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/graphology-library.min.js +0 -0
  431. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/graphology.umd.min.js +0 -0
  432. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/inter-ui/inter-variable.min.css +0 -0
  433. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/inter-ui/variable/InterVariable-Italic.woff2 +0 -0
  434. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/inter-ui/variable/InterVariable.woff2 +0 -0
  435. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/ui/vendor/sigma.min.js +0 -0
  436. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/vector/__init__.py +0 -0
  437. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory/vector/lancedb_backend.py +0 -0
  438. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory.egg-info/SOURCES.txt +0 -0
  439. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory.egg-info/dependency_links.txt +0 -0
  440. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory.egg-info/entry_points.txt +0 -0
  441. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory.egg-info/requires.txt +0 -0
  442. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/src/superlocalmemory.egg-info/top_level.txt +0 -0
  443. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_auto_hooks.py +0 -0
  444. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_before_web_hook.py +0 -0
  445. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_behavioral_full.py +0 -0
  446. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_claude_hooks.py +0 -0
  447. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_cli.py +0 -0
  448. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_cli_json.py +0 -0
  449. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_cli_v33.py +0 -0
  450. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_compliance_full.py +0 -0
  451. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_config_system.py +0 -0
  452. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_engine_hooks.py +0 -0
  453. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_event_bus.py +0 -0
  454. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_features.py +0 -0
  455. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_final_locomo_mini.py +0 -0
  456. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_hook_handlers.py +0 -0
  457. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_ide_connector.py +0 -0
  458. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_infra.py +0 -0
  459. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_injection.py +0 -0
  460. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_learning_advanced.py +0 -0
  461. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_learning_collectors.py +0 -0
  462. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_llm_provider.py +0 -0
  463. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_mcp_server.py +0 -0
  464. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_migration.py +0 -0
  465. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_mode_switch_preservation.py +0 -0
  466. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_post_install.py +0 -0
  467. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_ranker.py +0 -0
  468. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_topic_shift_hook.py +0 -0
  469. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_trust_full.py +0 -0
  470. {superlocalmemory-3.5.3 → superlocalmemory-3.5.5}/tests/test_v3_api.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: superlocalmemory
3
- Version: 3.5.3
3
+ Version: 3.5.5
4
4
  Summary: Information-geometric agent memory with mathematical guarantees
5
5
  Author-email: Varun Pratap Bhardwaj <admin@superlocalmemory.com>
6
6
  License: AGPL-3.0-or-later
@@ -93,9 +93,9 @@ Dynamic: license-file
93
93
  <img src="https://superlocalmemory.com/assets/logo-mark.png" alt="SuperLocalMemory" width="200"/>
94
94
  </p>
95
95
 
96
- <h1 align="center">SuperLocalMemory V3.4</h1>
96
+ <h1 align="center">SuperLocalMemory V3.5</h1>
97
97
  <p align="center"><strong>Every other AI forgets. Yours won't.</strong><br/><em>Infinite memory for Claude Code, Cursor, Windsurf, and any MCP-compatible AI client.</em></p>
98
- <p align="center"><code>v3.4.51 "Recency Intelligence"</code> — <strong>Session context is now time-aware.</strong><br>Stale memories from old projects no longer surface. Ebbinghaus decay + FSRS stability. One command: <code>pip install -U superlocalmemory && slm restart</code></p>
98
+ <p align="center"><code>v3.5.0 "Scale-Ready + Context Injection v2"</code> — <strong>Your database auto-migrates. 6-channel recall in &lt;1s. Core Memory Block + explicit pinning. CozoDB + LanceDB on the recall path.</strong><br>No manual migrations. No data loss. One command: <code>pip install -U superlocalmemory && slm restart</code></p>
99
99
  <p align="center"><strong>Backed by 3 published research papers</strong> (arXiv preprints + Zenodo-archived) · <a href="https://arxiv.org/abs/2603.02240">arXiv:2603.02240</a> · <a href="https://arxiv.org/abs/2603.14588">arXiv:2603.14588</a> · <a href="https://arxiv.org/abs/2604.04514">arXiv:2604.04514</a></p>
100
100
 
101
101
  <p align="center">
@@ -274,29 +274,36 @@ slm warmup # Pre-download embedding model (~500MB, optional)
274
274
  pip install superlocalmemory
275
275
  ```
276
276
 
277
- ### Upgrading to v3.4.5 "Scale-Ready"
277
+ ### Upgrading to v3.5.0 "Scale-Ready — CozoDB + LanceDB"
278
278
 
279
- **Migration is automatic.** Upgrade your package, restart the daemon, and your database migrates silently.
279
+ **Migration is automatic.** Upgrade the package, restart the daemon — CozoDB, LanceDB, and the vector store all self-migrate in the background.
280
280
 
281
281
  ```bash
282
- # pip users
283
282
  pip install -U superlocalmemory
284
283
  slm restart
285
-
286
- # npm users
287
- npm update -g superlocalmemory
288
- slm restart
289
-
290
- # Verify migration
291
284
  slm doctor
292
285
  ```
293
286
 
294
- No manual commands. No data loss. Your database upgrades in-place with zero downtime. The daemon auto-detects the old version and applies the migration on first start.
295
-
296
- **New capabilities after upgrade:**
297
- - Tiered storage: memories auto-classified as active/warm/cold/archived
298
- - Graph pruning: redundant edges removed, queries stay fast at 1M+ connections
299
- - Optional: `pip install superlocalmemory[cozo,lancedb]` for graph + vector acceleration
287
+ No manual commands. No data loss. Your database upgrades in-place. The daemon applies all migrations (including CozoDB graph, LanceDB vector, and the `pinned` column for Core Memory) on first start after upgrade.
288
+
289
+ **What you get after upgrading to v3.5.0:**
290
+ - **CozoDB on the recall path** — entity_graph channel routes through the CozoDB backend (auto-detected, no config needed). Millions of graph edges indexed and traversed in milliseconds.
291
+ - **LanceDB vector backend** embedding search falls through to LanceDB when available (auto-detected, no config needed). Handles millions of vectors.
292
+ - **6-channel recall <1s** — BM25→FTS5 (20ms vs 11s), Hopfield ANN prefilter (0.4s vs 6s), temporal fast-parse (0.25s vs 2.6s). All surfaces (MCP/CLI/Dashboard) use the same daemon path.
293
+ - **Core Memory Block** — always-injected pinned facts (auto-derived + explicit pin/unpin via the `core_memory` MCP tool). Pinned facts surface even when the query doesn't match.
294
+ - **Context Injection v2** — unified formatter, token-budgeted injection (mode-aware 2K/4K/8K), edge-placement ordering, full-fidelity content (no more 200-char stubs).
295
+ - **Score normalization** — all fusion scores mapped to [0, 1] via soft-sigmoid. Monotonic — rank order preserved.
296
+ - **Vector store auto-backfill** — facts with embeddings missing from the vector store are indexed on daemon start. No more "only 1/3 of corpus searchable."
297
+
298
+ ### Release History
299
+
300
+ | Version | Codename | Key Features |
301
+ |---|---|---|
302
+ | **v3.5.0** | Scale-Ready + Context Injection v2 | CozoDB/LanceDB migration, 6-channel recall <1s, Core Memory Block, BM25→FTS5, context injection v2, score normalization |
303
+ | **v3.4.5** | Scale-Ready (foundation) | Tiered storage (active/warm/cold), graph pruning, BackendOrchestrator scaffolding, CozoDB + LanceDB init + migration code (read path wired in v3.5.0) |
304
+ | **v3.4.51** | Recency Intelligence | Ebbinghaus decay + FSRS stability, age gate, session context time-awareness |
305
+ | **v3.4.22** | Scale-Ready (scaling) | v2 ranking pipeline (LightGBM, bandit ensemble), Hopfield channel, 6-channel parallel execution |
306
+ | **v3.3.x** | Foundation | BM25Plus, Fisher-Rao manifold, sqlite-vec, RRF fusion, cross-encoder rerank. 3 published papers (arXiv 2603.02240 / 2603.14588 / 2604.04514) |
300
307
 
301
308
  ### First Use
302
309
 
@@ -2,9 +2,9 @@
2
2
  <img src="https://superlocalmemory.com/assets/logo-mark.png" alt="SuperLocalMemory" width="200"/>
3
3
  </p>
4
4
 
5
- <h1 align="center">SuperLocalMemory V3.4</h1>
5
+ <h1 align="center">SuperLocalMemory V3.5</h1>
6
6
  <p align="center"><strong>Every other AI forgets. Yours won't.</strong><br/><em>Infinite memory for Claude Code, Cursor, Windsurf, and any MCP-compatible AI client.</em></p>
7
- <p align="center"><code>v3.4.51 "Recency Intelligence"</code> — <strong>Session context is now time-aware.</strong><br>Stale memories from old projects no longer surface. Ebbinghaus decay + FSRS stability. One command: <code>pip install -U superlocalmemory && slm restart</code></p>
7
+ <p align="center"><code>v3.5.0 "Scale-Ready + Context Injection v2"</code> — <strong>Your database auto-migrates. 6-channel recall in &lt;1s. Core Memory Block + explicit pinning. CozoDB + LanceDB on the recall path.</strong><br>No manual migrations. No data loss. One command: <code>pip install -U superlocalmemory && slm restart</code></p>
8
8
  <p align="center"><strong>Backed by 3 published research papers</strong> (arXiv preprints + Zenodo-archived) · <a href="https://arxiv.org/abs/2603.02240">arXiv:2603.02240</a> · <a href="https://arxiv.org/abs/2603.14588">arXiv:2603.14588</a> · <a href="https://arxiv.org/abs/2604.04514">arXiv:2604.04514</a></p>
9
9
 
10
10
  <p align="center">
@@ -183,29 +183,36 @@ slm warmup # Pre-download embedding model (~500MB, optional)
183
183
  pip install superlocalmemory
184
184
  ```
185
185
 
186
- ### Upgrading to v3.4.5 "Scale-Ready"
186
+ ### Upgrading to v3.5.0 "Scale-Ready — CozoDB + LanceDB"
187
187
 
188
- **Migration is automatic.** Upgrade your package, restart the daemon, and your database migrates silently.
188
+ **Migration is automatic.** Upgrade the package, restart the daemon — CozoDB, LanceDB, and the vector store all self-migrate in the background.
189
189
 
190
190
  ```bash
191
- # pip users
192
191
  pip install -U superlocalmemory
193
192
  slm restart
194
-
195
- # npm users
196
- npm update -g superlocalmemory
197
- slm restart
198
-
199
- # Verify migration
200
193
  slm doctor
201
194
  ```
202
195
 
203
- No manual commands. No data loss. Your database upgrades in-place with zero downtime. The daemon auto-detects the old version and applies the migration on first start.
204
-
205
- **New capabilities after upgrade:**
206
- - Tiered storage: memories auto-classified as active/warm/cold/archived
207
- - Graph pruning: redundant edges removed, queries stay fast at 1M+ connections
208
- - Optional: `pip install superlocalmemory[cozo,lancedb]` for graph + vector acceleration
196
+ No manual commands. No data loss. Your database upgrades in-place. The daemon applies all migrations (including CozoDB graph, LanceDB vector, and the `pinned` column for Core Memory) on first start after upgrade.
197
+
198
+ **What you get after upgrading to v3.5.0:**
199
+ - **CozoDB on the recall path** — entity_graph channel routes through the CozoDB backend (auto-detected, no config needed). Millions of graph edges indexed and traversed in milliseconds.
200
+ - **LanceDB vector backend** embedding search falls through to LanceDB when available (auto-detected, no config needed). Handles millions of vectors.
201
+ - **6-channel recall <1s** — BM25→FTS5 (20ms vs 11s), Hopfield ANN prefilter (0.4s vs 6s), temporal fast-parse (0.25s vs 2.6s). All surfaces (MCP/CLI/Dashboard) use the same daemon path.
202
+ - **Core Memory Block** — always-injected pinned facts (auto-derived + explicit pin/unpin via the `core_memory` MCP tool). Pinned facts surface even when the query doesn't match.
203
+ - **Context Injection v2** — unified formatter, token-budgeted injection (mode-aware 2K/4K/8K), edge-placement ordering, full-fidelity content (no more 200-char stubs).
204
+ - **Score normalization** — all fusion scores mapped to [0, 1] via soft-sigmoid. Monotonic — rank order preserved.
205
+ - **Vector store auto-backfill** — facts with embeddings missing from the vector store are indexed on daemon start. No more "only 1/3 of corpus searchable."
206
+
207
+ ### Release History
208
+
209
+ | Version | Codename | Key Features |
210
+ |---|---|---|
211
+ | **v3.5.0** | Scale-Ready + Context Injection v2 | CozoDB/LanceDB migration, 6-channel recall <1s, Core Memory Block, BM25→FTS5, context injection v2, score normalization |
212
+ | **v3.4.5** | Scale-Ready (foundation) | Tiered storage (active/warm/cold), graph pruning, BackendOrchestrator scaffolding, CozoDB + LanceDB init + migration code (read path wired in v3.5.0) |
213
+ | **v3.4.51** | Recency Intelligence | Ebbinghaus decay + FSRS stability, age gate, session context time-awareness |
214
+ | **v3.4.22** | Scale-Ready (scaling) | v2 ranking pipeline (LightGBM, bandit ensemble), Hopfield channel, 6-channel parallel execution |
215
+ | **v3.3.x** | Foundation | BM25Plus, Fisher-Rao manifold, sqlite-vec, RRF fusion, cross-encoder rerank. 3 published papers (arXiv 2603.02240 / 2603.14588 / 2604.04514) |
209
216
 
210
217
  ### First Use
211
218
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "superlocalmemory"
3
- version = "3.5.3"
3
+ version = "3.5.5"
4
4
  description = "Information-geometric agent memory with mathematical guarantees"
5
5
  readme = "README.md"
6
6
  license = {text = "AGPL-3.0-or-later"}
@@ -369,6 +369,91 @@ class MemoryEngine:
369
369
  vector_store=self._vector_store,
370
370
  )
371
371
 
372
+ def store_fast(self, content: str, metadata: dict[str, Any] | None = None) -> list[str]:
373
+ """v3.5.5 WRITE-THROUGH: synchronous verbatim insert for IMMEDIATE recall.
374
+
375
+ Full ``store()`` blocks 30-180s on LLM fact-extraction + Ollama embedding
376
+ + graph building. That created a recall window: a memory stored via the
377
+ async path sat in pending.db, unrecallable, until the background
378
+ materializer caught up. An agent storing a decision then immediately
379
+ recalling it (same session, or a parallel/next session) would miss it.
380
+
381
+ store_fast inserts a verbatim AtomicFact (+ memory row) synchronously.
382
+ The FTS5 ``atomic_facts_fts`` trigger auto-populates on INSERT, so the
383
+ memory is **keyword/BM25-recallable the instant this returns** (~ms, no
384
+ LLM, no embedding). Embedding + entities + graph are enriched async by
385
+ the materializer (which detects facts with NULL embedding).
386
+
387
+ Returns real fact_ids immediately. Quality gate rejects template junk.
388
+ """
389
+ self._require_full("store_fast")
390
+ self._ensure_init()
391
+ import re as _re
392
+ import uuid as _uuid
393
+ from datetime import datetime, timezone
394
+ from superlocalmemory.storage.models import (
395
+ AtomicFact, FactType, MemoryRecord,
396
+ )
397
+ if not content or not content.strip():
398
+ return []
399
+ try:
400
+ from superlocalmemory.core.injection import is_low_quality
401
+ if is_low_quality(content):
402
+ return []
403
+ except Exception:
404
+ pass
405
+ now = datetime.now(timezone.utc).isoformat()
406
+ record = MemoryRecord(
407
+ profile_id=self._profile_id, content=content,
408
+ session_date=now[:10], metadata=metadata or {},
409
+ )
410
+ self._db.store_memory(record)
411
+ # Lightweight regex entities (matches store_pipeline verbatim path) so
412
+ # the entity_graph channel has something to work with before enrichment.
413
+ ents = sorted(
414
+ {m.group(1) for m in _re.finditer(
415
+ r"\b([A-Z][a-z]+(?:\s[A-Z][a-z]+){0,3})\b", content)}
416
+ | {m.group(1) for m in _re.finditer(r"\b([A-Z]{2,})\b", content)}
417
+ )
418
+ # v3.5.5: compute the embedding SYNCHRONOUSLY. A single warm embed is
419
+ # ~22ms (the 30-180s of full store() was LLM fact-extraction + graph,
420
+ # NOT embedding). With the embedding present, the semantic channel
421
+ # scores this fact correctly so it ranks properly IMMEDIATELY — not
422
+ # just keyword-findable but top-ranked. Graph/entity enrichment stays
423
+ # async. Embed failure → fact still inserted (keyword-recallable).
424
+ emb = None
425
+ fmean = fvar = None
426
+ try:
427
+ emb = self._embedder.embed(content) if self._embedder else None
428
+ if emb:
429
+ fmean, fvar = self._embedder.compute_fisher_params(emb)
430
+ except Exception:
431
+ emb = None
432
+ fact = AtomicFact(
433
+ fact_id=_uuid.uuid4().hex[:16], memory_id=record.memory_id,
434
+ profile_id=self._profile_id, content=content,
435
+ fact_type=FactType.EPISODIC, entities=ents,
436
+ observation_date=now[:10], confidence=0.7, importance=0.5,
437
+ embedding=emb, fisher_mean=fmean, fisher_variance=fvar,
438
+ created_at=now,
439
+ )
440
+ self._db.store_fact(fact) # FTS5 trigger → immediately BM25-recallable
441
+ # Upsert to vector store so the semantic channel finds it now.
442
+ try:
443
+ vs = getattr(self, "_vector_store", None)
444
+ if emb and vs and getattr(vs, "available", False):
445
+ vs.upsert(fact.fact_id, self._profile_id, emb)
446
+ except Exception:
447
+ pass
448
+ # Persist BM25 tokens too (covers the in-memory rank_bm25 fallback path).
449
+ try:
450
+ bm25 = getattr(self._retrieval_engine, "_bm25", None)
451
+ if bm25:
452
+ bm25.add(fact.fact_id, content, self._profile_id)
453
+ except Exception:
454
+ pass
455
+ return [fact.fact_id]
456
+
372
457
  # -- Recall operations --------------------------------------------------
373
458
 
374
459
  def recall(
@@ -110,27 +110,45 @@ def register_core_tools(server, get_engine: Callable) -> None:
110
110
  Extracts atomic facts, resolves entities, builds graph edges,
111
111
  and indexes for 4-channel retrieval.
112
112
  """
113
+ meta = {
114
+ "project": project,
115
+ "importance": importance,
116
+ "agent_id": agent_id,
117
+ "session_id": session_id,
118
+ }
119
+ # v3.5.5 WRITE-THROUGH: route through the daemon's /remember, which does
120
+ # a synchronous verbatim insert (memory is keyword/BM25-recallable the
121
+ # instant this returns) and enqueues async enrichment. This closes the
122
+ # recall window so a parallel/next agent finds memories saved seconds ago.
123
+ # Falls back to pending.db only if the daemon is unreachable.
113
124
  try:
114
- # v3.4.32: Store-first pattern. Write to pending.db and return
115
- # immediately. The daemon's pending-materializer thread drains
116
- # the queue with recall priority, so concurrent MCP remembers
117
- # no longer contend with /search on the shared embedder.
118
- from superlocalmemory.cli.pending_store import store_pending
119
-
120
- pending_id = store_pending(content, tags=tags, metadata={
121
- "project": project,
122
- "importance": importance,
123
- "agent_id": agent_id,
124
- "session_id": session_id,
125
- })
125
+ from superlocalmemory.cli.daemon import daemon_request, is_daemon_running
126
+ if is_daemon_running():
127
+ resp = daemon_request("POST", "/remember", {
128
+ "content": content, "tags": tags, "metadata": meta,
129
+ })
130
+ if resp and (resp.get("fact_ids") is not None or resp.get("ok")):
131
+ fids = resp.get("fact_ids") or []
132
+ return {
133
+ "success": True,
134
+ "fact_ids": fids or [f"pending:{resp.get('pending_id','')}"],
135
+ "count": len(fids) if fids else 1,
136
+ "pending": not fids,
137
+ "message": "Stored (recallable now; enriching async).",
138
+ }
139
+ except Exception as dexc:
140
+ logger.debug("MCP remember via daemon failed, pending fallback: %s", dexc)
126
141
 
142
+ try:
143
+ from superlocalmemory.cli.pending_store import store_pending
144
+ pending_id = store_pending(content, tags=tags, metadata=meta)
127
145
  return {
128
146
  "success": True,
129
147
  "fact_ids": [f"pending:{pending_id}"],
130
148
  "count": 1,
131
149
  "pending": True,
132
150
  "pending_id": pending_id,
133
- "message": "Stored — facts will appear in the dashboard shortly.",
151
+ "message": "Stored — facts will appear shortly (daemon offline).",
134
152
  }
135
153
  except Exception as exc:
136
154
  logger.exception("remember failed")
@@ -1582,14 +1582,28 @@ def _register_daemon_routes(application: FastAPI) -> None:
1582
1582
  extra = getattr(req, "metadata", None)
1583
1583
  if isinstance(extra, dict):
1584
1584
  meta.update(extra)
1585
+ # v3.5.5 WRITE-THROUGH: synchronous verbatim insert → the memory is
1586
+ # keyword/BM25-recallable the instant this returns (~ms). Closes the
1587
+ # recall window so a parallel/next agent finds memories saved seconds
1588
+ # ago. Embedding/graph enrichment is deferred to the materializer.
1589
+ fact_ids: list[str] = []
1590
+ try:
1591
+ fact_ids = engine.store_fast(req.content, metadata=meta)
1592
+ except Exception as fexc:
1593
+ logger.warning("store_fast failed, falling back to pending-only: %s", fexc)
1594
+ # Enqueue for async enrichment (embedding + entities + graph). The
1595
+ # materializer detects the already-inserted verbatim fact and enriches
1596
+ # it in place rather than duplicating.
1585
1597
  pending_id = store_pending(
1586
1598
  req.content, tags=req.tags or "", metadata=meta,
1587
1599
  )
1588
1600
  return {
1589
1601
  "ok": True,
1602
+ "fact_ids": fact_ids,
1603
+ "count": len(fact_ids),
1590
1604
  "pending_id": pending_id,
1591
- "status": "queued",
1592
- "note": "materialized async; pass ?wait=true for legacy sync",
1605
+ "status": "stored" if fact_ids else "queued",
1606
+ "note": "write-through: recallable now; enriching async",
1593
1607
  }
1594
1608
  except Exception as exc:
1595
1609
  raise HTTPException(500, detail=str(exc))
@@ -1816,14 +1830,36 @@ def _start_pending_materializer() -> None:
1816
1830
  try:
1817
1831
  import hashlib
1818
1832
  content = item["content"]
1819
- # Dedup: skip if identical content already stored.
1820
1833
  content_hash = hashlib.md5(content.encode()).hexdigest()
1834
+ # v3.5.5: the write-through path already inserted a
1835
+ # verbatim fact (recallable via BM25). If it lacks an
1836
+ # embedding, ENRICH it in place (compute embedding +
1837
+ # upsert vector store) rather than skipping — otherwise
1838
+ # the fact would never be semantically searchable.
1821
1839
  dup = engine._db.execute(
1822
- "SELECT 1 FROM atomic_facts WHERE "
1823
- "content = ? LIMIT 1",
1840
+ "SELECT fact_id, embedding FROM atomic_facts "
1841
+ "WHERE content = ? LIMIT 1",
1824
1842
  (content,),
1825
1843
  )
1826
1844
  if dup:
1845
+ try:
1846
+ row = dict(dup[0])
1847
+ if not row.get("embedding") and engine._embedder:
1848
+ emb = engine._embedder.embed(content)
1849
+ if emb:
1850
+ upd = {"embedding": emb}
1851
+ try:
1852
+ fm, fv = engine._embedder.compute_fisher_params(emb)
1853
+ upd["fisher_mean"] = fm
1854
+ upd["fisher_variance"] = fv
1855
+ except Exception:
1856
+ pass
1857
+ engine._db.update_fact(row["fact_id"], upd)
1858
+ vs = getattr(engine, "_vector_store", None)
1859
+ if vs and getattr(vs, "available", False):
1860
+ vs.upsert(row["fact_id"], engine._profile_id, emb)
1861
+ except Exception as eexc:
1862
+ logger.debug("enrichment of write-through fact failed: %s", eexc)
1827
1863
  mark_done(item["id"])
1828
1864
  continue
1829
1865
  import json as _json
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: superlocalmemory
3
- Version: 3.5.3
3
+ Version: 3.5.5
4
4
  Summary: Information-geometric agent memory with mathematical guarantees
5
5
  Author-email: Varun Pratap Bhardwaj <admin@superlocalmemory.com>
6
6
  License: AGPL-3.0-or-later
@@ -93,9 +93,9 @@ Dynamic: license-file
93
93
  <img src="https://superlocalmemory.com/assets/logo-mark.png" alt="SuperLocalMemory" width="200"/>
94
94
  </p>
95
95
 
96
- <h1 align="center">SuperLocalMemory V3.4</h1>
96
+ <h1 align="center">SuperLocalMemory V3.5</h1>
97
97
  <p align="center"><strong>Every other AI forgets. Yours won't.</strong><br/><em>Infinite memory for Claude Code, Cursor, Windsurf, and any MCP-compatible AI client.</em></p>
98
- <p align="center"><code>v3.4.51 "Recency Intelligence"</code> — <strong>Session context is now time-aware.</strong><br>Stale memories from old projects no longer surface. Ebbinghaus decay + FSRS stability. One command: <code>pip install -U superlocalmemory && slm restart</code></p>
98
+ <p align="center"><code>v3.5.0 "Scale-Ready + Context Injection v2"</code> — <strong>Your database auto-migrates. 6-channel recall in &lt;1s. Core Memory Block + explicit pinning. CozoDB + LanceDB on the recall path.</strong><br>No manual migrations. No data loss. One command: <code>pip install -U superlocalmemory && slm restart</code></p>
99
99
  <p align="center"><strong>Backed by 3 published research papers</strong> (arXiv preprints + Zenodo-archived) · <a href="https://arxiv.org/abs/2603.02240">arXiv:2603.02240</a> · <a href="https://arxiv.org/abs/2603.14588">arXiv:2603.14588</a> · <a href="https://arxiv.org/abs/2604.04514">arXiv:2604.04514</a></p>
100
100
 
101
101
  <p align="center">
@@ -274,29 +274,36 @@ slm warmup # Pre-download embedding model (~500MB, optional)
274
274
  pip install superlocalmemory
275
275
  ```
276
276
 
277
- ### Upgrading to v3.4.5 "Scale-Ready"
277
+ ### Upgrading to v3.5.0 "Scale-Ready — CozoDB + LanceDB"
278
278
 
279
- **Migration is automatic.** Upgrade your package, restart the daemon, and your database migrates silently.
279
+ **Migration is automatic.** Upgrade the package, restart the daemon — CozoDB, LanceDB, and the vector store all self-migrate in the background.
280
280
 
281
281
  ```bash
282
- # pip users
283
282
  pip install -U superlocalmemory
284
283
  slm restart
285
-
286
- # npm users
287
- npm update -g superlocalmemory
288
- slm restart
289
-
290
- # Verify migration
291
284
  slm doctor
292
285
  ```
293
286
 
294
- No manual commands. No data loss. Your database upgrades in-place with zero downtime. The daemon auto-detects the old version and applies the migration on first start.
295
-
296
- **New capabilities after upgrade:**
297
- - Tiered storage: memories auto-classified as active/warm/cold/archived
298
- - Graph pruning: redundant edges removed, queries stay fast at 1M+ connections
299
- - Optional: `pip install superlocalmemory[cozo,lancedb]` for graph + vector acceleration
287
+ No manual commands. No data loss. Your database upgrades in-place. The daemon applies all migrations (including CozoDB graph, LanceDB vector, and the `pinned` column for Core Memory) on first start after upgrade.
288
+
289
+ **What you get after upgrading to v3.5.0:**
290
+ - **CozoDB on the recall path** — entity_graph channel routes through the CozoDB backend (auto-detected, no config needed). Millions of graph edges indexed and traversed in milliseconds.
291
+ - **LanceDB vector backend** embedding search falls through to LanceDB when available (auto-detected, no config needed). Handles millions of vectors.
292
+ - **6-channel recall <1s** — BM25→FTS5 (20ms vs 11s), Hopfield ANN prefilter (0.4s vs 6s), temporal fast-parse (0.25s vs 2.6s). All surfaces (MCP/CLI/Dashboard) use the same daemon path.
293
+ - **Core Memory Block** — always-injected pinned facts (auto-derived + explicit pin/unpin via the `core_memory` MCP tool). Pinned facts surface even when the query doesn't match.
294
+ - **Context Injection v2** — unified formatter, token-budgeted injection (mode-aware 2K/4K/8K), edge-placement ordering, full-fidelity content (no more 200-char stubs).
295
+ - **Score normalization** — all fusion scores mapped to [0, 1] via soft-sigmoid. Monotonic — rank order preserved.
296
+ - **Vector store auto-backfill** — facts with embeddings missing from the vector store are indexed on daemon start. No more "only 1/3 of corpus searchable."
297
+
298
+ ### Release History
299
+
300
+ | Version | Codename | Key Features |
301
+ |---|---|---|
302
+ | **v3.5.0** | Scale-Ready + Context Injection v2 | CozoDB/LanceDB migration, 6-channel recall <1s, Core Memory Block, BM25→FTS5, context injection v2, score normalization |
303
+ | **v3.4.5** | Scale-Ready (foundation) | Tiered storage (active/warm/cold), graph pruning, BackendOrchestrator scaffolding, CozoDB + LanceDB init + migration code (read path wired in v3.5.0) |
304
+ | **v3.4.51** | Recency Intelligence | Ebbinghaus decay + FSRS stability, age gate, session context time-awareness |
305
+ | **v3.4.22** | Scale-Ready (scaling) | v2 ranking pipeline (LightGBM, bandit ensemble), Hopfield channel, 6-channel parallel execution |
306
+ | **v3.3.x** | Foundation | BM25Plus, Fisher-Rao manifold, sqlite-vec, RRF fusion, cross-encoder rerank. 3 published papers (arXiv 2603.02240 / 2603.14588 / 2604.04514) |
300
307
 
301
308
  ### First Use
302
309