superlocalmemory 4.0.2__tar.gz → 4.0.4__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 (716) hide show
  1. {superlocalmemory-4.0.2/src/superlocalmemory.egg-info → superlocalmemory-4.0.4}/PKG-INFO +37 -41
  2. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/README.md +36 -40
  3. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/plugin-src/rules/AGENTS.md +3 -3
  4. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/plugin-src/skills/slm-cache/SKILL.md +1 -1
  5. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/plugin-src/skills/slm-compress/SKILL.md +1 -1
  6. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/plugin-src/skills/slm-governance/SKILL.md +1 -1
  7. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/plugin-src/skills/slm-graph/SKILL.md +1 -1
  8. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/plugin-src/skills/slm-loop/SKILL.md +1 -1
  9. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/plugin-src/skills/slm-mesh/SKILL.md +1 -1
  10. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/plugin-src/skills/slm-profile/SKILL.md +4 -4
  11. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/plugin-src/skills/slm-recall/SKILL.md +1 -1
  12. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/plugin-src/skills/slm-remember/SKILL.md +1 -1
  13. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/plugin-src/skills/slm-scope/SKILL.md +1 -1
  14. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/plugin-src/skills/slm-session/SKILL.md +1 -1
  15. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/plugin-src/skills/slm-status/SKILL.md +1 -1
  16. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/pyproject.toml +1 -1
  17. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/__init__.py +1 -1
  18. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/commands.py +10 -19
  19. superlocalmemory-4.0.4/src/superlocalmemory/cli/host_upgrades.py +175 -0
  20. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/main.py +29 -4
  21. superlocalmemory-4.0.4/src/superlocalmemory/integrations/bounded_loops_mcp.py +184 -0
  22. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/database.py +2 -1
  23. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/profiles.py +28 -13
  24. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/server.py +7 -6
  25. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/tools_brain.py +89 -4
  26. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/brain.py +6 -1
  27. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/_migration_internals.py +4 -0
  28. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/_schema_version.py +2 -2
  29. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/agent_experience.py +26 -4
  30. superlocalmemory-4.0.4/src/superlocalmemory/storage/external_evidence.py +359 -0
  31. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migration_runner.py +5 -0
  32. superlocalmemory-4.0.4/src/superlocalmemory/storage/migrations/M041_external_evidence_receipts.py +189 -0
  33. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/__init__.py +2 -0
  34. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-brain.js +9 -0
  35. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-mcp.js +6 -6
  36. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4/src/superlocalmemory.egg-info}/PKG-INFO +37 -41
  37. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory.egg-info/SOURCES.txt +4 -0
  38. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/LICENSE +0 -0
  39. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/NOTICE +0 -0
  40. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/setup.cfg +0 -0
  41. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/access/__init__.py +0 -0
  42. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/access/rbac.py +0 -0
  43. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/attribution/__init__.py +0 -0
  44. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/attribution/signer.py +0 -0
  45. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/attribution/watermark.py +0 -0
  46. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/__init__.py +0 -0
  47. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/_lazy_init.py +0 -0
  48. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/cache_cmd.py +0 -0
  49. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/compress_cmd.py +0 -0
  50. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/context_commands.py +0 -0
  51. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/daemon.py +0 -0
  52. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/db_migrate.py +0 -0
  53. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/diagnostics_cmd.py +0 -0
  54. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/escape_hatch.py +0 -0
  55. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/evidence_cmd.py +0 -0
  56. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/help_cmd.py +0 -0
  57. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/ingest_cmd.py +0 -0
  58. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/json_output.py +0 -0
  59. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/loop_cmd.py +0 -0
  60. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/mesh_cmd.py +0 -0
  61. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/migrate_cmd.py +0 -0
  62. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/ops_cmd.py +0 -0
  63. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/optimize_cmd.py +0 -0
  64. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/optimize_constants.py +0 -0
  65. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/pending_store.py +0 -0
  66. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/proxy_cmd.py +0 -0
  67. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/scale_engine_cmd.py +0 -0
  68. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/service_installer.py +0 -0
  69. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/setup_wizard.py +0 -0
  70. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/version_banner.py +0 -0
  71. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/cli/wizard_v3426_options.py +0 -0
  72. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/__init__.py +0 -0
  73. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/blast_radius.py +0 -0
  74. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/bridge/__init__.py +0 -0
  75. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/bridge/entity_resolver.py +0 -0
  76. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/bridge/event_listeners.py +0 -0
  77. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/bridge/fact_enricher.py +0 -0
  78. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/bridge/hebbian_linker.py +0 -0
  79. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/bridge/temporal_checker.py +0 -0
  80. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/changes.py +0 -0
  81. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/communities.py +0 -0
  82. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/config.py +0 -0
  83. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/database.py +0 -0
  84. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/extractors/__init__.py +0 -0
  85. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/extractors/python.py +0 -0
  86. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/extractors/typescript.py +0 -0
  87. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/flows.py +0 -0
  88. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/git_hooks.py +0 -0
  89. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/graph_engine.py +0 -0
  90. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/graph_store.py +0 -0
  91. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/incremental.py +0 -0
  92. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/models.py +0 -0
  93. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/parser.py +0 -0
  94. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/resolver.py +0 -0
  95. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/search.py +0 -0
  96. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/service.py +0 -0
  97. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/code_graph/watcher.py +0 -0
  98. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/compliance/__init__.py +0 -0
  99. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/compliance/abac.py +0 -0
  100. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/compliance/audit.py +0 -0
  101. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/compliance/eu_ai_act.py +0 -0
  102. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/compliance/gdpr.py +0 -0
  103. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/compliance/lifecycle.py +0 -0
  104. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/compliance/retention.py +0 -0
  105. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/compliance/scheduler.py +0 -0
  106. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/contracts/__init__.py +0 -0
  107. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/contracts/schemas/agent-experience-v1.schema.json +0 -0
  108. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/contracts/schemas/agent-integration-contract-v2.schema.json +0 -0
  109. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/contracts/schemas/cognitive-turn-receipt-v1.schema.json +0 -0
  110. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/contracts/v402.py +0 -0
  111. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/__init__.py +0 -0
  112. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/actor_context.py +0 -0
  113. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/admission.py +0 -0
  114. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/backend_orchestrator.py +0 -0
  115. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/block_hygiene.py +0 -0
  116. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/community_summary.py +0 -0
  117. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/component_healer.py +0 -0
  118. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/component_registry.py +0 -0
  119. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/config.py +0 -0
  120. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/consolidation_engine.py +0 -0
  121. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/context_cache.py +0 -0
  122. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/derivation_lineage.py +0 -0
  123. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/embedding_worker.py +0 -0
  124. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/embeddings.py +0 -0
  125. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/engine.py +0 -0
  126. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/engine_capabilities.py +0 -0
  127. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/engine_ingestion.py +0 -0
  128. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/engine_lock.py +0 -0
  129. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/engine_wiring.py +0 -0
  130. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/entity_community.py +0 -0
  131. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/error_envelope.py +0 -0
  132. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/evidence_bundle.py +0 -0
  133. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/fact_consolidator.py +0 -0
  134. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/file_lock.py +0 -0
  135. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/graph_analyzer.py +0 -0
  136. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/graph_pruner.py +0 -0
  137. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/health_monitor.py +0 -0
  138. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/hooks.py +0 -0
  139. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/ingest_gate.py +0 -0
  140. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/ingest_policy.py +0 -0
  141. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/ingestion_command.py +0 -0
  142. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/injection.py +0 -0
  143. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/key_expander.py +0 -0
  144. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/lifecycle_state.py +0 -0
  145. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/maintenance.py +0 -0
  146. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/maintenance_scheduler.py +0 -0
  147. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/materialization_control.py +0 -0
  148. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/mcp_embedder_proxy.py +0 -0
  149. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/modes.py +0 -0
  150. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/mutations.py +0 -0
  151. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/ollama_embedder.py +0 -0
  152. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/operation_policy.py +0 -0
  153. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/operation_policy_registry.py +0 -0
  154. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/operation_request.py +0 -0
  155. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/ops_remediation.py +0 -0
  156. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/pii.py +0 -0
  157. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/platform_utils.py +0 -0
  158. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/profiles.py +0 -0
  159. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/progressive_abstraction.py +0 -0
  160. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/queue_consumer.py +0 -0
  161. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/ram_lock.py +0 -0
  162. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/rate_limit.py +0 -0
  163. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/recall_gate.py +0 -0
  164. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/recall_pipeline.py +0 -0
  165. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/recall_queue.py +0 -0
  166. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/recall_worker.py +0 -0
  167. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/registry.py +0 -0
  168. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/remember_admission.py +0 -0
  169. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/remember_runtime.py +0 -0
  170. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/remote_mode.py +0 -0
  171. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/reranker_worker.py +0 -0
  172. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/safe_fs.py +0 -0
  173. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/scale_engine.py +0 -0
  174. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/score_contract.py +0 -0
  175. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/security_primitives.py +0 -0
  176. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/shadow_router.py +0 -0
  177. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/slm_disabled.py +0 -0
  178. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/store_pipeline.py +0 -0
  179. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/summarizer.py +0 -0
  180. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/tier_manager.py +0 -0
  181. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/topic_signature.py +0 -0
  182. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/transactions/__init__.py +0 -0
  183. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/transactions/concrete_owners.py +0 -0
  184. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/transactions/erasure.py +0 -0
  185. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/transactions/manifest.py +0 -0
  186. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/transactions/manifest_key.py +0 -0
  187. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/transactions/obligations.py +0 -0
  188. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/transactions/owners.py +0 -0
  189. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/transactions/reconciler.py +0 -0
  190. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/transactions/service.py +0 -0
  191. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/core/worker_pool.py +0 -0
  192. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/dynamics/__init__.py +0 -0
  193. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/dynamics/activation_guided_quantization.py +0 -0
  194. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/dynamics/eap_scheduler.py +0 -0
  195. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/dynamics/ebbinghaus_langevin_coupling.py +0 -0
  196. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/dynamics/fisher_langevin_coupling.py +0 -0
  197. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/encoding/__init__.py +0 -0
  198. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/encoding/auto_linker.py +0 -0
  199. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/encoding/cognitive_consolidator.py +0 -0
  200. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/encoding/consolidator.py +0 -0
  201. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/encoding/context_generator.py +0 -0
  202. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/encoding/emotional.py +0 -0
  203. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/encoding/entity_reflexion.py +0 -0
  204. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/encoding/entity_resolver.py +0 -0
  205. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/encoding/entropy_gate.py +0 -0
  206. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/encoding/fact_extractor.py +0 -0
  207. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/encoding/foresight.py +0 -0
  208. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/encoding/graph_builder.py +0 -0
  209. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/encoding/observation_builder.py +0 -0
  210. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/encoding/scene_builder.py +0 -0
  211. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/encoding/signal_inference.py +0 -0
  212. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/encoding/temporal_parser.py +0 -0
  213. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/encoding/temporal_validator.py +0 -0
  214. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/encoding/type_router.py +0 -0
  215. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/evaluation/__init__.py +0 -0
  216. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/evaluation/calibration.py +0 -0
  217. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/evolution/__init__.py +0 -0
  218. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/evolution/blind_verifier.py +0 -0
  219. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/evolution/budget.py +0 -0
  220. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/evolution/evolution_store.py +0 -0
  221. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/evolution/llm_dispatch.py +0 -0
  222. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/evolution/model_selection.py +0 -0
  223. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/evolution/mutation_generator.py +0 -0
  224. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/evolution/skill_activator.py +0 -0
  225. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/evolution/skill_evolver.py +0 -0
  226. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/evolution/triggers.py +0 -0
  227. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/evolution/types.py +0 -0
  228. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/graph/__init__.py +0 -0
  229. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/graph/cozo_backend.py +0 -0
  230. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/__init__.py +0 -0
  231. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/_outcome_common.py +0 -0
  232. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/adapter_base.py +0 -0
  233. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/antigravity_adapter.py +0 -0
  234. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/auto_capture.py +0 -0
  235. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/auto_invoker.py +0 -0
  236. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/auto_parameterize.py +0 -0
  237. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/auto_recall.py +0 -0
  238. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/auto_recall_hook.py +0 -0
  239. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/before_web_hook.py +0 -0
  240. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/claude_code_hooks.py +0 -0
  241. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/codex_assets.py +0 -0
  242. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/codex_hooks.py +0 -0
  243. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/context_payload.py +0 -0
  244. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/copilot_adapter.py +0 -0
  245. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/cross_platform_connector.py +0 -0
  246. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/cursor_adapter.py +0 -0
  247. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/hook_daemon.py +0 -0
  248. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/hook_handlers.py +0 -0
  249. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/ide_connector.py +0 -0
  250. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/memory_protocol.py +0 -0
  251. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/portable_kit.py +0 -0
  252. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/post_tool_async_hook.py +0 -0
  253. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/post_tool_outcome_hook.py +0 -0
  254. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/prewarm_auth.py +0 -0
  255. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/rules_engine.py +0 -0
  256. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/session_registry.py +0 -0
  257. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/stop_outcome_hook.py +0 -0
  258. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/sync_loop.py +0 -0
  259. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/topic_shift_hook.py +0 -0
  260. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/user_prompt_hook.py +0 -0
  261. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/hooks/user_prompt_rehash_hook.py +0 -0
  262. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/infra/__init__.py +0 -0
  263. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/infra/auth_middleware.py +0 -0
  264. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/infra/backup.py +0 -0
  265. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/infra/cache_manager.py +0 -0
  266. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/infra/cloud_backup.py +0 -0
  267. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/infra/daemon_identity.py +0 -0
  268. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/infra/data_root.py +0 -0
  269. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/infra/event_bus.py +0 -0
  270. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/infra/local_diagnostics.py +0 -0
  271. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/infra/pid_manager.py +0 -0
  272. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/infra/process_identity.py +0 -0
  273. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/infra/process_reaper.py +0 -0
  274. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/infra/rate_limiter.py +0 -0
  275. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/infra/self_heal.py +0 -0
  276. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/infra/version_integrity.py +0 -0
  277. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ingestion/__init__.py +0 -0
  278. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ingestion/adapter_manager.py +0 -0
  279. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ingestion/base_adapter.py +0 -0
  280. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ingestion/calendar_adapter.py +0 -0
  281. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ingestion/credentials.py +0 -0
  282. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ingestion/gmail_adapter.py +0 -0
  283. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ingestion/parsers.py +0 -0
  284. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ingestion/transcript_adapter.py +0 -0
  285. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/integrations/__init__.py +0 -0
  286. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/integrations/bounded_loops_v051.py +0 -0
  287. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/__init__.py +0 -0
  288. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/adaptive.py +0 -0
  289. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/arm_catalog.py +0 -0
  290. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/assertion_miner.py +0 -0
  291. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/bandit.py +0 -0
  292. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/bandit_cache.py +0 -0
  293. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/behavioral.py +0 -0
  294. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/bootstrap.py +0 -0
  295. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/consolidation_cycle.py +0 -0
  296. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/consolidation_quantization_worker.py +0 -0
  297. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/consolidation_worker.py +0 -0
  298. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/cross_project.py +0 -0
  299. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/dedup_hnsw.py +0 -0
  300. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/engagement.py +0 -0
  301. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/ensemble.py +0 -0
  302. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/entity_compiler.py +0 -0
  303. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/fact_outcome_joins.py +0 -0
  304. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/features.py +0 -0
  305. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/feedback.py +0 -0
  306. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/forgetting_scheduler.py +0 -0
  307. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/hnsw_dedup.py +0 -0
  308. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/labeler.py +0 -0
  309. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/legacy_migration.py +0 -0
  310. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/lightgbm_subprocess.py +0 -0
  311. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/memory_merge.py +0 -0
  312. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/model_cache.py +0 -0
  313. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/model_rollback.py +0 -0
  314. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/outcome_queue.py +0 -0
  315. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/outcomes.py +0 -0
  316. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/pattern_miner.py +0 -0
  317. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/pattern_miner_constants.py +0 -0
  318. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/project_context.py +0 -0
  319. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/ranker.py +0 -0
  320. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/ranker_common.py +0 -0
  321. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/ranker_retrain_legacy.py +0 -0
  322. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/ranker_retrain_online.py +0 -0
  323. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/reward.py +0 -0
  324. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/reward_archive.py +0 -0
  325. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/reward_boost.py +0 -0
  326. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/reward_proxy.py +0 -0
  327. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/shadow_test.py +0 -0
  328. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/signal_worker.py +0 -0
  329. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/signals.py +0 -0
  330. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/skill_performance_miner.py +0 -0
  331. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/source_quality.py +0 -0
  332. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/trigram_index.py +0 -0
  333. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/learning/workflows.py +0 -0
  334. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/llm/__init__.py +0 -0
  335. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/llm/backbone.py +0 -0
  336. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/loops/__init__.py +0 -0
  337. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/loops/budget.py +0 -0
  338. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/loops/engine.py +0 -0
  339. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/loops/ledger.py +0 -0
  340. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/loops/models.py +0 -0
  341. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/loops/rules.py +0 -0
  342. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/math/__init__.py +0 -0
  343. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/math/ebbinghaus.py +0 -0
  344. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/math/fisher.py +0 -0
  345. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/math/fisher_quantized.py +0 -0
  346. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/math/hopfield.py +0 -0
  347. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/math/langevin.py +0 -0
  348. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/math/polar_quant.py +0 -0
  349. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/math/qjl.py +0 -0
  350. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/math/sheaf.py +0 -0
  351. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/math/turbo_quant.py +0 -0
  352. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/__init__.py +0 -0
  353. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/_daemon_proxy.py +0 -0
  354. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/_pool_adapter.py +0 -0
  355. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/_stdin_guard.py +0 -0
  356. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/agent_context.py +0 -0
  357. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/cli_fallback.py +0 -0
  358. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/http_transport.py +0 -0
  359. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/resources.py +0 -0
  360. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/shared.py +0 -0
  361. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/tools.py +0 -0
  362. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/tools_active.py +0 -0
  363. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/tools_code_graph.py +0 -0
  364. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/tools_context.py +0 -0
  365. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/tools_core.py +0 -0
  366. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/tools_evolution.py +0 -0
  367. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/tools_learning.py +0 -0
  368. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/tools_loops.py +0 -0
  369. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/tools_mesh.py +0 -0
  370. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/tools_ops.py +0 -0
  371. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/tools_optimize.py +0 -0
  372. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/tools_v28.py +0 -0
  373. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/tools_v3.py +0 -0
  374. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mcp/tools_v33.py +0 -0
  375. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mesh/__init__.py +0 -0
  376. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mesh/broker.py +0 -0
  377. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mesh/broker_security.py +0 -0
  378. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mesh/discovery.py +0 -0
  379. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mesh/lock_protocol.py +0 -0
  380. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mesh/node_identity.py +0 -0
  381. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mesh/outbox_remote.py +0 -0
  382. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mesh/remote_sync.py +0 -0
  383. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/mesh/state_sync.py +0 -0
  384. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/migrations/__init__.py +0 -0
  385. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/migrations/v3_4_25_to_v3_4_26.py +0 -0
  386. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/NOTICE +0 -0
  387. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/__init__.py +0 -0
  388. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/adapters/__init__.py +0 -0
  389. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/adapters/_agent_registry.py +0 -0
  390. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/adapters/anthropic_adapter.py +0 -0
  391. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/adapters/openai_adapter.py +0 -0
  392. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/adapters/wrap.py +0 -0
  393. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/cache/__init__.py +0 -0
  394. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/cache/boundary_store.py +0 -0
  395. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/cache/centroid_store.py +0 -0
  396. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/cache/context_key.py +0 -0
  397. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/cache/exact.py +0 -0
  398. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/cache/invalidation.py +0 -0
  399. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/cache/key_builder.py +0 -0
  400. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/cache/manager.py +0 -0
  401. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/cache/semantic.py +0 -0
  402. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/cache/stampede.py +0 -0
  403. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/compress/__init__.py +0 -0
  404. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/compress/align.py +0 -0
  405. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/compress/ccr.py +0 -0
  406. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/compress/prose_llmlingua.py +0 -0
  407. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/compress/router.py +0 -0
  408. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/config/__init__.py +0 -0
  409. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/config/defaults.py +0 -0
  410. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/config/schema.py +0 -0
  411. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/config/store.py +0 -0
  412. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/metrics/__init__.py +0 -0
  413. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/metrics/counters.py +0 -0
  414. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/metrics/estimator.py +0 -0
  415. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/metrics/exporters.py +0 -0
  416. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/metrics/persistence.py +0 -0
  417. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/proxy/__init__.py +0 -0
  418. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/proxy/_helpers.py +0 -0
  419. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/proxy/anthropic_surface.py +0 -0
  420. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/proxy/capture.py +0 -0
  421. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/proxy/gemini_surface.py +0 -0
  422. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/proxy/lifecycle.py +0 -0
  423. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/proxy/openai_surface.py +0 -0
  424. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/proxy/server.py +0 -0
  425. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/proxy/vertex_surface.py +0 -0
  426. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/storage/__init__.py +0 -0
  427. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/storage/db.py +0 -0
  428. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/optimize/storage/schema.py +0 -0
  429. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/parameterization/__init__.py +0 -0
  430. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/parameterization/cross_project.py +0 -0
  431. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/parameterization/pattern_extractor.py +0 -0
  432. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/parameterization/pii_filter.py +0 -0
  433. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/parameterization/prompt_injector.py +0 -0
  434. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/parameterization/prompt_lifecycle.py +0 -0
  435. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/parameterization/soft_prompt_generator.py +0 -0
  436. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/parameterization/workflow_miner.py +0 -0
  437. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/__init__.py +0 -0
  438. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/agentic.py +0 -0
  439. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/ann_index.py +0 -0
  440. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/bm25_channel.py +0 -0
  441. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/bridge_discovery.py +0 -0
  442. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/channel_registry.py +0 -0
  443. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/engine.py +0 -0
  444. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/entity_channel.py +0 -0
  445. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/forgetting_filter.py +0 -0
  446. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/fusion.py +0 -0
  447. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/hopfield_channel.py +0 -0
  448. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/profile_channel.py +0 -0
  449. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/quantization_aware_search.py +0 -0
  450. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/remote_reranker.py +0 -0
  451. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/reranker.py +0 -0
  452. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/scope_policy.py +0 -0
  453. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/semantic_channel.py +0 -0
  454. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/spreading_activation.py +0 -0
  455. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/strategy.py +0 -0
  456. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/temporal_channel.py +0 -0
  457. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/temporal_frame.py +0 -0
  458. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/temporal_utils.py +0 -0
  459. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/temporal_validity_filter.py +0 -0
  460. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/time_window.py +0 -0
  461. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/retrieval/vector_store.py +0 -0
  462. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/__init__.py +0 -0
  463. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/api.py +0 -0
  464. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/bandit_loops.py +0 -0
  465. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/config_file.py +0 -0
  466. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/egress_policy.py +0 -0
  467. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/loopback.py +0 -0
  468. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/middleware/__init__.py +0 -0
  469. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/middleware/security_headers.py +0 -0
  470. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/origin.py +0 -0
  471. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/profile_runtime.py +0 -0
  472. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/rbac_enforce.py +0 -0
  473. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/recall_health.py +0 -0
  474. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/recall_serializer.py +0 -0
  475. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/route_mutations.py +0 -0
  476. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/__init__.py +0 -0
  477. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/abstraction.py +0 -0
  478. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/adapters.py +0 -0
  479. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/agents.py +0 -0
  480. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/backup.py +0 -0
  481. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/behavioral.py +0 -0
  482. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/chat.py +0 -0
  483. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/compliance.py +0 -0
  484. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/config_api.py +0 -0
  485. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/data_io.py +0 -0
  486. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/entity.py +0 -0
  487. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/events.py +0 -0
  488. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/evolution.py +0 -0
  489. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/helpers.py +0 -0
  490. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/ingest.py +0 -0
  491. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/insights.py +0 -0
  492. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/learning.py +0 -0
  493. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/learning_telemetry.py +0 -0
  494. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/lifecycle.py +0 -0
  495. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/memories.py +0 -0
  496. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/mesh.py +0 -0
  497. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/mesh_lock.py +0 -0
  498. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/mesh_state.py +0 -0
  499. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/optimize.py +0 -0
  500. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/prewarm.py +0 -0
  501. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/profiles.py +0 -0
  502. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/ratelimit.py +0 -0
  503. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/rbac.py +0 -0
  504. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/stats.py +0 -0
  505. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/tiers.py +0 -0
  506. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/timeline.py +0 -0
  507. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/token.py +0 -0
  508. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/v3_api.py +0 -0
  509. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/routes/ws.py +0 -0
  510. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/security_middleware.py +0 -0
  511. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/ui.py +0 -0
  512. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/unified_daemon.py +0 -0
  513. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/server/write_identity.py +0 -0
  514. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/__init__.py +0 -0
  515. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/access_log.py +0 -0
  516. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/admission_codec.py +0 -0
  517. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/admission_journal.py +0 -0
  518. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/database.py +0 -0
  519. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/deferred_writes.py +0 -0
  520. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/embedding_migrator.py +0 -0
  521. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/erasure_fence.py +0 -0
  522. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/generation_fence.py +0 -0
  523. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/logical_edges.py +0 -0
  524. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/memory_write.py +0 -0
  525. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migration_v33.py +0 -0
  526. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M001_add_signal_features_columns.py +0 -0
  527. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M002_model_state_history.py +0 -0
  528. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M003_migration_log.py +0 -0
  529. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M004_cross_platform_sync_log.py +0 -0
  530. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M005_bandit_tables.py +0 -0
  531. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M006_action_outcomes_reward.py +0 -0
  532. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M007_pending_outcomes.py +0 -0
  533. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M009_model_lineage.py +0 -0
  534. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M010_evolution_config.py +0 -0
  535. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M011_archive_and_merge.py +0 -0
  536. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M012_shadow_observations.py +0 -0
  537. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M013_bi_temporal_columns.py +0 -0
  538. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M014_v345_scale_ready.py +0 -0
  539. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M015_add_pinned_column.py +0 -0
  540. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M016_add_scope_support.py +0 -0
  541. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M017_ccq_scope_column.py +0 -0
  542. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M018_ingestion_operations.py +0 -0
  543. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M019_derivation_lineage.py +0 -0
  544. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M020_model_state_integrity.py +0 -0
  545. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M021_ingestion_log_profile.py +0 -0
  546. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M022_entity_aliases_profile.py +0 -0
  547. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M023_mesh_profile_isolation.py +0 -0
  548. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M024_rbac_users_roles.py +0 -0
  549. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M025_perf_indexes.py +0 -0
  550. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M026_rbac_memberships_fk.py +0 -0
  551. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M027_transferable_patterns_profile.py +0 -0
  552. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M028_fact_entity_associations.py +0 -0
  553. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M029_behavioral_history_indexes.py +0 -0
  554. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M030_entity_explorer_indexes.py +0 -0
  555. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M031_dead_letter_operations.py +0 -0
  556. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M032_write_coordinator_admission.py +0 -0
  557. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M033_projection_transactions.py +0 -0
  558. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M034_obligation_integrity.py +0 -0
  559. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M035_erasure_receipts.py +0 -0
  560. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M036_vector_row_map.py +0 -0
  561. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M037_manifest_hmac_version.py +0 -0
  562. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M038_learning_feedback_channel.py +0 -0
  563. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M039_scene_fact_members.py +0 -0
  564. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations/M040_agent_experience_receipts.py +0 -0
  565. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/migrations.py +0 -0
  566. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/models.py +0 -0
  567. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/quantized_store.py +0 -0
  568. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/read_connection.py +0 -0
  569. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/schema.py +0 -0
  570. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/schema_code_graph.py +0 -0
  571. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/schema_v32.py +0 -0
  572. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/schema_v3410.py +0 -0
  573. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/schema_v3411.py +0 -0
  574. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/schema_v343.py +0 -0
  575. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/schema_v345.py +0 -0
  576. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/schema_v347.py +0 -0
  577. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/sqlite_vectors.py +0 -0
  578. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/v2_migrator.py +0 -0
  579. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/write_coordinator.py +0 -0
  580. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/storage/write_lock.py +0 -0
  581. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/trust/__init__.py +0 -0
  582. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/trust/gate.py +0 -0
  583. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/trust/provenance.py +0 -0
  584. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/trust/scorer.py +0 -0
  585. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/trust/signals.py +0 -0
  586. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/assets/slm-icon-white.svg +0 -0
  587. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/assets/slm-icon.svg +0 -0
  588. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/css/brain.css +0 -0
  589. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/css/design-system.css +0 -0
  590. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/css/legacy-dashboard.css +0 -0
  591. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/css/neural-glass.css +0 -0
  592. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/css/od-bridge.css +0 -0
  593. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/favicon.svg +0 -0
  594. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/index.html +0 -0
  595. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/agents.js +0 -0
  596. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/auto-settings.js +0 -0
  597. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/brain.js +0 -0
  598. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/clusters.js +0 -0
  599. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/compliance.js +0 -0
  600. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/core.js +0 -0
  601. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/dashboard.js +0 -0
  602. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/event-delegation.js +0 -0
  603. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/events.js +0 -0
  604. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/fact-detail.js +0 -0
  605. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/feedback.js +0 -0
  606. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/graph-event-bus.js +0 -0
  607. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/graph-filters.js +0 -0
  608. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/graph-ui.js +0 -0
  609. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/ide-status.js +0 -0
  610. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/init.js +0 -0
  611. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/knowledge-graph.js +0 -0
  612. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/lifecycle.js +0 -0
  613. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/math-health.js +0 -0
  614. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/memories.js +0 -0
  615. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/memory-chat.js +0 -0
  616. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/memory-timeline.js +0 -0
  617. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/modal.js +0 -0
  618. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/ng-entities.js +0 -0
  619. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/ng-health.js +0 -0
  620. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/ng-ingestion.js +0 -0
  621. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/ng-mesh.js +0 -0
  622. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/ng-shell.js +0 -0
  623. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/ng-skills.js +0 -0
  624. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-agents.js +0 -0
  625. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-auth-gate.js +0 -0
  626. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-backup.js +0 -0
  627. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-compliance-ext.js +0 -0
  628. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-components.js +0 -0
  629. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-entities.js +0 -0
  630. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-graph.js +0 -0
  631. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-health.js +0 -0
  632. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-memories.js +0 -0
  633. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-mesh.js +0 -0
  634. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-operations.js +0 -0
  635. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-ops-health.js +0 -0
  636. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-optimize.js +0 -0
  637. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-settings.js +0 -0
  638. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-shell.js +0 -0
  639. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-skills.js +0 -0
  640. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/od-team.js +0 -0
  641. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/optimize.js +0 -0
  642. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/profiles.js +0 -0
  643. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/quick-actions.js +0 -0
  644. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/recall-lab.js +0 -0
  645. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/search.js +0 -0
  646. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/settings.js +0 -0
  647. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/timeline.js +0 -0
  648. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/js/trust-dashboard.js +0 -0
  649. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/vendor/bootstrap-icons/bootstrap-icons.css +0 -0
  650. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/vendor/bootstrap-icons/fonts/bootstrap-icons.woff +0 -0
  651. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2 +0 -0
  652. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/vendor/bootstrap.bundle.min.js +0 -0
  653. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/vendor/bootstrap.min.css +0 -0
  654. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/vendor/d3.v7.min.js +0 -0
  655. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/vendor/graphology-library.min.js +0 -0
  656. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/vendor/graphology.umd.min.js +0 -0
  657. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/vendor/inter-ui/inter-variable.min.css +0 -0
  658. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/vendor/inter-ui/variable/InterVariable-Italic.woff2 +0 -0
  659. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/vendor/inter-ui/variable/InterVariable.woff2 +0 -0
  660. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/ui/vendor/sigma.min.js +0 -0
  661. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/vector/__init__.py +0 -0
  662. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory/vector/lancedb_backend.py +0 -0
  663. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory.egg-info/dependency_links.txt +0 -0
  664. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory.egg-info/entry_points.txt +0 -0
  665. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory.egg-info/requires.txt +0 -0
  666. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/src/superlocalmemory.egg-info/top_level.txt +0 -0
  667. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_audit_hardening_384.py +0 -0
  668. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_auto_hooks.py +0 -0
  669. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_before_web_hook.py +0 -0
  670. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_behavioral_full.py +0 -0
  671. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_benchmark_drift_guard.py +0 -0
  672. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_benchmark_provenance.py +0 -0
  673. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_benchmark_suite_reachability.py +0 -0
  674. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_benchmark_trial_distribution.py +0 -0
  675. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_claude_hooks.py +0 -0
  676. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_cli_core.py +0 -0
  677. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_cli_json.py +0 -0
  678. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_cli_v33.py +0 -0
  679. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_compliance_full.py +0 -0
  680. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_config_ccq_write_path.py +0 -0
  681. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_config_system.py +0 -0
  682. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_dashboard_preserve_embedding.py +0 -0
  683. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_engine_hooks.py +0 -0
  684. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_event_bus.py +0 -0
  685. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_f02_mode_no_compliance_claims.py +0 -0
  686. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_f03_data_locality_label.py +0 -0
  687. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_f05_single_learning_db_path.py +0 -0
  688. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_f08_migration_abort_distinguishable.py +0 -0
  689. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_f14_readline_thread_leak.py +0 -0
  690. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_features.py +0 -0
  691. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_final_locomo_mini.py +0 -0
  692. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_graph_integrity.py +0 -0
  693. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_graph_pruning_config.py +0 -0
  694. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_hook_handlers.py +0 -0
  695. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_ide_connector.py +0 -0
  696. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_infra.py +0 -0
  697. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_injection.py +0 -0
  698. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_isolation_cycle3.py +0 -0
  699. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_issue91_lifecycle_ui.py +0 -0
  700. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_learning_advanced.py +0 -0
  701. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_learning_collectors.py +0 -0
  702. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_llm_provider.py +0 -0
  703. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_m031_startup_automigration.py +0 -0
  704. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_mcp_server.py +0 -0
  705. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_migration.py +0 -0
  706. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_mode_switch_preservation.py +0 -0
  707. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_operation_policy_registry.py +0 -0
  708. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_ranker.py +0 -0
  709. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_repo_hygiene.py +0 -0
  710. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_resource_lifecycle.py +0 -0
  711. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_temporal_phase4_event_time.py +0 -0
  712. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_topic_shift_hook.py +0 -0
  713. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_trust_full.py +0 -0
  714. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_v3_api.py +0 -0
  715. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_version_consistency.py +0 -0
  716. {superlocalmemory-4.0.2 → superlocalmemory-4.0.4}/tests/test_write_lock_hardening.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: superlocalmemory
