feat: add episodic history recall
Memind CI / Test, build, and release guards (pull_request) Successful in 4m37s

This commit is contained in:
john
2026-07-22 12:36:13 +08:00
parent 092ed16d82
commit 93d7bc0cd5
17 changed files with 1297 additions and 20 deletions
+24
View File
@@ -378,6 +378,21 @@ Preferred backend name. The current default is `legacy`.
Defaults to enabled. Backend failures return degraded empty payloads rather than blocking chat.
`MEMORY_RETRIEVER_EPISODIC_ENABLED`
Enables the historical-session recall capability, but does not by itself authorize retrieval.
`MEMORY_RETRIEVER_ENABLED` must also be enabled and `MEMORY_RETRIEVER_EPISODIC_MODE` must be
`canary` or `active`. Missing or invalid mode is treated as `off`.
`MEMORY_RETRIEVER_EPISODIC_MODE`
Historical recall rollout mode: `off`, `canary`, or `active`. In canary mode only users listed in
`MEMORY_RETRIEVER_EPISODIC_CANARY_USER_IDS` may be indexed or queried.
`MEMORY_RETRIEVER_EPISODIC_CANARY_USER_IDS`
Comma- or whitespace-separated user IDs for historical recall canary testing.
`MEMORY_PGVECTOR_DATABASE_URL`
Dedicated PostgreSQL connection string for Memory V2 semantic memory. It must not point at the MySQL business database and is ignored unless `MEMORY_VECTOR_ENABLED=1`.
@@ -417,6 +432,15 @@ tkmind-proxy
-> existing harness remember/bootstrap
```
Explicit historical recall is a separate bounded read path layered beside personal memory:
```text
direct chat / Agent memory context
-> episodicMemory.resolve
-> h5_episodic_memory_items (same user, excluding current session)
-> bounded h5_session_snapshots fallback for pre-index history
```
Write path:
```text