nexo-brain 1.7.0 → 2.1.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/README.md +160 -60
- package/bin/nexo-brain.js +680 -381
- package/package.json +18 -3
- package/scripts/migrate-to-unified.sh +813 -0
- package/scripts/migrate-v1.7-to-v1.8.py +214 -0
- package/scripts/pre-commit-check.sh +1 -1
- package/src/__pycache__/auto_update.cpython-310.pyc +0 -0
- package/src/__pycache__/hnsw_index.cpython-310.pyc +0 -0
- package/src/__pycache__/hnsw_index.cpython-314.pyc +0 -0
- package/src/__pycache__/kg_populate.cpython-310.pyc +0 -0
- package/src/__pycache__/knowledge_graph.cpython-310.pyc +0 -0
- package/src/__pycache__/plugin_loader.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_coordination.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_credentials.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_learnings.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_menu.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_reminders.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_reminders_crud.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_sessions.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_task_history.cpython-310.pyc +0 -0
- package/src/auto_close_sessions.py +1 -1
- package/src/auto_update.py +634 -0
- package/src/cognitive/__pycache__/__init__.cpython-310.pyc +0 -0
- package/src/cognitive/__pycache__/__init__.cpython-312.pyc +0 -0
- package/src/cognitive/__pycache__/__init__.cpython-314.pyc +0 -0
- package/src/cognitive/__pycache__/_core.cpython-310.pyc +0 -0
- package/src/cognitive/__pycache__/_core.cpython-312.pyc +0 -0
- package/src/cognitive/__pycache__/_core.cpython-314.pyc +0 -0
- package/src/cognitive/__pycache__/_decay.cpython-310.pyc +0 -0
- package/src/cognitive/__pycache__/_decay.cpython-312.pyc +0 -0
- package/src/cognitive/__pycache__/_decay.cpython-314.pyc +0 -0
- package/src/cognitive/__pycache__/_ingest.cpython-310.pyc +0 -0
- package/src/cognitive/__pycache__/_ingest.cpython-312.pyc +0 -0
- package/src/cognitive/__pycache__/_ingest.cpython-314.pyc +0 -0
- package/src/cognitive/__pycache__/_memory.cpython-310.pyc +0 -0
- package/src/cognitive/__pycache__/_memory.cpython-312.pyc +0 -0
- package/src/cognitive/__pycache__/_memory.cpython-314.pyc +0 -0
- package/src/cognitive/__pycache__/_search.cpython-310.pyc +0 -0
- package/src/cognitive/__pycache__/_search.cpython-312.pyc +0 -0
- package/src/cognitive/__pycache__/_search.cpython-314.pyc +0 -0
- package/src/cognitive/__pycache__/_trust.cpython-310.pyc +0 -0
- package/src/cognitive/__pycache__/_trust.cpython-312.pyc +0 -0
- package/src/cognitive/__pycache__/_trust.cpython-314.pyc +0 -0
- package/src/cognitive/_core.py +7 -3
- package/src/cognitive/_decay.py +1 -1
- package/src/cognitive/_search.py +1 -0
- package/src/cognitive/_trust.py +3 -3
- package/src/crons/manifest.json +106 -0
- package/src/crons/sync.py +217 -0
- package/src/dashboard/__pycache__/__init__.cpython-310.pyc +0 -0
- package/src/dashboard/__pycache__/app.cpython-310.pyc +0 -0
- package/src/dashboard/app.py +24 -4
- package/src/dashboard/templates/dashboard.html +3 -2
- package/src/db/__pycache__/__init__.cpython-310.pyc +0 -0
- package/src/db/__pycache__/__init__.cpython-312.pyc +0 -0
- package/src/db/__pycache__/__init__.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_core.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_core.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_core.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_credentials.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_credentials.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_credentials.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_entities.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_entities.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_entities.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_episodic.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_episodic.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_episodic.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_evolution.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_evolution.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_evolution.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_fts.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_fts.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_fts.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_learnings.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_learnings.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_learnings.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_reminders.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_reminders.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_reminders.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_schema.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_schema.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_schema.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_sessions.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_sessions.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_sessions.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_tasks.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_tasks.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_tasks.cpython-314.pyc +0 -0
- package/src/db/_core.py +5 -1
- package/src/db/_episodic.py +2 -4
- package/src/db/_reminders.py +45 -6
- package/src/db/_schema.py +31 -0
- package/src/evolution_cycle.py +33 -11
- package/src/hooks/auto_capture.py +1 -1
- package/src/hooks/capture-tool-logs.sh +76 -0
- package/src/hooks/inbox-hook.sh +2 -1
- package/src/hooks/post-compact.sh +2 -1
- package/src/hooks/pre-compact.sh +104 -2
- package/src/hooks/session-start.sh +6 -2
- package/src/hooks/session-stop.sh +4 -2
- package/src/kg_populate.py +4 -1
- package/src/migrate_embeddings.py +4 -1
- package/src/plugin_loader.py +100 -34
- package/src/plugins/__pycache__/__init__.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/adaptive_mode.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/adaptive_mode.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/agents.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/artifact_registry.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/backup.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/cognitive_memory.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/core_rules.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/cortex.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/entities.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/episodic_memory.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/evolution.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/guard.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/knowledge_graph_tools.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/preferences.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/update.cpython-310.pyc +0 -0
- package/src/plugins/agents.py +2 -2
- package/src/plugins/backup.py +5 -4
- package/src/plugins/core_rules.py +37 -16
- package/src/plugins/episodic_memory.py +14 -5
- package/src/plugins/evolution.py +6 -2
- package/src/plugins/guard.py +20 -11
- package/src/plugins/update.py +256 -0
- package/src/requirements.txt +12 -0
- package/src/scripts/check-context.py +8 -3
- package/src/scripts/deep-sleep/__pycache__/extract.cpython-314.pyc +0 -0
- package/src/scripts/deep-sleep/apply_findings.py +514 -169
- package/src/scripts/deep-sleep/collect.py +480 -0
- package/src/scripts/deep-sleep/extract-prompt.md +233 -0
- package/src/scripts/deep-sleep/extract.py +249 -0
- package/src/scripts/deep-sleep/synthesize-prompt.md +168 -0
- package/src/scripts/deep-sleep/synthesize.py +191 -0
- package/src/scripts/nexo-auto-update.py +4 -211
- package/src/scripts/nexo-backup.sh +5 -13
- package/src/scripts/nexo-brain-activation.sh +26 -26
- package/src/scripts/nexo-catchup.py +36 -25
- package/src/scripts/nexo-cognitive-decay.py +7 -3
- package/src/scripts/nexo-daily-self-audit.py +44 -15
- package/src/scripts/nexo-deep-sleep.sh +31 -16
- package/src/scripts/nexo-evolution-run.py +21 -11
- package/src/scripts/nexo-followup-hygiene.py +6 -4
- package/src/scripts/nexo-github-monitor.py +12 -8
- package/src/scripts/nexo-immune.py +6 -4
- package/src/scripts/nexo-inbox-hook.sh +2 -1
- package/src/scripts/nexo-install.py +4 -225
- package/src/scripts/nexo-learning-housekeep.py +7 -3
- package/src/scripts/nexo-learning-validator.py +1 -22
- package/src/scripts/nexo-migrate.py +9 -3
- package/src/scripts/nexo-postmortem-consolidator.py +17 -10
- package/src/scripts/nexo-pre-commit.py +3 -1
- package/src/scripts/nexo-prevent-sleep.sh +29 -0
- package/src/scripts/nexo-proactive-dashboard.py +5 -4
- package/src/scripts/nexo-runtime-preflight.py +59 -55
- package/src/scripts/nexo-send-email.py +1 -1
- package/src/scripts/nexo-send-reply.py +3 -1
- package/src/scripts/nexo-sleep.py +13 -9
- package/src/scripts/nexo-snapshot-restore.sh +2 -1
- package/src/scripts/nexo-synthesis.py +11 -7
- package/src/scripts/nexo-tcc-approve.sh +79 -0
- package/src/scripts/nexo-update.sh +161 -0
- package/src/scripts/nexo-watchdog-smoke.py +18 -13
- package/src/scripts/nexo-watchdog.sh +22 -13
- package/src/server.py +77 -28
- package/src/storage_router.py +6 -2
- package/src/tools_learnings.py +6 -6
- package/src/tools_menu.py +1 -1
- package/src/tools_reminders_crud.py +10 -8
- package/src/tools_sessions.py +76 -4
- package/templates/CLAUDE.md.template +14 -80
- package/templates/launchagents/README.md +7 -7
- package/templates/launchagents/com.nexo.auto-close-sessions.plist +5 -1
- package/templates/launchagents/com.nexo.catchup.plist +4 -0
- package/templates/launchagents/com.nexo.cognitive-decay.plist +7 -0
- package/templates/launchagents/com.nexo.dashboard.plist +5 -1
- package/templates/launchagents/com.nexo.deep-sleep.plist +4 -0
- package/templates/launchagents/com.nexo.evolution.plist +4 -0
- package/templates/launchagents/com.nexo.followup-hygiene.plist +4 -0
- package/templates/launchagents/com.nexo.github-monitor.plist +3 -1
- package/templates/launchagents/com.nexo.immune.plist +4 -0
- package/templates/launchagents/com.nexo.postmortem.plist +4 -0
- package/templates/launchagents/com.nexo.self-audit.plist +4 -0
- package/templates/launchagents/com.nexo.synthesis.plist +4 -0
- package/templates/launchagents/com.nexo.watchdog.plist +4 -0
- package/templates/openclaw.json +1 -1
- package/tests/conftest.py +2 -2
- package/tests/test_cognitive.py +7 -6
- package/tests/test_migrations.py +26 -0
- package/src/__pycache__/auto_close_sessions.cpython-314.pyc +0 -0
- package/src/__pycache__/claim_graph.cpython-314.pyc +0 -0
- package/src/__pycache__/evolution_cycle.cpython-314.pyc +0 -0
- package/src/__pycache__/kg_populate.cpython-314.pyc +0 -0
- package/src/__pycache__/knowledge_graph.cpython-314.pyc +0 -0
- package/src/__pycache__/maintenance.cpython-314.pyc +0 -0
- package/src/__pycache__/migrate_embeddings.cpython-314.pyc +0 -0
- package/src/__pycache__/plugin_loader.cpython-314.pyc +0 -0
- package/src/__pycache__/server.cpython-314.pyc +0 -0
- package/src/__pycache__/storage_router.cpython-314.pyc +0 -0
- package/src/__pycache__/tools_coordination.cpython-314.pyc +0 -0
- package/src/__pycache__/tools_credentials.cpython-314.pyc +0 -0
- package/src/__pycache__/tools_learnings.cpython-314.pyc +0 -0
- package/src/__pycache__/tools_menu.cpython-314.pyc +0 -0
- package/src/__pycache__/tools_reminders.cpython-314.pyc +0 -0
- package/src/__pycache__/tools_reminders_crud.cpython-314.pyc +0 -0
- package/src/__pycache__/tools_sessions.cpython-314.pyc +0 -0
- package/src/__pycache__/tools_task_history.cpython-314.pyc +0 -0
- package/src/dashboard/__pycache__/__init__.cpython-314.pyc +0 -0
- package/src/dashboard/__pycache__/app.cpython-314.pyc +0 -0
- package/src/hooks/__pycache__/auto_capture.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/__init__.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/agents.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/artifact_registry.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/backup.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/cognitive_memory.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/core_rules.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/cortex.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/entities.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/episodic_memory.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/evolution.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/guard.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/knowledge_graph_tools.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/preferences.cpython-314.pyc +0 -0
- package/src/rules/__pycache__/__init__.cpython-314.pyc +0 -0
- package/src/rules/__pycache__/migrate.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/check-context.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-auto-update.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-catchup.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-cognitive-decay.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-daily-self-audit.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-evolution-run.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-followup-hygiene.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-github-monitor.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-immune.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-install.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-learning-housekeep.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-learning-validator.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-migrate.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-postmortem-consolidator.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-pre-commit.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-proactive-dashboard.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-reflection.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-runtime-preflight.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-send-email.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-send-reply.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-sleep.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-synthesis.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-watchdog-smoke.cpython-314.pyc +0 -0
- package/src/scripts/deep-sleep/__pycache__/analyze_session.cpython-314.pyc +0 -0
- package/src/scripts/deep-sleep/__pycache__/apply_findings.cpython-314.pyc +0 -0
- package/src/scripts/deep-sleep/__pycache__/collect_transcripts.cpython-314.pyc +0 -0
- package/src/scripts/deep-sleep/analyze_session.py +0 -217
- package/src/scripts/deep-sleep/collect_transcripts.py +0 -145
- package/src/scripts/deep-sleep/prompt.md +0 -109
- package/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- package/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- package/tests/__pycache__/test_cognitive.cpython-314-pytest-9.0.2.pyc +0 -0
- package/tests/__pycache__/test_knowledge_graph.cpython-314-pytest-9.0.2.pyc +0 -0
- package/tests/__pycache__/test_migrations.cpython-314-pytest-9.0.2.pyc +0 -0
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
[](https://github.com/wazionapps/nexo/stargazers)
|
|
7
7
|
[](https://www.gnu.org/licenses/agpl-3.0)
|
|
8
8
|
|
|
9
|
-
> The first AI memory system with architectural inhibitory control — the agent reasons about whether to act before acting. Cognitive Cortex, Context Continuity via auto-compaction hooks, Smart Startup, Context Packets, Auto-Prime,
|
|
9
|
+
> The first AI memory system with architectural inhibitory control — the agent reasons about whether to act before acting. Cognitive Cortex, Context Continuity via auto-compaction hooks, Smart Startup, Context Packets, Auto-Prime, 30 Core Rules as DNA, auto-update, auto-diary, and CLAUDE.md version tracker. Battle-tested from 6 months of production use, validated via multi-AI debate.
|
|
10
10
|
|
|
11
11
|
**NEXO Brain transforms any MCP-compatible AI agent from a stateless assistant into a cognitive partner that remembers, learns, forgets, adapts, and builds a relationship with you over time.**
|
|
12
12
|
|
|
@@ -198,7 +198,7 @@ This means long sessions (8+ hours) feel like one continuous conversation instea
|
|
|
198
198
|
|
|
199
199
|
## Cognitive Features
|
|
200
200
|
|
|
201
|
-
NEXO Brain provides
|
|
201
|
+
NEXO Brain provides **147+ MCP tools** across 20+ categories. These features implement cognitive science concepts that go beyond basic memory:
|
|
202
202
|
|
|
203
203
|
### Input Pipeline
|
|
204
204
|
|
|
@@ -267,29 +267,89 @@ NEXO Brain was evaluated on [LoCoMo](https://github.com/snap-research/locomo) (A
|
|
|
267
267
|
|
|
268
268
|
Full results in [`benchmarks/locomo/results/`](benchmarks/locomo/results/).
|
|
269
269
|
|
|
270
|
-
## Nervous System (
|
|
270
|
+
## Nervous System (v2.0.0)
|
|
271
271
|
|
|
272
|
-
NEXO Brain doesn't just respond — it runs autonomous processes in the background, like a biological nervous system.
|
|
272
|
+
NEXO Brain doesn't just respond — it runs 15 autonomous processes in the background, like a biological nervous system. They handle maintenance, health monitoring, and self-improvement without any user interaction:
|
|
273
273
|
|
|
274
274
|
| Script | Schedule | What It Does |
|
|
275
275
|
|--------|----------|-------------|
|
|
276
276
|
| **cognitive-decay** | 03:00 daily | Ebbinghaus decay + memory consolidation + duplicate merging + dreaming |
|
|
277
|
-
| **
|
|
278
|
-
| **
|
|
277
|
+
| **sleep** | 04:00 daily | Synaptic pruning, expired data cleanup |
|
|
278
|
+
| **deep-sleep** | 04:30 daily | 4-phase overnight pipeline: Collect→Extract→Synthesize→Apply. Analyzes all sessions, detects emotional patterns, abandoned projects, productivity issues, and auto-creates learnings |
|
|
279
|
+
| **self-audit** | 07:00 daily | Health checks, guard stats, trust score review, metrics |
|
|
280
|
+
| **postmortem** | 23:30 daily | Session consolidation, extract patterns from day's events |
|
|
279
281
|
| **catchup** | On boot | Runs any missed scheduled processes (Mac was off/asleep) |
|
|
280
|
-
| **
|
|
281
|
-
| **
|
|
282
|
-
| **
|
|
283
|
-
| **
|
|
284
|
-
| **
|
|
285
|
-
| **
|
|
286
|
-
| **
|
|
282
|
+
| **tcc-approve** | On boot (macOS) | Auto-approve macOS permissions for Claude Code updates |
|
|
283
|
+
| **prevent-sleep** | Always (daemon) | Keeps machine awake for nocturnal processes (caffeinate/systemd-inhibit) |
|
|
284
|
+
| **evolution** | Weekly (Sun) | Self-improvement proposals — NEXO suggests and applies enhancements |
|
|
285
|
+
| **followup-hygiene** | Weekly (Sun) | Normalizes statuses, flags stale followups, cleans orphans |
|
|
286
|
+
| **immune** | Every 30 min | Quarantine processing, memory promotion/rejection, synaptic pruning |
|
|
287
|
+
| **synthesis** | Every 2 hours | Memory synthesis — discovers cross-memory patterns |
|
|
288
|
+
| **backup** | Every hour | SQLite database backups |
|
|
289
|
+
| **watchdog** | Every 5 min | Monitors services, LaunchAgents, and infrastructure health |
|
|
290
|
+
| **auto-close-sessions** | Every 5 min | Cleans stale sessions |
|
|
287
291
|
|
|
288
|
-
All
|
|
292
|
+
All processes are defined in `src/crons/manifest.json` and auto-synced to your system by `nexo_update`. On macOS they run via LaunchAgents; on Linux via systemd user timers (or crontab fallback). Personal crons (your own scripts) are never touched by the sync. If your Mac was asleep during a scheduled process, the catch-up script re-runs everything in order when it wakes.
|
|
289
293
|
|
|
290
|
-
|
|
294
|
+
## Deep Sleep v2 — Overnight Learning (v2.1.0)
|
|
291
295
|
|
|
292
|
-
|
|
296
|
+
Deep Sleep is a 4-phase pipeline that runs at 4:30 AM and makes NEXO smarter while you sleep:
|
|
297
|
+
|
|
298
|
+
```
|
|
299
|
+
Phase 1: COLLECT (Python)
|
|
300
|
+
├── Reads all session transcripts from the day
|
|
301
|
+
├── Splits each session into individual .txt files
|
|
302
|
+
└── Gathers DB state (followups, learnings, trust)
|
|
303
|
+
|
|
304
|
+
Phase 2: EXTRACT (Opus, one call per session)
|
|
305
|
+
├── 8 types of findings per session:
|
|
306
|
+
│ ├── Uncaptured corrections (user corrected agent, no learning saved)
|
|
307
|
+
│ ├── Self-corrected errors (knowledge gaps to fix)
|
|
308
|
+
│ ├── Unformalised ideas (mentioned but never tracked)
|
|
309
|
+
│ ├── Missed commitments (promised but no followup)
|
|
310
|
+
│ ├── Protocol violations (guard_check, heartbeat, change_log)
|
|
311
|
+
│ ├── Emotional signals (frustration, flow, satisfaction)
|
|
312
|
+
│ ├── Abandoned projects (started but not finished)
|
|
313
|
+
│ └── Productivity patterns (corrections, proactivity, tool efficiency)
|
|
314
|
+
└── Outputs per-session JSON with findings + emotional timeline
|
|
315
|
+
|
|
316
|
+
Phase 3: SYNTHESIZE (Opus, one call)
|
|
317
|
+
├── Cross-session patterns (same error in 5 sessions = systemic)
|
|
318
|
+
├── Daily mood arc with score (0.0 = terrible day, 1.0 = great day)
|
|
319
|
+
├── Recurring triggers (what causes frustration vs flow)
|
|
320
|
+
├── Productivity analysis (corrections, tool efficiency)
|
|
321
|
+
├── Abandoned project detection
|
|
322
|
+
├── Morning agenda (prioritized)
|
|
323
|
+
└── Calibration recommendations
|
|
324
|
+
|
|
325
|
+
Phase 4: APPLY (Python)
|
|
326
|
+
├── Auto-creates learnings from high-confidence findings
|
|
327
|
+
├── Creates followups for unfinished work
|
|
328
|
+
├── Updates mood_history in calibration.json (30-day rolling)
|
|
329
|
+
├── Generates session-tone.json (emotional guidance for next session)
|
|
330
|
+
└── Writes morning-briefing.md
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### Session Tone — Emotional Intelligence
|
|
334
|
+
|
|
335
|
+
Deep Sleep generates a `session-tone.json` that tells NEXO how to behave next morning:
|
|
336
|
+
|
|
337
|
+
- **Agent made many mistakes yesterday** → Acknowledge them, show what was learned, demonstrate improvement
|
|
338
|
+
- **User had a bad day (mood < 40%)** → Supportive approach, lighter start, avoid known frustration triggers
|
|
339
|
+
- **User had a great day (mood > 70%)** → Reinforce momentum, reference wins, push ambitious goals
|
|
340
|
+
- **Agent was too reactive** → Be proactive today, don't wait for instructions
|
|
341
|
+
|
|
342
|
+
This is read by `nexo_smart_startup` and injected into every session's context. NEXO adapts its personality based on real behavioral data, not just configuration.
|
|
343
|
+
|
|
344
|
+
## Cron Manifest (v2.1.0)
|
|
345
|
+
|
|
346
|
+
All core crons are defined in `src/crons/manifest.json`. When you run `nexo_update`, the sync script:
|
|
347
|
+
- **Installs** new crons from the manifest
|
|
348
|
+
- **Updates** changed schedules/intervals
|
|
349
|
+
- **Removes** crons no longer in the manifest (only core ones)
|
|
350
|
+
- **Never touches** personal crons you created yourself
|
|
351
|
+
|
|
352
|
+
Run `python3 src/crons/sync.py --dry-run` to preview changes without applying.
|
|
293
353
|
|
|
294
354
|
## Dashboard (v1.6.0)
|
|
295
355
|
|
|
@@ -312,18 +372,17 @@ Memory alone doesn't make a co-operator. What makes the difference is the **beha
|
|
|
312
372
|
|
|
313
373
|
### Automated Hooks
|
|
314
374
|
|
|
315
|
-
|
|
375
|
+
7 hooks fire automatically at key moments in every Claude Code session:
|
|
316
376
|
|
|
317
377
|
| Hook | When | What It Does |
|
|
318
378
|
|------|------|-------------|
|
|
319
|
-
| **SessionStart** | Session opens |
|
|
379
|
+
| **SessionStart (timestamp)** | Session opens | Writes session timestamp for staleness detection |
|
|
380
|
+
| **SessionStart (briefing)** | Session opens | Generates briefing from SQLite: overdue reminders, today's tasks, pending followups, active sessions. Cleans up post-mortem flags. |
|
|
320
381
|
| **Stop** | Session ends | Mandatory post-mortem: self-critique (5 questions), session buffer entry, followup creation, proactive seeds for next session |
|
|
321
|
-
| **PostToolUse** | After each tool call | Captures meaningful mutations to the Sensory Register +
|
|
322
|
-
| **
|
|
382
|
+
| **PostToolUse (capture)** | After each tool call | Captures meaningful mutations to the Sensory Register + auto-diary every 10 tool calls |
|
|
383
|
+
| **PostToolUse (inbox)** | After each tool call | Inter-terminal inbox delivery between parallel sessions |
|
|
384
|
+
| **PreCompact** | Before context compression | Saves full session checkpoint to SQLite — task, files, decisions, errors, reasoning thread + emergency diary |
|
|
323
385
|
| **PostCompact** | After context compression | Re-injects Core Memory Block so the session continues seamlessly from where it left off |
|
|
324
|
-
| **PreToolUse** | Before tool execution | Validates tool parameters and injects guard context for destructive operations |
|
|
325
|
-
| **Notification** | External events | Routes incoming notifications (GitHub, email, watchdog alerts) to the active session |
|
|
326
|
-
| **Caffeinate** | Always (optional) | Keeps Mac awake for nocturnal cognitive processes |
|
|
327
386
|
|
|
328
387
|
### The Session Lifecycle
|
|
329
388
|
|
|
@@ -367,15 +426,10 @@ Existing users upgrading from any previous version:
|
|
|
367
426
|
npx nexo-brain # detects current version, migrates automatically
|
|
368
427
|
```
|
|
369
428
|
- Updates hooks, core files, plugins, scripts, and LaunchAgent templates
|
|
370
|
-
- Runs
|
|
429
|
+
- Runs database schema migrations automatically
|
|
371
430
|
- **Never touches your data** (memories, learnings, preferences)
|
|
372
431
|
- Saves updated CLAUDE.md as reference (doesn't overwrite customizations)
|
|
373
432
|
|
|
374
|
-
For manual migration (e.g., from a custom setup):
|
|
375
|
-
```bash
|
|
376
|
-
python3 ~/.nexo/scripts/nexo-cognitive-migrate.py
|
|
377
|
-
```
|
|
378
|
-
|
|
379
433
|
## Knowledge Graph (v0.8)
|
|
380
434
|
|
|
381
435
|
A bi-temporal entity-relationship graph with 988 nodes and 896 edges. Entities and relationships carry both valid-time (when the fact was true) and system-time (when it was recorded), enabling temporal queries like "what did we know about X last Tuesday?". BFS traversal discovers multi-hop connections between concepts. Event-sourced edges with smart dedup (ADD/UPDATE/NOOP) prevent redundant writes while preserving full history.
|
|
@@ -425,8 +479,7 @@ The installer handles everything:
|
|
|
425
479
|
- Node.js project detected
|
|
426
480
|
Configuring MCP server...
|
|
427
481
|
Setting up nervous system...
|
|
428
|
-
|
|
429
|
-
13 LaunchAgent templates installed.
|
|
482
|
+
15 autonomous processes configured.
|
|
430
483
|
Dashboard configured at localhost:6174.
|
|
431
484
|
Caffeinate enabled.
|
|
432
485
|
Generating operator instructions...
|
|
@@ -457,26 +510,42 @@ That's it. No need to run `claude` manually. Your operator will greet you immedi
|
|
|
457
510
|
| Component | What | Where |
|
|
458
511
|
|-----------|------|-------|
|
|
459
512
|
| Cognitive engine | Python: fastembed, numpy, vector search | pip packages |
|
|
460
|
-
| MCP server |
|
|
461
|
-
| Plugins | Guard, episodic memory, cognitive memory, entities, preferences |
|
|
462
|
-
| Hooks (
|
|
463
|
-
| Nervous system |
|
|
464
|
-
| Dashboard | Web UI at localhost:6174 (6 pages) |
|
|
513
|
+
| MCP server | 147+ tools for memory, cognition, learning, guard | NEXO_HOME/ |
|
|
514
|
+
| Plugins | Guard, episodic memory, cognitive memory, entities, preferences, update, etc. | Code: src/plugins/, Personal: NEXO_HOME/plugins/ |
|
|
515
|
+
| Hooks (7) | SessionStart, Stop, PostToolUse, PreCompact, PostCompact | NEXO_HOME/hooks/ |
|
|
516
|
+
| Nervous system | 15 autonomous processes (decay, sleep, audit, evolution, watchdog, etc.) | NEXO_HOME/scripts/ |
|
|
517
|
+
| Dashboard | Web UI at localhost:6174 (6 pages) | NEXO_HOME/dashboard/ |
|
|
465
518
|
| CLAUDE.md | Complete operator instructions (Codex, hooks, guard, trust, memory) | ~/.claude/CLAUDE.md |
|
|
466
|
-
|
|
|
467
|
-
| Auto-update |
|
|
468
|
-
|
|
|
519
|
+
| Schedule config | schedule.json with customizable process times and timezone | NEXO_HOME/config/ |
|
|
520
|
+
| Auto-update | Non-blocking startup check (5s max), opt-out via schedule.json | Built into server startup |
|
|
521
|
+
| CLAUDE.md tracker | Version-tracked core sections with safe updates preserving customizations | Built into auto-update |
|
|
522
|
+
| Auto-diary | 3-layer system: PostToolUse every 10 calls, PreCompact emergency, heartbeat DIARY_OVERDUE | Built into hooks |
|
|
523
|
+
| Claude Code config | MCP server + 7 hooks + 15 processes registered | ~/.claude/settings.json |
|
|
469
524
|
|
|
470
525
|
### Requirements
|
|
471
526
|
|
|
472
527
|
- **macOS or Linux** (Windows via [WSL](https://learn.microsoft.com/en-us/windows/wsl/install))
|
|
473
528
|
- **Node.js 18+** (for the installer)
|
|
474
|
-
- **Claude Opus (latest version) strongly recommended.** NEXO Brain provides
|
|
529
|
+
- **Claude Opus (latest version) strongly recommended.** NEXO Brain provides 147+ MCP tools across 20+ categories. This cognitive load requires a top-tier model with large context window. Smaller models (Haiku, Sonnet) may struggle with tool selection and produce inconsistent results. Opus handles all 147+ tools without hesitation.
|
|
475
530
|
- Python 3, Homebrew, and Claude Code are installed automatically if missing.
|
|
476
531
|
|
|
477
532
|
## Architecture
|
|
478
533
|
|
|
479
|
-
###
|
|
534
|
+
### Unified Code/Data Separation (v2.0.0)
|
|
535
|
+
|
|
536
|
+
NEXO Brain separates **code** (immutable, in the repo or npm package) from **data** (personal, in `NEXO_HOME`):
|
|
537
|
+
|
|
538
|
+
| Path | Contents |
|
|
539
|
+
|------|----------|
|
|
540
|
+
| `src/` (or npm package) | Server, plugins, hooks, scripts — never modified at runtime |
|
|
541
|
+
| `NEXO_HOME/` (default `~/.nexo/`) | Database, config, personal plugins, schedule, backups |
|
|
542
|
+
| `NEXO_HOME/config/schedule.json` | Customizable process schedules, timezone, auto_update flag |
|
|
543
|
+
| `NEXO_HOME/plugins/` | Personal plugins that override or extend repo plugins |
|
|
544
|
+
| `NEXO_HOME/data/` | SQLite databases (nexo.db, cognitive.db), migration state |
|
|
545
|
+
|
|
546
|
+
The plugin loader scans `src/plugins/` first (base), then `NEXO_HOME/plugins/` (personal override by filename). This dual-directory approach lets you extend NEXO without forking the repo.
|
|
547
|
+
|
|
548
|
+
### 147+ MCP Tools across 20+ Categories
|
|
480
549
|
|
|
481
550
|
| Category | Count | Tools | Purpose |
|
|
482
551
|
|----------|-------|-------|---------|
|
|
@@ -490,7 +559,7 @@ That's it. No need to run `claude` manually. Your operator will greet you immedi
|
|
|
490
559
|
| Reminders | 5 | list, create, update, complete, delete | User's tasks and deadlines |
|
|
491
560
|
| Followups | 4 | create, update, complete, delete | System's autonomous verification tasks |
|
|
492
561
|
| Learnings | 5 | add, search, update, delete, list | Error patterns and prevention rules |
|
|
493
|
-
| Credentials | 5 | create, get, update, delete, list |
|
|
562
|
+
| Credentials | 5 | create, get, update, delete, list | Local credential storage (plaintext SQLite — protect with filesystem permissions) |
|
|
494
563
|
| Task History | 3 | log, list, frequency | Execution tracking and overdue alerts |
|
|
495
564
|
| Menu | 1 | menu | Operations center with box-drawing UI |
|
|
496
565
|
| Entities | 5 | search, create, update, delete, list | People, services, URLs |
|
|
@@ -501,10 +570,11 @@ That's it. No need to run `claude` manually. Your operator will greet you immedi
|
|
|
501
570
|
| Adaptive & Somatic | 4 | adaptive_weights, adaptive_override, somatic_check, somatic_stats | Learned signal weights + pain memory per file |
|
|
502
571
|
| Knowledge Graph | 4 | kg_query, kg_path, kg_neighbors, kg_stats | Bi-temporal entity-relationship graph |
|
|
503
572
|
| Context Continuity | 2 | checkpoint_save, checkpoint_read | Auto-compaction session preservation |
|
|
573
|
+
| Update | 1 | update | Pull latest code, backup, migrate, verify (with rollback) |
|
|
504
574
|
|
|
505
575
|
### Plugin System
|
|
506
576
|
|
|
507
|
-
NEXO Brain supports hot-loadable plugins. Drop a `.py` file in
|
|
577
|
+
NEXO Brain supports hot-loadable plugins with a dual-directory loader. Base plugins live in `src/plugins/` (repo). Personal plugins go in `NEXO_HOME/plugins/` and can override base plugins by filename. Drop a `.py` file in `NEXO_HOME/plugins/`:
|
|
508
578
|
|
|
509
579
|
```python
|
|
510
580
|
# my_plugin.py
|
|
@@ -524,7 +594,7 @@ Reload without restarting: `nexo_plugin_load("my_plugin.py")`
|
|
|
524
594
|
- **Everything stays local.** All data in `~/.nexo/`, never uploaded anywhere.
|
|
525
595
|
- **No telemetry.** No analytics. No phone-home.
|
|
526
596
|
- **No cloud dependencies.** Vector search runs on CPU (fastembed), not an API.
|
|
527
|
-
- **Auto-update is
|
|
597
|
+
- **Auto-update is resilient.** NEXO checks for updates on startup. If an update fails, it continues with the current version and notifies you. Local migrations (database schema, configuration) always run. Network updates (git pull) can be disabled by setting `auto_update: false` in `NEXO_HOME/config/schedule.json`.
|
|
528
598
|
- **Secret redaction.** API keys and tokens are stripped before they ever reach memory storage.
|
|
529
599
|
|
|
530
600
|
## The Psychology Behind NEXO Brain
|
|
@@ -558,7 +628,7 @@ NEXO Brain is designed as an MCP server. Claude Code is the primary supported cl
|
|
|
558
628
|
npx nexo-brain
|
|
559
629
|
```
|
|
560
630
|
|
|
561
|
-
All
|
|
631
|
+
All 147+ tools are available immediately after installation. The installer configures Claude Code's `~/.claude/settings.json` automatically.
|
|
562
632
|
|
|
563
633
|
### OpenClaw
|
|
564
634
|
|
|
@@ -574,7 +644,7 @@ Add NEXO Brain to your OpenClaw config at `~/.openclaw/openclaw.json`:
|
|
|
574
644
|
"servers": {
|
|
575
645
|
"nexo-brain": {
|
|
576
646
|
"command": "python3",
|
|
577
|
-
"args": ["~/.nexo/
|
|
647
|
+
"args": ["~/.nexo/server.py"],
|
|
578
648
|
"env": {
|
|
579
649
|
"NEXO_HOME": "~/.nexo"
|
|
580
650
|
}
|
|
@@ -587,7 +657,7 @@ Add NEXO Brain to your OpenClaw config at `~/.openclaw/openclaw.json`:
|
|
|
587
657
|
Or via CLI:
|
|
588
658
|
|
|
589
659
|
```bash
|
|
590
|
-
openclaw mcp set nexo-brain '{"command":"python3","args":["~/.nexo/
|
|
660
|
+
openclaw mcp set nexo-brain '{"command":"python3","args":["~/.nexo/server.py"],"env":{"NEXO_HOME":"~/.nexo"}}'
|
|
591
661
|
openclaw gateway restart
|
|
592
662
|
```
|
|
593
663
|
|
|
@@ -617,7 +687,7 @@ This replaces OpenClaw's default memory system with NEXO Brain's full cognitive
|
|
|
617
687
|
|
|
618
688
|
### Any MCP Client
|
|
619
689
|
|
|
620
|
-
NEXO Brain works with any application that supports the MCP protocol. Configure it as an MCP server pointing to
|
|
690
|
+
NEXO Brain works with any application that supports the MCP protocol. Configure it as an MCP server pointing to `server.py` in the code directory, with `NEXO_HOME` env var set.
|
|
621
691
|
|
|
622
692
|
## Listed On
|
|
623
693
|
|
|
@@ -637,11 +707,11 @@ NEXO Brain builds on ideas from several open-source projects. We're grateful for
|
|
|
637
707
|
|
|
638
708
|
| Project | Inspired Features |
|
|
639
709
|
|---------|------------------|
|
|
640
|
-
|
|
|
641
|
-
|
|
|
642
|
-
|
|
|
643
|
-
|
|
|
644
|
-
|
|
|
710
|
+
| Vestige | HyDE query expansion, spreading activation, prediction error gating, memory dreaming, prospective memory |
|
|
711
|
+
| ShieldCortex | Security pipeline (4-layer memory poisoning defense) |
|
|
712
|
+
| Bicameral | Quarantine queue (trust promotion policy for new facts) |
|
|
713
|
+
| claude-mem | Hook auto-capture (extracting decisions and facts from conversations) |
|
|
714
|
+
| ClawMem | Co-activation reinforcement (memories retrieved together strengthen connections) |
|
|
645
715
|
|
|
646
716
|
## Support the Project
|
|
647
717
|
|
|
@@ -654,15 +724,45 @@ If NEXO Brain is useful to you, consider:
|
|
|
654
724
|
|
|
655
725
|
[](https://star-history.com/#wazionapps/nexo&Date)
|
|
656
726
|
|
|
727
|
+
## Known Issues (v2.0.0)
|
|
728
|
+
|
|
729
|
+
| Priority | Issue | Planned |
|
|
730
|
+
|----------|-------|---------|
|
|
731
|
+
| P0 | Credentials stored in plaintext SQLite — protect with filesystem permissions | v2.1.0 |
|
|
732
|
+
| P0 | Shell hooks use SQL string interpolation (injection risk) | v2.1.0 |
|
|
733
|
+
| P0 | Dashboard has no authentication (localhost only) | v2.1.0 |
|
|
734
|
+
| P0 | Database migrations are fail-open (errors logged but not blocking) | v2.1.0 |
|
|
735
|
+
|
|
657
736
|
## Changelog
|
|
658
737
|
|
|
738
|
+
### v2.0.0 — Unified Architecture (2026-03-31)
|
|
739
|
+
- **Code/data separation**: Code in repo (`src/`), personal data in `NEXO_HOME` (default `~/.nexo/`). `NEXO_HOME` env var required.
|
|
740
|
+
- **Plugin loader dual-directory**: Scans `src/plugins/` (base) then `NEXO_HOME/plugins/` (personal override by filename).
|
|
741
|
+
- **Auto-update on startup**: Non-blocking (5s max), resilient, opt-out via `schedule.json`. Separate from manual `nexo_update` tool.
|
|
742
|
+
- **Auto-diary**: 3-layer system — PostToolUse every 10 calls, PreCompact emergency save, heartbeat DIARY_OVERDUE signal.
|
|
743
|
+
- **CLAUDE.md version tracker**: Section markers enable safe core updates without losing user customizations.
|
|
744
|
+
- **schedule.json**: Customizable process schedules with timezone support and `auto_update` flag.
|
|
745
|
+
- **15 autonomous processes**: Added auto-close-sessions, synthesis, backup, tcc-approve, prevent-sleep (cross-platform).
|
|
746
|
+
- **7 hooks**: SessionStart (timestamp + briefing), Stop, PostToolUse (capture + inbox), PreCompact, PostCompact.
|
|
747
|
+
- **147+ MCP tools**: Added `nexo_update` tool for manual updates with rollback.
|
|
748
|
+
- **Lambda fix**: Decay values were 24x too aggressive (STM: 7h to 7d, LTM: 2.4d to 60d).
|
|
749
|
+
- **Guard scoping**: Was returning 35+ irrelevant blocking rules; now scoped to area and gated to high/critical.
|
|
750
|
+
- **12 rounds of external audit**: ~60 findings resolved.
|
|
751
|
+
|
|
752
|
+
### v1.7.0 — Full Internationalization + Linux Support (2026-03-31)
|
|
753
|
+
- **Full i18n**: All UI strings, error messages, DB status values in English. NLP detection patterns retain bilingual keywords (Spanish + English) for multilingual user support.
|
|
754
|
+
- **Linux support**: systemd user timers (preferred) or crontab fallback for all automated cognitive processes.
|
|
755
|
+
- **Auto-resolve followups**: Change log entries automatically cross-reference and complete matching open followups.
|
|
756
|
+
- **Free-form learning categories**: No more hardcoded category validation — use any category name.
|
|
757
|
+
- **CLAUDE.md template rewrite**: 494 to 127 lines, compact procedural format with full heartbeat signal reactions.
|
|
758
|
+
- **Complete sanitization**: All hardcoded paths use `NEXO_HOME` env var. Zero personal data in the repo.
|
|
759
|
+
|
|
659
760
|
### v1.6.0 — Nervous System + Dashboard v2 (2026-03-30)
|
|
660
|
-
- **Nervous System**: 11 autonomous scripts (decay, deep sleep, self-audit, catchup, evolution, followup hygiene, immune, watchdog, github monitor, learning validator
|
|
761
|
+
- **Nervous System**: 11 autonomous scripts (decay, deep sleep, self-audit, catchup, evolution, followup hygiene, immune, watchdog, github monitor, learning validator)
|
|
661
762
|
- **Dashboard v2**: 6 interactive pages at localhost:6174 (Overview, Graph, Memory, Somatic, Adaptive, Sessions)
|
|
662
|
-
- **LaunchAgent Templates**:
|
|
663
|
-
- **
|
|
664
|
-
- **
|
|
665
|
-
- **Installer**: Now configures dashboard LaunchAgent, nervous system scripts, and all 13 templates automatically
|
|
763
|
+
- **LaunchAgent Templates**: macOS automation templates included in the package for scheduling the nervous system
|
|
764
|
+
- **Hooks**: 7 total — SessionStart, Stop, PostToolUse, PreCompact, PostCompact
|
|
765
|
+
- **Installer**: Now configures dashboard LaunchAgent, nervous system scripts, and all templates automatically
|
|
666
766
|
|
|
667
767
|
### v1.5.2 — Deep Sleep (2026-03-29)
|
|
668
768
|
- **Deep Sleep**: Reads full session transcripts (not just diary) — finds uncaptured corrections, protocol violations, missed commitments
|
|
@@ -718,7 +818,7 @@ If NEXO Brain is useful to you, consider:
|
|
|
718
818
|
- New tools: `nexo_checkpoint_save`, `nexo_checkpoint_read`
|
|
719
819
|
- Heartbeat automatically maintains checkpoint every interaction
|
|
720
820
|
- Core Memory Block re-injected post-compaction with task, files, decisions, reasoning thread
|
|
721
|
-
- 115+ total tools, 20 categories
|
|
821
|
+
- 115+ total tools at the time, 20 categories
|
|
722
822
|
|
|
723
823
|
### v1.0.0 — Cognitive Cortex + Stable Release (2026-03-26)
|
|
724
824
|
- **Cognitive Cortex**: architectural inhibitory control (ASK/PROPOSE/ACT modes)
|
|
@@ -735,7 +835,7 @@ If NEXO Brain is useful to you, consider:
|
|
|
735
835
|
|
|
736
836
|
### v0.9.0 — Cognitive Memory (2026-03-15)
|
|
737
837
|
- Atkinson-Shiffrin memory model (STM → LTM promotion)
|
|
738
|
-
- Semantic RAG with fastembed (BAAI/bge-
|
|
838
|
+
- Semantic RAG with fastembed (BAAI/bge-base-en-v1.5, 768 dims)
|
|
739
839
|
- Trust scoring, sentiment detection, adaptive personality modes
|
|
740
840
|
- Ebbinghaus decay, sister detection, quarantine system
|
|
741
841
|
|