3
- Version: 4.0.2
3
+ Version: 4.0.4
4
4
  Summary: Local-first agent memory with auditable hybrid retrieval
5
5
  Author-email: Varun Pratap Bhardwaj <admin@superlocalmemory.com>
6
6
  License-Expression: AGPL-3.0-or-later
@@ -108,7 +108,7 @@ Dynamic: license-file
108
108
  </picture>
109
109
  </p>
110
110
 
111
- <h1 align="center">SuperLocalMemory V4.0.2</h1>
111
+ <h1 align="center">SuperLocalMemory V4.0.4</h1>
112
112
 
113
113
  <h2 align="center">Rent the LLM. Own the memory.</h2>
114
114
 
@@ -130,12 +130,12 @@ guarantee here is stated as a falsifiable invariant, tested under an adversarial
130
130
  negative control, and shipped with the harness that regenerates the evidence:
131
131
  <code>python benchmark/run_all.py --trials 200 --output-dir results/</code>. What each experiment
132
132
  does <em>not</em> exercise is stated too.</p>
133
- <p align="center"><code>v4.0.2</code> — one control plane: <strong>SLM-Mesh</strong> peer coordination · multi-scope memory (personal / shared / global) · profiles · Cache · Compress · 7-layer retrieval · code graph · Entity Explorer · skill evolution · Modes A/B/C · GDPR retention &amp; audit chain · bounded loops — across CLI, MCP, dashboard, the <strong>Claude plugin</strong>, the <strong>Codex add-on</strong>, and documented IDE integrations.<br/>
133
+ <p align="center"><code>v4.0.4</code> — one control plane: <strong>SLM-Mesh</strong> peer coordination · multi-scope memory (personal / shared / global) · profiles · Cache · Compress · 7-layer retrieval · code graph · Entity Explorer · skill evolution · Modes A/B/C · GDPR retention &amp; audit chain · bounded loops — across CLI, MCP, dashboard, the <strong>Claude plugin</strong>, the <strong>Codex add-on</strong>, and documented IDE integrations.<br/>
134
134
  Proxy: <code>slm wrap claude</code> &nbsp;·&nbsp; MCP: add <code>slm_compress</code> to your config &nbsp;·&nbsp; Skill: zero-config</p>
