superlocalmemory 3.7.3__tar.gz → 3.7.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.
- {superlocalmemory-3.7.3/src/superlocalmemory.egg-info → superlocalmemory-3.7.4}/PKG-INFO +6 -5
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/README.md +5 -4
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/pyproject.toml +1 -1
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/__init__.py +1 -1
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/scale_engine.py +96 -14
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/graph/cozo_backend.py +12 -17
- superlocalmemory-3.7.4/src/superlocalmemory/storage/logical_edges.py +45 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4/src/superlocalmemory.egg-info}/PKG-INFO +6 -5
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory.egg-info/SOURCES.txt +1 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/AUTHORS.md +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/LICENSE +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/NOTICE +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/plugin-src/skills/slm-cache/SKILL.md +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/plugin-src/skills/slm-compress/SKILL.md +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/plugin-src/skills/slm-graph/SKILL.md +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/plugin-src/skills/slm-recall/SKILL.md +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/plugin-src/skills/slm-remember/SKILL.md +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/plugin-src/skills/slm-session/SKILL.md +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/plugin-src/skills/slm-status/SKILL.md +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/setup.cfg +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/attribution/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/attribution/mathematical_dna.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/attribution/signer.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/attribution/watermark.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/_lazy_init.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/cache_cmd.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/commands.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/compress_cmd.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/context_commands.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/daemon.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/db_migrate.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/diagnostics_cmd.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/escape_hatch.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/evidence_cmd.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/help_cmd.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/ingest_cmd.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/json_output.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/main.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/migrate_cmd.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/optimize_cmd.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/optimize_constants.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/pending_store.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/post_install.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/proxy_cmd.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/scale_engine_cmd.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/service_installer.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/setup_wizard.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/version_banner.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/wizard_v3426_options.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/blast_radius.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/bridge/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/bridge/entity_resolver.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/bridge/event_listeners.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/bridge/fact_enricher.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/bridge/hebbian_linker.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/bridge/temporal_checker.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/changes.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/communities.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/config.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/database.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/extractors/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/extractors/python.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/extractors/typescript.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/flows.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/git_hooks.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/graph_engine.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/graph_store.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/incremental.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/models.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/parser.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/resolver.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/search.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/service.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/watcher.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/compliance/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/compliance/abac.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/compliance/audit.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/compliance/eu_ai_act.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/compliance/gdpr.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/compliance/lifecycle.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/compliance/retention.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/compliance/scheduler.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/backend_orchestrator.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/block_hygiene.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/clock_monitor.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/config.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/consolidation_engine.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/context_cache.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/db_pool.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/derivation_lineage.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/embedding_worker.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/embeddings.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/engine.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/engine_capabilities.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/engine_ingestion.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/engine_lock.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/engine_wiring.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/error_catalog.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/error_envelope.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/evidence_bundle.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/fact_consolidator.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/file_lock.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/graph_analyzer.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/graph_pruner.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/health_monitor.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/hooks.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/ingest_gate.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/ingestion_command.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/injection.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/lifecycle_state.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/loop_watchdog.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/maintenance.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/maintenance_scheduler.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/mcp_embedder_proxy.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/modes.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/mutations.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/ollama_embedder.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/platform_utils.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/priority_queue.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/profiles.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/pruning_engine.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/queue_consumer.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/queue_dispatcher.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/ram_lock.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/rate_limit.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/recall_gate.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/recall_pipeline.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/recall_queue.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/recall_worker.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/registry.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/remote_mode.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/reranker_worker.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/safe_fs.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/score_contract.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/security_primitives.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/shadow_router.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/slm_disabled.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/slmignore.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/store_pipeline.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/summarizer.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/tier_manager.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/topic_signature.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/core/worker_pool.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/dynamics/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/dynamics/activation_guided_quantization.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/dynamics/eap_scheduler.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/dynamics/ebbinghaus_langevin_coupling.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/dynamics/fisher_langevin_coupling.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/encoding/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/encoding/auto_linker.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/encoding/cognitive_consolidator.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/encoding/consolidator.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/encoding/context_generator.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/encoding/emotional.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/encoding/entity_resolver.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/encoding/entropy_gate.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/encoding/fact_extractor.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/encoding/foresight.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/encoding/graph_builder.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/encoding/observation_builder.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/encoding/scene_builder.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/encoding/signal_inference.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/encoding/temporal_parser.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/encoding/temporal_validator.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/encoding/type_router.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/evaluation/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/evaluation/calibration.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/evolution/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/evolution/blind_verifier.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/evolution/budget.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/evolution/evolution_store.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/evolution/llm_dispatch.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/evolution/mutation_generator.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/evolution/skill_evolver.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/evolution/triggers.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/evolution/types.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/graph/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/_outcome_common.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/adapter_base.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/antigravity_adapter.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/auto_capture.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/auto_invoker.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/auto_parameterize.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/auto_recall.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/auto_recall_hook.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/before_web_hook.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/claude_code_hooks.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/codex_assets.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/codex_hooks.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/context_payload.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/copilot_adapter.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/cross_platform_connector.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/cursor_adapter.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/hook_daemon.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/hook_handlers.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/ide_connector.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/memory_protocol.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/portable_kit.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/post_tool_async_hook.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/post_tool_outcome_hook.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/prewarm_auth.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/rules_engine.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/session_registry.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/stop_outcome_hook.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/sync_loop.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/topic_shift_hook.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/user_prompt_hook.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/hooks/user_prompt_rehash_hook.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/infra/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/infra/auth_middleware.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/infra/backup.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/infra/cache_manager.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/infra/cloud_backup.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/infra/daemon_identity.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/infra/data_root.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/infra/event_bus.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/infra/heartbeat_monitor.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/infra/local_diagnostics.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/infra/pid_manager.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/infra/process_reaper.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/infra/rate_limiter.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/infra/webhook_dispatcher.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ingestion/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ingestion/adapter_manager.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ingestion/base_adapter.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ingestion/calendar_adapter.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ingestion/credentials.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ingestion/gmail_adapter.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ingestion/parsers.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ingestion/transcript_adapter.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/adaptive.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/arm_catalog.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/assertion_miner.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/bandit.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/bandit_cache.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/behavioral.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/behavioral_listener.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/bootstrap.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/consolidation_cycle.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/consolidation_quantization_worker.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/consolidation_worker.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/cross_project.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/database.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/dedup_hnsw.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/engagement.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/ensemble.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/entity_compiler.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/fact_outcome_joins.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/features.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/feedback.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/forgetting_scheduler.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/hnsw_dedup.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/labeler.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/legacy_migration.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/lightgbm_subprocess.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/memory_merge.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/model_cache.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/model_rollback.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/outcome_queue.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/outcomes.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/pattern_miner.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/pattern_miner_constants.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/project_context.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/quantization_scheduler.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/ranker.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/ranker_common.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/ranker_retrain_legacy.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/ranker_retrain_online.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/reward.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/reward_archive.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/reward_boost.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/reward_proxy.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/shadow_test.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/signal_worker.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/signals.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/skill_performance_miner.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/source_quality.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/trigram_index.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/learning/workflows.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/llm/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/llm/backbone.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/math/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/math/ebbinghaus.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/math/fisher.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/math/fisher_quantized.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/math/hopfield.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/math/langevin.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/math/polar_quant.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/math/qjl.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/math/sheaf.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/math/turbo_quant.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/_daemon_proxy.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/_pool_adapter.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/_stdin_guard.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/agent_context.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/cli_fallback.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/http_transport.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/resources.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/server.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/shared.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/tools.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/tools_active.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/tools_code_graph.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/tools_context.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/tools_core.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/tools_evolution.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/tools_learning.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/tools_mesh.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/tools_optimize.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/tools_v28.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/tools_v3.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mcp/tools_v33.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mesh/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mesh/broker.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/mesh/remote_sync.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/migrations/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/migrations/v3_4_25_to_v3_4_26.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/NOTICE +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/adapters/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/adapters/_agent_registry.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/adapters/anthropic_adapter.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/adapters/openai_adapter.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/adapters/wrap.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/cache/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/cache/boundary_store.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/cache/centroid_store.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/cache/context_key.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/cache/exact.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/cache/invalidation.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/cache/key_builder.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/cache/manager.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/cache/semantic.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/cache/stampede.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/compress/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/compress/align.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/compress/ccr.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/compress/prose_llmlingua.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/compress/router.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/config/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/config/defaults.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/config/schema.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/config/store.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/metrics/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/metrics/counters.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/metrics/estimator.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/metrics/exporters.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/metrics/persistence.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/proxy/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/proxy/_helpers.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/proxy/anthropic_surface.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/proxy/capture.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/proxy/gemini_surface.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/proxy/lifecycle.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/proxy/openai_surface.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/proxy/server.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/proxy/vertex_surface.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/storage/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/storage/db.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/optimize/storage/schema.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/parameterization/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/parameterization/pattern_extractor.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/parameterization/pii_filter.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/parameterization/prompt_injector.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/parameterization/prompt_lifecycle.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/parameterization/soft_prompt_generator.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/agentic.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/ann_index.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/bm25_channel.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/bridge_discovery.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/channel_registry.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/engine.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/entity_channel.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/forgetting_filter.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/fusion.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/hopfield_channel.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/profile_channel.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/quantization_aware_search.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/reranker.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/scope_policy.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/semantic_channel.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/spreading_activation.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/strategy.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/temporal_channel.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/retrieval/vector_store.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/api.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/bandit_loops.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/middleware/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/middleware/security_headers.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/recall_health.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/recall_serializer.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/route_mutations.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/adapters.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/agents.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/backup.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/behavioral.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/brain.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/chat.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/compliance.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/data_io.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/entity.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/events.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/evolution.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/helpers.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/ingest.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/insights.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/learning.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/lifecycle.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/memories.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/mesh.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/optimize.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/prewarm.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/profiles.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/stats.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/tiers.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/timeline.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/token.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/v3_api.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/routes/ws.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/security_middleware.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/ui.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/unified_daemon.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/server/write_identity.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/access_control.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/access_log.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/database.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/embedding_migrator.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migration_runner.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migration_v33.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M001_add_signal_features_columns.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M002_model_state_history.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M003_migration_log.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M004_cross_platform_sync_log.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M005_bandit_tables.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M006_action_outcomes_reward.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M007_pending_outcomes.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M009_model_lineage.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M010_evolution_config.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M011_archive_and_merge.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M012_shadow_observations.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M013_bi_temporal_columns.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M014_v345_scale_ready.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M015_add_pinned_column.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M016_add_scope_support.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M017_ccq_scope_column.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M018_ingestion_operations.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M019_derivation_lineage.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/M020_model_state_integrity.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/migrations.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/models.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/quantized_store.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/schema.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/schema_code_graph.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/schema_v32.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/schema_v3410.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/schema_v3411.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/schema_v343.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/schema_v345.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/schema_v347.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/storage/v2_migrator.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/trust/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/trust/gate.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/trust/provenance.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/trust/scorer.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/trust/signals.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/css/brain.css +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/css/legacy-dashboard.css +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/css/neural-glass.css +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/favicon.svg +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/index.html +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/agents.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/auto-settings.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/brain.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/clusters.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/compliance.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/core.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/dashboard.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/events.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/fact-detail.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/feedback.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/graph-event-bus.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/graph-filters.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/graph-ui.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/ide-status.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/init.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/knowledge-graph.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/lifecycle.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/math-health.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/memories.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/memory-chat.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/memory-timeline.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/modal.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/ng-entities.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/ng-health.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/ng-ingestion.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/ng-mesh.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/ng-shell.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/ng-skills.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/optimize.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/profiles.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/quick-actions.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/recall-lab.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/search.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/settings.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/timeline.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/js/trust-dashboard.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/vendor/bootstrap-icons/bootstrap-icons.css +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/vendor/bootstrap-icons/fonts/bootstrap-icons.woff +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2 +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/vendor/bootstrap.bundle.min.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/vendor/bootstrap.min.css +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/vendor/d3.v7.min.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/vendor/graphology-library.min.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/vendor/graphology.umd.min.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/vendor/inter-ui/inter-variable.min.css +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/vendor/inter-ui/variable/InterVariable-Italic.woff2 +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/vendor/inter-ui/variable/InterVariable.woff2 +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/ui/vendor/sigma.min.js +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/vector/__init__.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/vector/lancedb_backend.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory.egg-info/dependency_links.txt +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory.egg-info/entry_points.txt +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory.egg-info/requires.txt +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory.egg-info/top_level.txt +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_auto_hooks.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_before_web_hook.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_behavioral_full.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_claude_hooks.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_cli_core.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_cli_json.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_cli_v33.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_compliance_full.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_config_system.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_dashboard_preserve_embedding.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_engine_hooks.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_event_bus.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_features.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_final_locomo_mini.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_graph_integrity.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_hook_handlers.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_ide_connector.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_infra.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_injection.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_learning_advanced.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_learning_collectors.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_llm_provider.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_mcp_server.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_migration.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_mode_switch_preservation.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_post_install.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_ranker.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_resource_lifecycle.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_topic_shift_hook.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_trust_full.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/tests/test_v3_api.py +0 -0
- {superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/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.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
|
|
@@ -107,10 +107,10 @@ Dynamic: license-file
|
|
|
107
107
|
</picture>
|
|
108
108
|
</p>
|
|
109
109
|
|
|
110
|
-
<h1 align="center">SuperLocalMemory V3.7.
|
|
110
|
+
<h1 align="center">SuperLocalMemory V3.7.4</h1>
|
|
111
111
|
<p align="center"><strong>Cache. Compress. Remember. Three surfaces — proxy, MCP tools, or skill. Every setup covered.</strong><br/>
|
|
112
112
|
<em>Local-first agent memory with explicit operating modes, auditable retrieval, and optional Optimize tools.</em></p>
|
|
113
|
-
<p align="center"><code>v3.7.
|
|
113
|
+
<p align="center"><code>v3.7.4</code> — <strong>Scale Engine projection parity: normalized logical graph edges, durable promotion recovery, and honest runtime status.</strong><br/>
|
|
114
114
|
Proxy: <code>slm wrap claude</code> · MCP: add <code>slm_compress</code> to your config · Skill: zero-config</p>
|
|
115
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>
|
|
116
116
|
|
|
@@ -213,7 +213,7 @@ health surfaces expose the stages actually completed by the installed runtime.
|
|
|
213
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. |
|
|
214
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. |
|
|
215
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. |
|
|
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;
|
|
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; repeated physical edge rows normalize to one logical edge with the strongest weight. |
|
|
217
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. |
|
|
218
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. |
|
|
219
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. |
|
|
@@ -340,7 +340,8 @@ SLM then rebuilds from canonical SQLite, verifies it, and promotes it with a
|
|
|
340
340
|
durable recovery journal while retaining the prior directories as a rollback
|
|
341
341
|
backup. `adopt` reports `restart_required: true`; run `slm restart` before
|
|
342
342
|
checking daemon health. If proof fails, recall remains on SQLite and status
|
|
343
|
-
|
|
343
|
+
retains the rejected manifest for inspection, retires its replaceable derived
|
|
344
|
+
payload, and allows a corrected retry.
|
|
344
345
|
|
|
345
346
|
Canonical ingestion is a durable state machine: `raw → queryable → enriching →
|
|
346
347
|
complete`, with `failed` retaining raw evidence, error details, attempt count,
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
</picture>
|
|
6
6
|
</p>
|
|
7
7
|
|
|
8
|
-
<h1 align="center">SuperLocalMemory V3.7.
|
|
8
|
+
<h1 align="center">SuperLocalMemory V3.7.4</h1>
|
|
9
9
|
<p align="center"><strong>Cache. Compress. Remember. Three surfaces — proxy, MCP tools, or skill. Every setup covered.</strong><br/>
|
|
10
10
|
<em>Local-first agent memory with explicit operating modes, auditable retrieval, and optional Optimize tools.</em></p>
|
|
11
|
-
<p align="center"><code>v3.7.
|
|
11
|
+
<p align="center"><code>v3.7.4</code> — <strong>Scale Engine projection parity: normalized logical graph edges, durable promotion recovery, and honest runtime status.</strong><br/>
|
|
12
12
|
Proxy: <code>slm wrap claude</code> · MCP: add <code>slm_compress</code> to your config · Skill: zero-config</p>
|
|
13
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>
|
|
14
14
|
|
|
@@ -111,7 +111,7 @@ health surfaces expose the stages actually completed by the installed runtime.
|
|
|
111
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. |
|
|
112
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. |
|
|
113
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. |
|
|
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;
|
|
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; repeated physical edge rows normalize to one logical edge with the strongest weight. |
|
|
115
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. |
|
|
116
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. |
|
|
117
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. |
|
|
@@ -238,7 +238,8 @@ SLM then rebuilds from canonical SQLite, verifies it, and promotes it with a
|
|
|
238
238
|
durable recovery journal while retaining the prior directories as a rollback
|
|
239
239
|
backup. `adopt` reports `restart_required: true`; run `slm restart` before
|
|
240
240
|
checking daemon health. If proof fails, recall remains on SQLite and status
|
|
241
|
-
|
|
241
|
+
retains the rejected manifest for inspection, retires its replaceable derived
|
|
242
|
+
payload, and allows a corrected retry.
|
|
242
243
|
|
|
243
244
|
Canonical ingestion is a durable state machine: `raw → queryable → enriching →
|
|
244
245
|
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.4"
|
|
36
36
|
|
|
37
37
|
_REQUIRED_VERSIONS = {
|
|
38
38
|
"sentence_transformers": "5.3.0",
|
|
@@ -22,6 +22,8 @@ from datetime import UTC, datetime
|
|
|
22
22
|
from pathlib import Path
|
|
23
23
|
from typing import Any, Callable
|
|
24
24
|
|
|
25
|
+
from superlocalmemory.storage.logical_edges import count_logical_edges, iter_logical_edges
|
|
26
|
+
|
|
25
27
|
|
|
26
28
|
class ScaleEngineError(RuntimeError):
|
|
27
29
|
"""A scale projection cannot safely advance to its next lifecycle state."""
|
|
@@ -98,8 +100,8 @@ class ScaleEngineManager:
|
|
|
98
100
|
legacy_projection_candidate = (
|
|
99
101
|
state == "local_core"
|
|
100
102
|
and all(paths_present.values())
|
|
101
|
-
and not manifests
|
|
102
103
|
and not backups
|
|
104
|
+
and not self.promotion_journal_path.exists()
|
|
103
105
|
and self._has_legacy_projection_layout()
|
|
104
106
|
)
|
|
105
107
|
runtime = self._runtime_backend_status()
|
|
@@ -117,7 +119,17 @@ class ScaleEngineManager:
|
|
|
117
119
|
"legacy_candidate_requires_confirmation": legacy_projection_candidate,
|
|
118
120
|
"migration_repair_required": (
|
|
119
121
|
self.promotion_journal_path.exists()
|
|
120
|
-
or (
|
|
122
|
+
or any(
|
|
123
|
+
manifest.get("state") == "promoted" and state != "promoted"
|
|
124
|
+
for manifest in manifests
|
|
125
|
+
)
|
|
126
|
+
or (
|
|
127
|
+
state == "promoted"
|
|
128
|
+
and any(
|
|
129
|
+
manifest.get("state") in {"prepared", "verified"}
|
|
130
|
+
for manifest in manifests
|
|
131
|
+
)
|
|
132
|
+
)
|
|
121
133
|
),
|
|
122
134
|
"stages": manifests,
|
|
123
135
|
"backups": backups,
|
|
@@ -135,26 +147,91 @@ class ScaleEngineManager:
|
|
|
135
147
|
if not self.status()["legacy_projection_candidate"]:
|
|
136
148
|
return None
|
|
137
149
|
lock_path = self._acquire_lifecycle_lock()
|
|
150
|
+
prepared: dict[str, Any] | None = None
|
|
138
151
|
try:
|
|
139
152
|
# Re-check inside the lock. A concurrent command may have
|
|
140
153
|
# completed promotion while this caller waited to acquire it.
|
|
141
|
-
|
|
154
|
+
current_status = self.status()
|
|
155
|
+
if not current_status["legacy_projection_candidate"]:
|
|
142
156
|
return None
|
|
157
|
+
retry_payloads = [
|
|
158
|
+
manifest["stage_id"]
|
|
159
|
+
for manifest in current_status["stages"]
|
|
160
|
+
if manifest.get("state") in {"prepared", "verified"}
|
|
161
|
+
and manifest.get("stage_id")
|
|
162
|
+
]
|
|
143
163
|
prepared = self._prepare()
|
|
144
164
|
self._verify(prepared["stage_id"])
|
|
145
|
-
|
|
146
|
-
|
|
165
|
+
promoted = self._promote(prepared["stage_id"])
|
|
166
|
+
retired: list[str] = []
|
|
167
|
+
retirement_failures: dict[str, str] = {}
|
|
168
|
+
for stage_id in retry_payloads:
|
|
169
|
+
try:
|
|
170
|
+
self._retire_superseded_stage(stage_id)
|
|
171
|
+
retired.append(stage_id)
|
|
172
|
+
except Exception as cleanup_exc:
|
|
173
|
+
retirement_failures[stage_id] = str(cleanup_exc)
|
|
174
|
+
return {
|
|
175
|
+
**promoted,
|
|
176
|
+
"retired_stages": retired,
|
|
177
|
+
"retirement_failures": retirement_failures,
|
|
178
|
+
}
|
|
179
|
+
except Exception as exc:
|
|
147
180
|
# A failed adoption must leave the canonical path selected. The
|
|
148
|
-
#
|
|
149
|
-
#
|
|
150
|
-
|
|
181
|
+
# manifest is retained for inspection, but its replaceable Cozo
|
|
182
|
+
# and Lance payloads are retired so repeated retries cannot grow
|
|
183
|
+
# the data root without bound.
|
|
184
|
+
retirement_error: Exception | None = None
|
|
185
|
+
unresolved_promotion = self.promotion_journal_path.exists()
|
|
186
|
+
if prepared is not None and not unresolved_promotion:
|
|
187
|
+
try:
|
|
188
|
+
self._retire_rejected_stage(prepared["stage_id"], exc)
|
|
189
|
+
except Exception as cleanup_exc:
|
|
190
|
+
retirement_error = cleanup_exc
|
|
191
|
+
self.config.scale_engine_state = (
|
|
192
|
+
"verified" if unresolved_promotion else "local_core"
|
|
193
|
+
)
|
|
151
194
|
self.config.graph_backend = "auto"
|
|
152
195
|
self.config.vector_backend = "auto"
|
|
153
196
|
self._save_config()
|
|
197
|
+
if retirement_error is not None:
|
|
198
|
+
raise ScaleEngineError(
|
|
199
|
+
f"{exc}; rejected stage retirement failed: {retirement_error}"
|
|
200
|
+
) from exc
|
|
154
201
|
raise
|
|
155
202
|
finally:
|
|
156
203
|
self._release_lifecycle_lock(lock_path)
|
|
157
204
|
|
|
205
|
+
def _retire_rejected_stage(self, stage_id: str, error: Exception) -> None:
|
|
206
|
+
"""Keep rejection evidence while removing replaceable projection data."""
|
|
207
|
+
self._retire_stage_payload(
|
|
208
|
+
stage_id,
|
|
209
|
+
{
|
|
210
|
+
"state": "rejected",
|
|
211
|
+
"rejected_at": _utc_now(),
|
|
212
|
+
"failure": f"{type(error).__name__}: {error}",
|
|
213
|
+
},
|
|
214
|
+
)
|
|
215
|
+
|
|
216
|
+
def _retire_superseded_stage(self, stage_id: str) -> None:
|
|
217
|
+
"""Retain an old retry manifest after a newer projection is promoted."""
|
|
218
|
+
self._retire_stage_payload(
|
|
219
|
+
stage_id,
|
|
220
|
+
{"state": "superseded", "superseded_at": _utc_now()},
|
|
221
|
+
)
|
|
222
|
+
|
|
223
|
+
def _retire_stage_payload(
|
|
224
|
+
self, stage_id: str, manifest_updates: dict[str, Any]
|
|
225
|
+
) -> None:
|
|
226
|
+
"""Remove derived stage bytes while retaining its durable manifest."""
|
|
227
|
+
stage_dir, manifest = self._load_stage(stage_id)
|
|
228
|
+
for payload in (stage_dir / "cozo", stage_dir / "lance"):
|
|
229
|
+
if payload.exists():
|
|
230
|
+
shutil.rmtree(payload)
|
|
231
|
+
self._fsync_directory(stage_dir)
|
|
232
|
+
manifest.update(manifest_updates)
|
|
233
|
+
self._write_manifest(stage_dir, manifest)
|
|
234
|
+
|
|
158
235
|
def prepare(self) -> dict[str, Any]:
|
|
159
236
|
"""Build a new projection in a private staging directory."""
|
|
160
237
|
lock_path = self._acquire_lifecycle_lock()
|
|
@@ -308,11 +385,14 @@ class ScaleEngineManager:
|
|
|
308
385
|
except sqlite3.Error:
|
|
309
386
|
pass
|
|
310
387
|
try:
|
|
311
|
-
self._recover_interrupted_promotion()
|
|
312
|
-
except
|
|
388
|
+
recovery = self._recover_interrupted_promotion()
|
|
389
|
+
except Exception as recovery_error:
|
|
313
390
|
raise ScaleEngineError(
|
|
314
391
|
f"promotion interrupted; automatic recovery needs repair: {recovery_error}"
|
|
315
392
|
) from exc
|
|
393
|
+
if recovery == "finalized_committed_promotion":
|
|
394
|
+
_, recovered_manifest = self._load_stage(stage_id)
|
|
395
|
+
return recovered_manifest
|
|
316
396
|
raise ScaleEngineError(f"promotion rolled back: {exc}") from exc
|
|
317
397
|
finally:
|
|
318
398
|
gate.close()
|
|
@@ -392,9 +472,7 @@ class ScaleEngineManager:
|
|
|
392
472
|
"SELECT COUNT(*) FROM canonical_entities WHERE profile_id=?",
|
|
393
473
|
(self.profile_id,),
|
|
394
474
|
).fetchone()[0]
|
|
395
|
-
edges = conn.
|
|
396
|
-
"SELECT COUNT(*) FROM graph_edges WHERE profile_id=?", (self.profile_id,)
|
|
397
|
-
).fetchone()[0]
|
|
475
|
+
edges = count_logical_edges(conn, self.profile_id)
|
|
398
476
|
try:
|
|
399
477
|
vectors = conn.execute(
|
|
400
478
|
"SELECT COUNT(*) FROM fact_embeddings_rowids fer "
|
|
@@ -422,7 +500,6 @@ class ScaleEngineManager:
|
|
|
422
500
|
tables = (
|
|
423
501
|
("canonical_entities", "entity_id, canonical_name, entity_type, first_seen, last_seen, fact_count, profile_id", "entity_id"),
|
|
424
502
|
("atomic_facts", "fact_id, canonical_entities_json, lifecycle, profile_id", "fact_id"),
|
|
425
|
-
("graph_edges", "source_id, target_id, edge_type, weight, profile_id", "source_id, target_id, edge_type"),
|
|
426
503
|
)
|
|
427
504
|
for table, columns, ordering in tables:
|
|
428
505
|
try:
|
|
@@ -434,6 +511,11 @@ class ScaleEngineManager:
|
|
|
434
511
|
self._digest_row(digest, table, row)
|
|
435
512
|
except sqlite3.OperationalError as exc:
|
|
436
513
|
raise ScaleEngineError(f"canonical SQLite missing required {table} table") from exc
|
|
514
|
+
try:
|
|
515
|
+
for row in iter_logical_edges(conn, self.profile_id):
|
|
516
|
+
self._digest_row(digest, "graph_edges", row)
|
|
517
|
+
except sqlite3.OperationalError as exc:
|
|
518
|
+
raise ScaleEngineError("canonical SQLite missing required graph_edges table") from exc
|
|
437
519
|
try:
|
|
438
520
|
rows = conn.execute(
|
|
439
521
|
"SELECT fer.rowid, fer.fact_id, vec.vector FROM fact_embeddings_rowids fer "
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/graph/cozo_backend.py
RENAMED
|
@@ -24,6 +24,8 @@ from datetime import datetime
|
|
|
24
24
|
from pathlib import Path
|
|
25
25
|
from typing import Any
|
|
26
26
|
|
|
27
|
+
from superlocalmemory.storage.logical_edges import iter_logical_edges
|
|
28
|
+
|
|
27
29
|
logger = logging.getLogger(__name__)
|
|
28
30
|
|
|
29
31
|
# Optional import — CozoDB is an optional dependency
|
|
@@ -260,6 +262,12 @@ class CozoDBGraphBackend:
|
|
|
260
262
|
*fact_entity{fact_id, entity_id, profile_id}, fact_id = $fact_id
|
|
261
263
|
:rm fact_entity {fact_id, entity_id => profile_id}
|
|
262
264
|
""", {"fact_id": fact_id})
|
|
265
|
+
self._db.run("""
|
|
266
|
+
?[from_id, to_id, edge_type, weight, metadata, profile_id, created_at] :=
|
|
267
|
+
*edge{from_id, to_id, edge_type, weight, metadata, profile_id, created_at},
|
|
268
|
+
(from_id = $fact_id or to_id = $fact_id)
|
|
269
|
+
:rm edge {from_id, to_id, edge_type => weight, metadata, profile_id, created_at}
|
|
270
|
+
""", {"fact_id": fact_id})
|
|
263
271
|
|
|
264
272
|
def record_shadow_comparison(
|
|
265
273
|
self,
|
|
@@ -280,12 +288,6 @@ class CozoDBGraphBackend:
|
|
|
280
288
|
def record_shadow_error(self, error: str) -> None:
|
|
281
289
|
self._shadow_errors += 1
|
|
282
290
|
logger.warning("Cozo entity recall failed closed to SQLite: %s", error)
|
|
283
|
-
self._db.run("""
|
|
284
|
-
?[from_id, to_id, edge_type, weight, metadata, profile_id, created_at] :=
|
|
285
|
-
*edge{from_id, to_id, edge_type, weight, metadata, profile_id, created_at},
|
|
286
|
-
(from_id = $fact_id or to_id = $fact_id)
|
|
287
|
-
:rm edge {from_id, to_id, edge_type => weight, metadata, profile_id, created_at}
|
|
288
|
-
""", {"fact_id": fact_id})
|
|
289
291
|
|
|
290
292
|
# ------------------------------------------------------------------
|
|
291
293
|
# Bulk Import (SQLite → CozoDB)
|
|
@@ -358,22 +360,15 @@ class CozoDBGraphBackend:
|
|
|
358
360
|
|
|
359
361
|
# Step 3: Export fact graph edges directly. Fact graph traversal is
|
|
360
362
|
# intentionally kept in its native fact-ID namespace.
|
|
361
|
-
edges_sql = """
|
|
362
|
-
SELECT source_id, target_id, edge_type, weight
|
|
363
|
-
FROM graph_edges WHERE profile_id = ?
|
|
364
|
-
"""
|
|
365
|
-
edge_rows = conn.execute(edges_sql, (profile_id,)).fetchall()
|
|
366
|
-
|
|
367
363
|
edge_dicts = []
|
|
368
|
-
for
|
|
369
|
-
ea, eb, etype, weight = row
|
|
364
|
+
for ea, eb, etype, weight, edge_profile in iter_logical_edges(conn, profile_id):
|
|
370
365
|
edge_dicts.append({
|
|
371
366
|
"from_id": ea,
|
|
372
367
|
"to_id": eb,
|
|
373
|
-
"edge_type": etype
|
|
374
|
-
"weight": float(weight
|
|
368
|
+
"edge_type": etype,
|
|
369
|
+
"weight": float(weight),
|
|
375
370
|
"metadata": "{}",
|
|
376
|
-
"profile_id":
|
|
371
|
+
"profile_id": edge_profile,
|
|
377
372
|
"created_at": now,
|
|
378
373
|
})
|
|
379
374
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"""Canonical logical-edge projection shared by scale backends.
|
|
2
|
+
|
|
3
|
+
Legacy databases can contain multiple physical ``graph_edges`` rows for one
|
|
4
|
+
logical relationship. Current writes define identity as profile, source,
|
|
5
|
+
target, and edge type, retaining the strongest weight. Derived projections
|
|
6
|
+
must use that same contract without rewriting canonical SQLite history.
|
|
7
|
+
"""
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
import sqlite3
|
|
11
|
+
from collections.abc import Iterator
|
|
12
|
+
from typing import Any
|
|
13
|
+
|
|
14
|
+
_LOGICAL_EDGE_SELECT = """
|
|
15
|
+
SELECT
|
|
16
|
+
source_id,
|
|
17
|
+
target_id,
|
|
18
|
+
COALESCE(edge_type, 'related') AS edge_type,
|
|
19
|
+
MAX(COALESCE(weight, 1.0)) AS weight,
|
|
20
|
+
profile_id
|
|
21
|
+
FROM graph_edges
|
|
22
|
+
WHERE profile_id = ?
|
|
23
|
+
GROUP BY profile_id, source_id, target_id, COALESCE(edge_type, 'related')
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def iter_logical_edges(
|
|
28
|
+
conn: sqlite3.Connection, profile_id: str
|
|
29
|
+
) -> Iterator[tuple[Any, ...]]:
|
|
30
|
+
"""Yield normalized graph edges in deterministic fingerprint order."""
|
|
31
|
+
return iter(
|
|
32
|
+
conn.execute(
|
|
33
|
+
_LOGICAL_EDGE_SELECT + " ORDER BY source_id, target_id, edge_type",
|
|
34
|
+
(profile_id,),
|
|
35
|
+
)
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def count_logical_edges(conn: sqlite3.Connection, profile_id: str) -> int:
|
|
40
|
+
"""Count relationships using the canonical logical identity."""
|
|
41
|
+
row = conn.execute(
|
|
42
|
+
"SELECT COUNT(*) FROM (" + _LOGICAL_EDGE_SELECT + ")",
|
|
43
|
+
(profile_id,),
|
|
44
|
+
).fetchone()
|
|
45
|
+
return int(row[0] if row else 0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: superlocalmemory
|
|
3
|
-
Version: 3.7.
|
|
3
|
+
Version: 3.7.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
|
|
@@ -107,10 +107,10 @@ Dynamic: license-file
|
|
|
107
107
|
</picture>
|
|
108
108
|
</p>
|
|
109
109
|
|
|
110
|
-
<h1 align="center">SuperLocalMemory V3.7.
|
|
110
|
+
<h1 align="center">SuperLocalMemory V3.7.4</h1>
|
|
111
111
|
<p align="center"><strong>Cache. Compress. Remember. Three surfaces — proxy, MCP tools, or skill. Every setup covered.</strong><br/>
|
|
112
112
|
<em>Local-first agent memory with explicit operating modes, auditable retrieval, and optional Optimize tools.</em></p>
|
|
113
|
-
<p align="center"><code>v3.7.
|
|
113
|
+
<p align="center"><code>v3.7.4</code> — <strong>Scale Engine projection parity: normalized logical graph edges, durable promotion recovery, and honest runtime status.</strong><br/>
|
|
114
114
|
Proxy: <code>slm wrap claude</code> · MCP: add <code>slm_compress</code> to your config · Skill: zero-config</p>
|
|
115
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>
|
|
116
116
|
|
|
@@ -213,7 +213,7 @@ health surfaces expose the stages actually completed by the installed runtime.
|
|
|
213
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. |
|
|
214
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. |
|
|
215
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. |
|
|
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;
|
|
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; repeated physical edge rows normalize to one logical edge with the strongest weight. |
|
|
217
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. |
|
|
218
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. |
|
|
219
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. |
|
|
@@ -340,7 +340,8 @@ SLM then rebuilds from canonical SQLite, verifies it, and promotes it with a
|
|
|
340
340
|
durable recovery journal while retaining the prior directories as a rollback
|
|
341
341
|
backup. `adopt` reports `restart_required: true`; run `slm restart` before
|
|
342
342
|
checking daemon health. If proof fails, recall remains on SQLite and status
|
|
343
|
-
|
|
343
|
+
retains the rejected manifest for inspection, retires its replaceable derived
|
|
344
|
+
payload, and allows a corrected retry.
|
|
344
345
|
|
|
345
346
|
Canonical ingestion is a durable state machine: `raw → queryable → enriching →
|
|
346
347
|
complete`, with `failed` retaining raw evidence, error details, attempt count,
|
|
@@ -436,6 +436,7 @@ src/superlocalmemory/storage/access_control.py
|
|
|
436
436
|
src/superlocalmemory/storage/access_log.py
|
|
437
437
|
src/superlocalmemory/storage/database.py
|
|
438
438
|
src/superlocalmemory/storage/embedding_migrator.py
|
|
439
|
+
src/superlocalmemory/storage/logical_edges.py
|
|
439
440
|
src/superlocalmemory/storage/migration_runner.py
|
|
440
441
|
src/superlocalmemory/storage/migration_v33.py
|
|
441
442
|
src/superlocalmemory/storage/migrations.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/attribution/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/attribution/signer.py
RENAMED
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/attribution/watermark.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/context_commands.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/diagnostics_cmd.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/optimize_constants.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/scale_engine_cmd.py
RENAMED
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/service_installer.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/version_banner.py
RENAMED
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/cli/wizard_v3426_options.py
RENAMED
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/__init__.py
RENAMED
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/blast_radius.py
RENAMED
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/bridge/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/changes.py
RENAMED
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/communities.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/database.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/git_hooks.py
RENAMED
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/graph_engine.py
RENAMED
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/graph_store.py
RENAMED
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/incremental.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/resolver.py
RENAMED
|
File without changes
|
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/service.py
RENAMED
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/code_graph/watcher.py
RENAMED
|
File without changes
|
{superlocalmemory-3.7.3 → superlocalmemory-3.7.4}/src/superlocalmemory/compliance/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|