superlocalmemory 3.6.22__tar.gz → 3.7.0__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 (572) hide show
  1. superlocalmemory-3.7.0/PKG-INFO +724 -0
  2. superlocalmemory-3.7.0/README.md +622 -0
  3. superlocalmemory-3.7.0/plugin-src/skills/slm-cache/SKILL.md +140 -0
  4. superlocalmemory-3.7.0/plugin-src/skills/slm-compress/SKILL.md +143 -0
  5. superlocalmemory-3.7.0/plugin-src/skills/slm-graph/SKILL.md +300 -0
  6. superlocalmemory-3.7.0/plugin-src/skills/slm-recall/SKILL.md +204 -0
  7. superlocalmemory-3.7.0/plugin-src/skills/slm-remember/SKILL.md +194 -0
  8. superlocalmemory-3.7.0/plugin-src/skills/slm-session/SKILL.md +207 -0
  9. superlocalmemory-3.7.0/plugin-src/skills/slm-status/SKILL.md +149 -0
  10. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/pyproject.toml +40 -8
  11. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/__init__.py +2 -2
  12. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/attribution/mathematical_dna.py +1 -1
  13. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/attribution/signer.py +34 -19
  14. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/attribution/watermark.py +1 -1
  15. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/_lazy_init.py +3 -5
  16. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/commands.py +490 -195
  17. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/context_commands.py +5 -4
  18. superlocalmemory-3.7.0/src/superlocalmemory/cli/daemon.py +505 -0
  19. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/db_migrate.py +3 -1
  20. superlocalmemory-3.7.0/src/superlocalmemory/cli/diagnostics_cmd.py +28 -0
  21. superlocalmemory-3.7.0/src/superlocalmemory/cli/evidence_cmd.py +103 -0
  22. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/ingest_cmd.py +7 -3
  23. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/main.py +128 -31
  24. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/pending_store.py +54 -38
  25. superlocalmemory-3.7.0/src/superlocalmemory/cli/scale_engine_cmd.py +37 -0
  26. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/service_installer.py +57 -52
  27. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/setup_wizard.py +142 -88
  28. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/version_banner.py +2 -1
  29. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/config.py +3 -1
  30. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/backend_orchestrator.py +81 -21
  31. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/config.py +65 -20
  32. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/consolidation_engine.py +9 -7
  33. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/context_cache.py +56 -8
  34. superlocalmemory-3.7.0/src/superlocalmemory/core/derivation_lineage.py +246 -0
  35. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/embedding_worker.py +32 -20
  36. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/embeddings.py +54 -18
  37. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/engine.py +150 -104
  38. superlocalmemory-3.7.0/src/superlocalmemory/core/engine_ingestion.py +513 -0
  39. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/engine_wiring.py +2 -0
  40. superlocalmemory-3.7.0/src/superlocalmemory/core/evidence_bundle.py +526 -0
  41. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/fact_consolidator.py +5 -11
  42. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/graph_analyzer.py +2 -2
  43. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/health_monitor.py +4 -2
  44. superlocalmemory-3.7.0/src/superlocalmemory/core/ingestion_command.py +636 -0
  45. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/injection.py +69 -18
  46. superlocalmemory-3.7.0/src/superlocalmemory/core/lifecycle_state.py +153 -0
  47. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/maintenance.py +23 -22
  48. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/maintenance_scheduler.py +51 -35
  49. superlocalmemory-3.7.0/src/superlocalmemory/core/mutations.py +143 -0
  50. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/platform_utils.py +7 -4
  51. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/ram_lock.py +16 -5
  52. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/rate_limit.py +1 -1
  53. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/recall_pipeline.py +60 -101
  54. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/recall_worker.py +76 -59
  55. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/registry.py +1 -1
  56. superlocalmemory-3.7.0/src/superlocalmemory/core/scale_engine.py +293 -0
  57. superlocalmemory-3.7.0/src/superlocalmemory/core/score_contract.py +62 -0
  58. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/security_primitives.py +3 -1
  59. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/slm_disabled.py +3 -5
  60. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/store_pipeline.py +172 -40
  61. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/tier_manager.py +32 -20
  62. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/worker_pool.py +13 -4
  63. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/dynamics/activation_guided_quantization.py +1 -1
  64. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/dynamics/eap_scheduler.py +10 -3
  65. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/dynamics/ebbinghaus_langevin_coupling.py +1 -1
  66. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/dynamics/fisher_langevin_coupling.py +1 -1
  67. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/encoding/auto_linker.py +1 -1
  68. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/encoding/cognitive_consolidator.py +7 -16
  69. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/encoding/consolidator.py +22 -5
  70. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/encoding/fact_extractor.py +1 -1
  71. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/encoding/foresight.py +2 -0
  72. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/encoding/graph_builder.py +1 -1
  73. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/encoding/temporal_parser.py +2 -0
  74. superlocalmemory-3.7.0/src/superlocalmemory/evaluation/__init__.py +13 -0
  75. superlocalmemory-3.7.0/src/superlocalmemory/evaluation/calibration.py +308 -0
  76. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/evolution/skill_evolver.py +2 -1
  77. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/graph/cozo_backend.py +256 -23
  78. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/_outcome_common.py +21 -11
  79. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/antigravity_adapter.py +10 -31
  80. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/auto_invoker.py +25 -27
  81. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/auto_recall.py +31 -6
  82. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/auto_recall_hook.py +13 -33
  83. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/before_web_hook.py +9 -7
  84. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/claude_code_hooks.py +126 -39
  85. superlocalmemory-3.7.0/src/superlocalmemory/hooks/codex_assets.py +59 -0
  86. superlocalmemory-3.7.0/src/superlocalmemory/hooks/codex_hooks.py +186 -0
  87. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/context_payload.py +1 -1
  88. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/copilot_adapter.py +9 -24
  89. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/cursor_adapter.py +10 -32
  90. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/hook_daemon.py +4 -2
  91. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/hook_handlers.py +241 -55
  92. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/memory_protocol.py +5 -3
  93. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/post_tool_async_hook.py +4 -2
  94. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/session_registry.py +15 -8
  95. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/stop_outcome_hook.py +10 -6
  96. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/topic_shift_hook.py +42 -12
  97. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/user_prompt_hook.py +9 -14
  98. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/user_prompt_rehash_hook.py +19 -11
  99. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/infra/auth_middleware.py +38 -5
  100. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/infra/backup.py +7 -5
  101. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/infra/cloud_backup.py +18 -8
  102. superlocalmemory-3.7.0/src/superlocalmemory/infra/daemon_identity.py +248 -0
  103. superlocalmemory-3.7.0/src/superlocalmemory/infra/data_root.py +199 -0
  104. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/infra/event_bus.py +3 -1
  105. superlocalmemory-3.7.0/src/superlocalmemory/infra/local_diagnostics.py +327 -0
  106. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/infra/process_reaper.py +23 -0
  107. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ingestion/adapter_manager.py +27 -9
  108. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ingestion/base_adapter.py +25 -31
  109. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ingestion/calendar_adapter.py +13 -4
  110. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ingestion/credentials.py +14 -7
  111. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ingestion/gmail_adapter.py +13 -4
  112. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ingestion/transcript_adapter.py +7 -2
  113. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/consolidation_quantization_worker.py +1 -1
  114. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/ensemble.py +11 -0
  115. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/entity_compiler.py +1 -1
  116. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/feedback.py +1 -1
  117. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/forgetting_scheduler.py +12 -7
  118. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/quantization_scheduler.py +1 -1
  119. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/ranker.py +4 -1
  120. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/source_quality.py +1 -1
  121. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/trigram_index.py +3 -2
  122. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/llm/backbone.py +13 -8
  123. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/math/ebbinghaus.py +1 -1
  124. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/math/fisher.py +1 -1
  125. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/math/fisher_quantized.py +1 -1
  126. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/math/hopfield.py +1 -1
  127. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/math/langevin.py +1 -1
  128. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/math/polar_quant.py +3 -4
  129. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/math/qjl.py +1 -1
  130. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/math/sheaf.py +1 -1
  131. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/math/turbo_quant.py +3 -2
  132. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/_daemon_proxy.py +12 -11
  133. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/_pool_adapter.py +27 -0
  134. superlocalmemory-3.7.0/src/superlocalmemory/mcp/http_transport.py +53 -0
  135. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/server.py +39 -13
  136. superlocalmemory-3.7.0/src/superlocalmemory/mcp/shared.py +93 -0
  137. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/tools_active.py +141 -31
  138. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/tools_core.py +128 -29
  139. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/tools_evolution.py +5 -7
  140. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/tools_learning.py +42 -2
  141. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/tools_mesh.py +7 -23
  142. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/tools_optimize.py +8 -1
  143. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/tools_v28.py +23 -2
  144. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/tools_v3.py +26 -1
  145. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/tools_v33.py +56 -17
  146. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mesh/broker.py +2 -0
  147. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mesh/remote_sync.py +50 -12
  148. superlocalmemory-3.7.0/src/superlocalmemory/optimize/NOTICE +11 -0
  149. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/cache/manager.py +77 -1
  150. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/cache/semantic.py +23 -3
  151. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/compress/ccr.py +4 -0
  152. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/compress/router.py +6 -1
  153. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/config/__init__.py +5 -0
  154. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/config/store.py +6 -4
  155. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/proxy/_helpers.py +15 -5
  156. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/proxy/capture.py +3 -2
  157. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/proxy/server.py +2 -2
  158. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/storage/db.py +14 -13
  159. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/agentic.py +1 -1
  160. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/ann_index.py +1 -1
  161. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/bm25_channel.py +35 -11
  162. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/bridge_discovery.py +73 -8
  163. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/engine.py +169 -79
  164. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/entity_channel.py +289 -67
  165. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/forgetting_filter.py +1 -1
  166. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/fusion.py +1 -1
  167. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/hopfield_channel.py +118 -30
  168. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/profile_channel.py +1 -1
  169. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/quantization_aware_search.py +16 -10
  170. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/reranker.py +56 -20
  171. superlocalmemory-3.7.0/src/superlocalmemory/retrieval/scope_policy.py +85 -0
  172. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/semantic_channel.py +122 -14
  173. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/spreading_activation.py +141 -25
  174. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/strategy.py +1 -1
  175. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/temporal_channel.py +30 -15
  176. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/vector_store.py +1 -1
  177. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/api.py +10 -7
  178. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/bandit_loops.py +4 -2
  179. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/recall_serializer.py +24 -0
  180. superlocalmemory-3.7.0/src/superlocalmemory/server/route_mutations.py +84 -0
  181. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/agents.py +8 -6
  182. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/brain.py +14 -12
  183. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/chat.py +29 -12
  184. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/data_io.py +55 -24
  185. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/helpers.py +29 -4
  186. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/ingest.py +53 -36
  187. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/memories.py +104 -43
  188. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/mesh.py +31 -0
  189. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/profiles.py +26 -4
  190. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/tiers.py +43 -11
  191. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/timeline.py +5 -1
  192. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/v3_api.py +76 -21
  193. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/security_middleware.py +1 -1
  194. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/ui.py +6 -3
  195. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/unified_daemon.py +680 -293
  196. superlocalmemory-3.7.0/src/superlocalmemory/server/write_identity.py +147 -0
  197. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/access_log.py +4 -3
  198. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/database.py +118 -25
  199. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migration_runner.py +84 -1
  200. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migration_v33.py +1 -1
  201. superlocalmemory-3.7.0/src/superlocalmemory/storage/migrations/M002_model_state_history.py +78 -0
  202. superlocalmemory-3.7.0/src/superlocalmemory/storage/migrations/M018_ingestion_operations.py +120 -0
  203. superlocalmemory-3.7.0/src/superlocalmemory/storage/migrations/M019_derivation_lineage.py +54 -0
  204. superlocalmemory-3.7.0/src/superlocalmemory/storage/migrations/M020_model_state_integrity.py +52 -0
  205. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migrations/__init__.py +5 -0
  206. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/models.py +16 -0
  207. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/quantized_store.py +20 -3
  208. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/v2_migrator.py +5 -3
  209. superlocalmemory-3.7.0/src/superlocalmemory/ui/favicon.svg +5 -0
  210. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/index.html +1 -0
  211. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/compliance.js +1 -1
  212. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/core.js +49 -8
  213. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/dashboard.js +23 -2
  214. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/feedback.js +1 -1
  215. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/graph-filters.js +1 -1
  216. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/graph-ui.js +1 -1
  217. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/lifecycle.js +1 -1
  218. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/ng-mesh.js +15 -49
  219. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/settings.js +4 -2
  220. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/vector/lancedb_backend.py +57 -9
  221. superlocalmemory-3.7.0/src/superlocalmemory.egg-info/PKG-INFO +724 -0
  222. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory.egg-info/SOURCES.txt +35 -0
  223. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory.egg-info/requires.txt +14 -1
  224. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_before_web_hook.py +1 -1
  225. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_final_locomo_mini.py +65 -27
  226. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_hook_handlers.py +28 -13
  227. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_infra.py +2 -1
  228. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_injection.py +40 -3
  229. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_migration.py +6 -1
  230. superlocalmemory-3.7.0/tests/test_resource_lifecycle.py +151 -0
  231. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_version_consistency.py +106 -13
  232. superlocalmemory-3.6.22/PKG-INFO +0 -513
  233. superlocalmemory-3.6.22/README.md +0 -419
  234. superlocalmemory-3.6.22/src/superlocalmemory/cli/daemon.py +0 -410
  235. superlocalmemory-3.6.22/src/superlocalmemory/mcp/shared.py +0 -27
  236. superlocalmemory-3.6.22/src/superlocalmemory/storage/migrations/M002_model_state_history.py +0 -132
  237. superlocalmemory-3.6.22/src/superlocalmemory.egg-info/PKG-INFO +0 -513
  238. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/AUTHORS.md +0 -0
  239. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/LICENSE +0 -0
  240. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/NOTICE +0 -0
  241. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/setup.cfg +0 -0
  242. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/attribution/__init__.py +0 -0
  243. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/__init__.py +0 -0
  244. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/cache_cmd.py +0 -0
  245. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/compress_cmd.py +0 -0
  246. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/escape_hatch.py +0 -0
  247. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/help_cmd.py +0 -0
  248. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/json_output.py +0 -0
  249. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/migrate_cmd.py +0 -0
  250. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/optimize_cmd.py +0 -0
  251. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/optimize_constants.py +0 -0
  252. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/post_install.py +0 -0
  253. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/proxy_cmd.py +0 -0
  254. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/cli/wizard_v3426_options.py +0 -0
  255. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/__init__.py +0 -0
  256. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/blast_radius.py +0 -0
  257. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/bridge/__init__.py +0 -0
  258. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/bridge/entity_resolver.py +0 -0
  259. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/bridge/event_listeners.py +0 -0
  260. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/bridge/fact_enricher.py +0 -0
  261. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/bridge/hebbian_linker.py +0 -0
  262. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/bridge/temporal_checker.py +0 -0
  263. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/changes.py +0 -0
  264. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/communities.py +0 -0
  265. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/database.py +0 -0
  266. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/extractors/__init__.py +0 -0
  267. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/extractors/python.py +0 -0
  268. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/extractors/typescript.py +0 -0
  269. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/flows.py +0 -0
  270. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/git_hooks.py +0 -0
  271. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/graph_engine.py +0 -0
  272. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/graph_store.py +0 -0
  273. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/incremental.py +0 -0
  274. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/models.py +0 -0
  275. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/parser.py +0 -0
  276. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/resolver.py +0 -0
  277. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/search.py +0 -0
  278. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/service.py +0 -0
  279. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/code_graph/watcher.py +0 -0
  280. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/compliance/__init__.py +0 -0
  281. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/compliance/abac.py +0 -0
  282. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/compliance/audit.py +0 -0
  283. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/compliance/eu_ai_act.py +0 -0
  284. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/compliance/gdpr.py +0 -0
  285. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/compliance/lifecycle.py +0 -0
  286. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/compliance/retention.py +0 -0
  287. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/compliance/scheduler.py +0 -0
  288. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/__init__.py +0 -0
  289. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/block_hygiene.py +0 -0
  290. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/clock_monitor.py +0 -0
  291. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/db_pool.py +0 -0
  292. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/engine_capabilities.py +0 -0
  293. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/engine_lock.py +0 -0
  294. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/error_catalog.py +0 -0
  295. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/error_envelope.py +0 -0
  296. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/file_lock.py +0 -0
  297. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/graph_pruner.py +0 -0
  298. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/hooks.py +0 -0
  299. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/ingest_gate.py +0 -0
  300. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/loop_watchdog.py +0 -0
  301. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/mcp_embedder_proxy.py +0 -0
  302. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/modes.py +0 -0
  303. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/ollama_embedder.py +0 -0
  304. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/priority_queue.py +0 -0
  305. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/profiles.py +0 -0
  306. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/pruning_engine.py +0 -0
  307. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/queue_consumer.py +0 -0
  308. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/queue_dispatcher.py +0 -0
  309. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/recall_gate.py +0 -0
  310. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/recall_queue.py +0 -0
  311. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/remote_mode.py +0 -0
  312. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/reranker_worker.py +0 -0
  313. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/safe_fs.py +0 -0
  314. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/shadow_router.py +0 -0
  315. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/slmignore.py +0 -0
  316. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/summarizer.py +0 -0
  317. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/core/topic_signature.py +0 -0
  318. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/dynamics/__init__.py +0 -0
  319. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/encoding/__init__.py +0 -0
  320. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/encoding/context_generator.py +0 -0
  321. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/encoding/emotional.py +0 -0
  322. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/encoding/entity_resolver.py +0 -0
  323. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/encoding/entropy_gate.py +0 -0
  324. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/encoding/observation_builder.py +0 -0
  325. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/encoding/scene_builder.py +0 -0
  326. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/encoding/signal_inference.py +0 -0
  327. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/encoding/temporal_validator.py +0 -0
  328. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/encoding/type_router.py +0 -0
  329. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/evolution/__init__.py +0 -0
  330. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/evolution/blind_verifier.py +0 -0
  331. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/evolution/budget.py +0 -0
  332. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/evolution/evolution_store.py +0 -0
  333. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/evolution/llm_dispatch.py +0 -0
  334. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/evolution/mutation_generator.py +0 -0
  335. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/evolution/triggers.py +0 -0
  336. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/evolution/types.py +0 -0
  337. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/graph/__init__.py +0 -0
  338. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/__init__.py +0 -0
  339. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/adapter_base.py +0 -0
  340. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/auto_capture.py +0 -0
  341. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/auto_parameterize.py +0 -0
  342. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/cross_platform_connector.py +0 -0
  343. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/ide_connector.py +0 -0
  344. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/portable_kit.py +0 -0
  345. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/post_tool_outcome_hook.py +0 -0
  346. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/prewarm_auth.py +0 -0
  347. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/rules_engine.py +0 -0
  348. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/hooks/sync_loop.py +0 -0
  349. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/infra/__init__.py +0 -0
  350. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/infra/cache_manager.py +0 -0
  351. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/infra/heartbeat_monitor.py +0 -0
  352. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/infra/pid_manager.py +0 -0
  353. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/infra/rate_limiter.py +0 -0
  354. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/infra/webhook_dispatcher.py +0 -0
  355. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ingestion/__init__.py +0 -0
  356. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ingestion/parsers.py +0 -0
  357. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/__init__.py +0 -0
  358. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/adaptive.py +0 -0
  359. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/arm_catalog.py +0 -0
  360. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/assertion_miner.py +0 -0
  361. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/bandit.py +0 -0
  362. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/bandit_cache.py +0 -0
  363. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/behavioral.py +0 -0
  364. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/behavioral_listener.py +0 -0
  365. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/bootstrap.py +0 -0
  366. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/consolidation_cycle.py +0 -0
  367. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/consolidation_worker.py +0 -0
  368. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/cross_project.py +0 -0
  369. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/database.py +0 -0
  370. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/dedup_hnsw.py +0 -0
  371. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/engagement.py +0 -0
  372. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/fact_outcome_joins.py +0 -0
  373. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/features.py +0 -0
  374. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/hnsw_dedup.py +0 -0
  375. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/labeler.py +0 -0
  376. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/legacy_migration.py +0 -0
  377. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/lightgbm_subprocess.py +0 -0
  378. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/memory_merge.py +0 -0
  379. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/model_cache.py +0 -0
  380. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/model_rollback.py +0 -0
  381. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/outcome_queue.py +0 -0
  382. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/outcomes.py +0 -0
  383. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/pattern_miner.py +0 -0
  384. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/pattern_miner_constants.py +0 -0
  385. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/project_context.py +0 -0
  386. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/ranker_common.py +0 -0
  387. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/ranker_retrain_legacy.py +0 -0
  388. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/ranker_retrain_online.py +0 -0
  389. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/reward.py +0 -0
  390. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/reward_archive.py +0 -0
  391. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/reward_boost.py +0 -0
  392. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/reward_proxy.py +0 -0
  393. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/shadow_test.py +0 -0
  394. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/signal_worker.py +0 -0
  395. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/signals.py +0 -0
  396. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/skill_performance_miner.py +0 -0
  397. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/learning/workflows.py +0 -0
  398. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/llm/__init__.py +0 -0
  399. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/math/__init__.py +0 -0
  400. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/__init__.py +0 -0
  401. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/_stdin_guard.py +0 -0
  402. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/agent_context.py +0 -0
  403. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/cli_fallback.py +0 -0
  404. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/resources.py +0 -0
  405. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/tools.py +0 -0
  406. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/tools_code_graph.py +0 -0
  407. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mcp/tools_context.py +0 -0
  408. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/mesh/__init__.py +0 -0
  409. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/migrations/__init__.py +0 -0
  410. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/migrations/v3_4_25_to_v3_4_26.py +0 -0
  411. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/__init__.py +0 -0
  412. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/adapters/__init__.py +0 -0
  413. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/adapters/_agent_registry.py +0 -0
  414. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/adapters/anthropic_adapter.py +0 -0
  415. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/adapters/openai_adapter.py +0 -0
  416. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/adapters/wrap.py +0 -0
  417. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/cache/__init__.py +0 -0
  418. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/cache/boundary_store.py +0 -0
  419. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/cache/centroid_store.py +0 -0
  420. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/cache/context_key.py +0 -0
  421. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/cache/exact.py +0 -0
  422. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/cache/invalidation.py +0 -0
  423. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/cache/key_builder.py +0 -0
  424. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/cache/stampede.py +0 -0
  425. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/compress/__init__.py +0 -0
  426. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/compress/align.py +0 -0
  427. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/compress/prose_llmlingua.py +0 -0
  428. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/config/defaults.py +0 -0
  429. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/config/schema.py +0 -0
  430. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/metrics/__init__.py +0 -0
  431. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/metrics/counters.py +0 -0
  432. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/metrics/estimator.py +0 -0
  433. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/metrics/exporters.py +0 -0
  434. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/metrics/persistence.py +0 -0
  435. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/proxy/__init__.py +0 -0
  436. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/proxy/anthropic_surface.py +0 -0
  437. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/proxy/gemini_surface.py +0 -0
  438. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/proxy/lifecycle.py +0 -0
  439. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/proxy/openai_surface.py +0 -0
  440. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/proxy/vertex_surface.py +0 -0
  441. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/storage/__init__.py +0 -0
  442. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/optimize/storage/schema.py +0 -0
  443. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/parameterization/__init__.py +0 -0
  444. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/parameterization/pattern_extractor.py +0 -0
  445. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/parameterization/pii_filter.py +0 -0
  446. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/parameterization/prompt_injector.py +0 -0
  447. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/parameterization/prompt_lifecycle.py +0 -0
  448. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/parameterization/soft_prompt_generator.py +0 -0
  449. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/__init__.py +0 -0
  450. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/retrieval/channel_registry.py +0 -0
  451. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/__init__.py +0 -0
  452. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/middleware/__init__.py +0 -0
  453. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/middleware/security_headers.py +0 -0
  454. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/recall_health.py +0 -0
  455. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/__init__.py +0 -0
  456. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/adapters.py +0 -0
  457. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/backup.py +0 -0
  458. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/behavioral.py +0 -0
  459. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/compliance.py +0 -0
  460. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/entity.py +0 -0
  461. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/events.py +0 -0
  462. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/evolution.py +0 -0
  463. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/insights.py +0 -0
  464. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/learning.py +0 -0
  465. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/lifecycle.py +0 -0
  466. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/optimize.py +0 -0
  467. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/prewarm.py +0 -0
  468. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/stats.py +0 -0
  469. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/token.py +0 -0
  470. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/server/routes/ws.py +0 -0
  471. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/__init__.py +0 -0
  472. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/access_control.py +0 -0
  473. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/embedding_migrator.py +0 -0
  474. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migrations/M001_add_signal_features_columns.py +0 -0
  475. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migrations/M003_migration_log.py +0 -0
  476. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migrations/M004_cross_platform_sync_log.py +0 -0
  477. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migrations/M005_bandit_tables.py +0 -0
  478. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migrations/M006_action_outcomes_reward.py +0 -0
  479. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migrations/M007_pending_outcomes.py +0 -0
  480. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migrations/M009_model_lineage.py +0 -0
  481. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migrations/M010_evolution_config.py +0 -0
  482. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migrations/M011_archive_and_merge.py +0 -0
  483. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migrations/M012_shadow_observations.py +0 -0
  484. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migrations/M013_bi_temporal_columns.py +0 -0
  485. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migrations/M014_v345_scale_ready.py +0 -0
  486. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migrations/M015_add_pinned_column.py +0 -0
  487. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migrations/M016_add_scope_support.py +0 -0
  488. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migrations/M017_ccq_scope_column.py +0 -0
  489. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/migrations.py +0 -0
  490. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/schema.py +0 -0
  491. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/schema_code_graph.py +0 -0
  492. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/schema_v32.py +0 -0
  493. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/schema_v3410.py +0 -0
  494. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/schema_v3411.py +0 -0
  495. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/schema_v343.py +0 -0
  496. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/schema_v345.py +0 -0
  497. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/storage/schema_v347.py +0 -0
  498. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/trust/__init__.py +0 -0
  499. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/trust/gate.py +0 -0
  500. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/trust/provenance.py +0 -0
  501. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/trust/scorer.py +0 -0
  502. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/trust/signals.py +0 -0
  503. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/css/brain.css +0 -0
  504. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/css/legacy-dashboard.css +0 -0
  505. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/css/neural-glass.css +0 -0
  506. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/agents.js +0 -0
  507. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/auto-settings.js +0 -0
  508. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/brain.js +0 -0
  509. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/clusters.js +0 -0
  510. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/events.js +0 -0
  511. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/fact-detail.js +0 -0
  512. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/graph-event-bus.js +0 -0
  513. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/ide-status.js +0 -0
  514. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/init.js +0 -0
  515. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/knowledge-graph.js +0 -0
  516. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/math-health.js +0 -0
  517. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/memories.js +0 -0
  518. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/memory-chat.js +0 -0
  519. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/memory-timeline.js +0 -0
  520. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/modal.js +0 -0
  521. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/ng-entities.js +0 -0
  522. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/ng-health.js +0 -0
  523. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/ng-ingestion.js +0 -0
  524. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/ng-shell.js +0 -0
  525. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/ng-skills.js +0 -0
  526. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/optimize.js +0 -0
  527. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/profiles.js +0 -0
  528. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/quick-actions.js +0 -0
  529. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/recall-lab.js +0 -0
  530. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/search.js +0 -0
  531. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/timeline.js +0 -0
  532. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/js/trust-dashboard.js +0 -0
  533. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/vendor/bootstrap-icons/bootstrap-icons.css +0 -0
  534. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/vendor/bootstrap-icons/fonts/bootstrap-icons.woff +0 -0
  535. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2 +0 -0
  536. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/vendor/bootstrap.bundle.min.js +0 -0
  537. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/vendor/bootstrap.min.css +0 -0
  538. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/vendor/d3.v7.min.js +0 -0
  539. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/vendor/graphology-library.min.js +0 -0
  540. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/vendor/graphology.umd.min.js +0 -0
  541. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/vendor/inter-ui/inter-variable.min.css +0 -0
  542. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/vendor/inter-ui/variable/InterVariable-Italic.woff2 +0 -0
  543. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/vendor/inter-ui/variable/InterVariable.woff2 +0 -0
  544. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/ui/vendor/sigma.min.js +0 -0
  545. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory/vector/__init__.py +0 -0
  546. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory.egg-info/dependency_links.txt +0 -0
  547. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory.egg-info/entry_points.txt +0 -0
  548. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/src/superlocalmemory.egg-info/top_level.txt +0 -0
  549. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_auto_hooks.py +0 -0
  550. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_behavioral_full.py +0 -0
  551. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_claude_hooks.py +0 -0
  552. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_cli_core.py +0 -0
  553. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_cli_json.py +0 -0
  554. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_cli_v33.py +0 -0
  555. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_compliance_full.py +0 -0
  556. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_config_system.py +0 -0
  557. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_dashboard_preserve_embedding.py +0 -0
  558. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_engine_hooks.py +0 -0
  559. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_event_bus.py +0 -0
  560. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_features.py +0 -0
  561. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_graph_integrity.py +0 -0
  562. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_ide_connector.py +0 -0
  563. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_learning_advanced.py +0 -0
  564. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_learning_collectors.py +0 -0
  565. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_llm_provider.py +0 -0
  566. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_mcp_server.py +0 -0
  567. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_mode_switch_preservation.py +0 -0
  568. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_post_install.py +0 -0
  569. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_ranker.py +0 -0
  570. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_topic_shift_hook.py +0 -0
  571. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_trust_full.py +0 -0
  572. {superlocalmemory-3.6.22 → superlocalmemory-3.7.0}/tests/test_v3_api.py +0 -0