135
135
  <p align="center"><strong>Four public arXiv preprints</strong> · V4: <a href="https://arxiv.org/abs/2608.08253">arXiv:2608.08253</a> · companion archive: <a href="https://zenodo.org/records/21853302">Zenodo 21853302</a> (<a href="https://doi.org/10.5281/zenodo.21853302">DOI 10.5281/zenodo.21853302</a>) · prior preprints: <a href="https://arxiv.org/abs/2603.02240">2603.02240</a> · <a href="https://arxiv.org/abs/2603.14588">2603.14588</a> · <a href="https://arxiv.org/abs/2604.04514">2604.04514</a>.</p>
136
136
 
137
137
  <p align="center">
138
- <a href="CHANGELOG.md"><img src="https://img.shields.io/badge/v4.0.2-Current_Release-2ea44f?style=for-the-badge&logo=checkmarx&logoColor=white" alt="v4.0.2 — Current Release"/></a>
138
+ <a href="CHANGELOG.md"><img src="https://img.shields.io/badge/v4.0.4-Current_Release-2ea44f?style=for-the-badge&logo=checkmarx&logoColor=white" alt="v4.0.4 — Current Release"/></a>
139
139
  <a href="https://arxiv.org/abs/2608.08253"><img src="https://img.shields.io/badge/arXiv-2608.08253-b31b1b?style=for-the-badge&logo=arxiv&logoColor=white" alt="SuperLocalMemory 4.0 paper on arXiv:2608.08253"/></a>
