Skip to content

Releases: wazionapps/nexo

v2.2.0 — Trust Score v2

01 Apr 14:08

Choose a tag to compare

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_thanks boosted to +5 (was +3)

Fixes the downward spiral where active users always ended at trust <20.

Upgrade

nexo_update

No 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

01 Apr 09:53

Choose a tag to compare

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.json defines 14 core crons declaratively
  • sync.py reconciles manifest with system LaunchAgents (macOS)
  • nexo_update auto-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

31 Mar 14:02

Choose a tag to compare

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.db and cognitive.db
  • Evolution config moved from cortex/ to brain/

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-brain

Full Changelog: v1.7.0...v2.0.0

v1.7.0 — Full Internationalization + Linux Support

31 Mar 00:03

Choose a tag to compare

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-brain

Existing installations auto-migrate on update.

Full Changelog

https://github.com/wazionapps/nexo/blob/main/CHANGELOG.md

v1.6.0 — Nervous System, Dashboard v2, LaunchAgents

30 Mar 09:03

Choose a tag to compare

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-run and --skip-cognitive flags

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.md

Stats

  • 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

30 Mar 07:43

Choose a tag to compare

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_content in _memory.pyformat_results() and smart_startup were failing with NameError.

Full Changelog: v1.5.3...v1.5.4

v1.5.3

30 Mar 07:32

Choose a tag to compare

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

29 Mar 16:53

Choose a tag to compare

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 --bare mode (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

29 Mar 13:22

Choose a tag to compare

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

29 Mar 10:03

Choose a tag to compare

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:

  1. Smart startup silently failed — queried non-existent table session_diaries instead of session_diary
  2. Quarantine rejected confirmations — cosine similarity >0.8 was treated as contradiction even when memories confirmed each other. Now checks for semantic opposition markers.
  3. Knowledge Graph crasheddatetime.timezone referenced without import

Security

  1. 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