repositories
loading repo index
repositories
loading repo index
repository
loading code, commits, and activity
public Clawd ADK gateway launch mirror
stars
latest
clone command
git clone gitlawb://did:key:z6Mkq5mY...iFZ5/my-project-publ...git clone gitlawb://did:key:z6Mkq5mY.../my-project-publ...2fa351d6docs: add automaton and perps launch sources15d ago| #1 | # Changelog |
| #2 | |
| #3 | See [CHANGELOG.md](../CHANGELOG.md) in the repository root for the full version history. |
| #4 | |
| #5 | ## Recent Releases |
| #6 | |
| #7 | ### 2.4 — Hindsight Importer + Host LLM Adapter (May 2026) |
| #8 | |
| #9 | - **Import FROM Hindsight:** New `HindsightImporter` for migrating Hindsight memories into Mnemosyne |
| #10 | - **Dual input:** JSON export files OR live Hindsight HTTP API (`/v1/default/banks/{bank}/memories/list`) |
| #11 | - **Episodic-direct:** Writes to `episodic_memory` (not working memory), preserving original timestamps, fact types, session IDs, metadata, scope, and veracity |
| #12 | - **Stable IDs:** SHA256-based deduplication with `hs_` prefix — re-importing is idempotent |
| #13 | - **Smart importance:** Derived from Hindsight `fact_type` (world=0.75, experience=0.65, observation=0.55) plus `proof_count` bonus |
| #14 | - **Full metadata preservation:** hindsight_id, fact_type, context, dates, entities, chunk_id, tags, consolidation timestamps |
| #15 | - **CLI:** `mnemosyne import-hindsight <file|url> [bank]` |
| #16 | - **Registry:** Registered as the 7th supported provider alongside Mem0, Letta, Zep, Cognee, Honcho, SuperMemory |
| #17 | - **Tests:** 102 lines of regression tests covering timestamp preservation, episodic-only import, duplicate skipping, FTS indexing, provider-registry usage |
| #18 | - **Why:** Before this, migrating from Hindsight went through `remember()` which assigned current timestamps and wrote to working memory. Historical context was lost. Now migrations preserve the full temporal record with zero data loss. |
| #19 | |
| #20 | - **Host LLM Adapter:** Route consolidation and fact extraction through Hermes' authenticated auxiliary client |
| #21 | - **OAuth unblock:** Hermes users on ChatGPT/Codex subscriptions can now use LLM-backed memory ops without `MNEMOSYNE_LLM_BASE_URL` |
| #22 | - **LLMBackend Protocol:** Tiny one-method interface (`complete()`) in `mnemosyne/core/llm_backends.py` — any host can register a backend |
| #23 | - **HermesAuxLLMBackend:** Routes through `agent.auxiliary_client.call_llm(task="compression", ...)` with lazy imports |
| #24 | - **Host-skips-remote rule (A3):** When host attempt fails, remote URL is skipped — falls to local GGUF. Prevents stale URL leaks. |
| #25 | - **Daemon thread safety:** `on_session_end()` runs sleep with 15s join; `shutdown()` drains 2s before unregistering backend |
| #26 | - **Temperature contracts:** Extraction uses `0.0` (deterministic), consolidation uses `0.3` (paraphrasing acceptable) |
| #27 | - **Tests:** 7 new tests covering registry round-trip, precedence, A3 rule, gate semantics, shutdown drain, bullet-list parsing |
| #28 | - **Live verified:** End-to-end with `openai-codex` OAuth through ChatGPT backend |
| #29 | |
| #30 | ### 2.1 — BEAM Benchmark (May 2026) |
| #31 | |
| #32 | - **Benchmark:** End-to-end BEAM evaluation against ICLR 2026 dataset (Tavakoli et al.) |
| #33 | - **End-to-end:** 35.4% at 100K (competitive with RAG/LIGHT), 19.3% at 500K, 19.2% at 1M |
| #34 | - **Pipeline:** LLM answering + LLM-as-judge rubric scoring, matching paper protocol |
| #35 | - **Known issues:** Episodic consolidation not producing entries. Performance degrades at scale. |
| #36 | - See: [docs/beam-benchmark.md](docs/beam-benchmark.md) |
| #37 | |
| #38 | ### 2.0 |
| #39 | |
| #40 | - **Add:** Entity extraction with Levenshtein fuzzy matching (Phase 1) |
| #41 | - **Add:** LLM-driven structured fact extraction with fallback chain (Phase 2) |
| #42 | - **Add:** Temporal recall with exponential decay scoring (Phase 3) |
| #43 | - **Add:** Configurable hybrid scoring weights (Phase 4) |
| #44 | - **Add:** Memory banks for per-domain SQLite isolation (Phase 5) |
| #45 | - **Add:** MCP server with 6 tools, stdio + SSE transports (Phase 6) |
| #46 | - **Add:** Streaming event bus, pattern detection, plugin system (Phase 8) |
| #47 | - **Add:** SQLite WAL mode + busy timeout for concurrency |
| #48 | - **Fix:** Test mocking for extraction fallback (env vars don't affect module-level constants) |
| #49 | - **Tests:** 292 tests passing. Zero failures. |
| #50 | |
| #51 | ### 1.13.0 |
| #52 | |
| #53 | - **Add:** Temporal query capabilities — `recall(from_date="...", to_date="...", source="...", topic="...")` |
| #54 | - **Add:** Auto temporal triples on `remember()` — `(memory_id, occurred_on, YYYY-MM-DD)` and `(memory_id, has_source, source)` |
| #55 | - **Fix:** `UnboundLocalError` in fallback scoring when FTS5 returns empty but temporal filters active |
| #56 | - **Tests:** 6 new temporal query tests. All 25 passing. |
| #57 | |
| #58 | ### 1.12.0 |
| #59 | |
| #60 | - **Fix:** Embeddings generated but discarded when sqlite-vec absent — now falls back to `memory_embeddings` table with numpy cosine similarity |
| #61 | - **Add:** `_in_memory_vec_search()` — cosine similarity via numpy when sqlite-vec unavailable |
| #62 | - **Add:** `mnemosyne_diagnose` — PII-safe diagnostic tool for troubleshooting |
| #63 | - **Docs:** Replaced junk files with proper developer documentation |
| #64 | |
| #65 | ### 1.11.0 |
| #66 | |
| #67 | - **Fix:** Context overflow on consolidation — `sleep()` now chunks memories to fit the LLM context window |
| #68 | - **Fix:** No remote/API model support — added OpenAI-compatible remote LLM client (`MNEMOSYNE_LLM_BASE_URL`) |
| #69 | - **Add:** `chunk_memories_by_budget()` for token-aware batch splitting |
| #70 | - **Add:** `_call_remote_llm()` with httpx primary and urllib fallback |
| #71 | - **Tests:** 7 new tests (2 for chunking, 5 for remote API). All 24 passing. |
| #72 | |
| #73 | ### 1.10.2 |
| #74 | |
| #75 | - **Add:** `mnemosyne_update` and `mnemosyne_forget` tools for full CRUD in Hermes plugin |
| #76 | - **Fix:** Auto-sleep dict key, module-level `remember()` signature, BEAM sync on update |
| #77 | - **Fix:** sqlite-vec KNN query LIMIT parameter for vec virtual table planner |
| #78 | - **Fix:** Triple tools in MemoryProvider (missing module-level functions) |
| #79 | - **Remove:** 307 lines of dead code (unused quantization functions, ghost imports) |
| #80 | |
| #81 | ### 1.10.0 |
| #82 | |
| #83 | - **Add:** `hermes mnemosyne stats --global` — cross-session working memory stats |
| #84 | |
| #85 | ### 1.9.0 |
| #86 | |
| #87 | - **Release:** PyPI package `mnemosyne-memory` now live |
| #88 | - **CI:** GitHub Actions for tests (Python 3.9–3.12) and automated releases |
| #89 | - **Packaging:** Modern `pyproject.toml` with PEP 517 |
| #90 | |
| #91 | ### 1.7 |
| #92 | |
| #93 | - **Fix:** Subagent context writes polluting persistent memory |
| #94 | - **Fix:** Cross-session recall consistency with global scope preservation |
| #95 | - **Fix:** Fallback keyword scoring for Chinese and spaceless languages |
| #96 | |
| #97 | ### 1.5 |
| #98 | |
| #99 | - **Fix:** 6 critical bugs (stats, recall tracking, vector similarity, hardcoded session_id) |
| #100 | |
| #101 | ### 1.0 |
| #102 | |
| #103 | First major release. Production-ready. |
| #104 | |
| #105 | - BEAM architecture (working + episodic + scratchpad) |
| #106 | - Native vector search via sqlite-vec |
| #107 | - FTS5 full-text hybrid search |
| #108 | - Temporal triples (knowledge graph) |
| #109 | - Hermes plugin integration |
| #110 | - Sub-millisecond latency on CPU |
| #111 | |
| #112 | --- |
| #113 | |
| #114 | For the complete history, see [CHANGELOG.md](../CHANGELOG.md). |
| #115 | For current Clawd user-facing releases, see the published site at [clawd.x402.wtf/site](https://clawd.x402.wtf/site/). |
| #116 |