140
140
  <a href="https://zenodo.org/records/21853302"><img src="https://img.shields.io/badge/Zenodo-10.5281%2Fzenodo.21853302-1682D4?style=for-the-badge&logo=zenodo&logoColor=white" alt="V4 paper on Zenodo: 10.5281/zenodo.21853302"/></a>
141
141
  <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>
@@ -165,7 +165,7 @@ SuperLocalMemory V4 combines conventional dense and lexical retrieval with graph
165
165
 
166
166
  **Memory with a sense of time.** SLM does not only store *what* an agent learned — it records *when*. Every fact carries ingestion timing and provenance; recall runs a dedicated temporal candidate channel alongside semantic, lexical, and associative retrieval; scenes and entity timelines reconstruct sequence; and the lifecycle lets neglected memory decay and self-archive instead of growing without bound. Time is a first-class ranking and lifecycle signal rather than a timestamp column an agent never reads — which is what lets a long-lived agent reason about how its context changed, not only what it currently holds.
167
167
 
168
- **What V4.0.2 ships.** V4 is a *governed* local-first control plane — every canonical write is admitted, policy-authorized, tracked as durable per-store obligations (lexical, temporal, vector), and sealed by a completion manifest, so it is either fully applied or explicitly marked degraded, never silently half-done. Flagship surfaces in this release:
168
+ **What V4.0.4 ships.** Existing users can now preview and explicitly refresh SLM-owned host integrations with `slm upgrade-hosts`, while package installation and MCP startup no longer silently modify host hook configuration. V4.0.4 also adds an optional, capability-negotiated Bounded Loops observation bridge: compatible terminal graph receipts enter a separate, profile-scoped `learning.db` table and appear in Living Brain, without affecting recall, ranking, routing, or automatic learning. V4 remains a *governed* local-first control plane — every canonical write is admitted, policy-authorized, tracked as durable per-store obligations (lexical, temporal, vector), and sealed by a completion manifest, so it is either fully applied or explicitly marked degraded, never silently half-done. Flagship surfaces in this release:
169
169
 
