用途:在会话结束或有意义的节点,把一个结构化 session episode 写入 memory store,使后续会话能按语义检索到“上一场做了什么”,而不依赖 [[wikilink]]。它面向 episodic 记忆层(事件层),wiki 仍保存 semantic 知识,skill 保存 procedural 流程。
触发场景:关闭 issue、完成功能或做出决定后收尾;希望下次不用读 git log 就知道“X 在哪里做过、结果如何”;用户说“ghi episode”“record episode”“chốt phiên này vào nhớ”“session episode”或 /record-episode。
主要能力:记录 did(必填,动词+对象的单句)、--files(可选,逗号分隔路径,可用 git diff --name-only 获取)、--outcome(可选,可验证的结果,如测试通过、issue 关闭、PR 编号)、--session(可选,会话名或 issue);修改旧记录时用 --id <ID> --supersedes <ID> 做时间性替换,保留 supersedes 链。写入本地 harness/metrics/memory.jsonl(已 gitignore)。写入命令:python3 harness/scripts/mem-rank.py episode "<did>"
--files "path1,path2" --outcome "<kết quả>" --session "<tên/issue>";验证命令:python3 harness/scripts/mem-rank.py retrieve "<câu hỏi>" --kind-filter episode。
限制与边界:必须按需手动使用,不注册 Stop-hook 自动写入;仅记录会话事件,不保存长期知识(应走 /ingest 或 wiki ADR);无网络、无 hook;若无可验证结果,只写 did 和 files 并省略 --outcome,不编造结果;若 retrieve 无法返回刚写入的 episode 则视为失败并需告知用户。当前 ranker 为 token-overlap(确定性),embedding 仅在 mem-rank.config.yaml 配置且 verified:true 时作为可选适配器启用。记录应保持简短(单句 did + 文件 + 结果),过长会成为噪声。