superlocalmemory 3.7.1__tar.gz → 3.7.3__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.
- {superlocalmemory-3.7.1/src/superlocalmemory.egg-info → superlocalmemory-3.7.3}/PKG-INFO +17 -9
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/README.md +16 -8
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/pyproject.toml +1 -1
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/__init__.py +1 -1
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/main.py +2 -2
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/scale_engine_cmd.py +13 -1
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/backend_orchestrator.py +15 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/embedding_worker.py +7 -1
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/embeddings.py +8 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/engine.py +1 -3
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/engine_wiring.py +0 -5
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/ram_lock.py +42 -4
- superlocalmemory-3.7.3/src/superlocalmemory/core/scale_engine.py +708 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/evolution/budget.py +43 -8
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/claude_code_hooks.py +2 -1
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/context_payload.py +2 -1
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/http_transport.py +2 -1
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/tools_core.py +46 -29
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mesh/broker.py +111 -61
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/proxy/server.py +2 -1
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/spreading_activation.py +53 -3
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/brain.py +2 -1
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/unified_daemon.py +24 -7
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3/src/superlocalmemory.egg-info}/PKG-INFO +17 -9
- superlocalmemory-3.7.1/src/superlocalmemory/core/scale_engine.py +0 -293
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/AUTHORS.md +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/LICENSE +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/NOTICE +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/plugin-src/skills/slm-cache/SKILL.md +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/plugin-src/skills/slm-compress/SKILL.md +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/plugin-src/skills/slm-graph/SKILL.md +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/plugin-src/skills/slm-recall/SKILL.md +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/plugin-src/skills/slm-remember/SKILL.md +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/plugin-src/skills/slm-session/SKILL.md +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/plugin-src/skills/slm-status/SKILL.md +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/setup.cfg +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/attribution/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/attribution/mathematical_dna.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/attribution/signer.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/attribution/watermark.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/_lazy_init.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/cache_cmd.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/commands.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/compress_cmd.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/context_commands.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/daemon.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/db_migrate.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/diagnostics_cmd.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/escape_hatch.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/evidence_cmd.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/help_cmd.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/ingest_cmd.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/json_output.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/migrate_cmd.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/optimize_cmd.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/optimize_constants.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/pending_store.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/post_install.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/proxy_cmd.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/service_installer.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/setup_wizard.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/version_banner.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/wizard_v3426_options.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/blast_radius.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/bridge/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/bridge/entity_resolver.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/bridge/event_listeners.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/bridge/fact_enricher.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/bridge/hebbian_linker.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/bridge/temporal_checker.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/changes.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/communities.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/config.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/database.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/extractors/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/extractors/python.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/extractors/typescript.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/flows.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/git_hooks.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/graph_engine.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/graph_store.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/incremental.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/models.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/parser.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/resolver.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/search.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/service.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/code_graph/watcher.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/compliance/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/compliance/abac.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/compliance/audit.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/compliance/eu_ai_act.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/compliance/gdpr.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/compliance/lifecycle.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/compliance/retention.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/compliance/scheduler.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/block_hygiene.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/clock_monitor.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/config.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/consolidation_engine.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/context_cache.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/db_pool.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/derivation_lineage.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/engine_capabilities.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/engine_ingestion.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/engine_lock.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/error_catalog.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/error_envelope.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/evidence_bundle.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/fact_consolidator.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/file_lock.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/graph_analyzer.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/graph_pruner.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/health_monitor.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/hooks.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/ingest_gate.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/ingestion_command.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/injection.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/lifecycle_state.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/loop_watchdog.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/maintenance.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/maintenance_scheduler.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/mcp_embedder_proxy.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/modes.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/mutations.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/ollama_embedder.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/platform_utils.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/priority_queue.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/profiles.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/pruning_engine.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/queue_consumer.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/queue_dispatcher.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/rate_limit.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/recall_gate.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/recall_pipeline.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/recall_queue.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/recall_worker.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/registry.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/remote_mode.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/reranker_worker.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/safe_fs.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/score_contract.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/security_primitives.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/shadow_router.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/slm_disabled.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/slmignore.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/store_pipeline.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/summarizer.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/tier_manager.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/topic_signature.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/worker_pool.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/dynamics/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/dynamics/activation_guided_quantization.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/dynamics/eap_scheduler.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/dynamics/ebbinghaus_langevin_coupling.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/dynamics/fisher_langevin_coupling.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/encoding/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/encoding/auto_linker.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/encoding/cognitive_consolidator.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/encoding/consolidator.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/encoding/context_generator.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/encoding/emotional.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/encoding/entity_resolver.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/encoding/entropy_gate.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/encoding/fact_extractor.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/encoding/foresight.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/encoding/graph_builder.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/encoding/observation_builder.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/encoding/scene_builder.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/encoding/signal_inference.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/encoding/temporal_parser.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/encoding/temporal_validator.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/encoding/type_router.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/evaluation/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/evaluation/calibration.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/evolution/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/evolution/blind_verifier.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/evolution/evolution_store.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/evolution/llm_dispatch.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/evolution/mutation_generator.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/evolution/skill_evolver.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/evolution/triggers.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/evolution/types.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/graph/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/graph/cozo_backend.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/_outcome_common.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/adapter_base.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/antigravity_adapter.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/auto_capture.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/auto_invoker.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/auto_parameterize.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/auto_recall.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/auto_recall_hook.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/before_web_hook.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/codex_assets.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/codex_hooks.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/copilot_adapter.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/cross_platform_connector.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/cursor_adapter.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/hook_daemon.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/hook_handlers.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/ide_connector.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/memory_protocol.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/portable_kit.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/post_tool_async_hook.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/post_tool_outcome_hook.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/prewarm_auth.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/rules_engine.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/session_registry.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/stop_outcome_hook.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/sync_loop.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/topic_shift_hook.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/user_prompt_hook.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/hooks/user_prompt_rehash_hook.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/infra/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/infra/auth_middleware.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/infra/backup.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/infra/cache_manager.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/infra/cloud_backup.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/infra/daemon_identity.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/infra/data_root.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/infra/event_bus.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/infra/heartbeat_monitor.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/infra/local_diagnostics.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/infra/pid_manager.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/infra/process_reaper.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/infra/rate_limiter.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/infra/webhook_dispatcher.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ingestion/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ingestion/adapter_manager.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ingestion/base_adapter.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ingestion/calendar_adapter.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ingestion/credentials.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ingestion/gmail_adapter.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ingestion/parsers.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ingestion/transcript_adapter.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/adaptive.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/arm_catalog.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/assertion_miner.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/bandit.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/bandit_cache.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/behavioral.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/behavioral_listener.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/bootstrap.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/consolidation_cycle.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/consolidation_quantization_worker.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/consolidation_worker.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/cross_project.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/database.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/dedup_hnsw.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/engagement.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/ensemble.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/entity_compiler.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/fact_outcome_joins.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/features.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/feedback.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/forgetting_scheduler.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/hnsw_dedup.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/labeler.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/legacy_migration.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/lightgbm_subprocess.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/memory_merge.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/model_cache.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/model_rollback.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/outcome_queue.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/outcomes.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/pattern_miner.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/pattern_miner_constants.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/project_context.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/quantization_scheduler.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/ranker.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/ranker_common.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/ranker_retrain_legacy.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/ranker_retrain_online.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/reward.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/reward_archive.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/reward_boost.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/reward_proxy.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/shadow_test.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/signal_worker.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/signals.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/skill_performance_miner.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/source_quality.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/trigram_index.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/learning/workflows.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/llm/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/llm/backbone.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/math/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/math/ebbinghaus.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/math/fisher.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/math/fisher_quantized.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/math/hopfield.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/math/langevin.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/math/polar_quant.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/math/qjl.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/math/sheaf.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/math/turbo_quant.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/_daemon_proxy.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/_pool_adapter.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/_stdin_guard.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/agent_context.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/cli_fallback.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/resources.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/server.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/shared.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/tools.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/tools_active.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/tools_code_graph.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/tools_context.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/tools_evolution.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/tools_learning.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/tools_mesh.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/tools_optimize.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/tools_v28.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/tools_v3.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mcp/tools_v33.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mesh/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/mesh/remote_sync.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/migrations/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/migrations/v3_4_25_to_v3_4_26.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/NOTICE +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/adapters/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/adapters/_agent_registry.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/adapters/anthropic_adapter.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/adapters/openai_adapter.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/adapters/wrap.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/cache/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/cache/boundary_store.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/cache/centroid_store.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/cache/context_key.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/cache/exact.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/cache/invalidation.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/cache/key_builder.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/cache/manager.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/cache/semantic.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/cache/stampede.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/compress/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/compress/align.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/compress/ccr.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/compress/prose_llmlingua.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/compress/router.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/config/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/config/defaults.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/config/schema.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/config/store.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/metrics/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/metrics/counters.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/metrics/estimator.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/metrics/exporters.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/metrics/persistence.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/proxy/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/proxy/_helpers.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/proxy/anthropic_surface.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/proxy/capture.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/proxy/gemini_surface.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/proxy/lifecycle.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/proxy/openai_surface.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/proxy/vertex_surface.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/storage/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/storage/db.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/optimize/storage/schema.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/parameterization/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/parameterization/pattern_extractor.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/parameterization/pii_filter.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/parameterization/prompt_injector.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/parameterization/prompt_lifecycle.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/parameterization/soft_prompt_generator.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/agentic.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/ann_index.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/bm25_channel.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/bridge_discovery.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/channel_registry.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/engine.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/entity_channel.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/forgetting_filter.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/fusion.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/hopfield_channel.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/profile_channel.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/quantization_aware_search.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/reranker.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/scope_policy.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/semantic_channel.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/strategy.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/temporal_channel.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/retrieval/vector_store.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/api.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/bandit_loops.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/middleware/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/middleware/security_headers.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/recall_health.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/recall_serializer.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/route_mutations.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/adapters.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/agents.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/backup.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/behavioral.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/chat.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/compliance.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/data_io.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/entity.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/events.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/evolution.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/helpers.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/ingest.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/insights.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/learning.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/lifecycle.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/memories.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/mesh.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/optimize.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/prewarm.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/profiles.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/stats.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/tiers.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/timeline.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/token.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/v3_api.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/routes/ws.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/security_middleware.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/ui.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/server/write_identity.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/access_control.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/access_log.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/database.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/embedding_migrator.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migration_runner.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migration_v33.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M001_add_signal_features_columns.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M002_model_state_history.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M003_migration_log.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M004_cross_platform_sync_log.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M005_bandit_tables.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M006_action_outcomes_reward.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M007_pending_outcomes.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M009_model_lineage.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M010_evolution_config.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M011_archive_and_merge.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M012_shadow_observations.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M013_bi_temporal_columns.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M014_v345_scale_ready.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M015_add_pinned_column.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M016_add_scope_support.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M017_ccq_scope_column.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M018_ingestion_operations.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M019_derivation_lineage.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/M020_model_state_integrity.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/migrations.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/models.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/quantized_store.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/schema.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/schema_code_graph.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/schema_v32.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/schema_v3410.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/schema_v3411.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/schema_v343.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/schema_v345.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/schema_v347.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/storage/v2_migrator.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/trust/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/trust/gate.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/trust/provenance.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/trust/scorer.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/trust/signals.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/css/brain.css +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/css/legacy-dashboard.css +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/css/neural-glass.css +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/favicon.svg +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/index.html +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/agents.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/auto-settings.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/brain.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/clusters.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/compliance.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/core.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/dashboard.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/events.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/fact-detail.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/feedback.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/graph-event-bus.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/graph-filters.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/graph-ui.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/ide-status.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/init.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/knowledge-graph.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/lifecycle.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/math-health.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/memories.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/memory-chat.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/memory-timeline.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/modal.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/ng-entities.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/ng-health.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/ng-ingestion.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/ng-mesh.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/ng-shell.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/ng-skills.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/optimize.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/profiles.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/quick-actions.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/recall-lab.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/search.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/settings.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/timeline.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/js/trust-dashboard.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/vendor/bootstrap-icons/bootstrap-icons.css +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/vendor/bootstrap-icons/fonts/bootstrap-icons.woff +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2 +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/vendor/bootstrap.bundle.min.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/vendor/bootstrap.min.css +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/vendor/d3.v7.min.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/vendor/graphology-library.min.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/vendor/graphology.umd.min.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/vendor/inter-ui/inter-variable.min.css +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/vendor/inter-ui/variable/InterVariable-Italic.woff2 +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/vendor/inter-ui/variable/InterVariable.woff2 +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/ui/vendor/sigma.min.js +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/vector/__init__.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/vector/lancedb_backend.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory.egg-info/SOURCES.txt +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory.egg-info/dependency_links.txt +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory.egg-info/entry_points.txt +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory.egg-info/requires.txt +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory.egg-info/top_level.txt +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_auto_hooks.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_before_web_hook.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_behavioral_full.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_claude_hooks.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_cli_core.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_cli_json.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_cli_v33.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_compliance_full.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_config_system.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_dashboard_preserve_embedding.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_engine_hooks.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_event_bus.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_features.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_final_locomo_mini.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_graph_integrity.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_hook_handlers.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_ide_connector.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_infra.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_injection.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_learning_advanced.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_learning_collectors.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_llm_provider.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_mcp_server.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_migration.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_mode_switch_preservation.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_post_install.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_ranker.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_resource_lifecycle.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_topic_shift_hook.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_trust_full.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_v3_api.py +0 -0
- {superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/tests/test_version_consistency.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: superlocalmemory
|
|
3
|
-
Version: 3.7.
|
|
3
|
+
Version: 3.7.3
|
|
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
|
|
@@ -101,13 +101,16 @@ Requires-Dist: httpx2==2.5.0; extra == "dev"
|
|
|
101
101
|
Dynamic: license-file
|
|
102
102
|
|
|
103
103
|
<p align="center">
|
|
104
|
-
<
|
|
104
|
+
<picture>
|
|
105
|
+
<source media="(prefers-color-scheme: dark)" srcset="assets/branding/slm-wordmark-dark.svg">
|
|
106
|
+
<img src="assets/branding/slm-wordmark-light.svg" alt="SuperLocalMemory" width="390">
|
|
107
|
+
</picture>
|
|
105
108
|
</p>
|
|
106
109
|
|
|
107
|
-
<h1 align="center">SuperLocalMemory V3.7.
|
|
110
|
+
<h1 align="center">SuperLocalMemory V3.7.3</h1>
|
|
108
111
|
<p align="center"><strong>Cache. Compress. Remember. Three surfaces — proxy, MCP tools, or skill. Every setup covered.</strong><br/>
|
|
109
112
|
<em>Local-first agent memory with explicit operating modes, auditable retrieval, and optional Optimize tools.</em></p>
|
|
110
|
-
<p align="center"><code>v3.7.
|
|
113
|
+
<p align="center"><code>v3.7.3</code> — <strong>Scale Engine integrity release: explicit legacy adoption, durable promotion recovery, and honest runtime status.</strong><br/>
|
|
111
114
|
Proxy: <code>slm wrap claude</code> · MCP: add <code>slm_compress</code> to your config · Skill: zero-config</p>
|
|
112
115
|
<p align="center"><strong>3 public research preprints</strong> (arXiv + Zenodo archives) · <a href="https://arxiv.org/abs/2603.02240">arXiv:2603.02240</a> · <a href="https://arxiv.org/abs/2603.14588">arXiv:2603.14588</a> · <a href="https://arxiv.org/abs/2604.04514">arXiv:2604.04514</a></p>
|
|
113
116
|
|
|
@@ -210,7 +213,7 @@ health surfaces expose the stages actually completed by the installed runtime.
|
|
|
210
213
|
| **Retrieval and recall** | Semantic, lexical, temporal, Hopfield and spreading-activation candidate channels; RRF fusion, optional reranking and graph score enhancement | Healthy channels participate; response provenance states the evidence used. |
|
|
211
214
|
| **Brain and learning** | Behavioral patterns, feedback/outcome records, rewards, consolidation, LightGBM-related ranking components, soft prompts, and guarded skill-evolution workflows | Learning is evidence-driven; it does not claim autonomous correctness or guaranteed improvement. |
|
|
212
215
|
| **Knowledge graph and entities** | Canonical entities, aliases, entity profiles, graph edges, scenes, timelines, explorer and graph APIs | Stored/derived graph data is evidence, not an instruction authority. |
|
|
213
|
-
| **Scale Engine** | SQLite + sqlite-vec are canonical. CozoDB graph and LanceDB vector projections are
|
|
216
|
+
| **Scale Engine** | SQLite + sqlite-vec are canonical. CozoDB graph and LanceDB vector projections are managed with prepare → verify → promote → rollback; a structurally detected pre-v3.7 projection can be explicitly adopted. | Promotion is parity-gated and crash-recoverable. Legacy adoption preserves the prior projection as a rollback backup; if proof fails, routing remains on canonical SQLite and status reports repair required. |
|
|
214
217
|
| **Optimize** | Exact cache, tagged invalidation, safe compression, opt-in aggressive prose compression, CCR originals, proxy/MCP/skill surfaces | Only proxy intercepts a primary provider turn. MCP/skill cache results explicitly routed through SLM. |
|
|
215
218
|
| **Mesh** | Authenticated peer messages, inbox/outbox, locks, offline queue, optional discovery and mesh MCP tools | Mesh is coordination, not automatic replicated memory or conflict resolution. |
|
|
216
219
|
| **Governance and operations** | Provenance, audit/retention/policy surfaces, export/erasure controls, diagnostics, health, backups and daemon lifecycle | These are engineering controls, not a legal certification. |
|
|
@@ -329,10 +332,15 @@ optional reranking, and entity-graph score enhancement. The entity graph does
|
|
|
329
332
|
not create an independent candidate in the current implementation. Core memory
|
|
330
333
|
is SQLite-backed. SQLite and sqlite-vec remain the canonical source of truth.
|
|
331
334
|
The packaged Scale Engine can maintain CozoDB graph and LanceDB vector
|
|
332
|
-
projections, and it remains outside active retrieval paths until
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
335
|
+
projections, and it remains outside active retrieval paths until a staged
|
|
336
|
+
parity witness proves it matches the canonical store. New installations remain
|
|
337
|
+
on Local Core. During upgrade, `slm db scale status` can identify a positive
|
|
338
|
+
pre-v3.7 layout candidate; the operator confirms it with `slm db scale adopt`.
|
|
339
|
+
SLM then rebuilds from canonical SQLite, verifies it, and promotes it with a
|
|
340
|
+
durable recovery journal while retaining the prior directories as a rollback
|
|
341
|
+
backup. `adopt` reports `restart_required: true`; run `slm restart` before
|
|
342
|
+
checking daemon health. If proof fails, recall remains on SQLite and status
|
|
343
|
+
reports repair required.
|
|
336
344
|
|
|
337
345
|
Canonical ingestion is a durable state machine: `raw → queryable → enriching →
|
|
338
346
|
complete`, with `failed` retaining raw evidence, error details, attempt count,
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<
|
|
2
|
+
<picture>
|
|
3
|
+
<source media="(prefers-color-scheme: dark)" srcset="assets/branding/slm-wordmark-dark.svg">
|
|
4
|
+
<img src="assets/branding/slm-wordmark-light.svg" alt="SuperLocalMemory" width="390">
|
|
5
|
+
</picture>
|
|
3
6
|
</p>
|
|
4
7
|
|
|
5
|
-
<h1 align="center">SuperLocalMemory V3.7.
|
|
8
|
+
<h1 align="center">SuperLocalMemory V3.7.3</h1>
|
|
6
9
|
<p align="center"><strong>Cache. Compress. Remember. Three surfaces — proxy, MCP tools, or skill. Every setup covered.</strong><br/>
|
|
7
10
|
<em>Local-first agent memory with explicit operating modes, auditable retrieval, and optional Optimize tools.</em></p>
|
|
8
|
-
<p align="center"><code>v3.7.
|
|
11
|
+
<p align="center"><code>v3.7.3</code> — <strong>Scale Engine integrity release: explicit legacy adoption, durable promotion recovery, and honest runtime status.</strong><br/>
|
|
9
12
|
Proxy: <code>slm wrap claude</code> · MCP: add <code>slm_compress</code> to your config · Skill: zero-config</p>
|
|
10
13
|
<p align="center"><strong>3 public research preprints</strong> (arXiv + Zenodo archives) · <a href="https://arxiv.org/abs/2603.02240">arXiv:2603.02240</a> · <a href="https://arxiv.org/abs/2603.14588">arXiv:2603.14588</a> · <a href="https://arxiv.org/abs/2604.04514">arXiv:2604.04514</a></p>
|
|
11
14
|
|
|
@@ -108,7 +111,7 @@ health surfaces expose the stages actually completed by the installed runtime.
|
|
|
108
111
|
| **Retrieval and recall** | Semantic, lexical, temporal, Hopfield and spreading-activation candidate channels; RRF fusion, optional reranking and graph score enhancement | Healthy channels participate; response provenance states the evidence used. |
|
|
109
112
|
| **Brain and learning** | Behavioral patterns, feedback/outcome records, rewards, consolidation, LightGBM-related ranking components, soft prompts, and guarded skill-evolution workflows | Learning is evidence-driven; it does not claim autonomous correctness or guaranteed improvement. |
|
|
110
113
|
| **Knowledge graph and entities** | Canonical entities, aliases, entity profiles, graph edges, scenes, timelines, explorer and graph APIs | Stored/derived graph data is evidence, not an instruction authority. |
|
|
111
|
-
| **Scale Engine** | SQLite + sqlite-vec are canonical. CozoDB graph and LanceDB vector projections are
|
|
114
|
+
| **Scale Engine** | SQLite + sqlite-vec are canonical. CozoDB graph and LanceDB vector projections are managed with prepare → verify → promote → rollback; a structurally detected pre-v3.7 projection can be explicitly adopted. | Promotion is parity-gated and crash-recoverable. Legacy adoption preserves the prior projection as a rollback backup; if proof fails, routing remains on canonical SQLite and status reports repair required. |
|
|
112
115
|
| **Optimize** | Exact cache, tagged invalidation, safe compression, opt-in aggressive prose compression, CCR originals, proxy/MCP/skill surfaces | Only proxy intercepts a primary provider turn. MCP/skill cache results explicitly routed through SLM. |
|
|
113
116
|
| **Mesh** | Authenticated peer messages, inbox/outbox, locks, offline queue, optional discovery and mesh MCP tools | Mesh is coordination, not automatic replicated memory or conflict resolution. |
|
|
114
117
|
| **Governance and operations** | Provenance, audit/retention/policy surfaces, export/erasure controls, diagnostics, health, backups and daemon lifecycle | These are engineering controls, not a legal certification. |
|
|
@@ -227,10 +230,15 @@ optional reranking, and entity-graph score enhancement. The entity graph does
|
|
|
227
230
|
not create an independent candidate in the current implementation. Core memory
|
|
228
231
|
is SQLite-backed. SQLite and sqlite-vec remain the canonical source of truth.
|
|
229
232
|
The packaged Scale Engine can maintain CozoDB graph and LanceDB vector
|
|
230
|
-
projections, and it remains outside active retrieval paths until
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
233
|
+
projections, and it remains outside active retrieval paths until a staged
|
|
234
|
+
parity witness proves it matches the canonical store. New installations remain
|
|
235
|
+
on Local Core. During upgrade, `slm db scale status` can identify a positive
|
|
236
|
+
pre-v3.7 layout candidate; the operator confirms it with `slm db scale adopt`.
|
|
237
|
+
SLM then rebuilds from canonical SQLite, verifies it, and promotes it with a
|
|
238
|
+
durable recovery journal while retaining the prior directories as a rollback
|
|
239
|
+
backup. `adopt` reports `restart_required: true`; run `slm restart` before
|
|
240
|
+
checking daemon health. If proof fails, recall remains on SQLite and status
|
|
241
|
+
reports repair required.
|
|
234
242
|
|
|
235
243
|
Canonical ingestion is a durable state machine: `raw → queryable → enriching →
|
|
236
244
|
complete`, with `failed` retaining raw evidence, error details, attempt count,
|
|
@@ -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__ = "3.7.
|
|
35
|
+
__version__ = "3.7.3"
|
|
36
36
|
|
|
37
37
|
_REQUIRED_VERSIONS = {
|
|
38
38
|
"sentence_transformers": "5.3.0",
|
|
@@ -270,8 +270,8 @@ def main() -> None:
|
|
|
270
270
|
)
|
|
271
271
|
db_scale_p.add_argument(
|
|
272
272
|
"scale_action",
|
|
273
|
-
choices=("status", "prepare", "verify", "promote", "rollback"),
|
|
274
|
-
help="Lifecycle action.
|
|
273
|
+
choices=("status", "adopt", "prepare", "verify", "promote", "rollback"),
|
|
274
|
+
help="Lifecycle action. Adopt confirms a detected legacy projection; prepare and verify never mutate active paths.",
|
|
275
275
|
)
|
|
276
276
|
db_scale_p.add_argument("--stage-id", help="Stage identifier required by verify/promote")
|
|
277
277
|
db_scale_p.add_argument("--backup-id", help="Backup identifier required by rollback")
|
{superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/cli/scale_engine_cmd.py
RENAMED
|
@@ -9,11 +9,23 @@ def cmd_db_scale(args: Namespace) -> int:
|
|
|
9
9
|
from superlocalmemory.core.config import SLMConfig
|
|
10
10
|
from superlocalmemory.core.scale_engine import ScaleEngineError, ScaleEngineManager
|
|
11
11
|
|
|
12
|
-
manager = ScaleEngineManager(SLMConfig.load())
|
|
13
12
|
action = args.scale_action
|
|
13
|
+
# Scale Engine projections are currently canonical-default-profile data.
|
|
14
|
+
# Adoption must not fail merely because the operator is working in another
|
|
15
|
+
# profile, and it must not rewrite that selected profile.
|
|
16
|
+
manager = ScaleEngineManager(
|
|
17
|
+
SLMConfig.load(), profile_id="default" if action == "adopt" else None
|
|
18
|
+
)
|
|
14
19
|
try:
|
|
15
20
|
if action == "status":
|
|
16
21
|
result = manager.status()
|
|
22
|
+
elif action == "adopt":
|
|
23
|
+
result = manager.adopt_legacy_projection()
|
|
24
|
+
if result is None:
|
|
25
|
+
raise ScaleEngineError(
|
|
26
|
+
"no confirmed legacy projection candidate; see `slm db scale status`"
|
|
27
|
+
)
|
|
28
|
+
result = {**result, "restart_required": True}
|
|
17
29
|
elif action == "prepare":
|
|
18
30
|
result = manager.prepare()
|
|
19
31
|
elif action == "verify":
|
{superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/backend_orchestrator.py
RENAMED
|
@@ -97,6 +97,8 @@ class BackendOrchestrator:
|
|
|
97
97
|
except Exception as exc:
|
|
98
98
|
logger.warning("Initial rebalance failed (non-fatal): %s", exc)
|
|
99
99
|
|
|
100
|
+
self._recover_interrupted_scale_promotion()
|
|
101
|
+
|
|
100
102
|
# Backends may be installed with the product, but installing a wheel
|
|
101
103
|
# is not authorization to mutate an existing data root. Only a
|
|
102
104
|
# verified, explicit promotion may initialize and migrate projections.
|
|
@@ -134,6 +136,19 @@ class BackendOrchestrator:
|
|
|
134
136
|
"active" if self._cozo and self._cozo_status() == "active" else "off",
|
|
135
137
|
"active" if self._lancedb and self._lancedb_status() == "active" else "off")
|
|
136
138
|
|
|
139
|
+
def _recover_interrupted_scale_promotion(self) -> None:
|
|
140
|
+
"""Repair an interrupted promotion; never auto-mutate a legacy root."""
|
|
141
|
+
try:
|
|
142
|
+
from superlocalmemory.core.scale_engine import ScaleEngineManager
|
|
143
|
+
|
|
144
|
+
result = ScaleEngineManager(self._config, profile_id="default").recover_interrupted_promotion()
|
|
145
|
+
if result:
|
|
146
|
+
logger.warning("Scale Engine promotion recovery: %s", result)
|
|
147
|
+
except Exception as exc:
|
|
148
|
+
# A scale projection is derived data. Startup must keep serving
|
|
149
|
+
# canonical SQLite even if optional recovery itself is unhealthy.
|
|
150
|
+
logger.error("Scale Engine recovery requires repair; Local Core remains active: %s", exc)
|
|
151
|
+
|
|
137
152
|
# ------------------------------------------------------------------
|
|
138
153
|
# Incremental Sync (F-04: called from store_pipeline)
|
|
139
154
|
# ------------------------------------------------------------------
|
{superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/embedding_worker.py
RENAMED
|
@@ -70,7 +70,13 @@ def _load_embedding_model(name: str) -> tuple:
|
|
|
70
70
|
|
|
71
71
|
Returns (model, backend_name) or (None, "").
|
|
72
72
|
"""
|
|
73
|
-
|
|
73
|
+
try:
|
|
74
|
+
from sentence_transformers import SentenceTransformer
|
|
75
|
+
except Exception:
|
|
76
|
+
# Dependency/version errors must stay inside the JSON-lines protocol.
|
|
77
|
+
# Letting this import escape kills the worker before it can explain the
|
|
78
|
+
# failure, which the parent previously mislabeled as a long timeout.
|
|
79
|
+
return None, ""
|
|
74
80
|
|
|
75
81
|
for backend in _embedding_backend_order():
|
|
76
82
|
try:
|
|
@@ -295,6 +295,8 @@ class EmbeddingService:
|
|
|
295
295
|
never hangs indefinitely on cold model loads or network issues.
|
|
296
296
|
"""
|
|
297
297
|
with self._lock:
|
|
298
|
+
if not self._available:
|
|
299
|
+
return None
|
|
298
300
|
# Worker recycling: restart after N requests to prevent
|
|
299
301
|
# C++ allocator fragmentation over long-running sessions.
|
|
300
302
|
if self._request_count >= _WORKER_RECYCLE_AFTER and self._worker_proc is not None:
|
|
@@ -339,6 +341,12 @@ class EmbeddingService:
|
|
|
339
341
|
resp = json.loads(resp_line)
|
|
340
342
|
if not resp.get("ok"):
|
|
341
343
|
logger.warning("Worker error: %s", resp.get("error"))
|
|
344
|
+
# A well-formed worker error is a terminal local
|
|
345
|
+
# dependency/model failure, not a transient pipe race.
|
|
346
|
+
# Disable this service and terminate the child so every
|
|
347
|
+
# recall does not respawn a heavyweight failing process.
|
|
348
|
+
self._available = False
|
|
349
|
+
self._kill_worker()
|
|
342
350
|
return None
|
|
343
351
|
self._reset_idle_timer()
|
|
344
352
|
self._request_count += 1
|
|
@@ -24,6 +24,7 @@ from typing import Any
|
|
|
24
24
|
from superlocalmemory.core.config import CANONICAL_RECALL_LIMIT, SLMConfig
|
|
25
25
|
from superlocalmemory.core.engine_capabilities import Capabilities, CapabilityError
|
|
26
26
|
from superlocalmemory.core.modes import get_capabilities
|
|
27
|
+
from superlocalmemory.learning.outcome_queue import RecallEvent, enqueue_recall
|
|
27
28
|
from superlocalmemory.storage.models import (
|
|
28
29
|
AtomicFact, MemoryRecord, Mode, RecallResponse,
|
|
29
30
|
)
|
|
@@ -664,9 +665,6 @@ class MemoryEngine:
|
|
|
664
665
|
# recall correctness (LLD-02 §4.9, LLD-08 §4.1).
|
|
665
666
|
if session_id:
|
|
666
667
|
try:
|
|
667
|
-
from superlocalmemory.learning.outcome_queue import (
|
|
668
|
-
RecallEvent, enqueue_recall,
|
|
669
|
-
)
|
|
670
668
|
fact_ids = tuple(
|
|
671
669
|
getattr(r.fact, "fact_id", "") or ""
|
|
672
670
|
for r in getattr(response, "results", [])
|
{superlocalmemory-3.7.1 → superlocalmemory-3.7.3}/src/superlocalmemory/core/engine_wiring.py
RENAMED
|
@@ -388,11 +388,6 @@ def _init_spreading_activation(
|
|
|
388
388
|
vector_store: Any,
|
|
389
389
|
) -> Any | None:
|
|
390
390
|
"""Create SpreadingActivation for Phase 3 5th retrieval channel."""
|
|
391
|
-
# V3.3.21: Guard against None vector_store. Without embeddings, SA's
|
|
392
|
-
# search() crashes with "'NoneType' has no attribute 'search'".
|
|
393
|
-
if vector_store is None:
|
|
394
|
-
logger.debug("SpreadingActivation skipped: no vector_store")
|
|
395
|
-
return None
|
|
396
391
|
try:
|
|
397
392
|
from superlocalmemory.retrieval.spreading_activation import (
|
|
398
393
|
SpreadingActivation,
|
|
@@ -15,12 +15,13 @@ Design notes:
|
|
|
15
15
|
available before we even try — better to defer than thrash.
|
|
16
16
|
- Lock file lives at ``~/.superlocalmemory/ram_lock.sem`` by default,
|
|
17
17
|
tests may monkeypatch ``RAM_LOCK_PATH``.
|
|
18
|
-
-
|
|
18
|
+
- Uses a standard-library advisory lock on POSIX and Windows. The lock is
|
|
19
|
+
deliberately file-backed so independent daemon, CLI, and worker processes
|
|
20
|
+
share the same RAM reservation.
|
|
19
21
|
"""
|
|
20
22
|
|
|
21
23
|
from __future__ import annotations
|
|
22
24
|
|
|
23
|
-
import fcntl
|
|
24
25
|
import os
|
|
25
26
|
import time
|
|
26
27
|
from contextlib import contextmanager
|
|
@@ -29,6 +30,11 @@ from typing import Iterator
|
|
|
29
30
|
|
|
30
31
|
import psutil
|
|
31
32
|
|
|
33
|
+
try: # POSIX advisory locks (macOS/Linux)
|
|
34
|
+
import fcntl as _fcntl
|
|
35
|
+
except ImportError: # Windows uses the stdlib byte-range equivalent below.
|
|
36
|
+
_fcntl = None
|
|
37
|
+
|
|
32
38
|
# Public override retained for tests and embedders. ``None`` means resolve the
|
|
33
39
|
# lock dynamically so a long-lived process can switch canonical namespaces
|
|
34
40
|
# without retaining the first root it observed.
|
|
@@ -44,6 +50,38 @@ def _ram_lock_path() -> Path:
|
|
|
44
50
|
return state_path("ram_lock.sem")
|
|
45
51
|
|
|
46
52
|
|
|
53
|
+
def _acquire_lock(fd: int) -> None:
|
|
54
|
+
"""Acquire one non-blocking cross-process lock for the semaphore."""
|
|
55
|
+
if _fcntl is not None:
|
|
56
|
+
_fcntl.flock(fd, _fcntl.LOCK_EX | _fcntl.LOCK_NB)
|
|
57
|
+
return
|
|
58
|
+
|
|
59
|
+
import msvcrt
|
|
60
|
+
|
|
61
|
+
# ``msvcrt.locking`` cannot reserve an empty file. The marker byte is
|
|
62
|
+
# purely structural; the human-readable audit marker is written after the
|
|
63
|
+
# reservation is acquired.
|
|
64
|
+
if os.fstat(fd).st_size == 0:
|
|
65
|
+
os.write(fd, b"\0")
|
|
66
|
+
os.lseek(fd, 0, os.SEEK_SET)
|
|
67
|
+
try:
|
|
68
|
+
msvcrt.locking(fd, msvcrt.LK_NBLCK, 1)
|
|
69
|
+
except OSError as exc:
|
|
70
|
+
raise BlockingIOError("RAM reservation is already held") from exc
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
def _release_lock(fd: int) -> None:
|
|
74
|
+
"""Release a reservation acquired by :func:`_acquire_lock`."""
|
|
75
|
+
if _fcntl is not None:
|
|
76
|
+
_fcntl.flock(fd, _fcntl.LOCK_UN)
|
|
77
|
+
return
|
|
78
|
+
|
|
79
|
+
import msvcrt
|
|
80
|
+
|
|
81
|
+
os.lseek(fd, 0, os.SEEK_SET)
|
|
82
|
+
msvcrt.locking(fd, msvcrt.LK_UNLCK, 1)
|
|
83
|
+
|
|
84
|
+
|
|
47
85
|
@contextmanager
|
|
48
86
|
def ram_reservation(
|
|
49
87
|
name: str,
|
|
@@ -96,7 +134,7 @@ def ram_reservation(
|
|
|
96
134
|
deadline = time.time() + timeout_s
|
|
97
135
|
while True:
|
|
98
136
|
try:
|
|
99
|
-
|
|
137
|
+
_acquire_lock(fd)
|
|
100
138
|
break
|
|
101
139
|
except BlockingIOError:
|
|
102
140
|
if time.time() >= deadline:
|
|
@@ -114,7 +152,7 @@ def ram_reservation(
|
|
|
114
152
|
yield
|
|
115
153
|
finally:
|
|
116
154
|
try:
|
|
117
|
-
|
|
155
|
+
_release_lock(fd)
|
|
118
156
|
finally:
|
|
119
157
|
os.close(fd)
|
|
120
158
|
|