170
170
  - **[SLM-Mesh](#slm-mesh-cross-session--cross-machine-coordination)** — authenticated cross-session and cross-machine peer coordination (messages, locks, shared state, inbox/outbox, optional discovery). Coordination only — not automatic replicated memory.
171
171
  - **Multi-scope memory & profiles** — workspaces (profiles) plus `personal` / `shared` / `global` scopes; cross-profile recall is default-deny.
@@ -174,7 +174,7 @@ SuperLocalMemory V4 combines conventional dense and lexical retrieval with graph
174
174
  - **Modes A / B / C** — local-only (A), on-device LLM enrichment (B), provider-assisted (C). An operating mode records technical locality facts; it does **not** determine EU AI Act legal compliance (that is deployment-context assessment — see [Privacy controls](#privacy-controls-and-operating-modes)).
175
175
  - **GDPR posture, retention & audit chain** — export, fail-closed cross-store erasure, retention policies, and a hash-chained audit trail. Engineering controls for compliance programs, not a legal certification.
176
176
  - **7-layer retrieval/recall stack & code graph** — multi-channel candidates (semantic, BM25, temporal, Hopfield, spreading activation) plus optional code-graph tools for blast radius and review context.
177
- - **MCP profiles** — `full` exposes **42** tools (default everyday surface); `power` **54**; `whole` **87** (all registered). Also `core` (14), `code` (24), and `mesh` (8).
177
+ - **MCP profiles** — `code` exposes **29** tools for installed coding agents; `full` **47**; `power` **59**; `whole` **92** (all registered). Also `core` (14), `mesh` (8), and the unrestricted default surface (47 with mesh enabled).
178
178
  - **Governed write path & verifiable transactions** — admission + policy control, a per-owner obligation ledger, and a hash-sealed completion manifest with a reconciler that redrives unmet obligations.
179
179
  - **Self-healing lifecycle & admin remediation** — stale locks cleared on restart; list/resolve stuck operations from CLI, MCP, or the dashboard.
180
180
 
@@ -490,6 +490,22 @@ Full docs: [docs/multi-machine.md](docs/multi-machine.md) · [docs/distributed-d
490
490
 
491
491
  After any install path: `slm setup` → `slm doctor` → `slm warmup` (optional, pre-downloads ~500MB embedding model).
492
492
 
493
+ ### Upgrading an existing installation
494
+
495
+ An npm, pip, or repository update upgrades the SLM runtime; it does not silently
496
+ rewrite your IDE configuration, hooks, or plugin state. Review the existing
497
+ integrations first:
498
+
499
+ ```bash
500
+ slm upgrade-hosts
501
+ ```
502
+
503
+ Then explicitly apply the hosts you approve, for example
504
+ `slm upgrade-hosts --host codex --apply`, or use
505
+ `slm upgrade-hosts --all-detected --apply` after reviewing the preview. See
506
+ [Host Integration Upgrades](docs/host-upgrades.md) for the full safety contract
507
+ and the Claude Code plugin update path.
508
+
493
509
  | Component | Size | When |
494
510
  |:----------|:-----|:-----|
495
511
  | Core libraries (numpy, scipy, networkx) | ~50MB | During install |
@@ -523,11 +539,11 @@ Control tool surface via `SLM_MCP_PROFILE`:
523
539
  | Profile | Tools | Use case |
524
540
  |:--------|:-----:|:---------|
525
541
  | `core` | 14 | Memory, session, and optimize core |
526
- | `code` | 24 | Core + code-graph tools + profile switching + bounded loops |
542
+ | `code` | 29 | Core + portable Brain evidence + code-graph tools + profile switching + bounded loops |
527
543
  | `mesh` | 8 | SLM-Mesh only — multi-session / multi-machine coordination |
528
- | `full` | 42 | Memory + optimize + evolution + mesh + bounded loops |
529
- | `power` | 54 | Full + administration, lifecycle, and diagnostics |
530
- | `whole` | 87 | Every registered MCP tool |
544
+ | `full` | 47 | Memory + portable Brain evidence + optimize + evolution + mesh + bounded loops |
545
+ | `power` | 59 | Full + administration, lifecycle, and diagnostics |
546
+ | `whole` | 92 | Every registered MCP tool |
531
547
 
532
548
  **Precedence:** `ALL` > `TOOLS` > `PROFILE` > `default`
533
549
 
@@ -538,7 +554,7 @@ slm mcp
538
554
 
539
555
  For a predictable small surface, set `core` explicitly. Leaving the variable
540
556
  unset retains the compatibility default, whose mesh tools follow the local
541
- mesh setting. Count-suffixed aliases remain for backward compatibility and emit a migration warning: `core14`, `code20`, `code21`, `code24`, `mesh8`, `full38`, `full39`, `full42`, `power50`, `power51`, `power54`, `whole81`, `whole84`. Unknown names stop startup instead of silently selecting another tool set.
557
+ mesh setting. Count-suffixed aliases remain for backward compatibility and emit a migration warning: `core14`, `code20`, `code21`, `code24`, `code28`, `code29`, `mesh8`, `full38`, `full39`, `full42`, `full46`, `full47`, `power50`, `power51`, `power54`, `power58`, `power59`, `whole81`, `whole84`, `whole91`, `whole92`. Unknown names stop startup instead of silently selecting another tool set.
542
558
 
543
559
  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).
544
560
 
@@ -750,25 +766,12 @@ Multi-Agent Memory workspace.
750
766
 
751
767
  ## Framework Adapters (V4)
752
768
 
753
- SLM ships nine framework adapters under `ide/integrations/`. Each adapter
754
- wires SLM as the memory and history provider for the respective framework
755
- without replacing the framework's own agent runtime.
756
-
757
- | Framework | Directory |
758
- |-----------|-----------|
759
- | LangGraph | `ide/integrations/langgraph/` |
760
- | Semantic Kernel | `ide/integrations/semantic-kernel/` |
761
- | Microsoft Agent Framework | `ide/integrations/agent-framework/` |
762
- | LangChain | `ide/integrations/langchain/` |
763
- | LlamaIndex | `ide/integrations/llamaindex/` |
764
- | CrewAI | `ide/integrations/crewai/` |
765
- | AutoGen | `ide/integrations/autogen/` |
766
- | Google ADK | `ide/integrations/google-adk/` |
767
- | OpenAI Agents | `ide/integrations/openai-agents/` |
768
-
769
- Pydantic AI is not included — it does not expose a formal memory interface for
770
- external providers. Each adapter's `README.md` covers installation and
771
- configuration for that framework.
769
+ SLM ships nine adapters under `ide/integrations/`: LangGraph, Semantic Kernel,
770
+ Microsoft Agent Framework, LangChain, LlamaIndex, CrewAI, AutoGen, Google ADK,
771
+ and OpenAI Agents. Each wires SLM as memory and history without replacing the
772
+ framework runtime; its directory contains installation/configuration guidance.
773
+ Pydantic AI is not included because it does not expose a formal external-memory
774
+ interface.
772
775
 
773
776
  ---
774
777
 
@@ -784,6 +787,7 @@ configuration for that framework.
784
787
  | Published benchmark evidence | [docs/benchmarks.md](docs/benchmarks.md) |
785
788
  | CLI reference | [docs/cli-reference.md](docs/cli-reference.md) |
786
789
  | MCP tools reference | [docs/mcp-tools.md](docs/mcp-tools.md) |
790
+ | Optional Bounded Loops bridge | [docs/bounded-loops-bridge.md](docs/bounded-loops-bridge.md) |
787
791
  | Getting started | [docs/getting-started.md](docs/getting-started.md) |
788
792
  | IDE setup (15 configs) | [docs/ide-setup.md](docs/ide-setup.md) |
789
793
  | Teams, users, and RBAC | [docs/rbac-teams.md](docs/rbac-teams.md) |
@@ -800,21 +804,13 @@ runtime capability is enabled and healthy. See [CHANGELOG.md](CHANGELOG.md) for
800
804
  the complete release history.
801
805
  ## Research Papers
802
806
 
803
- SuperLocalMemory has a V4 arXiv preprint with a companion Zenodo archive, plus three earlier arXiv preprints (2026):
804
-
805
- - **SuperLocalMemory 4.0: The Governed Memory Operating System for AI Agents:** [arXiv:2608.08253](https://arxiv.org/abs/2608.08253) · [Zenodo 21853302](https://zenodo.org/records/21853302) · [DOI 10.5281/zenodo.21853302](https://doi.org/10.5281/zenodo.21853302).
806
- - **The Living Brain (V3.3):** [arXiv:2604.04514](https://arxiv.org/abs/2604.04514) · [Zenodo 19435120](https://zenodo.org/records/19435120)
807
- - **Information-Geometric Foundations (V3):** [arXiv:2603.14588](https://arxiv.org/abs/2603.14588) · [Zenodo 19038659](https://zenodo.org/records/19038659)
808
- - **Trust & Behavioral Foundations (V2):** [arXiv:2603.02240](https://arxiv.org/abs/2603.02240) · [Zenodo 18709670](https://zenodo.org/records/18709670)
807
+ SuperLocalMemory has a V4 [arXiv preprint](https://arxiv.org/abs/2608.08253) with [Zenodo archive](https://zenodo.org/records/21853302) and [DOI](https://doi.org/10.5281/zenodo.21853302), plus [The Living Brain (V3.3)](https://arxiv.org/abs/2604.04514), [Information-Geometric Foundations (V3)](https://arxiv.org/abs/2603.14588), and [Trust & Behavioral Foundations (V2)](https://arxiv.org/abs/2603.02240).
809
808
 
810
809
  Use the citation metadata on the linked arXiv or Zenodo records.
811
810
 
812
811
  ## Support / License / Qualixar
813
- See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines, the [Wiki](https://github.com/qualixar/superlocalmemory/wiki) for detailed documentation, and [LICENSE](LICENSE) for the GNU Affero General Public License v3.0 (AGPL-3.0).
814
- For commercial licensing (closed-source, proprietary, or hosted use), see [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md) or contact varun.pratap.bhardwaj@gmail.com.
815
- Copyright (c) 2026 Varun Pratap Bhardwaj / Qualixar · Part of [Qualixar](https://qualixar.com) · Author: [Varun Pratap Bhardwaj](https://varunpratap.com)
816
- Acknowledgments: [Everything Claude Code](https://github.com/affaan-m/everything-claude-code) informed skill observation; [HKUDS/OpenSpace](https://github.com/HKUDS/OpenSpace) informed skill-evolution verification.
817
- Qualixar builds open-source infrastructure for AI reliability engineering. Start at [qualixar.com](https://qualixar.com) or browse the [research archive](https://huggingface.co/Qualixar).
812
+ See [CONTRIBUTING.md](CONTRIBUTING.md), the [Wiki](https://github.com/qualixar/superlocalmemory/wiki), and [LICENSE](LICENSE) (AGPL-3.0). For commercial licensing, see [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md) or contact varun.pratap.bhardwaj@gmail.com.
813
+ Copyright (c) 2026 Varun Pratap Bhardwaj / Qualixar · [Qualixar](https://qualixar.com) · [research archive](https://huggingface.co/Qualixar). Acknowledgments: [Everything Claude Code](https://github.com/affaan-m/everything-claude-code) informed skill observation; [HKUDS/OpenSpace](https://github.com/HKUDS/OpenSpace) informed skill-evolution verification.
818
814
 
819
815
  ## Star This Project
820
816
 
@@ -5,7 +5,7 @@
5
5
  </picture>
6
6
  </p>
7
7
 
8
- <h1 align="center">SuperLocalMemory V4.0.2</h1>
8
+ <h1 align="center">SuperLocalMemory V4.0.4</h1>
9
9
 
10
10
  <h2 align="center">Rent the LLM. Own the memory.</h2>
11
11
 
@@ -27,12 +27,12 @@ guarantee here is stated as a falsifiable invariant, tested under an adversarial
27
27
  negative control, and shipped with the harness that regenerates the evidence:
28
28
  <code>python benchmark/run_all.py --trials 200 --output-dir results/</code>. What each experiment
29
29
  does <em>not</em> exercise is stated too.</p>
30
- <p align="center"><code>v4.0.2</code> — one control plane: <strong>SLM-Mesh</strong> peer coordination · multi-scope memory (personal / shared / global) · profiles · Cache · Compress · 7-layer retrieval · code graph · Entity Explorer · skill evolution · Modes A/B/C · GDPR retention &amp; audit chain · bounded loops — across CLI, MCP, dashboard, the <strong>Claude plugin</strong>, the <strong>Codex add-on</strong>, and documented IDE integrations.<br/>
30
+ <p align="center"><code>v4.0.4</code> — one control plane: <strong>SLM-Mesh</strong> peer coordination · multi-scope memory (personal / shared / global) · profiles · Cache · Compress · 7-layer retrieval · code graph · Entity Explorer · skill evolution · Modes A/B/C · GDPR retention &amp; audit chain · bounded loops — across CLI, MCP, dashboard, the <strong>Claude plugin</strong>, the <strong>Codex add-on</strong>, and documented IDE integrations.<br/>
31
31
  Proxy: <code>slm wrap claude</code> &nbsp;·&nbsp; MCP: add <code>slm_compress</code> to your config &nbsp;·&nbsp; Skill: zero-config</p>
32
32
  <p align="center"><strong>Four public arXiv preprints</strong> · V4: <a href="https://arxiv.org/abs/2608.08253">arXiv:2608.08253</a> · companion archive: <a href="https://zenodo.org/records/21853302">Zenodo 21853302</a> (<a href="https://doi.org/10.5281/zenodo.21853302">DOI 10.5281/zenodo.21853302</a>) · prior preprints: <a href="https://arxiv.org/abs/2603.02240">2603.02240</a> · <a href="https://arxiv.org/abs/2603.14588">2603.14588</a> · <a href="https://arxiv.org/abs/2604.04514">2604.04514</a>.</p>
33
33
 
34
34
  <p align="center">
35
- <a href="CHANGELOG.md"><img src="https://img.shields.io/badge/v4.0.2-Current_Release-2ea44f?style=for-the-badge&logo=checkmarx&logoColor=white" alt="v4.0.2 — Current Release"/></a>
35
+ <a href="CHANGELOG.md"><img src="https://img.shields.io/badge/v4.0.4-Current_Release-2ea44f?style=for-the-badge&logo=checkmarx&logoColor=white" alt="v4.0.4 — Current Release"/></a>
36
36
  <a href="https://arxiv.org/abs/2608.08253"><img src="https://img.shields.io/badge/arXiv-2608.08253-b31b1b?style=for-the-badge&logo=arxiv&logoColor=white" alt="SuperLocalMemory 4.0 paper on arXiv:2608.08253"/></a>
37
37
  <a href="https://zenodo.org/records/21853302"><img src="https://img.shields.io/badge/Zenodo-10.5281%2Fzenodo.21853302-1682D4?style=for-the-badge&logo=zenodo&logoColor=white" alt="V4 paper on Zenodo: 10.5281/zenodo.21853302"/></a>
38
38
  <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>
@@ -62,7 +62,7 @@ SuperLocalMemory V4 combines conventional dense and lexical retrieval with graph
62
62
 
63
63
  **Memory with a sense of time.** SLM does not only store *what* an agent learned — it records *when*. Every fact carries ingestion timing and provenance; recall runs a dedicated temporal candidate channel alongside semantic, lexical, and associative retrieval; scenes and entity timelines reconstruct sequence; and the lifecycle lets neglected memory decay and self-archive instead of growing without bound. Time is a first-class ranking and lifecycle signal rather than a timestamp column an agent never reads — which is what lets a long-lived agent reason about how its context changed, not only what it currently holds.
64
64
 
65
- **What V4.0.2 ships.** V4 is a *governed* local-first control plane — every canonical write is admitted, policy-authorized, tracked as durable per-store obligations (lexical, temporal, vector), and sealed by a completion manifest, so it is either fully applied or explicitly marked degraded, never silently half-done. Flagship surfaces in this release:
65
+ **What V4.0.4 ships.** Existing users can now preview and explicitly refresh SLM-owned host integrations with `slm upgrade-hosts`, while package installation and MCP startup no longer silently modify host hook configuration. V4.0.4 also adds an optional, capability-negotiated Bounded Loops observation bridge: compatible terminal graph receipts enter a separate, profile-scoped `learning.db` table and appear in Living Brain, without affecting recall, ranking, routing, or automatic learning. V4 remains a *governed* local-first control plane — every canonical write is admitted, policy-authorized, tracked as durable per-store obligations (lexical, temporal, vector), and sealed by a completion manifest, so it is either fully applied or explicitly marked degraded, never silently half-done. Flagship surfaces in this release:
66
66
 
67
67
  - **[SLM-Mesh](#slm-mesh-cross-session--cross-machine-coordination)** — authenticated cross-session and cross-machine peer coordination (messages, locks, shared state, inbox/outbox, optional discovery). Coordination only — not automatic replicated memory.
68
68
  - **Multi-scope memory & profiles** — workspaces (profiles) plus `personal` / `shared` / `global` scopes; cross-profile recall is default-deny.
@@ -71,7 +71,7 @@ SuperLocalMemory V4 combines conventional dense and lexical retrieval with graph
71
71
  - **Modes A / B / C** — local-only (A), on-device LLM enrichment (B), provider-assisted (C). An operating mode records technical locality facts; it does **not** determine EU AI Act legal compliance (that is deployment-context assessment — see [Privacy controls](#privacy-controls-and-operating-modes)).
72
72
  - **GDPR posture, retention & audit chain** — export, fail-closed cross-store erasure, retention policies, and a hash-chained audit trail. Engineering controls for compliance programs, not a legal certification.
73
73
  - **7-layer retrieval/recall stack & code graph** — multi-channel candidates (semantic, BM25, temporal, Hopfield, spreading activation) plus optional code-graph tools for blast radius and review context.
74
- - **MCP profiles** — `full` exposes **42** tools (default everyday surface); `power` **54**; `whole` **87** (all registered). Also `core` (14), `code` (24), and `mesh` (8).
74
+ - **MCP profiles** — `code` exposes **29** tools for installed coding agents; `full` **47**; `power` **59**; `whole` **92** (all registered). Also `core` (14), `mesh` (8), and the unrestricted default surface (47 with mesh enabled).
75
75
  - **Governed write path & verifiable transactions** — admission + policy control, a per-owner obligation ledger, and a hash-sealed completion manifest with a reconciler that redrives unmet obligations.
76
76
  - **Self-healing lifecycle & admin remediation** — stale locks cleared on restart; list/resolve stuck operations from CLI, MCP, or the dashboard.
77
77
 
@@ -387,6 +387,22 @@ Full docs: [docs/multi-machine.md](docs/multi-machine.md) · [docs/distributed-d
387
387
 
388
388
  After any install path: `slm setup` → `slm doctor` → `slm warmup` (optional, pre-downloads ~500MB embedding model).
389
389
 
390
+ ### Upgrading an existing installation
391
+
392
+ An npm, pip, or repository update upgrades the SLM runtime; it does not silently
393
+ rewrite your IDE configuration, hooks, or plugin state. Review the existing
394
+ integrations first:
395
+
396
+ ```bash
397
+ slm upgrade-hosts
398
+ ```
399
+
400
+ Then explicitly apply the hosts you approve, for example
401
+ `slm upgrade-hosts --host codex --apply`, or use
402
+ `slm upgrade-hosts --all-detected --apply` after reviewing the preview. See
403
+ [Host Integration Upgrades](docs/host-upgrades.md) for the full safety contract
404
+ and the Claude Code plugin update path.
405
+
390
406
  | Component | Size | When |
391
407
  |:----------|:-----|:-----|
392
408
  | Core libraries (numpy, scipy, networkx) | ~50MB | During install |
@@ -420,11 +436,11 @@ Control tool surface via `SLM_MCP_PROFILE`:
420
436
  | Profile | Tools | Use case |
421
437
  |:--------|:-----:|:---------|
422
438
  | `core` | 14 | Memory, session, and optimize core |
423
- | `code` | 24 | Core + code-graph tools + profile switching + bounded loops |
439
+ | `code` | 29 | Core + portable Brain evidence + code-graph tools + profile switching + bounded loops |
424
440
  | `mesh` | 8 | SLM-Mesh only — multi-session / multi-machine coordination |
425
- | `full` | 42 | Memory + optimize + evolution + mesh + bounded loops |
426
- | `power` | 54 | Full + administration, lifecycle, and diagnostics |
427
- | `whole` | 87 | Every registered MCP tool |
441
+ | `full` | 47 | Memory + portable Brain evidence + optimize + evolution + mesh + bounded loops |
442
+ | `power` | 59 | Full + administration, lifecycle, and diagnostics |
443
+ | `whole` | 92 | Every registered MCP tool |
428
444
 
429
445
  **Precedence:** `ALL` > `TOOLS` > `PROFILE` > `default`
430
446
 
@@ -435,7 +451,7 @@ slm mcp
435
451
 
436
452
  For a predictable small surface, set `core` explicitly. Leaving the variable
437
453
  unset retains the compatibility default, whose mesh tools follow the local
438
- mesh setting. Count-suffixed aliases remain for backward compatibility and emit a migration warning: `core14`, `code20`, `code21`, `code24`, `mesh8`, `full38`, `full39`, `full42`, `power50`, `power51`, `power54`, `whole81`, `whole84`. Unknown names stop startup instead of silently selecting another tool set.
454
+ mesh setting. Count-suffixed aliases remain for backward compatibility and emit a migration warning: `core14`, `code20`, `code21`, `code24`, `code28`, `code29`, `mesh8`, `full38`, `full39`, `full42`, `full46`, `full47`, `power50`, `power51`, `power54`, `power58`, `power59`, `whole81`, `whole84`, `whole91`, `whole92`. Unknown names stop startup instead of silently selecting another tool set.
439
455
 
440
456
  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).
441
457
 
@@ -647,25 +663,12 @@ Multi-Agent Memory workspace.
647
663
 
648
664
  ## Framework Adapters (V4)
649
665
 
650
- SLM ships nine framework adapters under `ide/integrations/`. Each adapter
651
- wires SLM as the memory and history provider for the respective framework
652
- without replacing the framework's own agent runtime.
653
-
654
- | Framework | Directory |
655
- |-----------|-----------|
656
- | LangGraph | `ide/integrations/langgraph/` |
657
- | Semantic Kernel | `ide/integrations/semantic-kernel/` |
658
- | Microsoft Agent Framework | `ide/integrations/agent-framework/` |
659
- | LangChain | `ide/integrations/langchain/` |
660
- | LlamaIndex | `ide/integrations/llamaindex/` |
661
- | CrewAI | `ide/integrations/crewai/` |
662
- | AutoGen | `ide/integrations/autogen/` |
663
- | Google ADK | `ide/integrations/google-adk/` |
664
- | OpenAI Agents | `ide/integrations/openai-agents/` |
665
-
666
- Pydantic AI is not included — it does not expose a formal memory interface for
667
- external providers. Each adapter's `README.md` covers installation and
668
- configuration for that framework.
666
+ SLM ships nine adapters under `ide/integrations/`: LangGraph, Semantic Kernel,
667
+ Microsoft Agent Framework, LangChain, LlamaIndex, CrewAI, AutoGen, Google ADK,
668
+ and OpenAI Agents. Each wires SLM as memory and history without replacing the
669
+ framework runtime; its directory contains installation/configuration guidance.
670
+ Pydantic AI is not included because it does not expose a formal external-memory
671
+ interface.
669
672
 
670
673
  ---
671
674
 
@@ -681,6 +684,7 @@ configuration for that framework.
681
684
  | Published benchmark evidence | [docs/benchmarks.md](docs/benchmarks.md) |
682
685
  | CLI reference | [docs/cli-reference.md](docs/cli-reference.md) |
683
686
  | MCP tools reference | [docs/mcp-tools.md](docs/mcp-tools.md) |
687
+ | Optional Bounded Loops bridge | [docs/bounded-loops-bridge.md](docs/bounded-loops-bridge.md) |
684
688
  | Getting started | [docs/getting-started.md](docs/getting-started.md) |
685
689
  | IDE setup (15 configs) | [docs/ide-setup.md](docs/ide-setup.md) |
686
690
  | Teams, users, and RBAC | [docs/rbac-teams.md](docs/rbac-teams.md) |
@@ -697,21 +701,13 @@ runtime capability is enabled and healthy. See [CHANGELOG.md](CHANGELOG.md) for
697
701
  the complete release history.
698
702
  ## Research Papers
699
703
 
700
- SuperLocalMemory has a V4 arXiv preprint with a companion Zenodo archive, plus three earlier arXiv preprints (2026):
701
-
702
- - **SuperLocalMemory 4.0: The Governed Memory Operating System for AI Agents:** [arXiv:2608.08253](https://arxiv.org/abs/2608.08253) · [Zenodo 21853302](https://zenodo.org/records/21853302) · [DOI 10.5281/zenodo.21853302](https://doi.org/10.5281/zenodo.21853302).
703
- - **The Living Brain (V3.3):** [arXiv:2604.04514](https://arxiv.org/abs/2604.04514) · [Zenodo 19435120](https://zenodo.org/records/19435120)
704
- - **Information-Geometric Foundations (V3):** [arXiv:2603.14588](https://arxiv.org/abs/2603.14588) · [Zenodo 19038659](https://zenodo.org/records/19038659)
705
- - **Trust & Behavioral Foundations (V2):** [arXiv:2603.02240](https://arxiv.org/abs/2603.02240) · [Zenodo 18709670](https://zenodo.org/records/18709670)
704
+ SuperLocalMemory has a V4 [arXiv preprint](https://arxiv.org/abs/2608.08253) with [Zenodo archive](https://zenodo.org/records/21853302) and [DOI](https://doi.org/10.5281/zenodo.21853302), plus [The Living Brain (V3.3)](https://arxiv.org/abs/2604.04514), [Information-Geometric Foundations (V3)](https://arxiv.org/abs/2603.14588), and [Trust & Behavioral Foundations (V2)](https://arxiv.org/abs/2603.02240).
706
705
 
707
706
  Use the citation metadata on the linked arXiv or Zenodo records.
708
707
 
709
708
  ## Support / License / Qualixar
710
- See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines, the [Wiki](https://github.com/qualixar/superlocalmemory/wiki) for detailed documentation, and [LICENSE](LICENSE) for the GNU Affero General Public License v3.0 (AGPL-3.0).
711
- For commercial licensing (closed-source, proprietary, or hosted use), see [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md) or contact varun.pratap.bhardwaj@gmail.com.
712
- Copyright (c) 2026 Varun Pratap Bhardwaj / Qualixar · Part of [Qualixar](https://qualixar.com) · Author: [Varun Pratap Bhardwaj](https://varunpratap.com)
713
- Acknowledgments: [Everything Claude Code](https://github.com/affaan-m/everything-claude-code) informed skill observation; [HKUDS/OpenSpace](https://github.com/HKUDS/OpenSpace) informed skill-evolution verification.
714
- Qualixar builds open-source infrastructure for AI reliability engineering. Start at [qualixar.com](https://qualixar.com) or browse the [research archive](https://huggingface.co/Qualixar).
709
+ See [CONTRIBUTING.md](CONTRIBUTING.md), the [Wiki](https://github.com/qualixar/superlocalmemory/wiki), and [LICENSE](LICENSE) (AGPL-3.0). For commercial licensing, see [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md) or contact varun.pratap.bhardwaj@gmail.com.
710
+ Copyright (c) 2026 Varun Pratap Bhardwaj / Qualixar · [Qualixar](https://qualixar.com) · [research archive](https://huggingface.co/Qualixar). Acknowledgments: [Everything Claude Code](https://github.com/affaan-m/everything-claude-code) informed skill observation; [HKUDS/OpenSpace](https://github.com/HKUDS/OpenSpace) informed skill-evolution verification.
715
711
 
716
712
  ## Star This Project
717
713
 
@@ -82,10 +82,10 @@ When the SLM MCP server is unavailable, use these CLI equivalents:
82
82
 
83
83
  ## Tool reference (core profile — 14 tools)
84
84
 
85
- > The MCP config ships `SLM_MCP_PROFILE=code` (24 tools): the 14 core memory tools below
85
+ > The MCP config ships `SLM_MCP_PROFILE=code` (29 tools): the 14 core memory tools below
86
86
  > **plus** 6 code-graph tools (`build_code_graph`, `get_blast_radius`, `query_graph`,
87
87
  > `semantic_search_code`, `get_review_context`, `detect_changes`) and `switch_profile`.
88
- > Use `full` (42 tools) to add mesh coordination. Use `power` (54 tools) for governance
88
+ > Use `full` (47 tools) to add mesh coordination. Use `power` (59 tools) for governance
89
89
  > and audit tools. See slm-profile for profile switching.
90
90
 
91
91
  | Tool | Signature (key params) | Notes |
@@ -128,4 +128,4 @@ When the SLM MCP server is unavailable, use these CLI equivalents:
128
128
  - **slm-optimize-advisor** — context compression and KV cache
129
129
  - **slm-governance-advisor** — scope/role compliance, retention policies, GDPR
130
130
 
131
- SuperLocalMemory v4.0.2 · Qualixar · AGPL-3.0-or-later
131
+ SuperLocalMemory v4.0.4 · Qualixar · AGPL-3.0-or-later
@@ -145,4 +145,4 @@ These subcommands control daemon-level cache settings. They do not read or write
145
145
 
146
146
  ---
147
147
 
148
- SuperLocalMemory v4.0.2 · Qualixar · AGPL-3.0-or-later
148
+ SuperLocalMemory v4.0.4 · Qualixar · AGPL-3.0-or-later
@@ -147,4 +147,4 @@ Content over 1 MB (1 000 000 bytes UTF-8) is processed but `reversible` is force
147
147
 
148
148
  ---
149
149
 
150
- SuperLocalMemory v4.0.2 · Qualixar · AGPL-3.0-or-later
150
+ SuperLocalMemory v4.0.4 · Qualixar · AGPL-3.0-or-later
@@ -245,4 +245,4 @@ Before running any destructive operation (`forget`, `compact_memories`):
245
245
 
246
246
  ---
247
247
 
248
- *SuperLocalMemory v4.0.2 · Qualixar · AGPL-3.0-or-later*
248
+ *SuperLocalMemory v4.0.4 · Qualixar · AGPL-3.0-or-later*
@@ -311,4 +311,4 @@ profile. See `slm-profile` for the full profile switching workflow.
311
311
 
312
312
  ---
313
313
 
314
- SuperLocalMemory v4.0.2 · Qualixar · AGPL-3.0-or-later
314
+ SuperLocalMemory v4.0.4 · Qualixar · AGPL-3.0-or-later
@@ -96,4 +96,4 @@ paused, name the approval needed; when errored, quote the short detail.
96
96
 
97
97
  ---
98
98
 
99
- SuperLocalMemory v4.0.2 · Qualixar · AGPL-3.0-or-later
99
+ SuperLocalMemory v4.0.4 · Qualixar · AGPL-3.0-or-later
@@ -279,4 +279,4 @@ mesh availability.
279
279
 
280
280
  ---
281
281
 
282
- *SuperLocalMemory v4.0.2 · Qualixar · AGPL-3.0-or-later*
282
+ *SuperLocalMemory v4.0.4 · Qualixar · AGPL-3.0-or-later*
@@ -31,9 +31,9 @@ project, a client engagement, a production vs staging environment.
31
31
  | Profile | Tools | When to use |
32
32
  |---------|-------|-------------|
33
33
  | `core` | 14 tools — remember, recall, search, session, optimize | Minimal footprint, no code tools |
34
- | `code` | 24 tools — core + 6 code-graph tools + switch_profile + 3 bounded-loop tools | Default for IDE/coding agents |
35
- | `full` | 42 tools — code + all memory ops + mesh + bounded loops | Multi-session, team workflows |
36
- | `power` | 54 tools — full + governance + behavioral tools | Enterprise, admin, audit use cases |
34
+ | `code` | 29 tools — core + portable Brain evidence + code graph + profile switching + bounded loops | Default for IDE/coding agents |
35
+ | `full` | 47 tools — code + all memory ops + mesh + bounded loops | Multi-session, team workflows |
36
+ | `power` | 59 tools — full + governance + behavioral tools | Enterprise, admin, audit use cases |
37
37
  | `mesh` | 8 tools — mesh coordination only | Lightweight cross-session signalling |
38
38
 
39
39
  The profile is set at MCP server startup via `SLM_MCP_PROFILE` in the MCP config.
@@ -145,4 +145,4 @@ Name them differently in your MCP config (e.g. `superlocalmemory-personal` and
145
145
 
146
146
  ---
147
147
 
148
- *SuperLocalMemory v4.0.2 · Qualixar · AGPL-3.0-or-later*
148
+ *SuperLocalMemory v4.0.4 · Qualixar · AGPL-3.0-or-later*
@@ -236,4 +236,4 @@ before recalling, then switch back. See `slm-profile` for workspace switching.
236
236
 
237
237
  ---
238
238
 
239
- *SuperLocalMemory v4.0.2 · Qualixar · AGPL-3.0-or-later*
239
+ *SuperLocalMemory v4.0.4 · Qualixar · AGPL-3.0-or-later*
@@ -238,4 +238,4 @@ different workspace, use `switch_profile` first. See `slm-profile`.
238
238
 
239
239
  ---
240
240
 
241
- *SuperLocalMemory v4.0.2 · Qualixar · AGPL-3.0-or-later*
241
+ *SuperLocalMemory v4.0.4 · Qualixar · AGPL-3.0-or-later*
@@ -173,4 +173,4 @@ to review the impact. See `slm-remember` for the full deletion discipline.
173
173
 
174
174
  ---
175
175
 
176
- *SuperLocalMemory v4.0.2 · Qualixar · AGPL-3.0-or-later*
176
+ *SuperLocalMemory v4.0.4 · Qualixar · AGPL-3.0-or-later*
@@ -227,4 +227,4 @@ explicitly and call `recall` with `include_global`/`include_shared` after
227
227
 
228
228
  ---
229
229
 
230
- *SuperLocalMemory v4.0.2 · Qualixar · AGPL-3.0-or-later*
230
+ *SuperLocalMemory v4.0.4 · Qualixar · AGPL-3.0-or-later*
@@ -163,4 +163,4 @@ multi-profile setup. To switch the active profile, see `slm-profile`.
163
163
 
164
164
  ---
165
165
 
166
- SuperLocalMemory v4.0.2 · Qualixar · AGPL-3.0-or-later
166
+ SuperLocalMemory v4.0.4 · Qualixar · AGPL-3.0-or-later
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "superlocalmemory"
3
- version = "4.0.2"
3
+ version = "4.0.4"
4
4
  description = "Local-first agent memory with auditable hybrid retrieval"
5
5
  readme = "README.md"
6
6
  license = "AGPL-3.0-or-later"
@@ -32,7 +32,7 @@ if "OMP_NUM_THREADS" not in os.environ:
32
32
  os.environ["OMP_NUM_THREADS"] = "2"
33
33
  # ---------------------------------------------------------------------------
34
34
 
35
- __version__ = "4.0.2"
35
+ __version__ = "4.0.4"
36
36
 
37
37
  _REQUIRED_VERSIONS = {
38
38
  "sentence_transformers": "5.3.0",
@@ -321,25 +321,22 @@ def cmd_session(args: Namespace) -> None:
321
321
  print("Session close failed (daemon unreachable?)")
322
322
 
323
323
 
324
+ def _cmd_upgrade_hosts(args: Namespace) -> None:
325
+ """Run the consented host-integration refresh command."""
326
+ from superlocalmemory.cli.host_upgrades import cmd_upgrade_hosts
327
+
328
+ cmd_upgrade_hosts(args)
329
+
330
+
324
331
  def dispatch(args: Namespace) -> None:
325
332
  """Route CLI command to the appropriate handler."""
326
- # Auto-install/upgrade hooks on version change (single file read, ~0.1ms)
327
- if (
328
- args.command not in ("hooks", "codex", "init", "mcp")
329
- and not getattr(args, "dry_run", False)
330
- ):
331
- try:
332
- from superlocalmemory.hooks.claude_code_hooks import auto_install_if_needed
333
- auto_install_if_needed()
334
- except Exception:
335
- pass
336
-
337
333
  handlers = {
338
334
  "init": cmd_init,
339
335
  "setup": cmd_setup,
340
336
  "mode": cmd_mode,
341
337
  "provider": cmd_provider,
342
338
  "connect": cmd_connect,
339
+ "upgrade-hosts": _cmd_upgrade_hosts,
343
340
  "migrate": cmd_migrate,
344
341
  "list": cmd_list,
345
342
  "remember": cmd_remember,
@@ -2151,6 +2148,7 @@ _COMMAND_GROUPS: list[tuple[str, list[tuple[str, str]]]] = [
2151
2148
  ("mode", "Switch memory mode: a (local) / b (Ollama) / c (cloud)"),
2152
2149
  ("provider", "Configure the cloud LLM provider + API key (Mode C)"),
2153
2150
  ("connect", "Auto-configure detected IDEs (Cursor, VS Code, …)"),
2151
+ ("upgrade-hosts", "Preview or explicitly refresh existing SLM host integrations"),
2154
2152
  ("hooks", "Install/inspect Claude Code hooks"),
2155
2153
  ("codex", "Configure the Codex / OpenAI integration"),
2156
2154
  ]),
@@ -2206,6 +2204,7 @@ _COMMAND_GROUPS: list[tuple[str, list[tuple[str, str]]]] = [
2206
2204
  ("Learning & maintenance", [
2207
2205
  ("evolve", "Skill-evolution controls"),
2208
2206
  ("observe", "External observation / telemetry ingestion"),
2207
+ ("brain", "Show profile-scoped Living Brain evidence"),
2209
2208
  ("decay", "Run a forgetting/decay pass"),
2210
2209
  ("consolidate", "Merge/consolidate related memories"),
2211
2210
  ("quantize", "Quantize embeddings to save space"),
@@ -2967,14 +2966,6 @@ def cmd_mcp(_args: Namespace) -> None:
2967
2966
  except Exception:
2968
2967
  pass # A diagnostic must never prevent the server from starting.
2969
2968
 
2970
- # Auto-install hooks on MCP startup (fast path: ~0.1ms if already current)
2971
- # CRITICAL: No stdout — MCP uses stdio transport, any print corrupts protocol
2972
- try:
2973
- from superlocalmemory.hooks.claude_code_hooks import auto_install_if_needed
2974
- auto_install_if_needed()
2975
- except Exception:
2976
- pass
2977
-
2978
2969
  from superlocalmemory.mcp.server import server
2979
2970
 
2980
2971
  server.run(transport="stdio")