nexo-brain 1.1.0 → 1.1.1

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 CHANGED
@@ -602,6 +602,35 @@ If NEXO Brain is useful to you, consider:
602
602
 
603
603
  [![Star History Chart](https://api.star-history.com/svg?repos=wazionapps/nexo&type=Date)](https://star-history.com/#wazionapps/nexo&Date)
604
604
 
605
+ ## Changelog
606
+
607
+ ### v1.1.0 — Context Continuity (2026-03-27)
608
+ - **Context Continuity**: PreCompact/PostCompact hooks preserve session state across compaction events
609
+ - New `session_checkpoints` SQLite table + migration #12
610
+ - New tools: `nexo_checkpoint_save`, `nexo_checkpoint_read`
611
+ - Heartbeat automatically maintains checkpoint every interaction
612
+ - Core Memory Block re-injected post-compaction with task, files, decisions, reasoning thread
613
+ - 115+ total tools, 20 categories, 6 hooks
614
+
615
+ ### v1.0.0 — Cognitive Cortex + Stable Release (2026-03-26)
616
+ - **Cognitive Cortex**: architectural inhibitory control (ASK/PROPOSE/ACT modes)
617
+ - 30 Core Rules as immutable DNA in SQLite
618
+ - Designed via 3-way AI debate (Claude Opus + GPT-5.4 + Gemini 3.1 Pro)
619
+ - Artifact Registry for operational facts
620
+ - Full benchmark suite (LoCoMo F1: 0.588)
621
+
622
+ ### v0.10.0 — Smart Context (2026-03-22)
623
+ - Smart Startup: pre-loads memories from pending followups + diary
624
+ - Context Packet: structured injection for subagents
625
+ - Auto-Prime: keyword-triggered area learnings in heartbeat
626
+ - Diary Archive: permanent subconscious memory (180d+ auto-archived)
627
+
628
+ ### v0.9.0 — Cognitive Memory (2026-03-15)
629
+ - Atkinson-Shiffrin memory model (STM → LTM promotion)
630
+ - Semantic RAG with fastembed (BAAI/bge-small-en-v1.5, 384 dims)
631
+ - Trust scoring, sentiment detection, adaptive personality modes
632
+ - Ebbinghaus decay, sister detection, quarantine system
633
+
605
634
  ## License
606
635
 
607
636
  MIT -- see [LICENSE](LICENSE)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nexo-brain",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "mcpName": "io.github.wazionapps/nexo",
5
5
  "description": "NEXO \u2014 Cognitive co-operator for Claude Code. Atkinson-Shiffrin memory, semantic RAG, trust scoring, and metacognitive error prevention.",
6
6
  "bin": {
@@ -13,15 +13,36 @@ if [ -f "$LOG_FILE" ]; then
13
13
  LOG_LINES=$(wc -l < "$LOG_FILE" | tr -d ' ')
14
14
  fi
15
15
 
16
- # Read latest checkpoint from SQLite
16
+ # Read checkpoint for the session that just compacted
17
+ # PreCompact writes the SID to /tmp/nexo-compacting-sid
18
+ TARGET_SID=""
19
+ if [ -f /tmp/nexo-compacting-sid ]; then
20
+ TARGET_SID=$(cat /tmp/nexo-compacting-sid 2>/dev/null || echo "")
21
+ rm -f /tmp/nexo-compacting-sid
22
+ fi
23
+
24
+ CHECKPOINT=""
17
25
  if [ -f "$NEXO_DB" ]; then
18
- CHECKPOINT=$(sqlite3 "$NEXO_DB" "
19
- SELECT sid, task, task_status, active_files, current_goal,
20
- decisions_summary, errors_found, reasoning_thread,
21
- next_step, compaction_count
22
- FROM session_checkpoints
23
- ORDER BY updated_at DESC LIMIT 1
24
- " 2>/dev/null || echo "")
26
+ if [ -n "$TARGET_SID" ]; then
27
+ # Read checkpoint for the specific session that compacted
28
+ CHECKPOINT=$(sqlite3 "$NEXO_DB" "
29
+ SELECT sid, task, task_status, active_files, current_goal,
30
+ decisions_summary, errors_found, reasoning_thread,
31
+ next_step, compaction_count
32
+ FROM session_checkpoints
33
+ WHERE sid = '$TARGET_SID'
34
+ " 2>/dev/null || echo "")
35
+ fi
36
+ # Fallback: if no target SID or no checkpoint found, use latest
37
+ if [ -z "$CHECKPOINT" ]; then
38
+ CHECKPOINT=$(sqlite3 "$NEXO_DB" "
39
+ SELECT sid, task, task_status, active_files, current_goal,
40
+ decisions_summary, errors_found, reasoning_thread,
41
+ next_step, compaction_count
42
+ FROM session_checkpoints
43
+ ORDER BY updated_at DESC LIMIT 1
44
+ " 2>/dev/null || echo "")
45
+ fi
25
46
 
26
47
  if [ -n "$CHECKPOINT" ]; then
27
48
  # Parse pipe-separated fields
@@ -22,6 +22,8 @@ if [ -f "$NEXO_DB" ]; then
22
22
  " 2>/dev/null || echo "")
23
23
 
24
24
  if [ -n "$LATEST_SID" ]; then
25
+ # Write SID to temp file so PostCompact knows which session compacted
26
+ echo "$LATEST_SID" > /tmp/nexo-compacting-sid
25
27
  # Pull diary draft data into checkpoint
26
28
  sqlite3 "$NEXO_DB" "
27
29
  INSERT INTO session_checkpoints (sid, task, current_goal, updated_at)