## 背景 M2(PR #22)按 ADR-0013 实现了 `visibility: shared | private`(带 owner)+ 运行时 `MemoryScope = { kind: 'group' } | { kind: 'dm'; owner }`。架构师 review 认为 **group/DM 这层 scope 不合理**:Bot 未来在多种场景活动(直播、IM、sidebar…),「什么时候该分到 private、private 的对象是谁、private 场景如何载入上下文」都难以界定。 ## 问题拆分(两层必须分开) 1. **运行时 scope**(M2 的 group/DM + owner 过滤):store 不该知道聊天形态与渠道分类,这层应去掉。 2. **条目可见性**(ADR-0013 的 `shared/private`):private 的语义与主体需要重新定义——建议改为 `public | private`,语义 = **披露边界**(private 不进导出、不进公开场景上下文),而不是「DM 归属」。 ## 建议方向(待 grill 确认) - 删除 `MemoryScope` / owner / group-DM:store 只负责存取,不按聊天过滤。 - 条目字段 `visibility: public | private`;private 至少保证 M6 导出(SoulSnapshot)时被排除。 - 是否把 private 载入当前上下文由调用方决定(sidebar 载入;群/直播只载入 public);渠道到策略的映射留给 M5。未来若确需「按人区分」,再单独引入 audience 模型,而不是现在硬编码 group/DM。 - 影响面:ADR-0013(supersede 或改写)、`docs/botharness.md` §4 M11、issue #9 的验收措辞、PR #22、M5 的载入策略。 ## 待决 - private 保留吗?主体是什么(人 / 场景 / 仅分享标记)? - PR #22 先改再合并,还是先合并再跟进?
Activity
DoodleBears commentedon Sep 17, 2026
已完成:PR #22 的
refactor(core): drop memory visibility and scope(93570760cc01837a033e1fbc7467f42822f15274)删除了MemoryScope/group-DM/owner/visibility 字段与全部过滤逻辑;分享边界改为 M6 导出时由人选择「哪些文件 + 哪个时间点」(ADR-0021,spec M11/ADR-0013 已同步)。