Skip to content

v3.0.0 — Full SDK fork, L5 knowledge graph, reasoning model compatibility

Choose a tag to compare

@tuancookiez-hub tuancookiez-hub released this 06 Jul 00:39

v2.0.0 → v3.0.0 — Full Upgrade Overview

Upgrade Overview

A full architecture evolution. From patched dependency to owned system. From text summaries to living knowledge graph.


What v2 established (v2.0.0 + v2.1.0)

  • L5 in-process knowledge graph writer — entities extracted into Qdrant during System2 digest
  • L6 schemas + L7 intentions — schemas and intentions written to Kuzu graph with cross-domain collision detection
  • 1024-d embeddings — bge-large-en-v1.5 (upgraded from 384-d)
  • Hybrid v2 reader — better retrieval than the legacy pipeline
  • Dashboard real graph counts — L5/L6/L7 counts from live Kuzu data
  • Runtime layout consolidationHYATLAS_HOME (~/.hyatlas) root, config CLI, migration helpers
  • Multi-key LLM resiliencellm.api_keys probed at startup, first valid key wins

What v3 evolves (new in v3.0.0)

Architecture

  • Full SDK fork. Entire hy-memory 1.2.20 SDK (70 files, 42K+ lines) forked into src/hyatlas_memory/core/. Zero external pip dependency. Every line owned and maintained by HyAtlas.
  • 23 monkey-patches → 13 first-class integrations. No more runtime patching of upstream code. Native modules. Clean, maintainable, owned.
  • Unified runtime layout. Scattered paths (7+ roots) consolidated into HYATLAS_HOME (~/.hyatlas). Config CLI: hyatlas init, config show, config model, config validate.

New Features

  • L5 Knowledge Graph. In-process entity/relation extraction → Kuzu graph database. Upstream hy-memory doesn't have this (their "L5" is just text summaries). Live endpoint at /api/v1/graph. Verified: 1,444 nodes, 6,374 relations.
  • Emotion-Aware Memory. LLM-based valence/arousal scoring on every write. Emotionally significant memories resist time decay. Verified: valence=0.95, arousal=0.9.
  • Auto-forgetting. Recency scoring + archival of stale memories.

Reliability Fixes

  • Reasoning model compatibility. Think-block parsing for MiniMax-M3, DeepSeek-R1, o1-style models. Handles closed AND unclosed/truncated think blocks. agent_max_tokens raised 1024 → 8192.
  • Kuzu WAL checkpoint. close() now calls CHECKPOINT + db.close() instead of just nulling references. Upstream has the same bug. Verified: 0KB WAL after shutdown (was 7MB).
  • VDB circuit breaker. Protects against Qdrant failures. State: CLOSED (healthy).
  • L1_RAW rolling delete + dedup. Prevents unprocessed raw points from accumulating.
  • Multi-key LLM rotation. llm.api_keys list probed at startup, first valid key wins.

Model

  • Switched to deepseek-v4-flash. Non-reasoning model, clean JSON output, zero parse errors. Previous: MiniMax-M3 (reasoning model requiring think-block workarounds).

CI

  • Ruff lint clean. Per-file-ignores for forked upstream code, our code fixed properly. All three Python versions (3.10/3.11/3.12) pass.

Key Numbers

  • 85 files changed, +29,144 lines
  • 1,444 graph nodes, 6,374 relations
  • 47 tests passing (33 offline + 14 server-dependent)
  • 0 WAL bytes after shutdown
  • 0 JSON parse errors with new model

Full changelog: https://github.com/tuancookiez-hub/HyAtlas-Memory/blob/main/CHANGELOG.md