nexo-brain 1.6.0 → 2.0.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 +102 -79
- package/bin/nexo-brain.js +681 -303
- package/bin/postinstall.js +46 -0
- package/package.json +14 -2
- 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_close_sessions.cpython-310.pyc +0 -0
- package/src/__pycache__/auto_close_sessions.cpython-314.pyc +0 -0
- package/src/__pycache__/auto_update.cpython-310.pyc +0 -0
- package/src/__pycache__/auto_update.cpython-314.pyc +0 -0
- package/src/__pycache__/claim_graph.cpython-310.pyc +0 -0
- package/src/__pycache__/claim_graph.cpython-314.pyc +0 -0
- package/src/__pycache__/evolution_cycle.cpython-310.pyc +0 -0
- package/src/__pycache__/evolution_cycle.cpython-314.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__/kg_populate.cpython-314.pyc +0 -0
- package/src/__pycache__/knowledge_graph.cpython-310.pyc +0 -0
- package/src/__pycache__/knowledge_graph.cpython-314.pyc +0 -0
- package/src/__pycache__/maintenance.cpython-310.pyc +0 -0
- package/src/__pycache__/maintenance.cpython-314.pyc +0 -0
- package/src/__pycache__/migrate_embeddings.cpython-310.pyc +0 -0
- package/src/__pycache__/migrate_embeddings.cpython-314.pyc +0 -0
- package/src/__pycache__/plugin_loader.cpython-310.pyc +0 -0
- package/src/__pycache__/plugin_loader.cpython-314.pyc +0 -0
- package/src/__pycache__/server.cpython-310.pyc +0 -0
- package/src/__pycache__/server.cpython-314.pyc +0 -0
- package/src/__pycache__/storage_router.cpython-310.pyc +0 -0
- package/src/__pycache__/storage_router.cpython-314.pyc +0 -0
- package/src/__pycache__/tools_coordination.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_coordination.cpython-314.pyc +0 -0
- package/src/__pycache__/tools_credentials.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_credentials.cpython-314.pyc +0 -0
- package/src/__pycache__/tools_learnings.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_learnings.cpython-314.pyc +0 -0
- package/src/__pycache__/tools_menu.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_menu.cpython-314.pyc +0 -0
- package/src/__pycache__/tools_reminders.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_reminders.cpython-314.pyc +0 -0
- package/src/__pycache__/tools_reminders_crud.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_reminders_crud.cpython-314.pyc +0 -0
- package/src/__pycache__/tools_sessions.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_sessions.cpython-314.pyc +0 -0
- package/src/__pycache__/tools_task_history.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_task_history.cpython-314.pyc +0 -0
- package/src/auto_close_sessions.py +4 -3
- package/src/auto_update.py +634 -0
- package/src/cognitive/__pycache__/__init__.cpython-310.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-314.pyc +0 -0
- package/src/cognitive/__pycache__/_decay.cpython-310.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-314.pyc +0 -0
- package/src/cognitive/__pycache__/_memory.cpython-310.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-314.pyc +0 -0
- package/src/cognitive/__pycache__/_trust.cpython-310.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/_memory.py +7 -3
- package/src/cognitive/_search.py +12 -10
- package/src/cognitive/_trust.py +3 -3
- package/src/dashboard/__pycache__/__init__.cpython-310.pyc +0 -0
- package/src/dashboard/__pycache__/__init__.cpython-314.pyc +0 -0
- package/src/dashboard/__pycache__/app.cpython-310.pyc +0 -0
- package/src/dashboard/__pycache__/app.cpython-314.pyc +0 -0
- package/src/dashboard/app.py +9 -3
- package/src/dashboard/templates/dashboard.html +4 -4
- package/src/dashboard/templates/operations.html +6 -6
- package/src/db/__init__.py +2 -1
- 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 +7 -3
- package/src/db/_episodic.py +69 -1
- package/src/db/_fts.py +12 -12
- package/src/db/_reminders.py +89 -15
- package/src/db/_schema.py +41 -0
- package/src/evolution_cycle.py +33 -11
- package/src/hooks/__pycache__/auto_capture.cpython-310.pyc +0 -0
- package/src/hooks/__pycache__/auto_capture.cpython-314.pyc +0 -0
- 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 +2 -1
- 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__/__init__.cpython-314.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__/agents.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/artifact_registry.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/artifact_registry.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/backup.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/backup.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/cognitive_memory.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/cognitive_memory.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/core_rules.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/core_rules.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/cortex.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/cortex.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/entities.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/entities.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/episodic_memory.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/episodic_memory.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/evolution.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/evolution.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/guard.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/guard.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/knowledge_graph_tools.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/knowledge_graph_tools.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/preferences.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/preferences.cpython-314.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/cognitive_memory.py +1 -1
- package/src/plugins/core_rules.py +5 -1
- package/src/plugins/episodic_memory.py +43 -16
- package/src/plugins/evolution.py +7 -2
- package/src/plugins/guard.py +45 -17
- package/src/plugins/update.py +238 -0
- package/src/requirements.txt +12 -0
- package/src/rules/__pycache__/__init__.cpython-310.pyc +0 -0
- package/src/rules/__pycache__/__init__.cpython-314.pyc +0 -0
- package/src/rules/__pycache__/migrate.cpython-310.pyc +0 -0
- package/src/rules/__pycache__/migrate.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/check-context.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/check-context.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-auto-update.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-auto-update.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-catchup.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-catchup.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-cognitive-decay.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-cognitive-decay.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-daily-self-audit.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-daily-self-audit.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-evolution-run.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-evolution-run.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-followup-hygiene.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-followup-hygiene.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-github-monitor.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-github-monitor.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-immune.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-immune.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-install.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-install.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-learning-housekeep.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-learning-housekeep.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-learning-validator.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-learning-validator.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-migrate.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-migrate.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-postmortem-consolidator.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-postmortem-consolidator.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-pre-commit.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-pre-commit.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-proactive-dashboard.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-proactive-dashboard.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-reflection.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-reflection.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-runtime-preflight.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-runtime-preflight.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-send-email.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-send-email.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-send-reply.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-send-reply.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-sleep.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-sleep.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-synthesis.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-synthesis.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-watchdog-smoke.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-watchdog-smoke.cpython-314.pyc +0 -0
- package/src/scripts/check-context.py +13 -3
- package/src/scripts/deep-sleep/__pycache__/analyze_session.cpython-310.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-310.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-310.pyc +0 -0
- package/src/scripts/deep-sleep/__pycache__/collect_transcripts.cpython-314.pyc +0 -0
- package/src/scripts/deep-sleep/analyze_session.py +3 -1
- package/src/scripts/deep-sleep/apply_findings.py +7 -4
- package/src/scripts/deep-sleep/collect_transcripts.py +3 -1
- package/src/scripts/nexo-auto-update.py +4 -211
- package/src/scripts/nexo-backup.sh +25 -0
- package/src/scripts/nexo-brain-activation.sh +26 -26
- package/src/scripts/nexo-catchup.py +39 -25
- package/src/scripts/nexo-cognitive-decay.py +12 -5
- package/src/scripts/nexo-daily-self-audit.py +36 -14
- package/src/scripts/nexo-deep-sleep.sh +4 -3
- package/src/scripts/nexo-evolution-run.py +40 -12
- package/src/scripts/nexo-followup-hygiene.py +6 -3
- package/src/scripts/nexo-github-monitor.py +11 -4
- package/src/scripts/nexo-immune.py +20 -3
- package/src/scripts/nexo-inbox-hook.sh +2 -1
- package/src/scripts/nexo-install.py +6 -0
- package/src/scripts/nexo-learning-housekeep.py +245 -0
- package/src/scripts/nexo-learning-validator.py +12 -2
- package/src/scripts/nexo-migrate.py +232 -0
- package/src/scripts/nexo-postmortem-consolidator.py +38 -19
- 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 +8 -6
- package/src/scripts/nexo-runtime-preflight.py +59 -55
- package/src/scripts/nexo-send-email.py +2 -2
- package/src/scripts/nexo-send-reply.py +3 -1
- package/src/scripts/nexo-sleep.py +21 -5
- package/src/scripts/nexo-snapshot-restore.sh +2 -1
- package/src/scripts/nexo-synthesis.py +19 -4
- 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 +41 -31
- package/src/server.py +107 -44
- package/src/storage_router.py +6 -2
- package/src/tools_coordination.py +14 -14
- package/src/tools_credentials.py +11 -11
- package/src/tools_learnings.py +36 -27
- package/src/tools_menu.py +7 -6
- package/src/tools_reminders.py +11 -5
- package/src/tools_reminders_crud.py +11 -9
- package/src/tools_sessions.py +62 -187
- package/src/tools_task_history.py +7 -7
- package/templates/CLAUDE.md.template +49 -469
- 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/__pycache__/__init__.cpython-310.pyc +0 -0
- package/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- package/tests/__pycache__/conftest.cpython-310-pytest-9.0.2.pyc +0 -0
- package/tests/__pycache__/conftest.cpython-310.pyc +0 -0
- package/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- package/tests/__pycache__/test_cognitive.cpython-310-pytest-9.0.2.pyc +0 -0
- package/tests/__pycache__/test_cognitive.cpython-310.pyc +0 -0
- package/tests/__pycache__/test_cognitive.cpython-314-pytest-9.0.2.pyc +0 -0
- package/tests/__pycache__/test_knowledge_graph.cpython-310-pytest-9.0.2.pyc +0 -0
- package/tests/__pycache__/test_knowledge_graph.cpython-310.pyc +0 -0
- package/tests/__pycache__/test_knowledge_graph.cpython-314-pytest-9.0.2.pyc +0 -0
- package/tests/__pycache__/test_migrations.cpython-310-pytest-9.0.2.pyc +0 -0
- package/tests/__pycache__/test_migrations.cpython-310.pyc +0 -0
- package/tests/__pycache__/test_migrations.cpython-314-pytest-9.0.2.pyc +0 -0
- package/tests/conftest.py +2 -2
- package/tests/test_cognitive.py +7 -6
- package/tests/test_migrations.py +29 -3
package/README.md
CHANGED
|
@@ -130,22 +130,10 @@ Like a human brain, NEXO Brain has automated processes that run while you're not
|
|
|
130
130
|
|------|---------|---------------|
|
|
131
131
|
| 03:00 | Decay + memory consolidation + merge duplicates + dreaming | Deep sleep consolidation |
|
|
132
132
|
| 04:00 | Clean expired data, prune redundant memories | Synaptic pruning |
|
|
133
|
-
| 04:30 | **Deep Sleep** — analyze full session transcripts for uncaptured corrections, protocol violations, missed commitments | REM sleep review |
|
|
134
133
|
| 07:00 | Self-audit, health checks, metrics | Waking up + orientation |
|
|
135
134
|
| 23:30 | Process day's events, extract patterns | Pre-sleep reflection |
|
|
136
135
|
| Boot | Catch-up: run anything missed while computer was off | -- |
|
|
137
136
|
|
|
138
|
-
#### Deep Sleep (v1.5.2)
|
|
139
|
-
|
|
140
|
-
Deep Sleep reads your **complete session transcripts** (not just the diary summary) and finds what the agent missed during the day:
|
|
141
|
-
|
|
142
|
-
- **Uncaptured corrections** — user corrections the agent didn't save as learnings
|
|
143
|
-
- **Protocol violations** — guard_check skipped, trust not adjusted, change_log omitted
|
|
144
|
-
- **Missed commitments** — things mentioned but never tracked as followups
|
|
145
|
-
- **Quality issues** — agent declaring "done" when work wasn't complete
|
|
146
|
-
|
|
147
|
-
Uses Claude CLI in `--bare` mode (no hooks, no CLAUDE.md interference). Catch-up system re-runs yesterday if the Mac was off.
|
|
148
|
-
|
|
149
137
|
If your Mac was asleep during any scheduled process, NEXO Brain catches up in order when it wakes.
|
|
150
138
|
|
|
151
139
|
## Cognitive Cortex
|
|
@@ -210,7 +198,7 @@ This means long sessions (8+ hours) feel like one continuous conversation instea
|
|
|
210
198
|
|
|
211
199
|
## Cognitive Features
|
|
212
200
|
|
|
213
|
-
NEXO Brain provides **
|
|
201
|
+
NEXO Brain provides 29 cognitive tools on top of the 78 base tools, totaling **115+ MCP tools**. These features implement cognitive science concepts that go beyond basic memory:
|
|
214
202
|
|
|
215
203
|
### Input Pipeline
|
|
216
204
|
|
|
@@ -238,13 +226,11 @@ NEXO Brain provides **100+ MCP tools** implementing cognitive science concepts t
|
|
|
238
226
|
|---------|-------------|
|
|
239
227
|
| **HyDE Query Expansion** | Generates hypothetical answer embeddings for richer semantic search. Instead of searching for "deploy error", it imagines what a helpful memory about deploy errors would look like, then searches for that. |
|
|
240
228
|
| **Hybrid Search (FTS5+BM25+RRF)** | Combines dense vector search with BM25 keyword search via Reciprocal Rank Fusion. Outperforms pure semantic search on precise terminology and code identifiers. |
|
|
241
|
-
| **KG Boost** | Knowledge Graph connection count influences retrieval ranking. Memories linked to well-connected entities (many edges) receive a logarithmic score bonus, surfacing contextually important facts higher. |
|
|
242
|
-
| **HNSW Vector Index** | Optional approximate nearest neighbor index (hnswlib). Activates automatically when memory count exceeds 10,000. Falls back to exact brute-force below that threshold — no configuration needed. |
|
|
243
229
|
| **Cross-Encoder Reranking** | After initial vector retrieval, a cross-encoder model rescores candidates for precision. The top-k results are reordered by true semantic relevance before being returned to the agent. |
|
|
244
230
|
| **Multi-Query Decomposition** | Complex questions are automatically split into sub-queries. Each component is retrieved independently, then fused for a higher-quality answer — improves recall on multi-faceted prompts. |
|
|
245
231
|
| **Temporal Indexing** | Memories are indexed by time in addition to semantics. Time-sensitive queries ("what did we decide last Tuesday?") use temporal proximity scoring alongside semantic similarity. |
|
|
246
232
|
| **Spreading Activation** | Graph-based co-activation network. Memories retrieved together reinforce each other's connections, building an associative web that improves over time. |
|
|
247
|
-
| **Recall Explanations** | Transparent score breakdown for every retrieval result. Shows exactly why a memory was returned: semantic similarity, recency, access frequency,
|
|
233
|
+
| **Recall Explanations** | Transparent score breakdown for every retrieval result. Shows exactly why a memory was returned: semantic similarity, recency, access frequency, and co-activation bonuses. |
|
|
248
234
|
|
|
249
235
|
### Proactive
|
|
250
236
|
|
|
@@ -281,21 +267,61 @@ NEXO Brain was evaluated on [LoCoMo](https://github.com/snap-research/locomo) (A
|
|
|
281
267
|
|
|
282
268
|
Full results in [`benchmarks/locomo/results/`](benchmarks/locomo/results/).
|
|
283
269
|
|
|
284
|
-
##
|
|
270
|
+
## Nervous System (v1.6.0)
|
|
271
|
+
|
|
272
|
+
NEXO Brain doesn't just respond — it runs autonomous processes in the background, like a biological nervous system. 11 scripts handle maintenance, health monitoring, and self-improvement without any user interaction:
|
|
273
|
+
|
|
274
|
+
| Script | Schedule | What It Does |
|
|
275
|
+
|--------|----------|-------------|
|
|
276
|
+
| **cognitive-decay** | 03:00 daily | Ebbinghaus decay + memory consolidation + duplicate merging + dreaming |
|
|
277
|
+
| **deep-sleep** | 04:30 daily | Reads full session transcripts, finds uncaptured corrections and protocol violations |
|
|
278
|
+
| **daily-self-audit** | 07:00 daily | Health checks, guard stats, trust score review, metrics |
|
|
279
|
+
| **catchup** | On boot | Runs any missed scheduled processes (Mac was off/asleep) |
|
|
280
|
+
| **evolution-run** | Weekly | Self-improvement proposals — NEXO suggests and applies enhancements |
|
|
281
|
+
| **followup-hygiene** | Weekly | Normalizes statuses, flags stale followups, cleans orphans |
|
|
282
|
+
| **immune** | 04:00 daily | Quarantine processing, memory promotion/rejection, synaptic pruning |
|
|
283
|
+
| **watchdog** | Every 30 min | Monitors 15+ services, LaunchAgents, and infrastructure health |
|
|
284
|
+
| **github-monitor** | 08:00 daily | Checks issues, PRs, and commits on public repos |
|
|
285
|
+
| **learning-validator** | Nightly | Validates learnings for staleness, contradictions, and duplicates |
|
|
286
|
+
|
|
287
|
+
All scripts run via macOS LaunchAgents (or catch-up on Linux). If your Mac was asleep during a scheduled process, the catch-up script re-runs everything in order when it wakes.
|
|
288
|
+
|
|
289
|
+
### LaunchAgent Templates
|
|
290
|
+
|
|
291
|
+
13 macOS automation templates are included for scheduling the nervous system. The installer configures them automatically. On Linux, equivalent cron entries are generated.
|
|
292
|
+
|
|
293
|
+
## Dashboard (v1.6.0)
|
|
294
|
+
|
|
295
|
+
A web interface at `localhost:6174` with 6 interactive pages for visual insight into your brain's state:
|
|
296
|
+
|
|
297
|
+
| Page | What It Shows |
|
|
298
|
+
|------|-------------|
|
|
299
|
+
| **Overview** | System health at a glance — memory counts, trust score, active sessions, recent changes |
|
|
300
|
+
| **Graph** | Interactive D3.js visualization of the knowledge graph (nodes, edges, clusters) |
|
|
301
|
+
| **Memory** | Browse and search all memory stores (STM, LTM, sensory, archived) |
|
|
302
|
+
| **Somatic** | Pain map per file/area — see which parts of your codebase cause the most errors |
|
|
303
|
+
| **Adaptive** | Personality signals, learned weights, and current mode |
|
|
304
|
+
| **Sessions** | Active and historical sessions with timeline and diary entries |
|
|
305
|
+
|
|
306
|
+
Built with FastAPI backend and D3.js frontend. Runs as a LaunchAgent, auto-starts with the system.
|
|
307
|
+
|
|
308
|
+
## Full Orchestration System
|
|
285
309
|
|
|
286
310
|
Memory alone doesn't make a co-operator. What makes the difference is the **behavioral loop** — the automated discipline that ensures every session starts informed, runs with guardrails, and ends with self-reflection.
|
|
287
311
|
|
|
288
|
-
###
|
|
312
|
+
### Automated Hooks
|
|
289
313
|
|
|
290
|
-
|
|
314
|
+
7 hooks fire automatically at key moments in every Claude Code session:
|
|
291
315
|
|
|
292
316
|
| Hook | When | What It Does |
|
|
293
317
|
|------|------|-------------|
|
|
294
|
-
| **SessionStart** | Session opens | Generates
|
|
318
|
+
| **SessionStart** | Session opens | Generates briefing from SQLite: overdue reminders, today's tasks, pending followups, active sessions. Cleans up post-mortem flags. |
|
|
295
319
|
| **Stop** | Session ends | Mandatory post-mortem: self-critique (5 questions), session buffer entry, followup creation, proactive seeds for next session |
|
|
296
|
-
| **PostToolUse** | After each tool call | Captures meaningful mutations to the Sensory Register |
|
|
320
|
+
| **PostToolUse** | After each tool call | Captures meaningful mutations to the Sensory Register + inter-terminal inbox delivery |
|
|
297
321
|
| **PreCompact** | Before context compression | Saves full session checkpoint to SQLite — task, files, decisions, errors, reasoning thread |
|
|
298
322
|
| **PostCompact** | After context compression | Re-injects Core Memory Block so the session continues seamlessly from where it left off |
|
|
323
|
+
| **PreToolUse** | Before tool execution | Validates tool parameters and injects guard context for destructive operations |
|
|
324
|
+
| **Notification** | External events | Routes incoming notifications (GitHub, email, watchdog alerts) to the active session |
|
|
299
325
|
| **Caffeinate** | Always (optional) | Keeps Mac awake for nocturnal cognitive processes |
|
|
300
326
|
|
|
301
327
|
### The Session Lifecycle
|
|
@@ -335,23 +361,20 @@ After 3+ sessions accumulate, the stop hook triggers `nexo-reflection.py`:
|
|
|
335
361
|
|
|
336
362
|
### Auto-Migration
|
|
337
363
|
|
|
338
|
-
Existing users upgrading from
|
|
364
|
+
Existing users upgrading from any previous version:
|
|
339
365
|
```bash
|
|
340
|
-
npx nexo-brain # detects
|
|
366
|
+
npx nexo-brain # detects current version, migrates automatically
|
|
341
367
|
```
|
|
342
|
-
- Updates hooks, core files, plugins, scripts
|
|
368
|
+
- Updates hooks, core files, plugins, scripts, and LaunchAgent templates
|
|
369
|
+
- Runs database schema migrations automatically
|
|
343
370
|
- **Never touches your data** (memories, learnings, preferences)
|
|
344
371
|
- Saves updated CLAUDE.md as reference (doesn't overwrite customizations)
|
|
345
372
|
|
|
346
|
-
## Knowledge Graph
|
|
373
|
+
## Knowledge Graph (v0.8)
|
|
347
374
|
|
|
348
|
-
### Knowledge Graph
|
|
349
375
|
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.
|
|
350
376
|
|
|
351
|
-
4
|
|
352
|
-
|
|
353
|
-
### Web Dashboard
|
|
354
|
-
A visual interface at `localhost:6174` with 6 pages: Overview (system health at a glance), Graph (interactive D3.js visualization of the knowledge graph), Memory (browse and search all memory stores), Somatic (pain map per file/area), Adaptive (personality signals and weights), and Sessions (active and historical sessions). Built with FastAPI backend and D3.js frontend.
|
|
377
|
+
4 MCP tools: `nexo_kg_query` (SPARQL-like queries), `nexo_kg_path` (shortest path between entities), `nexo_kg_neighbors` (direct connections), `nexo_kg_stats` (graph metrics).
|
|
355
378
|
|
|
356
379
|
### Cross-Platform Support
|
|
357
380
|
Full Linux support and Windows via WSL. The installer detects the platform and configures the appropriate process manager (LaunchAgents on macOS, catch-up on startup for Linux). PEP 668 compliance (venv on Ubuntu 24.04+). Session keepalive prevents phantom sessions during long tasks. Opportunistic maintenance runs cognitive processes when resources are available.
|
|
@@ -395,8 +418,10 @@ The installer handles everything:
|
|
|
395
418
|
- 3 git repositories
|
|
396
419
|
- Node.js project detected
|
|
397
420
|
Configuring MCP server...
|
|
398
|
-
Setting up
|
|
399
|
-
|
|
421
|
+
Setting up nervous system...
|
|
422
|
+
11 autonomous scripts configured.
|
|
423
|
+
13 LaunchAgent templates installed.
|
|
424
|
+
Dashboard configured at localhost:6174.
|
|
400
425
|
Caffeinate enabled.
|
|
401
426
|
Generating operator instructions...
|
|
402
427
|
|
|
@@ -426,36 +451,26 @@ That's it. No need to run `claude` manually. Your operator will greet you immedi
|
|
|
426
451
|
| Component | What | Where |
|
|
427
452
|
|-----------|------|-------|
|
|
428
453
|
| Cognitive engine | Python: fastembed, numpy, vector search | pip packages |
|
|
429
|
-
| MCP server |
|
|
454
|
+
| MCP server | 111+ tools for memory, cognition, learning, guard | ~/.nexo/ |
|
|
430
455
|
| Plugins | Guard, episodic memory, cognitive memory, entities, preferences | ~/.nexo/plugins/ |
|
|
431
|
-
| Hooks (
|
|
432
|
-
|
|
|
456
|
+
| Hooks (7) | SessionStart, Stop, PostToolUse, PreCompact, PostCompact, PreToolUse, Notification | ~/.nexo/hooks/ |
|
|
457
|
+
| Nervous system | 11 autonomous scripts (decay, sleep, audit, evolution, watchdog, etc.) | ~/.nexo/scripts/ |
|
|
458
|
+
| Dashboard | Web UI at localhost:6174 (6 pages) | ~/.nexo/dashboard/ |
|
|
433
459
|
| CLAUDE.md | Complete operator instructions (Codex, hooks, guard, trust, memory) | ~/.claude/CLAUDE.md |
|
|
434
|
-
| LaunchAgents |
|
|
435
|
-
| Auto-update | Checks for new versions
|
|
436
|
-
| Claude Code config | MCP server +
|
|
460
|
+
| LaunchAgents | 13 templates for macOS automation | ~/Library/LaunchAgents/ |
|
|
461
|
+
| Auto-update | Checks for new versions on startup | Built into server startup |
|
|
462
|
+
| Claude Code config | MCP server + 7 hooks registered | ~/.claude/settings.json |
|
|
437
463
|
|
|
438
464
|
### Requirements
|
|
439
465
|
|
|
440
466
|
- **macOS or Linux** (Windows via [WSL](https://learn.microsoft.com/en-us/windows/wsl/install))
|
|
441
467
|
- **Node.js 18+** (for the installer)
|
|
442
|
-
- **Claude Opus (latest version) strongly recommended.** NEXO Brain provides
|
|
468
|
+
- **Claude Opus (latest version) strongly recommended.** NEXO Brain provides 111+ 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 111+ tools without hesitation.
|
|
443
469
|
- Python 3, Homebrew, and Claude Code are installed automatically if missing.
|
|
444
470
|
|
|
445
471
|
## Architecture
|
|
446
472
|
|
|
447
|
-
###
|
|
448
|
-
|
|
449
|
-
The core is organized into two Python packages:
|
|
450
|
-
|
|
451
|
-
| Package | Modules | Responsibility |
|
|
452
|
-
|---------|---------|----------------|
|
|
453
|
-
| `db/` | 11 modules (`_core`, `_schema`, `_sessions`, `_learnings`, `_episodic`, `_credentials`, `_entities`, `_evolution`, `_fts`, `_reminders`, `_tasks`) | All SQLite persistence: schema migrations, CRUD, FTS indexing |
|
|
454
|
-
| `cognitive/` | 6 modules (`_core`, `_memory`, `_ingest`, `_search`, `_decay`, `_trust`) | Cognitive engine: embeddings, RAG, decay, trust scoring |
|
|
455
|
-
|
|
456
|
-
The rest of the server (`server.py`, `tools_*.py`, `plugins/`) stays flat for clarity.
|
|
457
|
-
|
|
458
|
-
### 100+ MCP Tools across 20 Categories
|
|
473
|
+
### 111+ MCP Tools across 20 Categories
|
|
459
474
|
|
|
460
475
|
| Category | Count | Tools | Purpose |
|
|
461
476
|
|----------|-------|-------|---------|
|
|
@@ -469,7 +484,7 @@ The rest of the server (`server.py`, `tools_*.py`, `plugins/`) stays flat for cl
|
|
|
469
484
|
| Reminders | 5 | list, create, update, complete, delete | User's tasks and deadlines |
|
|
470
485
|
| Followups | 4 | create, update, complete, delete | System's autonomous verification tasks |
|
|
471
486
|
| Learnings | 5 | add, search, update, delete, list | Error patterns and prevention rules |
|
|
472
|
-
| Credentials | 5 | create, get, update, delete, list |
|
|
487
|
+
| Credentials | 5 | create, get, update, delete, list | Local credential storage (plaintext SQLite — protect with filesystem permissions) |
|
|
473
488
|
| Task History | 3 | log, list, frequency | Execution tracking and overdue alerts |
|
|
474
489
|
| Menu | 1 | menu | Operations center with box-drawing UI |
|
|
475
490
|
| Entities | 5 | search, create, update, delete, list | People, services, URLs |
|
|
@@ -480,7 +495,6 @@ The rest of the server (`server.py`, `tools_*.py`, `plugins/`) stays flat for cl
|
|
|
480
495
|
| Adaptive & Somatic | 4 | adaptive_weights, adaptive_override, somatic_check, somatic_stats | Learned signal weights + pain memory per file |
|
|
481
496
|
| Knowledge Graph | 4 | kg_query, kg_path, kg_neighbors, kg_stats | Bi-temporal entity-relationship graph |
|
|
482
497
|
| Context Continuity | 2 | checkpoint_save, checkpoint_read | Auto-compaction session preservation |
|
|
483
|
-
| Claim Graph | — | (internal) | Atomic facts with provenance and contradiction detection |
|
|
484
498
|
|
|
485
499
|
### Plugin System
|
|
486
500
|
|
|
@@ -504,7 +518,7 @@ Reload without restarting: `nexo_plugin_load("my_plugin.py")`
|
|
|
504
518
|
- **Everything stays local.** All data in `~/.nexo/`, never uploaded anywhere.
|
|
505
519
|
- **No telemetry.** No analytics. No phone-home.
|
|
506
520
|
- **No cloud dependencies.** Vector search runs on CPU (fastembed), not an API.
|
|
507
|
-
- **Auto-update is
|
|
521
|
+
- **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`.
|
|
508
522
|
- **Secret redaction.** API keys and tokens are stripped before they ever reach memory storage.
|
|
509
523
|
|
|
510
524
|
## The Psychology Behind NEXO Brain
|
|
@@ -538,7 +552,7 @@ NEXO Brain is designed as an MCP server. Claude Code is the primary supported cl
|
|
|
538
552
|
npx nexo-brain
|
|
539
553
|
```
|
|
540
554
|
|
|
541
|
-
All
|
|
555
|
+
All 111+ tools are available immediately after installation. The installer configures Claude Code's `~/.claude/settings.json` automatically.
|
|
542
556
|
|
|
543
557
|
### OpenClaw
|
|
544
558
|
|
|
@@ -554,7 +568,7 @@ Add NEXO Brain to your OpenClaw config at `~/.openclaw/openclaw.json`:
|
|
|
554
568
|
"servers": {
|
|
555
569
|
"nexo-brain": {
|
|
556
570
|
"command": "python3",
|
|
557
|
-
"args": ["~/.nexo/
|
|
571
|
+
"args": ["~/.nexo/server.py"],
|
|
558
572
|
"env": {
|
|
559
573
|
"NEXO_HOME": "~/.nexo"
|
|
560
574
|
}
|
|
@@ -567,7 +581,7 @@ Add NEXO Brain to your OpenClaw config at `~/.openclaw/openclaw.json`:
|
|
|
567
581
|
Or via CLI:
|
|
568
582
|
|
|
569
583
|
```bash
|
|
570
|
-
openclaw mcp set nexo-brain '{"command":"python3","args":["~/.nexo/
|
|
584
|
+
openclaw mcp set nexo-brain '{"command":"python3","args":["~/.nexo/server.py"],"env":{"NEXO_HOME":"~/.nexo"}}'
|
|
571
585
|
openclaw gateway restart
|
|
572
586
|
```
|
|
573
587
|
|
|
@@ -597,7 +611,7 @@ This replaces OpenClaw's default memory system with NEXO Brain's full cognitive
|
|
|
597
611
|
|
|
598
612
|
### Any MCP Client
|
|
599
613
|
|
|
600
|
-
NEXO Brain works with any application that supports the MCP protocol. Configure it as an MCP server pointing to `~/.nexo/
|
|
614
|
+
NEXO Brain works with any application that supports the MCP protocol. Configure it as an MCP server pointing to `~/.nexo/server.py`.
|
|
601
615
|
|
|
602
616
|
## Listed On
|
|
603
617
|
|
|
@@ -636,38 +650,47 @@ If NEXO Brain is useful to you, consider:
|
|
|
636
650
|
|
|
637
651
|
## Changelog
|
|
638
652
|
|
|
653
|
+
### v1.7.0 — Full Internationalization + Linux Support (2026-03-31)
|
|
654
|
+
- **Full i18n**: All UI strings, error messages, DB status values in English. NLP detection patterns retain bilingual keywords (Spanish + English) for multilingual user support.
|
|
655
|
+
- **Linux support**: systemd user timers (preferred) or crontab fallback for all automated cognitive processes.
|
|
656
|
+
- **Auto-resolve followups**: Change log entries automatically cross-reference and complete matching open followups.
|
|
657
|
+
- **Free-form learning categories**: No more hardcoded category validation — use any category name.
|
|
658
|
+
- **CLAUDE.md template rewrite**: 494→127 lines, compact procedural format with full heartbeat signal reactions.
|
|
659
|
+
- **Complete sanitization**: All hardcoded paths use `NEXO_HOME` env var. Zero personal data in the repo.
|
|
660
|
+
|
|
661
|
+
### v1.6.0 — Nervous System + Dashboard v2 (2026-03-30)
|
|
662
|
+
- **Nervous System**: 11 autonomous scripts (decay, deep sleep, self-audit, catchup, evolution, followup hygiene, immune, watchdog, github monitor, learning validator)
|
|
663
|
+
- **Dashboard v2**: 6 interactive pages at localhost:6174 (Overview, Graph, Memory, Somatic, Adaptive, Sessions)
|
|
664
|
+
- **LaunchAgent Templates**: 13 macOS automation templates included in the package for scheduling the nervous system
|
|
665
|
+
- **Hooks**: 8 total — added PreToolUse (parameter validation + guard injection) and Notification (external event routing)
|
|
666
|
+
- **Installer**: Now configures dashboard LaunchAgent, nervous system scripts, and all 13 templates automatically
|
|
667
|
+
|
|
668
|
+
### v1.5.2 — Deep Sleep (2026-03-29)
|
|
669
|
+
- **Deep Sleep**: Reads full session transcripts (not just diary) — finds uncaptured corrections, protocol violations, missed commitments
|
|
670
|
+
- Uses Claude CLI in `--bare` mode (no hooks, no CLAUDE.md interference)
|
|
671
|
+
- Catch-up system re-runs yesterday if the Mac was off
|
|
672
|
+
|
|
639
673
|
### v1.5.0 — Modular Core + Knowledge Graph Search (2026-03-29)
|
|
640
|
-
- **Architecture**: `db.py` refactored into `db/` package (11 modules
|
|
641
|
-
- **
|
|
642
|
-
- **
|
|
643
|
-
- **
|
|
644
|
-
- **
|
|
645
|
-
- **Inter-terminal Auto-inbox (D+)**: `nexo_startup` now accepts `claude_session_id` (Claude Code session UUID) — enables automatic inbox delivery between parallel terminals via PostToolUse hook + migration v13
|
|
674
|
+
- **Architecture**: `db.py` refactored into `db/` package (11 modules); `cognitive.py` into `cognitive/` package (6 modules)
|
|
675
|
+
- **KG Boost**: Knowledge Graph connection count influences search result ranking
|
|
676
|
+
- **HNSW Vector Index**: Optional approximate nearest neighbor acceleration (auto-activates above 10,000 memories)
|
|
677
|
+
- **Claim Graph**: Decomposes blob memories into atomic verifiable facts with provenance and contradiction detection
|
|
678
|
+
- **Inter-terminal Auto-inbox (D+)**: `nexo_startup` accepts `claude_session_id` for automatic inbox delivery between parallel terminals
|
|
646
679
|
- **Tests**: 24 pytest tests across 3 suites (cognitive, knowledge graph, migrations)
|
|
647
680
|
|
|
648
681
|
### v1.4.1 — Multi-AI Code Review (2026-03-29)
|
|
649
682
|
- **Fix**: 3 bugs found by GPT-5.4 (Codex CLI) + Gemini 2.5 (Gemini CLI) reviewing full codebase
|
|
650
|
-
- `session_diaries` → `session_diary` table name (smart startup silently failed)
|
|
651
|
-
- Quarantine contradiction logic distinguished confirmation from opposition
|
|
652
|
-
- Knowledge Graph timezone import crash
|
|
653
683
|
- **Security**: Memory sanitization prevents prompt injection via stored content
|
|
654
|
-
- **Migration #13**: Normalizes legacy status values
|
|
684
|
+
- **Migration #13**: Normalizes legacy status values on upgrade
|
|
655
685
|
|
|
656
686
|
### v1.4.0 — The Brain Dreams (2026-03-29)
|
|
657
687
|
- **Major**: All 9 nightly scripts migrated from Python word-overlap to CLI wrapper pattern
|
|
658
|
-
|
|
659
|
-
- Sleep system: detects real duplicates via semantic understanding
|
|
660
|
-
- Daily synthesis: opus prioritizes what matters for tomorrow
|
|
661
|
-
- Self-audit: interprets findings for root cause analysis
|
|
662
|
-
- Evolution: prompt reduced 95% (45K → 2.2K chars) — CLI investigates using tools
|
|
663
|
-
- **Stop Hook v8**: Session-scoped tool counting (not day-wide), buffer fallback removed
|
|
688
|
+
- **Stop Hook v8**: Session-scoped tool counting, buffer fallback removed
|
|
664
689
|
- **Guard**: Behavioral rules section surfaces most-violated rules at session start
|
|
665
|
-
- **Followup hygiene**: Weekly cleanup script normalizes statuses, flags stale items
|
|
666
|
-
- 8 missing core scripts + 1 plugin added to repository
|
|
667
690
|
|
|
668
691
|
### v1.3.0 — Evolution System (2026-03-28)
|
|
669
692
|
- **New**: Self-improvement cycle — NEXO proposes and applies improvements weekly
|
|
670
|
-
- Dual-mode: auto (low-risk
|
|
693
|
+
- Dual-mode: auto (low-risk) and review (owner approval required)
|
|
671
694
|
- Circuit breaker, snapshot/rollback, immutable file protection
|
|
672
695
|
|
|
673
696
|
### v1.2.3 — AGPL-3.0 License (2026-03-27)
|
|
@@ -696,7 +719,7 @@ If NEXO Brain is useful to you, consider:
|
|
|
696
719
|
- New tools: `nexo_checkpoint_save`, `nexo_checkpoint_read`
|
|
697
720
|
- Heartbeat automatically maintains checkpoint every interaction
|
|
698
721
|
- Core Memory Block re-injected post-compaction with task, files, decisions, reasoning thread
|
|
699
|
-
- 115+ total tools, 20 categories
|
|
722
|
+
- 115+ total tools, 20 categories
|
|
700
723
|
|
|
701
724
|
### v1.0.0 — Cognitive Cortex + Stable Release (2026-03-26)
|
|
702
725
|
- **Cognitive Cortex**: architectural inhibitory control (ASK/PROPOSE/ACT modes)
|
|
@@ -713,7 +736,7 @@ If NEXO Brain is useful to you, consider:
|
|
|
713
736
|
|
|
714
737
|
### v0.9.0 — Cognitive Memory (2026-03-15)
|
|
715
738
|
- Atkinson-Shiffrin memory model (STM → LTM promotion)
|
|
716
|
-
- Semantic RAG with fastembed (BAAI/bge-
|
|
739
|
+
- Semantic RAG with fastembed (BAAI/bge-base-en-v1.5, 768 dims)
|
|
717
740
|
- Trust scoring, sentiment detection, adaptive personality modes
|
|
718
741
|
- Ebbinghaus decay, sister detection, quarantine system
|
|
719
742
|
|