@@ -42,3 +42,35 @@ as the current source checkout unless a later branch is chosen.
42424 . Port queue workers only after persistence and deterministic drain tests exist.
43435 . 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