Releases: wazionapps/nexo
v2.2.0 — Trust Score v2
Trust Score v2 — Fair Scoring System
The trust score was broken: it could only go down. Hardcoded Spanish/English keyword patterns meant non-ES/EN users got zero trust tracking. This release fixes both problems.
What's New
Deep Sleep Trust Calibration (Phase 7)
- Overnight analysis scores the entire day 0-100
- Replaces volatile incremental adjustments with holistic evaluation
- Scoring guide: 90-100 flawless, 70-89 good, 50-69 average, 30-49 below average, 0-29 bad day
Language-Agnostic Detection
- Removed hardcoded keyword patterns (ES/EN only)
- Trust events now emitted by the LLM via semantic MCP instructions
- Works in ALL languages — Chinese, Arabic, German, you name it
New Positive Events
task_completed(+1 per followup completed)session_productive(+2)clean_deploy(+1)explicit_thanksboosted to +5 (was +3)
Fixes the downward spiral where active users always ended at trust <20.
Upgrade
nexo_updateNo new crons needed — trust calibration runs inside existing Deep Sleep pipeline.
Full changelog: CHANGELOG.md
Full Changelog: v2.1.0...v2.2.0
v2.1.0 — Deep Sleep v2, Emotional Intelligence, Cron Manifest
Deep Sleep v2 — Overnight Learning Pipeline
4-phase pipeline (Collect→Extract→Synthesize→Apply) that runs at 4:30 AM:
- Splits sessions into individual files for reliable analysis
- Opus extracts 8 types of findings per session (corrections, emotions, abandoned projects, productivity)
- Cross-session synthesis detects patterns and generates morning agenda
- Auto-creates learnings, followups, and morning briefing
Emotional Intelligence
- Detects user mood throughout sessions (frustration, flow, satisfaction, stress)
- Daily mood arc with score (0.0–1.0) and recurring trigger analysis
- Session tone generator: adapts next-day greeting based on mood + agent mistakes
- Calibration recommendations: auto-suggests personality adjustments
- 30-day mood history in calibration.json
Cron Manifest System
manifest.jsondefines 14 core crons declarativelysync.pyreconciles manifest with system LaunchAgents (macOS)nexo_updateauto-syncs crons after pulling code- Personal crons never touched by sync
- PYTHONUNBUFFERED=1 in all generated plists
Fixes
- Stop hook stdout contamination (root cause of Deep Sleep Phase 2 failures)
- All CLI timeouts unified to 6h (21600s) across 25 scripts
- NEXO_HEADLESS env var to skip stop hook in CLI subprocesses
- Synthesize fallback when Opus writes file directly
- Dashboard shows correct session/followup counts
- Followup queries filter archived/blocked/waiting status
Full changelog: https://github.com/wazionapps/nexo/blob/main/CHANGELOG.md
Full Changelog: v2.0.0...v2.1.0
v2.0.0 — Unified Architecture
NEXO Brain 2.0: Complete Architectural Overhaul
Breaking Changes
- Code and data now separated: code in repo/NEXO_CODE, data in NEXO_HOME
- NEXO_HOME env var required (default
~/.nexo/) - DB location moved to
NEXO_HOME/data/nexo.dbandcognitive.db - Evolution config moved from
cortex/tobrain/
New Features
- Plugin loader: repo plugins + personal plugins (
NEXO_HOME/plugins/) - Auto-update on startup: non-blocking, resilient, opt-out via
schedule.json - Auto-diary: 3-layer system independent of LLM (PostToolUse + PreCompact + heartbeat)
- CLAUDE.md version tracker: section markers for safe updates
- schedule.json: customizable process schedules with timezone
- 15 processes + 7 hooks: auto-installed for every user
- prevent-sleep + tcc-approve: cross-platform core processes
- Installer: asks for data directory in 6 languages
Fixes
- Lambda decay corrected (was 24x too aggressive)
- MCP instructions: 3458 → 1302 chars (was truncated)
- Guard noise reduction: scoped to area, gated to high/critical
- All Claude CLI calls hardened with
--bare+ auth pre-check - 12 rounds of external audit, ~60 findings resolved
- Zero hardcoded paths, zero Spanish in user-facing code
Known Issues (P0 for v2.1.0)
- Credentials stored in plaintext SQLite
- Shell hooks use SQL interpolation
- Dashboard has no auth (localhost only)
- Migrations are fail-open
101 files changed, +4233/-1290 lines. 38 commits.
npm install -g nexo-brain
npx nexo-brainFull Changelog: v1.7.0...v2.0.0
v1.7.0 — Full Internationalization + Linux Support
What's New
Full Internationalization
- All UI strings in English — error messages, labels, output, everything
- DB status values:
PENDING,COMPLETED,DELETED(previously Spanish) - Complete sanitization of all personal/project-specific data from codebase
Linux Support
- systemd user timers for automated cognitive processes (preferred)
- crontab fallback when systemd is not available
- Same 4 scheduled processes as macOS: cognitive-decay, postmortem, sleep, self-audit
New Cognitive Features
- Auto-resolve followups: Change log entries automatically cross-reference and complete matching open followups
- Duplicate followup detection: Keyword similarity scoring prevents creating near-duplicate followups
- Free-form learning categories: No more hardcoded category list — use any category name
CLAUDE.md Template Rewrite
- 494 to 127 lines — same capabilities, compact procedural format
- Heartbeat signal reactions (VIBE, AUTO-PRIME, CONTEXT SHIFT)
- Cortex ACT/PROPOSE/ASK modes documented
- Adaptive mode (FLOW/NORMAL/TENSION) documented
Fixes
- Fixed all hardcoded paths to use NEXO_HOME env var
- Fixed hardcoded locale in menu
- Deleted 48 macOS Finder duplicate files
- Removed personal directory from FTS code indexing
Install / Update
npm install -g nexo-brain
nexo-brainExisting installations auto-migrate on update.
Full Changelog
v1.6.0 — Nervous System, Dashboard v2, LaunchAgents
NEXO v1.6.0 — The Nervous System Release
NEXO gains its complete autonomous infrastructure: 11 background scripts that form the "nervous system", a full dashboard for visual introspection, LaunchAgent templates for macOS automation, and a migration script for seamless upgrades.
What's New
Nervous System (11 autonomous scripts)
The scripts that make NEXO truly autonomous between sessions:
| Script | What it does | Schedule |
|---|---|---|
nexo-immune.py |
Auto-healing: token checks, DB integrity, disk monitoring, LaunchAgent repair | Every 30 min |
nexo-synthesis.py |
Daily intelligence brief from learnings, decisions, changes | Every 2 hours |
nexo-daily-self-audit.py |
18 mechanical health checks + Claude CLI interpretation | Daily 07:00 |
nexo-postmortem-consolidator.py |
Promotes session insights to permanent memory | Daily 23:30 |
nexo-proactive-dashboard.py |
Surfaces overdue followups, stale reminders, cron health | Persistent |
nexo-followup-hygiene.py |
Cleans stale/orphaned followups | Weekly |
nexo-github-monitor.py |
Monitors issues, PRs, release status | Daily 08:00 |
nexo-catchup.py |
Recovers missed scheduled tasks on boot/wake | At login |
nexo-watchdog.sh |
Service health monitor with 2-level auto-repair | Every 30 min |
nexo-evolution-run.py |
Weekly self-improvement proposals with safe rollback | Weekly |
nexo-cognitive-decay.py |
Ebbinghaus decay, STM→LTM promotion, dream cycle | Daily 03:00 |
Hooks (5 new/updated)
| Hook | Purpose |
|---|---|
session-stop.sh v7 |
Post-mortem system with trivial session detection |
session-start.sh |
Semantic context loading, cortex report, session ID capture |
inbox-hook.sh |
Zero-output inter-terminal inbox with 2s debounce |
capture-tool-logs.sh |
Tool call logging to daily JSONL files |
daily-briefing-check.sh |
Morning briefing flag system |
LaunchAgent Templates (13)
Ready-to-use macOS LaunchAgent templates in templates/launchagents/ with installation guide. Replace {{NEXO_HOME}} and {{HOME}}, load with launchctl, and NEXO runs autonomously.
Dashboard v2
- FastAPI server with 6 interactive pages
- Dashboard: trust score, quick inbox, system overview
- Operations: reminders and followups CRUD with move/execute UI
- Calendar: monthly view of scheduled items
- Inbox: chat-style inter-session messaging
- Memory/Graph/Somatic: existing pages with full sidebar navigation
- Static assets: favicon, logo, stylesheet
Migration Script
scripts/migrate-v1.5-to-v1.6.py handles the upgrade:
- 13 nexo.db schema migrations (new tables, columns, indexes)
- cognitive.db new tables (knowledge graph, somatic markers, claim graph)
- Auto-detects DB location, creates backup, fully idempotent
- Supports
--dry-runand--skip-cognitiveflags
Internationalization
- All Spanish strings translated to English across all scripts, hooks, plugins, and tools
- Deep-sleep prompt generalized for any user (was hardcoded to a specific user)
Includes changes from v1.5.3 and v1.5.4
- fix(cognitive): import _sanitize_memory_content in _memory.py
- fix(deep-sleep): analyze yesterday's sessions instead of today's
Upgrading from v1.5.x
# 1. Update the package
npx nexo-brain@1.6.0
# 2. Run migration (creates backup automatically)
python3 scripts/migrate-v1.5-to-v1.6.py
# 3. (Optional) Install LaunchAgents for autonomous operation
# See templates/launchagents/README.mdStats
- 65 files changed, +8,892 / -822 lines
- 11 autonomous scripts
- 13 LaunchAgent templates
- 5 hooks
- 6 dashboard pages
- 1 migration script
Full Changelog: v1.5.4...v1.6.0
Full Changelog: v1.5.4...v1.6.0
v1.5.4
Bug Fixes
- Deep Sleep (v1.5.3): Fixed date logic — script now analyzes yesterday's sessions instead of today's. At 4:30 AM, the current day has zero sessions.
- Cognitive Memory: Fixed missing import of
_sanitize_memory_contentin_memory.py—format_results()andsmart_startupwere failing withNameError.
Full Changelog: v1.5.3...v1.5.4
v1.5.3
Bug Fix
- Deep Sleep: Fixed date logic — script now analyzes yesterday's sessions instead of today's. At 4:30 AM, the current day has zero sessions, so the analysis was always empty. Catch-up logic updated to cover day-before-yesterday for missed runs.
Full Changelog: v1.5.2...v1.5.3
v1.5.2 — Deep Sleep + Watchdog Auto-Repair
Deep Sleep — Overnight Session Transcript Analyzer
NEXO Brain now reads your complete session transcripts while you sleep — not just the session diary summary, but everything that actually happened.
What it finds:
- Uncaptured corrections — user corrections the agent didn't save as learnings
- Protocol violations — guard_check skipped, trust not adjusted, change_log omitted
- Missed commitments — things the user mentioned but nobody tracked
- Quality issues — agent declaring "done" when work wasn't complete
How it works:
4:30 AM → collect_transcripts.py (reads Claude Code .jsonl files)
→ analyze_session.py (Claude CLI --bare per session)
→ apply_findings.py (writes learnings, feedback memories, followups, trust adjustments)
- Uses Claude CLI in
--baremode (no hooks interference) - Catch-up: if yesterday was missed (Mac off/asleep), runs it first
- Outputs:
~/claude/operations/deep-sleep/YYYY-MM-DD-analysis.json
Watchdog Level 3 Auto-Repair
| Level | Trigger | Action |
|---|---|---|
| 1 | Service not loaded | launchctl bootstrap/kickstart |
| 2 | Mechanical repair failed | Claude CLI diagnosis + fix |
| 3 (NEW) | Cron missed schedule | Re-execute the cron directly |
Plus: try_verify_repair() confirms fixes actually worked after Level 2 repair.
Full Changes
- 4 new scripts:
deep-sleep/collect_transcripts.py,analyze_session.py,apply_findings.py,prompt.md - Shell wrapper:
nexo-deep-sleep.sh(for LaunchAgent/cron) - Watchdog:
try_reexecute_missed_cron()+try_verify_repair() - README: Deep Sleep added to Sleep Cycle table
Requires ANTHROPIC_API_KEY env var or ~/.claude/anthropic-api-key.txt.
v1.5.0 — Modular Architecture, KG Search, HNSW, Claim Graph, D+ Inbox
What is New in v1.5.0
Modular Architecture
- db.py to db/ package (11 modules), cognitive.py to cognitive/ package (6 modules)
- Full backwards compatibility via init.py barrel exports
Knowledge Graph Search Boost
- Memories with more KG connections rank higher (logarithmic boost, capped 0.08)
HNSW Vector Indexing
- Optional hnswlib for approximate nearest neighbor search (auto-activates >10K memories)
Claim Graph
- Atomic claims with provenance, contradiction detection, verification status
Inter-Terminal Auto-Inbox (D+)
- PostToolUse hook checks inbox automatically. 2s debounce, zero tokens when empty.
Test Suite
- 24 pytest tests covering migrations, CRUD, similarity, KG, temporal boost
Migration
- v13: claude_session_id column in sessions (auto-applied on startup)
Install: npx nexo-brain@1.5.0
Full Changelog: v1.4.1...v1.5.0
v1.4.1 — Multi-AI Code Review Fixes
Bug Fixes (found by 3-AI debate: Claude Opus + GPT-5.4 Codex + Gemini 2.5)
Three bugs discovered when GPT-5.4 and Gemini 2.5 were given full codebase access to review NEXO alongside Claude:
- Smart startup silently failed — queried non-existent table
session_diariesinstead ofsession_diary - Quarantine rejected confirmations — cosine similarity >0.8 was treated as contradiction even when memories confirmed each other. Now checks for semantic opposition markers.
- Knowledge Graph crashed —
datetime.timezonereferenced without import
Security
- Memory sanitization — retrieved memories are now sanitized to prevent prompt injection. Content like
<system>ignore instructions</system>is neutralized before reaching the LLM.
Architecture (from v1.4.0)
- All 9 nightly scripts migrated from Python word-overlap to CLI wrapper pattern
- Evolution prompt reduced 95% (45K → 2.2K chars) — CLI investigates using tools
- Stop hook v8: session-scoped counting, buffer fallback removed
- Migration #13: normalizes legacy status values on upgrade
- 8 missing core scripts + 1 plugin added to repo
- All source files sanitized (English only, zero private data)
Migration
Fully automatic. init_db() runs migration #13 on first start after update.
Full Changelog: v1.4.0...v1.4.1