@@ -0,0 +1,724 @@
1
+ Metadata-Version: 2.4
2
+ Name: superlocalmemory
3
+ Version: 3.7.0
4
+ Summary: Local-first agent memory with auditable hybrid retrieval
5
+ Author-email: Varun Pratap Bhardwaj <admin@superlocalmemory.com>
6
+ License-Expression: AGPL-3.0-or-later
7
+ Project-URL: Homepage, https://superlocalmemory.com
8
+ Project-URL: Repository, https://github.com/qualixar/superlocalmemory
9
+ Project-URL: Documentation, https://github.com/qualixar/superlocalmemory/wiki
10
+ Project-URL: Issues, https://github.com/qualixar/superlocalmemory/issues
11
+ Keywords: ai-memory,mcp-server,local-first,agent-memory,information-geometry,privacy-first,eu-ai-act
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Operating System :: MacOS
16
+ Classifier: Operating System :: Microsoft :: Windows
17
+ Classifier: Operating System :: POSIX :: Linux
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Programming Language :: Python :: 3.14
22
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
23
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
24
+ Requires-Python: <3.15,>=3.11
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE
27
+ License-File: NOTICE
28
+ Requires-Dist: httpx==0.28.1
29
+ Requires-Dist: numpy==2.4.4
30
+ Requires-Dist: scipy==1.17.1
31
+ Requires-Dist: networkx==3.6.1
32
+ Requires-Dist: mcp==1.27.1
33
+ Requires-Dist: python-dateutil==2.9.0.post0
34
+ Requires-Dist: rank-bm25==0.2.2
35
+ Requires-Dist: vadersentiment==3.3.2
36
+ Requires-Dist: einops==0.8.2
37
+ Requires-Dist: fastapi[all]==0.136.1
38
+ Requires-Dist: uvicorn==0.46.0
39
+ Requires-Dist: websockets==16.0
40
+ Requires-Dist: zeroconf>=0.140
41
+ Requires-Dist: lightgbm==4.6.0
42
+ Requires-Dist: orjson==3.11.9
43
+ Requires-Dist: tomli-w==1.2.0
44
+ Requires-Dist: tree-sitter==0.25.2
45
+ Requires-Dist: tree-sitter-language-pack==0.13.0
46
+ Requires-Dist: rustworkx==0.17.1
47
+ Requires-Dist: watchdog==5.0.3
48
+ Requires-Dist: psutil==7.2.2
49
+ Requires-Dist: structlog==25.5.0
50
+ Requires-Dist: portalocker==3.2.0
51
+ Requires-Dist: cryptography==45.0.2
52
+ Requires-Dist: sentence-transformers==5.3.0
53
+ Requires-Dist: optimum==2.1.0
54
+ Requires-Dist: onnxruntime==1.24.4
55
+ Requires-Dist: transformers==4.57.6
56
+ Requires-Dist: huggingface_hub==0.36.2
57
+ Requires-Dist: torch==2.11.0
58
+ Requires-Dist: scikit-learn==1.8.0
59
+ Requires-Dist: sqlite-vec==0.1.9
60
+ Requires-Dist: lancedb==0.30.2
61
+ Requires-Dist: pycozo[embedded]==0.3.0
62
+ Requires-Dist: llmlingua==0.2.2
63
+ Provides-Extra: search
64
+ Requires-Dist: sentence-transformers==5.3.0; extra == "search"
65
+ Requires-Dist: optimum==2.1.0; extra == "search"
66
+ Requires-Dist: einops==0.8.2; extra == "search"
67
+ Requires-Dist: torch==2.11.0; extra == "search"
68
+ Requires-Dist: scikit-learn==1.8.0; extra == "search"
69
+ Requires-Dist: geoopt>=0.5.0; extra == "search"
70
+ Requires-Dist: onnxruntime==1.24.4; extra == "search"
71
+ Provides-Extra: ui
72
+ Requires-Dist: fastapi[all]>=0.135.1; extra == "ui"
73
+ Requires-Dist: uvicorn>=0.42.0; extra == "ui"
74
+ Requires-Dist: python-multipart<1.0.0,>=0.0.6; extra == "ui"
75
+ Provides-Extra: injection
76
+ Requires-Dist: tiktoken>=0.8.0; extra == "injection"
77
+ Provides-Extra: learning
78
+ Requires-Dist: lightgbm>=4.0.0; extra == "learning"
79
+ Provides-Extra: performance
80
+ Requires-Dist: orjson>=3.9.0; extra == "performance"
81
+ Provides-Extra: lancedb
82
+ Requires-Dist: lancedb==0.30.2; extra == "lancedb"
83
+ Provides-Extra: cozo
84
+ Requires-Dist: pycozo[embedded]==0.3.0; extra == "cozo"
85
+ Provides-Extra: scale
86
+ Requires-Dist: lancedb==0.30.2; extra == "scale"
87
+ Requires-Dist: pycozo[embedded]==0.3.0; extra == "scale"
88
+ Provides-Extra: ingestion
89
+ Requires-Dist: keyring>=25.0.0; extra == "ingestion"
90
+ Requires-Dist: google-auth-oauthlib>=1.2.0; extra == "ingestion"
91
+ Requires-Dist: google-api-python-client>=2.100.0; extra == "ingestion"
92
+ Requires-Dist: icalendar>=6.0.0; extra == "ingestion"
93
+ Provides-Extra: full
94
+ Requires-Dist: superlocalmemory[ingestion,injection,learning,performance,scale,search,ui]; extra == "full"
95
+ Provides-Extra: dev
96
+ Requires-Dist: pytest>=8.0; extra == "dev"
97
+ Requires-Dist: pytest-cov>=4.1; extra == "dev"
98
+ Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
99
+ Requires-Dist: sqlite-vec>=0.1.6; extra == "dev"
100
+ Requires-Dist: httpx2==2.5.0; extra == "dev"
101
+ Dynamic: license-file
102
+
103
+ <p align="center">
104
+ <img src="https://superlocalmemory.com/assets/logo-mark.png" alt="SuperLocalMemory" width="200"/>
105
+ </p>
106
+
107
+ <h1 align="center">SuperLocalMemory V3.7</h1>
108
+ <p align="center"><strong>Cache. Compress. Remember. Three surfaces — proxy, MCP tools, or skill. Every setup covered.</strong><br/>
109
+ <em>Local-first agent memory with explicit operating modes, auditable retrieval, and optional Optimize tools.</em></p>
110
+ <p align="center"><code>v3.7.0</code> — <strong>Release package; registry publication gate pending.</strong><br/>
111
+ Proxy: <code>slm wrap claude</code> &nbsp;·&nbsp; MCP: add <code>slm_compress</code> to your config &nbsp;·&nbsp; Skill: zero-config</p>
112
+ <p align="center"><strong>3 public research preprints</strong> (arXiv + Zenodo archives) · <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>
113
+
114
+ <p align="center">
115
+ <a href="https://arxiv.org/abs/2603.14588"><img src="https://img.shields.io/badge/arXiv-2603.14588-b31b1b?style=for-the-badge&logo=arxiv&logoColor=white" alt="arXiv Paper"/></a>
116
+ <a href="#three-surfaces-proxy--mcp-tools--skill"><img src="https://img.shields.io/badge/Proxy_|_MCP_|_Skill-22c55e?style=for-the-badge" alt="Three Surfaces: Proxy, MCP Tools, Skill"/></a>
117
+ <a href="https://pypi.org/project/superlocalmemory/"><img src="https://img.shields.io/pypi/v/superlocalmemory?style=for-the-badge&logo=pypi&logoColor=white" alt="PyPI"/></a>
118
+ <a href="https://www.npmjs.com/package/superlocalmemory"><img src="https://img.shields.io/npm/v/superlocalmemory?style=for-the-badge&logo=npm&logoColor=white" alt="npm"/></a>
119
+ <a href="https://www.gnu.org/licenses/agpl-3.0"><img src="https://img.shields.io/badge/License-AGPL_v3-blue.svg?style=for-the-badge" alt="AGPL v3"/></a>
120
+ <a href="#privacy-controls-and-operating-modes"><img src="https://img.shields.io/badge/Privacy-Deployment_Assessed-brightgreen?style=for-the-badge" alt="Privacy controls require deployment assessment"/></a>
121
+ <a href="https://superlocalmemory.com"><img src="https://img.shields.io/badge/Web-superlocalmemory.com-ff6b35?style=for-the-badge" alt="Website"/></a>
122
+ <a href="#dual-interface-mcp--cli"><img src="https://img.shields.io/badge/MCP-Native-blue?style=for-the-badge" alt="MCP Native"/></a>
123
+ <a href="#dual-interface-mcp--cli"><img src="https://img.shields.io/badge/CLI-Agent--Native-green?style=for-the-badge" alt="CLI Agent-Native"/></a>
124
+ <a href="#multilingual-embedding-support"><img src="https://img.shields.io/badge/Multilingual-30%2B_Languages-ff69b4?style=for-the-badge" alt="Multilingual 30+ Languages"/></a>
125
+ </p>
126
+
127
+ ---
128
+
129
+ ## Why SuperLocalMemory?
130
+
131
+ Agent-memory systems make different storage, model-provider, and deployment trade-offs. SuperLocalMemory starts with a local runtime and makes provider-backed enrichment, cloud backup, connectors, and proxy use explicit choices.
132
+
133
+ SuperLocalMemory V3 combines conventional dense and lexical retrieval with graph, temporal, associative, and Fisher-informed scoring. The default local runtime does not require Docker, a separately operated graph database, or an API key.
134
+
135
+ **Published benchmark evidence carried into V3.7:** the architecture evaluated
136
+ in the V3 paper remains the foundation of this release. The figures below keep
137
+ their original LoCoMo protocol, answer-construction, model, and sample scope;
138
+ they are not a claim of a newly rerun 3.7 package benchmark.
139
+
140
+ ### How SLM fits beside other memory systems
141
+
142
+ Different products solve different boundaries. SLM is for developers who want
143
+ one local-first operating control plane—not only an SDK, managed context API,
144
+ or agent runtime. It combines dated evidence, graph-aware retrieval, cache and
145
+ compression controls, trusted-peer Mesh, and MCP/CLI/hooks/dashboard/IDE
146
+ surfaces in one install.
147
+
148
+ | If your primary need is… | Product boundary to evaluate |
149
+ |---|---|
150
+ | Local-first agent memory plus operations, optimization, and IDE-agent surfaces | **SuperLocalMemory** — Mode A local core; Modes B/C by explicit choice. |
151
+ | A memory SDK, self-hosted server, or managed platform | [Mem0](https://github.com/mem0ai/mem0) |
152
+ | A temporal context-graph service or graph engine | [Zep / Graphiti](https://github.com/getzep/graphiti) |
153
+ | A stateful agent runtime with memory blocks and archival memory | [Letta](https://docs.letta.com/guides/core-concepts/memory/context-hierarchy) |
154
+ | LangGraph-native memory primitives and managers | [LangMem](https://github.com/langchain-ai/langmem) |
155
+ | A context API/app with profiles, connectors, and RAG | [Supermemory](https://github.com/supermemoryai/supermemory) |
156
+ | User profiles and event-timeline memory | [Memobase](https://github.com/memodb-io/memobase) |
157
+
158
+ See the [source-linked market comparison](https://superlocalmemory.com/comparison)
159
+ for current primary sources and protocol-scoped benchmark evidence. A LoCoMo
160
+ percentage is comparable only when the dataset scope, answer model, judge,
161
+ retrieval stack, and release artifact match.
162
+
163
+ ### The V3.7 capability architecture
164
+
165
+ SuperLocalMemory is one local control plane for persistent agent context. It is
166
+ not just a vector store: the same runtime can accept evidence, build and govern
167
+ memory, retrieve bounded evidence for an agent, and expose cache, compression,
168
+ and peer-coordination controls through a CLI, MCP, dashboard, and supported
169
+ IDE integrations.
170
+
171
+ ![SuperLocalMemory V3.7 capability architecture: modes, seven operating layers, Scale Engine, Mesh, delivery surfaces, and opt-in adapters](docs/assets/slm-v37-capability-architecture.png)
172
+
173
+ *Architecture boundary: SQLite + sqlite-vec remain canonical; CozoDB and
174
+ LanceDB are parity-gated projections; Mesh coordinates trusted peers rather
175
+ than replicating a distributed memory database; connectors are opt-in.*
176
+
177
+ **Memory boundaries:** profiles isolate workspaces by default. Every memory is
178
+ `personal`, `shared` with named profile readers, or `global`; cross-profile
179
+ recall is default-deny and must be explicitly enabled. This scoped sharing is
180
+ local authorization, not SLM Mesh synchronization. See
181
+ [shared-memory.md](docs/shared-memory.md).
182
+
183
+ ```text
184
+ IDEs, agents, scripts, connectors, and humans
185
+ │ CLI · MCP (HTTP/stdio) · hooks · dashboard
186
+
187
+ ┌────────────────────────── SLM CONTROL PLANE ──────────────────────────┐
188
+ │ 1. Admission identity, scope, idempotency, raw evidence │
189
+ │ 2. Queryable core SQLite facts + FTS durable receipt │
190
+ │ 3. Enrichment facts, entities, scenes, time, provenance, graph │
191
+ │ 4. Memory brain feedback, patterns, rewards, consolidation │
192
+ │ 5. Retrieval semantic · BM25 · temporal · Hopfield · activation │
193
+ │ 6. Context safety policy, trust, provenance, redaction, budgets │
194
+ │ 7. Operations lifecycle, audit, cache/compress, mesh, backups │
195
+ └───────────────────────────────────────────────────────────────────────┘
196
+
197
+
198
+ SQLite + sqlite-vec canonical store ──► optional graph/vector projections
199
+ ```
200
+
201
+ The seven stages are an execution model, not a promise that every optional
202
+ enricher or retrieval channel runs for every request. The receipt, trace, and
203
+ health surfaces expose the stages actually completed by the installed runtime.
204
+
205
+ | Capability | What ships today | Operator boundary |
206
+ |---|---|---|
207
+ | **Memory types and lifecycle** | Atomic facts, episodic scenes, temporal events, canonical entities, profiles/scopes, consolidation, forgetting and retention controls | Lifecycle policies and retention decisions remain operator-configured. |
208
+ | **Memory boundaries** | Profile-isolated workspaces plus `personal`, `shared`, and `global` memory scopes | Personal is the default; shared/global recall requires explicit scope policy or per-call opt-in. |
209
+ | **Ingestion** | Durable raw-to-complete operation state, fact extraction, entity resolution, graph/temporal/provenance derivations, and replay-safe identity | `--sync` waits for declared stages; dependencies and mode determine which enrichers are available. |
210
+ | **Retrieval and recall** | Semantic, lexical, temporal, Hopfield and spreading-activation candidate channels; RRF fusion, optional reranking and graph score enhancement | Healthy channels participate; response provenance states the evidence used. |
211
+ | **Brain and learning** | Behavioral patterns, feedback/outcome records, rewards, consolidation, LightGBM-related ranking components, soft prompts, and guarded skill-evolution workflows | Learning is evidence-driven; it does not claim autonomous correctness or guaranteed improvement. |
212
+ | **Knowledge graph and entities** | Canonical entities, aliases, entity profiles, graph edges, scenes, timelines, explorer and graph APIs | Stored/derived graph data is evidence, not an instruction authority. |
213
+ | **Scale Engine** | SQLite + sqlite-vec are canonical. CozoDB graph and LanceDB vector projections are packaged and managed with prepare → verify → promote → rollback | Promotion is explicit and parity-gated; do not advertise an unverified projection as the source of truth. |
214
+ | **Optimize** | Exact cache, tagged invalidation, safe compression, opt-in aggressive prose compression, CCR originals, proxy/MCP/skill surfaces | Only proxy intercepts a primary provider turn. MCP/skill cache results explicitly routed through SLM. |
215
+ | **Mesh** | Authenticated peer messages, inbox/outbox, locks, offline queue, optional discovery and mesh MCP tools | Mesh is coordination, not automatic replicated memory or conflict resolution. |
216
+ | **Governance and operations** | Provenance, audit/retention/policy surfaces, export/erasure controls, diagnostics, health, backups and daemon lifecycle | These are engineering controls, not a legal certification. |
217
+ | **Integrations** | CLI, Python SDK, MCP HTTP/stdio, Claude plugin, Codex add-on, supported IDE configurations, Gmail/Calendar/transcript adapters | Hooks, IDE edits, connectors, and networked adapters require explicit operator activation. |
218
+
219
+ ### What the dashboard exposes
220
+
221
+ `slm dashboard` opens a local operational view of the same control plane:
222
+
223
+ | Workspace | Use it to inspect or control |
224
+ |---|---|
225
+ | Dashboard and Health | daemon identity, storage/runtime health, diagnostics and recent activity |
226
+ | Brain | consolidation, behavioral patterns, outcomes/rewards, learning state and soft prompts |
227
+ | Knowledge Graph and Memories | graph neighborhoods, entities, scenes, temporal evidence, memory inspection and mutation |
228
+ | Operations | ingestion-operation state, traces, maintenance and lifecycle work |
229
+ | Entity Explorer and Skill Evolution | compiled entity summaries/timelines; opt-in skill lineage, budgets and verification outcomes |
230
+ | Mesh Peers | configured peers, inbox/outbox, pending coordination and locks |
231
+ | Settings and Optimize | mode/provider/configuration; cache, compression and savings telemetry |
232
+
233
+ Dashboard visibility is not a substitute for runtime proof: use `slm doctor`,
234
+ `slm health`, `slm trace`, and the relevant CLI/MCP operation to validate a
235
+ deployment.
236
+
237
+ ### Watch the product walkthrough
238
+
239
+ [![Watch the SuperLocalMemory demo](https://img.youtube.com/vi/PMWW_ypsL60/hqdefault.jpg)](https://www.youtube.com/watch?v=PMWW_ypsL60)
240
+
241
+ **[Watch the SuperLocalMemory demo on YouTube](https://www.youtube.com/watch?v=PMWW_ypsL60)** — a five-minute walkthrough of installation, setup, recall, cache, and compression. The video shows a product walkthrough; use the commands and release notes in this README as the current release contract.
242
+
243
+ ### Published LoCoMo evidence carried into V3.7
244
+
245
+ The V3 paper evaluates the architecture carried into V3.7. Every figure below
246
+ is protocol-scoped, so a reader can distinguish local retrieval, answer
247
+ construction, and cloud-assisted evaluation rather than treating unlike runs as
248
+ one score.
249
+
250
+ | Published configuration | LoCoMo aggregate | Protocol scope | What the result establishes |
251
+ |---|---:|---|---|
252
+ | **Mode A Raw** | **60.4%** | 10 conversations; 1,276 scored questions; local embeddings, local retrieval, and zero-LLM answer construction | End-to-end local answer construction under the published V3 protocol. |
253
+ | **Mode A Retrieval** | **74.8%** | 10 conversations; 1,276 scored questions; local retrieval, then GPT-4.1-mini answer synthesis | Retrieval evidence: local retrieval contributes the evidence, while the disclosed external model constructs the final answer. |
254
+ | **Mode C** | **87.7%** | Conv-30 only; 81 scored questions; text-embedding-3-large plus GPT-4.1-mini answer generation and judge | Cloud-assisted configuration on one fully disclosed conversation; not a full-dataset result. |
255
+
256
+ Published category results: Mode A Retrieval scored **72.0%** single-hop,
257
+ **70.3%** multi-hop, **80.0%** temporal, and **85.0%** open-domain. Mode C
258
+ scored **64.0%** single-hop, **100.0%** multi-hop, and **86.0%** open-domain
259
+ on its 81-question Conv-30 scope (no temporal category was reported for that
260
+ run). Across six LoCoMo conversations, the paper reports **71.7%** with the
261
+ information-geometric layers versus **58.9%** without them: **+12.7pp**.
262
+
263
+ See [arXiv:2603.14588](https://arxiv.org/abs/2603.14588) and the [official
264
+ LoCoMo paper](https://arxiv.org/abs/2402.17753) for the full protocol,
265
+ ablation table, and limitations. These are published V3 architecture results
266
+ carried into V3.7—not a substitute for a newly rerun release-artifact
267
+ benchmark.
268
+
269
+ ---
270
+
271
+ ## Quick Start
272
+
273
+ ```bash
274
+ # Primary path 1 — npm global CLI (Node 18+)
275
+ # Creates a package-owned virtual environment. It does not modify system Python.
276
+ npm install -g superlocalmemory
277
+ slm setup # Choose mode (A/B/C)
278
+ slm doctor # Verify everything is working
279
+ ```
280
+
281
+ ```bash
282
+ # Primary path 2 — Python CLI + SDK in an activated virtual environment
283
+ python3 -m venv .venv
284
+ source .venv/bin/activate # Windows PowerShell: .venv\Scripts\Activate.ps1
285
+ python -m pip install superlocalmemory
286
+ slm setup
287
+ slm doctor
288
+ ```
289
+
290
+ ```bash
291
+ # First use
292
+ slm remember "Alice works at Google as a Staff Engineer" --json
293
+ slm recall "What does Alice do?"
294
+ slm status
295
+ ```
296
+
297
+ The default daemon write commits raw evidence plus a relational/FTS projection
298
+ and returns a durable receipt in `queryable` state. Enrichment then advances the
299
+ same operation through `enriching` to `complete`, or records a retryable
300
+ `failed` state. Use `slm remember "..." --sync` when the caller must wait for
301
+ all declared derivation and projector stages. JSON output includes the opaque
302
+ `operation_id`, current `materialization_state`, and fact IDs.
303
+
304
+ ```bash
305
+ # Wrap your agent — starts proxy + sets environment + launches agent
306
+ slm wrap claude
307
+ # Your first repeat prompt → CACHE HIT → $0.00
308
+ # See savings: slm optimize savings --since 1
309
+ ```
310
+
311
+ **Upgrading:** use the owner of the installation: `npm update -g superlocalmemory`
312
+ or, while the Python virtual environment is active,
313
+ `python -m pip install --upgrade superlocalmemory`. Then run
314
+ `slm restart && slm doctor`. Repository-clone users use the matching `upgrade`
315
+ action in `scripts/install.sh` or `scripts/install.ps1`. Installers never move
316
+ or delete memory data.
317
+
318
+ ---
319
+
320
+ ## Three Pillars
321
+
322
+ ### Memory
323
+
324
+ <a id="dual-interface-mcp--cli"></a>
325
+
326
+ Current recall has five candidate producers—dense semantic, BM25 lexical,
327
+ temporal, Hopfield associative, and spreading activation—followed by fusion,
328
+ optional reranking, and entity-graph score enhancement. The entity graph does
329
+ not create an independent candidate in the current implementation. Core memory
330
+ is SQLite-backed. SQLite and sqlite-vec remain the canonical source of truth.
331
+ The packaged Scale Engine can maintain CozoDB graph and LanceDB vector
332
+ projections, and it remains outside active retrieval paths until
333
+ `slm db scale prepare`, `verify`, and `promote` prove parity against the
334
+ canonical store. This makes the capability available on a fresh installation
335
+ without silently migrating an existing user's data.
336
+
337
+ Canonical ingestion is a durable state machine: `raw → queryable → enriching →
338
+ complete`, with `failed` retaining raw evidence, error details, attempt count,
339
+ and retry timing. SQLite relational facts and FTS are the queryable checkpoint;
340
+ optional ANN/vector projectors are verified before `complete` is granted.
341
+
342
+ Recalled text is treated as untrusted evidence. Hooks, MCP `session_init`, CLI
343
+ session context, and chat use one bounded renderer that redacts recognized
344
+ secrets, neutralizes forged boundary markers, and attaches provenance. Trusted
345
+ IDE instruction files contain only the static SLM protocol; fresh memory is
346
+ retrieved at runtime rather than copied into those files.
347
+
348
+ **Score Contract v2:** `relevance_score` is query-relative relevance;
349
+ `ranking_score` is internal ranking utility; `memory_confidence` belongs to the
350
+ stored assertion; and `trust_score` is an evidence-policy signal. Legacy
351
+ `score` and `confidence` remain aliases for one compatibility release. V3.7 is
352
+ explicitly uncalibrated: `calibration_status` is `uncalibrated` and
353
+ `answer_confidence` is `null`. See
354
+ [the retrieval score contract](docs/retrieval-score-contract.md).
355
+
356
+ The retrieval/lifecycle implementation includes three mathematical layers that
357
+ can run without a cloud LLM:
358
+
359
+ 1. **Fisher-informed scoring** — dense candidate generation uses cosine similarity; Fisher-derived terms can modify later scoring when their state is available.
360
+ 2. **Sheaf Cohomology for Consistency** — algebraic topology detects contradictions via coboundary norms on the knowledge graph.
361
+ 3. **Riemannian Langevin Lifecycle** — memory positions evolve on the Poincare ball; neglected memories self-archive, no hardcoded thresholds.
362
+
363
+ Auto-capture hooks are installed explicitly with `slm hooks install` (Claude
364
+ Code) or `slm hooks install --agent codex` (Codex). Hook latency and capture
365
+ quality must be evaluated for the target client and workload; V3.7 publishes
366
+ no universal p99 claim.
367
+
368
+ **Multi-scope memory (v3.6.15, opt-in):** keep memories `personal` (default), `shared` with named profiles, or `global` across the machine. Off by default — recall only ever returns your own facts until you turn sharing on, per call or in config. See **[docs/shared-memory.md](docs/shared-memory.md)**.
369
+
370
+ <a id="multilingual-embedding-support"></a>
371
+
372
+ **Multilingual models:** configure an OpenAI-compatible embedding endpoint such as Ollama, vLLM, LiteLLM, `bge-m3`, `multilingual-e5`, or `Qwen3-Embedding`. Language coverage and retrieval quality depend on the selected model and should be evaluated for the deployment corpus.
373
+
374
+ ### Cache + Compress
375
+
376
+ <a id="three-surfaces-proxy--mcp-tools--skill"></a>
377
+
378
+ One engine, three ways in — choose the surface that fits your setup:
379
+
380
+ | Surface | How you use it | Requires proxy? | Window effect | Cache scope |
381
+ |---------|---------------|:---------------:|:-------------:|-------------|
382
+ | **A — Proxy** | `slm wrap claude` or `ANTHROPIC_BASE_URL=http://127.0.0.1:8765` | **Yes** | Shrinks | Full-turn cache — every call |
383
+ | **B — MCP tools** | Add 5 tools to MCP config; call `slm_compress`, `slm_cache_set/get` | **No** | **Preserved (1M)** | Results you explicitly route through SLM |
384
+ | **C — Skill** | Copy `skills/slm-optimize/SKILL.md` → `~/.claude/skills/` | **No** | **Preserved (1M)** | Auto-applied by the agent per skill rules |
385
+
386
+ **The hard constraint:** The primary Claude conversation turn cannot be cached without a proxy. The MCP/skill path caches results you explicitly route through SLM (tool outputs, file reads, sub-model calls) — without a proxy the main conversation turn is not intercepted.
387
+
388
+ **How to choose:**
389
+ - Metered API (pay-per-token), want every call cached → **Proxy (A)**
390
+ - Pro/Max/Team subscription or any plan where you won't run a proxy → **MCP tools (B)** or **Skill (C)**
391
+ - Zero configuration → **Skill (C)**: install once, auto-compresses CLAUDE.md and large outputs
392
+ - Agent-controlled caching of repeated file reads → **MCP tools (B)**
393
+
394
+ **Cache:** exact-match SQLite lookup is the stable cache path. Semantic cache
395
+ controls are experimental until release-linked precision, invalidation, and
396
+ tenant-isolation evidence exists. A cache hit can avoid a provider request, but
397
+ actual cost and latency savings depend on the intercepted surface and provider.
398
+
399
+ **Compress:** safe mode uses conservative normalization and preserves JSON and code; measured reduction varies by content and can be zero. Aggressive prose compression is opt-in and lossy. CCR can retain an original for later byte-exact retrieval when reversible storage is enabled.
400
+
401
+ **Savings dashboard:** `slm optimize savings --since 7` — live USD/INR/tokens saved. Hot-reload config, fail-open.
402
+
403
+ ### Mesh
404
+
405
+ <a id="multi-machine-mesh-coordination"></a>
406
+
407
+ Mesh provides authenticated coordination messages between configured peers, with an offline queue and optional mDNS discovery (`SLM_MESH_DISCOVERY=on`). It is not a replicated or conflict-resolving distributed-memory database.
408
+
409
+ ```bash
410
+ # Machine A (broker)
411
+ export SLM_MESH_HOST=192.168.1.100
412
+ export SLM_MESH_SHARED_SECRET=my-secret-key
413
+ slm init
414
+
415
+ # Machine B (client)
416
+ export SLM_MESH_PEER_URL=http://192.168.1.100:8765
417
+ export SLM_MESH_SHARED_SECRET=my-secret-key
418
+ slm init
419
+ ```
420
+
421
+ 8 mesh MCP tools: `mesh_peers`, `mesh_send`, `mesh_broadcast`, `mesh_project`, `mesh_inbox`, `mesh_pending`, `mesh_state`, `mesh_lock`.
422
+
423
+ Full docs: [docs/multi-machine.md](docs/multi-machine.md) · [docs/distributed-deployment.md](docs/distributed-deployment.md)
424
+
425
+ ---
426
+
427
+ ## Install Paths
428
+
429
+ | Path | Command | When |
430
+ |:-----|:--------|:-----|
431
+ | **npm global CLI** (primary) | `npm install -g superlocalmemory` | Node 18+; package-owned virtual environment; system Python is not modified; run `slm setup` explicitly afterward |
432
+ | **Python CLI + SDK** (primary) | Activate a Python virtual environment, then `python -m pip install superlocalmemory` | Python 3.11+; the `slm` CLI and importable SDK stay inside that environment |
433
+ | **Repository clone — macOS/Linux** | `./scripts/install.sh install` | Research/contributor path; delegates to an existing uv or pipx installation |
434
+ | **Repository clone — Windows** | `.\scripts\install.ps1 -Action Install` | Research/contributor path; delegates to an existing uv or pipx installation |
435
+ | **Claude Code Plugin** (WP-06) | `/plugin marketplace add qualixar/superlocalmemory` then `/plugin install superlocalmemory@qualixar` | Self-bootstraps venv, isolated SLM_DATA_DIR, additive — 14-tool core. Ships the skills/agents/hooks/commands |
436
+ | **Portable / IDE connect** (WP-08) | `slm connect <ide> [--here]` | Wire any IDE without reinstalling; `slm connect claude-code` → plugin pointer |
437
+
438
+ After any install path: `slm setup` → `slm doctor` → `slm warmup` (optional, pre-downloads ~500MB embedding model).
439
+
440
+ | Component | Size | When |
441
+ |:----------|:-----|:-----|
442
+ | Core libraries (numpy, scipy, networkx) | ~50MB | During install |
443
+ | Dashboard & MCP server (fastapi, uvicorn) | ~20MB | During install |
444
+ | Learning engine (lightgbm) | ~10MB | During install |
445
+ | Search engine (sentence-transformers, torch) | ~200MB | During install |
446
+ | Embedding model (nomic-embed-text-v1.5, 768d) | ~500MB | First use or `slm warmup` |
447
+ | **Mode B** requires [Ollama](https://ollama.com) + a model (`ollama pull llama3.2`) | ~2GB | Manual |
448
+
449
+ ---
450
+
451
+ ## MCP + Profiles
452
+
453
+ SLM supports two MCP transports:
454
+
455
+ **HTTP (recommended, v3.6.7+):**
456
+ ```json
457
+ { "mcpServers": { "superlocalmemory": { "type": "http", "url": "http://127.0.0.1:8765/mcp/" } } }
458
+ ```
459
+ Or: `claude mcp add --transport http superlocalmemory http://127.0.0.1:8765/mcp/`
460
+
461
+ **stdio (universal fallback):**
462
+ ```json
463
+ { "mcpServers": { "superlocalmemory": { "command": "slm", "args": ["mcp"] } } }
464
+ ```
465
+
466
+ ### MCP Profiles (WP-01)
467
+
468
+ Control tool surface via `SLM_MCP_PROFILE`:
469
+
470
+ | Profile | Tools | Use case |
471
+ |:--------|:-----:|:---------|
472
+ | `core` | 14 | Memory, session, and optimize core |
473
+ | `code` | 20 | Core + code-graph tools |
474
+ | `mesh` | 8 | Mesh-only — multi-machine coordination |
475
+ | `full` | 38 | Memory + optimize + evolution + mesh |
476
+ | `power` | 50 | Full + administration, lifecycle, and diagnostics |
477
+ | `whole` | all registered | Every registered MCP tool |
478
+
479
+ **Precedence:** `ALL` > `TOOLS` > `PROFILE` > `default`
480
+
481
+ ```bash
482
+ export SLM_MCP_PROFILE=full # or core / code / mesh / power / whole
483
+ slm mcp
484
+ ```
485
+
486
+ For a predictable small surface, set `core` explicitly. Leaving the variable
487
+ unset retains the compatibility default, whose mesh tools follow the local
488
+ mesh setting. The former count-suffixed names (`core14`, `code20`, `mesh8`,
489
+ `full38`, `power50`, `whole81`) remain temporary aliases and emit a migration
490
+ warning. Unknown names stop startup instead of silently selecting another tool
491
+ set.
492
+
493
+ Per-IDE configs available for Claude Code, Cursor, Windsurf, VS Code Copilot, Continue, Gemini CLI, JetBrains, Zed, and more (15 configs in `ide/configs/`). See [docs/ide-setup.md](docs/ide-setup.md).
494
+
495
+ ---
496
+
497
+ ## Claude Code Plugin
498
+
499
+ Install directly in Claude Code — no system-level npm/pip needed. This is how you
500
+ get the **skills, agents, hooks, commands, and rules** (the MCP server is
501
+ bootstrapped automatically). It is a two-step flow — add the marketplace once,
502
+ then install:
503
+
504
+ ```bash
505
+ # 1. Add the Qualixar marketplace (one-time — the repo IS the marketplace)
506
+ /plugin marketplace add qualixar/superlocalmemory
507
+
508
+ # 2. Install the plugin
509
+ /plugin install superlocalmemory@qualixar
510
+ ```
511
+
512
+ - Self-bootstraps a Python venv, installs all deps in an isolated `SLM_DATA_DIR`
513
+ - Registers the 14-tool core MCP surface (`core14` profile by default)
514
+ - Ships the SLM skills / agents / hooks / commands / rules
515
+ - Additive — does not replace an existing SLM install
516
+ - `slm connect claude-code` detects an existing plugin install and links them
517
+
518
+ > **Plugin vs Python/npm:** `python -m pip install superlocalmemory` inside an
519
+ > activated virtual environment, or `npm i -g superlocalmemory`,
520
+ > give you the `slm` CLI + the MCP server (the *tools*). The **skills/agents/hooks/
521
+ > commands** come only through the plugin above. Use the plugin for Claude Code; use
522
+ > pip/npm for the CLI or other IDEs.
523
+
524
+ To update later: `/plugin marketplace update qualixar` then `/plugin install superlocalmemory@qualixar`.
525
+
526
+ ## Codex add-on
527
+
528
+ For Codex, install the SLM-owned skills, two focused subagents, and four
529
+ lifecycle hooks explicitly:
530
+
531
+ ```bash
532
+ slm codex install
533
+ ```
534
+
535
+ This adds only SLM-owned files under `~/.agents/skills`, `~/.codex/agents`, and
536
+ `~/.codex/hooks.json`; it does not replace another agent's hooks or rewrite
537
+ `~/.codex/config.toml`. Codex requires review and trust for new command hooks:
538
+ open `/hooks` after installation. MCP wiring remains a separate explicit step:
539
+
540
+ ```bash
541
+ slm connect codex
542
+ ```
543
+
544
+ `slm connect codex` semantically merges the `superlocalmemory` MCP server into
545
+ `~/.codex/config.toml`, preserving unrelated configuration keys and writing
546
+ atomically. TOML serializers can normalize whitespace and comments, so it is
547
+ not a byte-preserving operation; use it only when you want the MCP server
548
+ configured. Check the result with `slm codex status`; undo SLM-owned add-ons
549
+ with `slm codex remove`.
550
+
551
+ ---
552
+
553
+ ## Privacy controls and operating modes
554
+
555
+ <a id="privacy-controls-and-operating-modes"></a>
556
+
557
+ | Mode | What | Core memory path | Optional network behavior |
558
+ |:----:|:-----|:-----------------|:--------------------------|
559
+ | **A** | Local Guardian | Local processing | Model/dependency downloads, connectors, backup, and other enabled integrations may use the network |
560
+ | **B** | Smart Local | Local Ollama enrichment | Same optional integrations as Mode A |
561
+ | **C** | Provider-assisted | Local storage with provider calls | Query or enrichment content is sent to the configured provider |
562
+
563
+ ```bash
564
+ slm mode a # Zero-cloud (default)
565
+ slm mode b # Local Ollama
566
+ slm mode c # Cloud LLM
567
+ ```
568
+
569
+ Mode A can run core memory operations without sending memory content to a cloud model provider. This does not disable optional connectors, cloud backup, proxy providers, dependency acquisition, or model downloads; review configuration and network policy for the deployment.
570
+
571
+ SuperLocalMemory provides local storage, export/erasure commands, provenance, policy, and audit features that can support a compliance program. The software is not a legal certification, and compliance depends on the use case, operator, configuration, and surrounding systems.
572
+
573
+ Available controls include local export and erasure commands, hash-chained audit records, provenance tracking, and ABAC policy enforcement. Verify their behavior and retention boundaries for your deployment; see [docs/compliance.md](docs/compliance.md).
574
+
575
+ ---
576
+
577
+ ## Advanced
578
+
579
+ | Topic | Link |
580
+ |:------|:-----|
581
+ | Full optimize docs | [docs/optimize-overview.md](docs/optimize-overview.md) · [docs/optimize-cli.md](docs/optimize-cli.md) · [docs/optimize-config.md](docs/optimize-config.md) |
582
+ | Distributed deployment | [docs/distributed-deployment.md](docs/distributed-deployment.md) |
583
+ | Multi-machine mesh | [docs/multi-machine.md](docs/multi-machine.md) |
584
+ | Auto-memory hooks | [docs/auto-memory.md](docs/auto-memory.md) |
585
+ | Architecture + math | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) |
586
+ | Published benchmark evidence | [docs/benchmarks.md](docs/benchmarks.md) |
587
+ | CLI reference | [docs/cli-reference.md](docs/cli-reference.md) |
588
+ | MCP tools reference | [docs/mcp-tools.md](docs/mcp-tools.md) |
589
+ | Getting started | [docs/getting-started.md](docs/getting-started.md) |
590
+ | IDE setup (15 configs) | [docs/ide-setup.md](docs/ide-setup.md) |
591
+ | pi.dev integration | [docs/pi-dev-integration.md](docs/pi-dev-integration.md) |
592
+ | Skill evolution | [docs/skill-evolution.md](docs/skill-evolution.md) |
593
+ | V2 migration | [docs/migration-from-v2.md](docs/migration-from-v2.md) |
594
+ | Configuration | [docs/configuration.md](docs/configuration.md) |
595
+ | Retrieval score contract | [docs/retrieval-score-contract.md](docs/retrieval-score-contract.md) |
596
+ | Wiki | [github.com/qualixar/superlocalmemory/wiki](https://github.com/qualixar/superlocalmemory/wiki) |
597
+
598
+ **Web dashboard:**
599
+ ```bash
600
+ slm dashboard # Opens at http://localhost:8765
601
+ ```
602
+ The dashboard includes Dashboard, Brain, Knowledge Graph, Memories, Health,
603
+ Operations, Entity Explorer, Skill Evolution, Mesh Peers, Settings, and
604
+ Optimize workspaces. Features are populated only when their corresponding
605
+ runtime capability is enabled and healthy.
606
+
607
+ **Release history:**
608
+
609
+ | Version | Codename | Key Features |
610
+ |---|---|---|
611
+ | **v3.6.23** | Cross-platform Patch | Windows doctor/cache stats fixes (#65), neutral SLM hook guidance (#64), pi.dev MCP docs (#31), contributor fixes for dashboard profile path resolution (#63) and tz-naive Langevin maintenance backfill (#66) |
612
+ | **v3.6.22** | Stability | backbone.py JSONDecodeError on empty HTTP 200 body (issue #62) — retries 3× then returns "" gracefully; remaining dashboard UI audit: clusters/compliance/entities r.ok guards, math-health status badge colors |
613
+ | **v3.6.21** | Dashboard Audit | Full UI audit across all 7 dashboard tabs — auth fix for mesh panel (issue #60 frontend), Quick Store endpoint, timeline endpoint, r.ok guards, SSE \r fix, event delegation for lazy tabs, optimize toggle revert |
614
+ | **v3.6.20** | Mesh Auth | Remote mesh auth fix (issue #60) — `_get_broker` now accepts Bearer + X-Mesh-Secret from non-loopback callers; config settings preservation (AIDEV-86) |
615
+ | **v3.6.17** | Community | 8 contributor PRs (observability events, marker-bounded adapter writes, daemon port discovery, anthropic `api_base`, OpenMP workers, atomic-write rehash, `_jl` sentinel, LFS pointer); dashboard-feedback fix (#53/#59); env-tunable SQLite knobs + idle backoff; remote LLM test-probe (#40) |
616
+ | **v3.6.16** | Docs | Corrected Claude Code plugin install — adds the required `/plugin marketplace add` step; clarifies plugin vs pip/npm delivery |
617
+ | **v3.6.15** | Multi-scope | **Opt-in [shared memory](docs/shared-memory.md)** (personal/shared/global, off by default), default-deny scope at every read path, recall scope-race fix, contributor PRs #42/#43/#44, fixes #46–#49 |
618
+ | **v3.6.14** | Plugin-native | Claude Code Plugin (WP-06), MCP profiles (WP-01), IDE connect (WP-08), asset consolidation, UI polish (WP-12) |
619
+ | **v3.6.x** | Optimize Everywhere / Distributed-ready | Three surfaces (proxy/MCP/skill), `SLM_REMOTE=1` LAN mode, remote dashboard, custom LLM endpoints |
620
+ | **v3.5.0** | Historical scale work | Early CozoDB/LanceDB projection paths, retrieval additions, Core Memory Block, context injection v2, score normalization |
621
+ | **v3.4.x** | Scale-Ready (foundation) | Tiered storage, graph pruning, Hopfield channel, LightGBM ranking, mDNS mesh discovery |
622
+ | **v3.3.x** | Foundation | BM25Plus, Fisher-Rao, sqlite-vec, RRF fusion, cross-encoder rerank. 3 published papers |
623
+
624
+ ---
625
+
626
+ ## Research Papers
627
+
628
+ SuperLocalMemory is backed by three published research papers (arXiv preprints + Zenodo DOIs). These are preprints — not conference-accepted or journal-published yet.
629
+
630
+ ### Paper 3: The Living Brain (V3.3)
631
+ > **SuperLocalMemory V3.3: The Living Brain — Biologically-Inspired Forgetting, Cognitive Quantization, and Multi-Channel Retrieval for Zero-LLM Agent Memory Systems**
632
+ > Varun Pratap Bhardwaj (2026)
633
+ > [arXiv:2604.04514](https://arxiv.org/abs/2604.04514) · [Zenodo DOI: 10.5281/zenodo.19435120](https://zenodo.org/records/19435120)
634
+
635
+ ### Paper 2: Information-Geometric Foundations (V3)
636
+ > **SuperLocalMemory V3: Information-Geometric Foundations for Zero-LLM Enterprise Agent Memory**
637
+ > Varun Pratap Bhardwaj (2026)
638
+ > [arXiv:2603.14588](https://arxiv.org/abs/2603.14588) · [Zenodo DOI: 10.5281/zenodo.19038659](https://zenodo.org/records/19038659)
639
+
640
+ ### Paper 1: Trust & Behavioral Foundations (V2)
641
+ > **SuperLocalMemory: A Structured Local Memory Architecture for Persistent AI Agent Context**
642
+ > Varun Pratap Bhardwaj (2026)
643
+ > [arXiv:2603.02240](https://arxiv.org/abs/2603.02240) · [Zenodo DOI: 10.5281/zenodo.18709670](https://zenodo.org/records/18709670)
644
+
645
+ ### Cite This Work
646
+
647
+ ```bibtex
648
+ @article{bhardwaj2026slmv33,
649
+ title={SuperLocalMemory V3.3: The Living Brain — Biologically-Inspired
650
+ Forgetting, Cognitive Quantization, and Multi-Channel Retrieval
651
+ for Zero-LLM Agent Memory Systems},
652
+ author={Bhardwaj, Varun Pratap},
653
+ journal={arXiv preprint arXiv:2604.04514},
654
+ year={2026},
655
+ url={https://arxiv.org/abs/2604.04514}
656
+ }
657
+
658
+ @article{bhardwaj2026slmv3,
659
+ title={Information-Geometric Foundations for Zero-LLM Enterprise Agent Memory},
660
+ author={Bhardwaj, Varun Pratap},
661
+ journal={arXiv preprint arXiv:2603.14588},
662
+ year={2026}
663
+ }
664
+
665
+ @article{bhardwaj2026slm,
666
+ title={A Structured Local Memory Architecture for Persistent AI Agent Context},
667
+ author={Bhardwaj, Varun Pratap},
668
+ journal={arXiv preprint arXiv:2603.02240},
669
+ year={2026}
670
+ }
671
+ ```
672
+
673
+ ---
674
+
675
+ ## Support / License / Qualixar
676
+
677
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. [Wiki](https://github.com/qualixar/superlocalmemory/wiki) for detailed documentation.
678
+
679
+ GNU Affero General Public License v3.0 (AGPL-3.0). See [LICENSE](LICENSE).
680
+
681
+ For commercial licensing (closed-source, proprietary, or hosted use), see [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md) or contact varun.pratap.bhardwaj@gmail.com.
682
+
683
+ Copyright (c) 2026 Varun Pratap Bhardwaj / Qualixar.
684
+
685
+ Part of [Qualixar](https://qualixar.com) · Author: [Varun Pratap Bhardwaj](https://varunpratap.com)
686
+
687
+ ### Acknowledgments
688
+
689
+ - **[Everything Claude Code (ECC)](https://github.com/affaan-m/everything-claude-code)** — SLM's skill observation patterns were inspired by ECC's continuous learning architecture. SLM supports direct ingestion of ECC observations via `slm ingest --source ecc`. We recommend ECC for Claude Code users who want the deepest learning experience alongside SLM.
690
+ - **[HKUDS/OpenSpace](https://github.com/HKUDS/OpenSpace)** — The skill evolution research in SLM draws from the EvoSkills co-evolutionary verification concepts (arXiv:2604.01687). We adopted their 3-trigger evolution system and anti-loop guard patterns.
691
+
692
+ ### Qualixar AI Agent Reliability Platform
693
+
694
+ Qualixar is building the open-source infrastructure for AI agent reliability engineering. Seven products, one coherent platform:
695
+
696
+ | Product | Purpose | Install |
697
+ |---------|---------|---------|
698
+ | **[SuperLocalMemory](https://github.com/qualixar/superlocalmemory)** | Persistent memory + learning | `npm install -g superlocalmemory` |
699
+ | **[Qualixar OS](https://github.com/qualixar/qualixar-os)** | Universal agent runtime | `npx qualixar-os` |
700
+ | **[SLM Mesh](https://github.com/qualixar/slm-mesh)** | P2P coordination across sessions | `npm i slm-mesh` |
701
+ | **[SLM MCP Hub](https://github.com/qualixar/slm-mcp-hub)** | Federate 430+ MCP tools | `pip install slm-mcp-hub` |
702
+ | **[AgentAssay](https://github.com/qualixar/agentassay)** | Token-efficient agent testing | `pip install agentassay` |
703
+ | **[AgentAssert](https://github.com/qualixar/agentassert-abc)** | Behavioral contracts + drift detection | `pip install agentassert-abc` |
704
+ | **[SkillFortify](https://github.com/qualixar/skillfortify)** | Formal verification for agent skills | `pip install skillfortify` |
705
+
706
+ **Local-first architecture. Deployment-specific privacy and compliance controls.**
707
+
708
+ Start here → **[qualixar.com](https://qualixar.com)** · [All papers on Qualixar HuggingFace](https://huggingface.co/Qualixar)
709
+
710
+ ---
711
+
712
+ <p align="center">
713
+ <sub>Built with mathematical rigor. Not in the race — here to help everyone build better AI memory systems.</sub>
714
+ </p>
715
+
716
+ ---
717
+
718
+ ## Star This Project
719
+
720
+ If this project solves a real problem for you, **please star the repo** — it helps other developers discover Qualixar and signals that the AI agent reliability community is growing.
721
+
722
+ [![Star SuperLocalMemory on GitHub](https://img.shields.io/github/stars/qualixar/superlocalmemory?style=for-the-badge&logo=github&label=Star%20on%20GitHub)](https://github.com/qualixar/superlocalmemory)
723
+
724
+ The live Star History chart is intentionally not embedded: its upstream service timed out during release validation. The link above is the stable, direct way to star and follow the repository.