superlocalmemory 3.6.22 → 3.7.0
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.
- package/CHANGELOG.md +52 -0
- package/README.md +275 -72
- package/bin/slm-npm +43 -89
- package/docs/pi-dev-integration.md +43 -0
- package/ide/configs/antigravity-mcp.json +2 -2
- package/ide/configs/chatgpt-desktop-mcp.json +1 -1
- package/ide/configs/claude-desktop-mcp.json +2 -2
- package/ide/configs/windsurf-mcp.json +2 -2
- package/ide/hooks/context-hook.js +6 -2
- package/ide/hooks/post-recall-hook.js +7 -3
- package/ide/hooks/tool-event-hook.sh +2 -1
- package/package.json +19 -10
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/_GENERATED.md +1 -1
- package/plugin/agents/slm-memory-advisor.md +1 -1
- package/plugin/requirements.txt +1 -1
- package/plugin/skills/slm-session/SKILL.md +1 -1
- package/plugin-src/rules/AGENTS.md +1 -1
- package/pyproject.toml +40 -8
- package/scripts/postinstall-interactive.js +17 -94
- package/scripts/postinstall.js +185 -258
- package/scripts/preuninstall.js +9 -50
- package/src/superlocalmemory/__init__.py +2 -2
- package/src/superlocalmemory/attribution/mathematical_dna.py +1 -1
- package/src/superlocalmemory/attribution/signer.py +34 -19
- package/src/superlocalmemory/attribution/watermark.py +1 -1
- package/src/superlocalmemory/cli/_lazy_init.py +3 -5
- package/src/superlocalmemory/cli/commands.py +490 -195
- package/src/superlocalmemory/cli/context_commands.py +5 -4
- package/src/superlocalmemory/cli/daemon.py +282 -187
- package/src/superlocalmemory/cli/db_migrate.py +3 -1
- package/src/superlocalmemory/cli/diagnostics_cmd.py +28 -0
- package/src/superlocalmemory/cli/evidence_cmd.py +103 -0
- package/src/superlocalmemory/cli/ingest_cmd.py +7 -3
- package/src/superlocalmemory/cli/main.py +128 -31
- package/src/superlocalmemory/cli/pending_store.py +54 -38
- package/src/superlocalmemory/cli/scale_engine_cmd.py +37 -0
- package/src/superlocalmemory/cli/service_installer.py +57 -52
- package/src/superlocalmemory/cli/setup_wizard.py +142 -88
- package/src/superlocalmemory/cli/version_banner.py +2 -1
- package/src/superlocalmemory/code_graph/config.py +3 -1
- package/src/superlocalmemory/core/backend_orchestrator.py +81 -21
- package/src/superlocalmemory/core/config.py +65 -20
- package/src/superlocalmemory/core/consolidation_engine.py +9 -7
- package/src/superlocalmemory/core/context_cache.py +56 -8
- package/src/superlocalmemory/core/derivation_lineage.py +246 -0
- package/src/superlocalmemory/core/embedding_worker.py +32 -20
- package/src/superlocalmemory/core/embeddings.py +54 -18
- package/src/superlocalmemory/core/engine.py +150 -104
- package/src/superlocalmemory/core/engine_ingestion.py +513 -0
- package/src/superlocalmemory/core/engine_wiring.py +2 -0
- package/src/superlocalmemory/core/evidence_bundle.py +526 -0
- package/src/superlocalmemory/core/fact_consolidator.py +5 -11
- package/src/superlocalmemory/core/graph_analyzer.py +2 -2
- package/src/superlocalmemory/core/health_monitor.py +4 -2
- package/src/superlocalmemory/core/ingestion_command.py +636 -0
- package/src/superlocalmemory/core/injection.py +69 -18
- package/src/superlocalmemory/core/lifecycle_state.py +153 -0
- package/src/superlocalmemory/core/maintenance.py +23 -22
- package/src/superlocalmemory/core/maintenance_scheduler.py +51 -35
- package/src/superlocalmemory/core/mutations.py +143 -0
- package/src/superlocalmemory/core/platform_utils.py +7 -4
- package/src/superlocalmemory/core/ram_lock.py +16 -5
- package/src/superlocalmemory/core/rate_limit.py +1 -1
- package/src/superlocalmemory/core/recall_pipeline.py +60 -101
- package/src/superlocalmemory/core/recall_worker.py +76 -59
- package/src/superlocalmemory/core/registry.py +1 -1
- package/src/superlocalmemory/core/scale_engine.py +293 -0
- package/src/superlocalmemory/core/score_contract.py +62 -0
- package/src/superlocalmemory/core/security_primitives.py +3 -1
- package/src/superlocalmemory/core/slm_disabled.py +3 -5
- package/src/superlocalmemory/core/store_pipeline.py +172 -40
- package/src/superlocalmemory/core/tier_manager.py +32 -20
- package/src/superlocalmemory/core/worker_pool.py +13 -4
- package/src/superlocalmemory/dynamics/activation_guided_quantization.py +1 -1
- package/src/superlocalmemory/dynamics/eap_scheduler.py +10 -3
- package/src/superlocalmemory/dynamics/ebbinghaus_langevin_coupling.py +1 -1
- package/src/superlocalmemory/dynamics/fisher_langevin_coupling.py +1 -1
- package/src/superlocalmemory/encoding/auto_linker.py +1 -1
- package/src/superlocalmemory/encoding/cognitive_consolidator.py +7 -16
- package/src/superlocalmemory/encoding/consolidator.py +22 -5
- package/src/superlocalmemory/encoding/fact_extractor.py +1 -1
- package/src/superlocalmemory/encoding/foresight.py +2 -0
- package/src/superlocalmemory/encoding/graph_builder.py +1 -1
- package/src/superlocalmemory/encoding/temporal_parser.py +2 -0
- package/src/superlocalmemory/evaluation/__init__.py +13 -0
- package/src/superlocalmemory/evaluation/calibration.py +308 -0
- package/src/superlocalmemory/evolution/skill_evolver.py +2 -1
- package/src/superlocalmemory/graph/cozo_backend.py +256 -23
- package/src/superlocalmemory/hooks/_outcome_common.py +21 -11
- package/src/superlocalmemory/hooks/antigravity_adapter.py +10 -31
- package/src/superlocalmemory/hooks/auto_invoker.py +25 -27
- package/src/superlocalmemory/hooks/auto_recall.py +31 -6
- package/src/superlocalmemory/hooks/auto_recall_hook.py +13 -33
- package/src/superlocalmemory/hooks/before_web_hook.py +9 -7
- package/src/superlocalmemory/hooks/claude_code_hooks.py +126 -39
- package/src/superlocalmemory/hooks/codex_assets.py +59 -0
- package/src/superlocalmemory/hooks/codex_hooks.py +186 -0
- package/src/superlocalmemory/hooks/context_payload.py +1 -1
- package/src/superlocalmemory/hooks/copilot_adapter.py +9 -24
- package/src/superlocalmemory/hooks/cursor_adapter.py +10 -32
- package/src/superlocalmemory/hooks/hook_daemon.py +4 -2
- package/src/superlocalmemory/hooks/hook_handlers.py +241 -55
- package/src/superlocalmemory/hooks/memory_protocol.py +5 -3
- package/src/superlocalmemory/hooks/post_tool_async_hook.py +4 -2
- package/src/superlocalmemory/hooks/session_registry.py +15 -8
- package/src/superlocalmemory/hooks/stop_outcome_hook.py +10 -6
- package/src/superlocalmemory/hooks/topic_shift_hook.py +42 -12
- package/src/superlocalmemory/hooks/user_prompt_hook.py +9 -14
- package/src/superlocalmemory/hooks/user_prompt_rehash_hook.py +19 -11
- package/src/superlocalmemory/infra/auth_middleware.py +38 -5
- package/src/superlocalmemory/infra/backup.py +7 -5
- package/src/superlocalmemory/infra/cloud_backup.py +18 -8
- package/src/superlocalmemory/infra/daemon_identity.py +248 -0
- package/src/superlocalmemory/infra/data_root.py +199 -0
- package/src/superlocalmemory/infra/event_bus.py +3 -1
- package/src/superlocalmemory/infra/local_diagnostics.py +327 -0
- package/src/superlocalmemory/infra/process_reaper.py +23 -0
- package/src/superlocalmemory/ingestion/adapter_manager.py +27 -9
- package/src/superlocalmemory/ingestion/base_adapter.py +25 -31
- package/src/superlocalmemory/ingestion/calendar_adapter.py +13 -4
- package/src/superlocalmemory/ingestion/credentials.py +14 -7
- package/src/superlocalmemory/ingestion/gmail_adapter.py +13 -4
- package/src/superlocalmemory/ingestion/transcript_adapter.py +7 -2
- package/src/superlocalmemory/learning/consolidation_quantization_worker.py +1 -1
- package/src/superlocalmemory/learning/ensemble.py +11 -0
- package/src/superlocalmemory/learning/entity_compiler.py +1 -1
- package/src/superlocalmemory/learning/feedback.py +1 -1
- package/src/superlocalmemory/learning/forgetting_scheduler.py +12 -7
- package/src/superlocalmemory/learning/quantization_scheduler.py +1 -1
- package/src/superlocalmemory/learning/ranker.py +4 -1
- package/src/superlocalmemory/learning/source_quality.py +1 -1
- package/src/superlocalmemory/learning/trigram_index.py +3 -2
- package/src/superlocalmemory/llm/backbone.py +13 -8
- package/src/superlocalmemory/math/ebbinghaus.py +1 -1
- package/src/superlocalmemory/math/fisher.py +1 -1
- package/src/superlocalmemory/math/fisher_quantized.py +1 -1
- package/src/superlocalmemory/math/hopfield.py +1 -1
- package/src/superlocalmemory/math/langevin.py +1 -1
- package/src/superlocalmemory/math/polar_quant.py +3 -4
- package/src/superlocalmemory/math/qjl.py +1 -1
- package/src/superlocalmemory/math/sheaf.py +1 -1
- package/src/superlocalmemory/math/turbo_quant.py +3 -2
- package/src/superlocalmemory/mcp/_daemon_proxy.py +12 -11
- package/src/superlocalmemory/mcp/_pool_adapter.py +27 -0
- package/src/superlocalmemory/mcp/http_transport.py +53 -0
- package/src/superlocalmemory/mcp/server.py +39 -13
- package/src/superlocalmemory/mcp/shared.py +69 -3
- package/src/superlocalmemory/mcp/tools_active.py +141 -31
- package/src/superlocalmemory/mcp/tools_core.py +128 -29
- package/src/superlocalmemory/mcp/tools_evolution.py +5 -7
- package/src/superlocalmemory/mcp/tools_learning.py +42 -2
- package/src/superlocalmemory/mcp/tools_mesh.py +7 -23
- package/src/superlocalmemory/mcp/tools_optimize.py +8 -1
- package/src/superlocalmemory/mcp/tools_v28.py +23 -2
- package/src/superlocalmemory/mcp/tools_v3.py +26 -1
- package/src/superlocalmemory/mcp/tools_v33.py +56 -17
- package/src/superlocalmemory/mesh/broker.py +2 -0
- package/src/superlocalmemory/mesh/remote_sync.py +50 -12
- package/src/superlocalmemory/optimize/cache/manager.py +77 -1
- package/src/superlocalmemory/optimize/cache/semantic.py +23 -3
- package/src/superlocalmemory/optimize/compress/ccr.py +4 -0
- package/src/superlocalmemory/optimize/compress/router.py +6 -1
- package/src/superlocalmemory/optimize/config/__init__.py +5 -0
- package/src/superlocalmemory/optimize/config/store.py +6 -4
- package/src/superlocalmemory/optimize/proxy/_helpers.py +15 -5
- package/src/superlocalmemory/optimize/proxy/capture.py +3 -2
- package/src/superlocalmemory/optimize/proxy/server.py +2 -2
- package/src/superlocalmemory/optimize/storage/db.py +14 -13
- package/src/superlocalmemory/retrieval/agentic.py +1 -1
- package/src/superlocalmemory/retrieval/ann_index.py +1 -1
- package/src/superlocalmemory/retrieval/bm25_channel.py +35 -11
- package/src/superlocalmemory/retrieval/bridge_discovery.py +73 -8
- package/src/superlocalmemory/retrieval/engine.py +169 -79
- package/src/superlocalmemory/retrieval/entity_channel.py +289 -67
- package/src/superlocalmemory/retrieval/forgetting_filter.py +1 -1
- package/src/superlocalmemory/retrieval/fusion.py +1 -1
- package/src/superlocalmemory/retrieval/hopfield_channel.py +118 -30
- package/src/superlocalmemory/retrieval/profile_channel.py +1 -1
- package/src/superlocalmemory/retrieval/quantization_aware_search.py +16 -10
- package/src/superlocalmemory/retrieval/reranker.py +56 -20
- package/src/superlocalmemory/retrieval/scope_policy.py +85 -0
- package/src/superlocalmemory/retrieval/semantic_channel.py +122 -14
- package/src/superlocalmemory/retrieval/spreading_activation.py +141 -25
- package/src/superlocalmemory/retrieval/strategy.py +1 -1
- package/src/superlocalmemory/retrieval/temporal_channel.py +30 -15
- package/src/superlocalmemory/retrieval/vector_store.py +1 -1
- package/src/superlocalmemory/server/api.py +10 -7
- package/src/superlocalmemory/server/bandit_loops.py +4 -2
- package/src/superlocalmemory/server/recall_serializer.py +24 -0
- package/src/superlocalmemory/server/route_mutations.py +84 -0
- package/src/superlocalmemory/server/routes/agents.py +8 -6
- package/src/superlocalmemory/server/routes/brain.py +14 -12
- package/src/superlocalmemory/server/routes/chat.py +29 -12
- package/src/superlocalmemory/server/routes/data_io.py +55 -24
- package/src/superlocalmemory/server/routes/helpers.py +29 -4
- package/src/superlocalmemory/server/routes/ingest.py +53 -36
- package/src/superlocalmemory/server/routes/memories.py +104 -43
- package/src/superlocalmemory/server/routes/mesh.py +31 -0
- package/src/superlocalmemory/server/routes/profiles.py +26 -4
- package/src/superlocalmemory/server/routes/tiers.py +43 -11
- package/src/superlocalmemory/server/routes/timeline.py +5 -1
- package/src/superlocalmemory/server/routes/v3_api.py +76 -21
- package/src/superlocalmemory/server/security_middleware.py +1 -1
- package/src/superlocalmemory/server/ui.py +6 -3
- package/src/superlocalmemory/server/unified_daemon.py +680 -293
- package/src/superlocalmemory/server/write_identity.py +147 -0
- package/src/superlocalmemory/storage/access_log.py +4 -3
- package/src/superlocalmemory/storage/database.py +118 -25
- package/src/superlocalmemory/storage/migration_runner.py +84 -1
- package/src/superlocalmemory/storage/migration_v33.py +1 -1
- package/src/superlocalmemory/storage/migrations/M002_model_state_history.py +6 -60
- package/src/superlocalmemory/storage/migrations/M018_ingestion_operations.py +120 -0
- package/src/superlocalmemory/storage/migrations/M019_derivation_lineage.py +54 -0
- package/src/superlocalmemory/storage/migrations/M020_model_state_integrity.py +52 -0
- package/src/superlocalmemory/storage/migrations/__init__.py +5 -0
- package/src/superlocalmemory/storage/models.py +16 -0
- package/src/superlocalmemory/storage/quantized_store.py +20 -3
- package/src/superlocalmemory/storage/v2_migrator.py +5 -3
- package/src/superlocalmemory/ui/favicon.svg +5 -0
- package/src/superlocalmemory/ui/index.html +1 -0
- package/src/superlocalmemory/ui/js/compliance.js +1 -1
- package/src/superlocalmemory/ui/js/core.js +49 -8
- package/src/superlocalmemory/ui/js/dashboard.js +23 -2
- package/src/superlocalmemory/ui/js/feedback.js +1 -1
- package/src/superlocalmemory/ui/js/graph-filters.js +1 -1
- package/src/superlocalmemory/ui/js/graph-ui.js +1 -1
- package/src/superlocalmemory/ui/js/lifecycle.js +1 -1
- package/src/superlocalmemory/ui/js/ng-mesh.js +15 -49
- package/src/superlocalmemory/ui/js/settings.js +4 -2
- package/src/superlocalmemory/vector/lancedb_backend.py +57 -9
- package/bin/slm +0 -59
- package/bin/slm.bat +0 -77
- package/bin/slm.cmd +0 -5
- package/ide/integrations/langchain/README.md +0 -106
- package/ide/integrations/langchain/langchain_superlocalmemory/__init__.py +0 -9
- package/ide/integrations/langchain/langchain_superlocalmemory/chat_message_history.py +0 -201
- package/ide/integrations/langchain/pyproject.toml +0 -38
- package/ide/integrations/langchain/tests/__init__.py +0 -3
- package/ide/integrations/langchain/tests/test_chat_message_history.py +0 -215
- package/ide/integrations/langchain/tests/test_security.py +0 -117
- package/ide/integrations/llamaindex/README.md +0 -81
- package/ide/integrations/llamaindex/llama_index/storage/chat_store/superlocalmemory/__init__.py +0 -9
- package/ide/integrations/llamaindex/llama_index/storage/chat_store/superlocalmemory/base.py +0 -316
- package/ide/integrations/llamaindex/pyproject.toml +0 -43
- package/ide/integrations/llamaindex/tests/__init__.py +0 -3
- package/ide/integrations/llamaindex/tests/test_chat_store.py +0 -294
- package/ide/integrations/llamaindex/tests/test_security.py +0 -241
- package/plugin-src/.mcp.json +0 -12
- package/plugin-src/agents/slm-memory-advisor.md +0 -44
- package/plugin-src/agents/slm-optimize-advisor.md +0 -38
- package/plugin-src/hooks/.gitkeep +0 -0
- package/plugin-src/hooks/hooks.json +0 -23
- package/plugin-src/manifest.json +0 -25
- package/plugin-src/requirements.txt +0 -1
- package/plugin-src/rules/CLAUDE.md.fragment +0 -44
- package/plugin-src/scripts/ensure-venv.bat +0 -122
- package/plugin-src/scripts/ensure-venv.sh +0 -105
- package/plugin-src/scripts/slm-launch +0 -15
- package/plugin-src/scripts/slm-launch.bat +0 -17
- package/plugin-src/settings.json +0 -16
- package/plugin-src/skills/slm-cache/SKILL.md +0 -140
- package/plugin-src/skills/slm-compress/SKILL.md +0 -143
- package/plugin-src/skills/slm-graph/SKILL.md +0 -300
- package/plugin-src/skills/slm-recall/SKILL.md +0 -204
- package/plugin-src/skills/slm-remember/SKILL.md +0 -194
- package/plugin-src/skills/slm-session/SKILL.md +0 -207
- package/plugin-src/skills/slm-status/SKILL.md +0 -149
- package/scripts/__tests__/build-plugin.test.mjs +0 -613
- package/scripts/_savings_math.py +0 -270
- package/scripts/build-dmg.sh +0 -417
- package/scripts/build-plugin.js +0 -742
- package/scripts/build-slm-hook.ps1 +0 -40
- package/scripts/build-slm-hook.sh +0 -45
- package/scripts/build_entry.py +0 -452
- package/scripts/ci/stage5b_gate.sh +0 -50
- package/scripts/dogfood_savings.py +0 -490
- package/scripts/generate-thumbnails.py +0 -218
- package/scripts/install-skills.ps1 +0 -4
- package/scripts/install-skills.sh +0 -5
- package/scripts/install.ps1 +0 -701
- package/scripts/install.sh +0 -1015
- package/scripts/postinstall_binary.js +0 -287
- package/scripts/prepack.js +0 -33
- package/scripts/release_manifest.py +0 -273
- package/scripts/slm-hook.spec +0 -56
- package/scripts/start-dashboard.ps1 +0 -52
- package/scripts/start-dashboard.sh +0 -41
- package/scripts/sync-wiki.ps1 +0 -127
- package/scripts/sync-wiki.sh +0 -82
- package/scripts/test-dmg.sh +0 -161
- package/scripts/test-npm-package.ps1 +0 -252
- package/scripts/test-npm-package.sh +0 -207
- package/scripts/verify-install.ps1 +0 -294
- package/scripts/verify-install.sh +0 -266
- package/scripts/verify-v27.ps1 +0 -301
- package/scripts/verify-v27.sh +0 -233
- package/src/superlocalmemory.egg-info/PKG-INFO +0 -513
- package/src/superlocalmemory.egg-info/SOURCES.txt +0 -529
- package/src/superlocalmemory.egg-info/dependency_links.txt +0 -1
- package/src/superlocalmemory.egg-info/entry_points.txt +0 -2
- package/src/superlocalmemory.egg-info/requires.txt +0 -71
- package/src/superlocalmemory.egg-info/top_level.txt +0 -1
package/scripts/verify-v27.sh
DELETED
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# ============================================================================
|
|
3
|
-
# SuperLocalMemory V2.7 — Quick Verification Script
|
|
4
|
-
# Copyright (c) 2026 Varun Pratap Bhardwaj
|
|
5
|
-
# Licensed under MIT License
|
|
6
|
-
# Repository: https://github.com/qualixar/superlocalmemory
|
|
7
|
-
#
|
|
8
|
-
# Run this after installation to verify everything works:
|
|
9
|
-
# bash scripts/verify-v27.sh
|
|
10
|
-
# ============================================================================
|
|
11
|
-
|
|
12
|
-
INSTALL_DIR="${HOME}/.superlocalmemory"
|
|
13
|
-
PASS=0
|
|
14
|
-
WARN=0
|
|
15
|
-
FAIL=0
|
|
16
|
-
|
|
17
|
-
echo ""
|
|
18
|
-
echo "SuperLocalMemory v2.7 Verification"
|
|
19
|
-
echo "==================================="
|
|
20
|
-
echo ""
|
|
21
|
-
|
|
22
|
-
# ── Check 1: Installation directory ──────────────────────────────────────────
|
|
23
|
-
if [ -d "$INSTALL_DIR" ]; then
|
|
24
|
-
echo "[PASS] Installation directory exists: $INSTALL_DIR"
|
|
25
|
-
PASS=$((PASS + 1))
|
|
26
|
-
else
|
|
27
|
-
echo "[FAIL] Installation directory missing. Run install.sh first."
|
|
28
|
-
FAIL=$((FAIL + 1))
|
|
29
|
-
echo ""
|
|
30
|
-
echo "==================================="
|
|
31
|
-
echo "Result: FAIL — SuperLocalMemory is not installed."
|
|
32
|
-
echo "Run: bash install.sh"
|
|
33
|
-
exit 1
|
|
34
|
-
fi
|
|
35
|
-
|
|
36
|
-
# ── Check 2: Core modules ────────────────────────────────────────────────────
|
|
37
|
-
echo ""
|
|
38
|
-
echo "Core Modules:"
|
|
39
|
-
for mod in memory_store_v2.py graph_engine.py pattern_learner.py mcp_server.py tree_manager.py; do
|
|
40
|
-
if [ -f "$INSTALL_DIR/$mod" ]; then
|
|
41
|
-
echo " [PASS] $mod"
|
|
42
|
-
PASS=$((PASS + 1))
|
|
43
|
-
else
|
|
44
|
-
echo " [FAIL] Missing: $mod"
|
|
45
|
-
FAIL=$((FAIL + 1))
|
|
46
|
-
fi
|
|
47
|
-
done
|
|
48
|
-
|
|
49
|
-
# ── Check 3: v2.5 modules ────────────────────────────────────────────────────
|
|
50
|
-
echo ""
|
|
51
|
-
echo "Event System (v2.5):"
|
|
52
|
-
for mod in event_bus.py subscription_manager.py webhook_dispatcher.py agent_registry.py provenance_tracker.py trust_scorer.py db_connection_manager.py; do
|
|
53
|
-
if [ -f "$INSTALL_DIR/$mod" ]; then
|
|
54
|
-
echo " [PASS] $mod"
|
|
55
|
-
PASS=$((PASS + 1))
|
|
56
|
-
else
|
|
57
|
-
echo " [WARN] Missing: $mod (v2.5 feature)"
|
|
58
|
-
WARN=$((WARN + 1))
|
|
59
|
-
fi
|
|
60
|
-
done
|
|
61
|
-
|
|
62
|
-
# ── Check 4: Learning modules (v2.7) ─────────────────────────────────────────
|
|
63
|
-
echo ""
|
|
64
|
-
echo "Learning System (v2.7):"
|
|
65
|
-
if [ -d "$INSTALL_DIR/learning" ]; then
|
|
66
|
-
echo " [PASS] learning/ directory exists"
|
|
67
|
-
PASS=$((PASS + 1))
|
|
68
|
-
|
|
69
|
-
for mod in __init__.py learning_db.py adaptive_ranker.py feedback_collector.py \
|
|
70
|
-
engagement_tracker.py cross_project_aggregator.py project_context_manager.py \
|
|
71
|
-
workflow_pattern_miner.py source_quality_scorer.py synthetic_bootstrap.py \
|
|
72
|
-
feature_extractor.py; do
|
|
73
|
-
if [ -f "$INSTALL_DIR/learning/$mod" ]; then
|
|
74
|
-
echo " [PASS] learning/$mod"
|
|
75
|
-
PASS=$((PASS + 1))
|
|
76
|
-
else
|
|
77
|
-
echo " [WARN] Missing: learning/$mod"
|
|
78
|
-
WARN=$((WARN + 1))
|
|
79
|
-
fi
|
|
80
|
-
done
|
|
81
|
-
else
|
|
82
|
-
echo " [FAIL] learning/ directory missing (v2.7 not fully installed)"
|
|
83
|
-
FAIL=$((FAIL + 1))
|
|
84
|
-
fi
|
|
85
|
-
|
|
86
|
-
# ── Check 5: Learning dependencies ───────────────────────────────────────────
|
|
87
|
-
echo ""
|
|
88
|
-
echo "Learning Dependencies:"
|
|
89
|
-
python3 -c "import lightgbm; print(f' [PASS] LightGBM {lightgbm.__version__}')" 2>/dev/null || {
|
|
90
|
-
echo " [INFO] LightGBM not installed (optional — rule-based ranking will be used)"
|
|
91
|
-
WARN=$((WARN + 1))
|
|
92
|
-
}
|
|
93
|
-
python3 -c "import scipy; print(f' [PASS] SciPy {scipy.__version__}')" 2>/dev/null || {
|
|
94
|
-
echo " [INFO] SciPy not installed (optional — install for full learning features)"
|
|
95
|
-
WARN=$((WARN + 1))
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
# ── Check 6: Core dependencies ───────────────────────────────────────────────
|
|
99
|
-
echo ""
|
|
100
|
-
echo "Core Dependencies:"
|
|
101
|
-
python3 -c "import sklearn; print(f' [PASS] scikit-learn {sklearn.__version__}')" 2>/dev/null || {
|
|
102
|
-
echo " [WARN] scikit-learn not installed (needed for knowledge graph)"
|
|
103
|
-
WARN=$((WARN + 1))
|
|
104
|
-
}
|
|
105
|
-
python3 -c "import numpy; print(f' [PASS] numpy {numpy.__version__}')" 2>/dev/null || {
|
|
106
|
-
echo " [WARN] numpy not installed"
|
|
107
|
-
WARN=$((WARN + 1))
|
|
108
|
-
}
|
|
109
|
-
python3 -c "import igraph; print(f' [PASS] python-igraph {igraph.__version__}')" 2>/dev/null || {
|
|
110
|
-
echo " [WARN] python-igraph not installed (needed for graph clustering)"
|
|
111
|
-
WARN=$((WARN + 1))
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
# ── Check 7: Database ────────────────────────────────────────────────────────
|
|
115
|
-
echo ""
|
|
116
|
-
echo "Databases:"
|
|
117
|
-
if [ -f "$INSTALL_DIR/memory.db" ]; then
|
|
118
|
-
MEMORY_COUNT=$(sqlite3 "$INSTALL_DIR/memory.db" "SELECT COUNT(*) FROM memories;" 2>/dev/null || echo "0")
|
|
119
|
-
DB_SIZE=$(du -h "$INSTALL_DIR/memory.db" 2>/dev/null | cut -f1)
|
|
120
|
-
echo " [PASS] memory.db exists ($MEMORY_COUNT memories, $DB_SIZE)"
|
|
121
|
-
PASS=$((PASS + 1))
|
|
122
|
-
else
|
|
123
|
-
echo " [INFO] memory.db not yet created (will auto-create on first use)"
|
|
124
|
-
fi
|
|
125
|
-
|
|
126
|
-
if [ -f "$INSTALL_DIR/learning.db" ]; then
|
|
127
|
-
FEEDBACK_COUNT=$(sqlite3 "$INSTALL_DIR/learning.db" "SELECT COUNT(*) FROM ranking_feedback;" 2>/dev/null || echo "0")
|
|
128
|
-
echo " [PASS] learning.db exists ($FEEDBACK_COUNT feedback signals)"
|
|
129
|
-
PASS=$((PASS + 1))
|
|
130
|
-
else
|
|
131
|
-
echo " [INFO] learning.db not yet created (will auto-create on first recall)"
|
|
132
|
-
fi
|
|
133
|
-
|
|
134
|
-
# ── Check 8: CLI ──────────────────────────────────────────────────────────────
|
|
135
|
-
echo ""
|
|
136
|
-
echo "CLI:"
|
|
137
|
-
if command -v slm &> /dev/null; then
|
|
138
|
-
echo " [PASS] slm command available in PATH"
|
|
139
|
-
PASS=$((PASS + 1))
|
|
140
|
-
else
|
|
141
|
-
if [ -f "$INSTALL_DIR/bin/slm" ]; then
|
|
142
|
-
echo " [WARN] slm exists at $INSTALL_DIR/bin/slm but not in PATH"
|
|
143
|
-
echo " Add to PATH: export PATH=\"\$HOME/.superlocalmemory/bin:\$PATH\""
|
|
144
|
-
WARN=$((WARN + 1))
|
|
145
|
-
else
|
|
146
|
-
echo " [FAIL] slm command not found"
|
|
147
|
-
FAIL=$((FAIL + 1))
|
|
148
|
-
fi
|
|
149
|
-
fi
|
|
150
|
-
|
|
151
|
-
# ── Check 9: MCP server ──────────────────────────────────────────────────────
|
|
152
|
-
echo ""
|
|
153
|
-
echo "MCP Server:"
|
|
154
|
-
if [ -f "$INSTALL_DIR/mcp_server.py" ]; then
|
|
155
|
-
echo " [PASS] mcp_server.py installed"
|
|
156
|
-
PASS=$((PASS + 1))
|
|
157
|
-
else
|
|
158
|
-
echo " [FAIL] mcp_server.py missing"
|
|
159
|
-
FAIL=$((FAIL + 1))
|
|
160
|
-
fi
|
|
161
|
-
|
|
162
|
-
if python3 -c "from mcp.server.fastmcp import FastMCP" 2>/dev/null; then
|
|
163
|
-
echo " [PASS] MCP SDK installed"
|
|
164
|
-
PASS=$((PASS + 1))
|
|
165
|
-
else
|
|
166
|
-
echo " [WARN] MCP SDK not installed (install: pip3 install mcp)"
|
|
167
|
-
WARN=$((WARN + 1))
|
|
168
|
-
fi
|
|
169
|
-
|
|
170
|
-
# ── Check 10: Import chain verification ───────────────────────────────────────
|
|
171
|
-
echo ""
|
|
172
|
-
echo "Import Chain:"
|
|
173
|
-
IMPORT_RESULT=$(python3 -c "
|
|
174
|
-
import sys
|
|
175
|
-
sys.path.insert(0, '$INSTALL_DIR')
|
|
176
|
-
try:
|
|
177
|
-
from learning import get_learning_db, get_status, FULL_LEARNING_AVAILABLE, ML_RANKING_AVAILABLE
|
|
178
|
-
status = get_status()
|
|
179
|
-
ml = 'yes' if status['ml_ranking_available'] else 'no'
|
|
180
|
-
full = 'yes' if status['learning_available'] else 'no'
|
|
181
|
-
print(f'OK ml_ranking={ml} full_learning={full}')
|
|
182
|
-
except ImportError as e:
|
|
183
|
-
print(f'IMPORT_ERROR {e}')
|
|
184
|
-
except Exception as e:
|
|
185
|
-
print(f'ERROR {e}')
|
|
186
|
-
" 2>&1)
|
|
187
|
-
|
|
188
|
-
if [[ "$IMPORT_RESULT" == OK* ]]; then
|
|
189
|
-
echo " [PASS] Learning system imports successfully"
|
|
190
|
-
echo " $IMPORT_RESULT"
|
|
191
|
-
PASS=$((PASS + 1))
|
|
192
|
-
elif [[ "$IMPORT_RESULT" == IMPORT_ERROR* ]]; then
|
|
193
|
-
echo " [WARN] Learning import failed: ${IMPORT_RESULT#IMPORT_ERROR }"
|
|
194
|
-
echo " This may be normal if learning modules are not yet installed."
|
|
195
|
-
WARN=$((WARN + 1))
|
|
196
|
-
else
|
|
197
|
-
echo " [WARN] Learning check: $IMPORT_RESULT"
|
|
198
|
-
WARN=$((WARN + 1))
|
|
199
|
-
fi
|
|
200
|
-
|
|
201
|
-
# ── Summary ───────────────────────────────────────────────────────────────────
|
|
202
|
-
echo ""
|
|
203
|
-
echo "==================================="
|
|
204
|
-
echo "Verification Summary"
|
|
205
|
-
echo " Passed: $PASS"
|
|
206
|
-
echo " Warnings: $WARN"
|
|
207
|
-
echo " Failed: $FAIL"
|
|
208
|
-
echo "==================================="
|
|
209
|
-
echo ""
|
|
210
|
-
|
|
211
|
-
if [ $FAIL -eq 0 ]; then
|
|
212
|
-
echo "Status: READY"
|
|
213
|
-
echo ""
|
|
214
|
-
echo "Quick start:"
|
|
215
|
-
echo " slm remember \"My first memory\""
|
|
216
|
-
echo " slm recall \"first\""
|
|
217
|
-
echo " slm status"
|
|
218
|
-
echo ""
|
|
219
|
-
if [ $WARN -gt 0 ]; then
|
|
220
|
-
echo "Some optional features may not be available."
|
|
221
|
-
echo "Install missing dependencies to enable them:"
|
|
222
|
-
echo " pip3 install lightgbm scipy # Learning system"
|
|
223
|
-
echo " pip3 install scikit-learn igraph # Knowledge graph"
|
|
224
|
-
echo ""
|
|
225
|
-
fi
|
|
226
|
-
else
|
|
227
|
-
echo "Status: INCOMPLETE"
|
|
228
|
-
echo ""
|
|
229
|
-
echo "Fix the failed checks above, then re-run:"
|
|
230
|
-
echo " bash scripts/verify-v27.sh"
|
|
231
|
-
echo ""
|
|
232
|
-
exit 1
|
|
233
|
-
fi
|