跳转至

记忆系统

Zava 用工作记忆、短期记忆和持久 journal 分离热数据与可恢复状态。普通会话输入会 追加到 journal,/memory 查询持久条目,/save 执行 fsync。

数据路径

CLI/HTTP input
  -> working memory
  -> short-term ring
  -> memory.journal (CRC + trailer)
  -> recall Top-N

实现入口:runtime/memory/working_memory.asmshort_term.asmjournal.asmrecall.asmforget.asmdream.asm

journal 布局

所有多字节字段均为 little-endian。

Header (64 bytes)
00 magic "MEMv"       04 version
08 entry_count         10 total_size
18 created_at          20 last_entry
28 crc32               2C flags
30 reserved[16]

Entry
00 timestamp           08 type
0C flags               10 payload_len
14 payload_crc         18 session_id
20 payload[...]        trailer_crc

Header CRC 覆盖 [0x00,0x28);payload CRC 必须与 trailer 一致。条目损坏时 Runtime 必须拒绝该条目,禁止把截断内容交给推理或 DREAM。

CLI 查询

/memory
/memory keyword

无参数返回总条目数;有参数最多返回 8 个 recall 结果。HTTP 对应接口见 HTTP API

持久化铁律

  • 每个测试必须使用独立 --data-dir
  • journal 只允许追加,禁止用文本编辑器修改。
  • 复制数据目录前必须先执行 /save 并退出 Runtime。
  • CRC 或版本不匹配必须 fail closed。