ADR-0009归档拆分实现——episodic/checkpoint archive两collection(issue #108 Q6) #156
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
#108 Q6(issue #108 grill,2026-08-18 拍板:现在就实现)
What to build
ADR-0009"归档拆分":episodic 与 checkpoint archive 拆两 collection;archive blob 分条化。这条此前
在 #101/#103 那轮被误判"作废"(把"checkpoint archive"误认成 LangGraph 的 checkpointer,实际它是
三因子语义召回的三个目标之一——画像/事件记忆/归档——跟 LangGraph 无关),复核推翻作废判定后确认应
按原计划实现。
原文(
docs/adr/0009-memory-engineering.md「决策」节):背景(同文件「背景」节,要修的病):
Acceptance criteria
当作召回目标之一,不受本次拆分影响——本票只改存储结构,不改召回逻辑本身
记录,不提炼,只保留原文")继续是唯一会产生整块记录的地方,本票拆分不影响这条降级路径的行为
Not in scope
Understand 阶段三个独立 agent 一致核实:本票 AC 的前提与仓库实际代码不符。
arise_archive_collection(config.py:166)自代码写下第一天起(首个引入提交8f32347,2026-07-08,原话 "Archive collection is name-only... there's no spec yet for what a 'checkpoint archive' consolidation job would produce, and none of the ACs require one")就只是占位名字,从未被创建(ensure_vector_schema只建 episodic/skill/learned_sticker 三个 collection)、写入、召回过——不是"episodic 与 archive 混同一 collection 需要拆分",而是"archive 这条存储路径要从零建"。ADR-0009"背景"节描述的整块 blob 缺陷指的是立项前研究对照的旧 dxkuma 实现,不是本仓库自己的历史状态。更关键的是 AC 第四条依赖的数据来源:ADR-0009「2026-07-08 更新」节设计的降级路径(连续失败→整批 delta 原样转存为低置信度 tentative 记录),被 ADR-0009 自己「2026-07-30,issue #94」更新节明写"没有实现"(判定"连续"需要跨重启存活的失败计数,"属独立决定"),至今(issue #94 之后 #116/#125/#126/#127/#134/#137/#146 等提交)也没有任何一次触碰这个分支。即使建好 archive collection,目前也没有任何代码会产生内容写进去。
已与用户确认:类比 #154/#163 的拆分模式——
ensure_vector_schema)+ 分条化写入 API(逐条 delta 原文对应一个 archive 记录,不拼成 blob)+ 存储层对称读 API。不接入三因子召回的打分/排序逻辑(与 AC 原有的"Not in scope"字面一致)——在没有真实产出方之前接召回是没有产出方可验证的死代码,且 AC 自己的 Not in scope 也明确排除了改动召回打分/排序逻辑。AC 第三条("三因子召回继续把归档当目标之一,不受本次拆分影响")在当前范围下不适用——不是"维持不变",而是这个能力目前完全不存在,接入召回的时机推迟到 #165(或其后续)。AC 第四条("降级路径继续是唯一会产生整块记录的地方")同理不适用于本票——这条降级路径本身就是 #165 的交付物,不是本票要"维持不变"的既有行为。