Skip to content

Commit 2b88f86

Browse files
committed
docs(memory): record OpenHuman memory engine port status
1 parent e96cb79 commit 2b88f86

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

docs/openhuman-memory-migration.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,35 @@ as the current source checkout unless a later branch is chosen.
4242
4. Port queue workers only after persistence and deterministic drain tests exist.
4343
5. Add OpenHuman-facing on-demand ingest adapters; do not port the live sync
4444
scheduler into TinyCortex.
45+
46+
## Port Status
47+
48+
The memory engine is ported as the config-driven library under `src/memory/`.
49+
All modules compile together, are wired into `src/memory/mod.rs`, and ship unit
50+
tests in sibling `*_tests.rs` files (1000+ tests; `cargo fmt` clean, no warnings).
51+
52+
| Module | OpenHuman source | Notes |
53+
| --- | --- | --- |
54+
| `types` / `traits` / `config` / `error` | `memory`, `memory_store` | Shared contracts; `MemoryConfig` drives all tunables. |
55+
| `chunks` | `memory_store/chunks` | Chunk model, deterministic ids, SQLite chunk store + full `mem_tree_*` schema. |
56+
| `store` | `memory_store` (content/vectors/kv/entities) | Markdown content store, packed-f32 vector DB, KV, entity occurrence index. |
57+
| `score` | `memory_tree/score` | Signals, regex/composite extraction, resolver, score store. LLM rater + embedder behind traits. |
58+
| `tree` | `memory_tree` + `memory_store/trees` | Tree rows, buffers, bucket-seal, summarise, tree-walk read. Summariser/embedder behind traits. |
59+
| `queue` | `memory_queue` | `mem_tree_jobs` store, dedupe/defer/backoff, worker, LLM gate. Handler work behind `QueueDelegates`. |
60+
| `retrieval` | `memory_search` + `memory_tree/retrieval` | Hybrid primitives (`query_source/global/topic`, `drill_down`, `fetch_leaves`), config weight profiles. |
61+
| `ingest` | `memory/ingest_pipeline`, `memory/ingestion`, `memory_sync/canonicalize` | Canonicalizers + on-demand ingest orchestration. Queue enqueue behind a sink trait. |
62+
| `sources` | `memory_sources` | Registry, contracts, validation, local readers. Network readers are trait seams. |
63+
| `diff` | `memory_diff` | git2-backed snapshot/diff/checkpoint ledger. Chunk source injected via trait. |
64+
| `entities` | `memory_entities` | Entity markdown registry, canonicalization, notes-preserving upsert. |
65+
| `graph` | `memory_graph` | Co-occurrence edges over an injected `EntityOccurrenceIndex`. |
66+
| `goals` | `memory_goals` | `MEMORY_GOALS.md` store, caps, symlink-escape safety. LLM reflection behind a trait. |
67+
| `tool_memory` | `memory_tools` | Tool-scoped rules, priority prompt rendering over the `Memory` trait. |
68+
| `conversations` | `memory_conversations` | JSONL transcript store, inverted index, persistence bus. |
69+
| `archivist` | `memory_archivist` | Conversation turns → one tree leaf (tool-JSON stripped). Tree-leaf sink injected. |
70+
71+
Per the ownership boundary, the live sync runner, OAuth/webhook callbacks, and
72+
real LLM/embedding/network backends remain host-owned (OpenHuman) and are
73+
represented here as injectable traits. Known follow-ups: consolidate the
74+
`mem_tree_entity_index` access that currently appears in `store`, `score`, and
75+
`tree`; restore the deferred peripheral surfaces (tree `health`/`nlp`,
76+
retrieval `fast`/rpc, obsidian/wiki-git content) as host adapters land.

0 commit comments

Comments
 (0)