AskaEth
44fbd29836
feat(memory): sensitive 标记 + 提取器敏感判据,私事退出受限车道召回
M63(M60 审计 P0-1/P0-2)。作用域 ≠ 敏感度:`scope='user'` 是共享域,里
面却装着住址(花溪 64 条 active)/私称(叶酱 63)/作息(早睡 38),于是受限车
道(群聊/陌生人)把共享域整锅注入上下文 —— 2026-10-29 群 531082168 的住址泄漏
即此路径。本片给 memory_items 加 `sensitive` 列,把「这条归谁」(scope)与
「这条能不能外说」(sensitive)拆成两根正交的轴。
- 迁移 0028:加列(INTEGER NOT NULL DEFAULT 0)+ **同迁移幂等回填**(精确短语
白名单 花溪/叶酱/早睡,`AND sensitive=0`,不改 updated_at),down 只撤结构;
memory 包内 `ensureSensitiveSchema` 同形前滚(任意 *sql.DB 自举)。
- 受限判据:新增 `MemoryItem.SharedVisible()` = 共享域 且 !sensitive,成为
restricted 侧唯一起点;`loop.FilterSharedVisible` 与复用它的 knowledge 工具
自动跟随。主人车道不过这道判据,照常读到全部记忆(sensitive 不是权限系统)。
- 提取器:prompt 追加 sensitive 位(住址/私人称呼/家人/健康/作息与行程 → true,
口味/兴趣/项目约定 → false,含正反例);产出侧与落库侧共用
`resolveSensitive`(模型的类目判断 ∨ 已实证短语白名单),只加标不撤标。
- 回填入口 `BackfillSensitive(ctx, db, dryRun)`:幂等、可 dry-run、返回候选池
前后规模与逐短语计数(生产快照实测 3116 → 2948,标 725 行)。
- 读路径并到 15 列(scanItem + 7 处 SELECT);store.go 拆分 store_insert.go
守住 500 行上限。
验收:go build/vet/test 全绿(memory + loop 单包复跑绿);删实现三处变异分别打红
(sensitiveColumn 恒 0 / SharedVisible 忽略 Sensitive / Extractor 跳过白名单);
生产库快照上跑 0028 后 Go 侧回填 marked=0(迁移 SQL 与 privateFacts 等价)。
2026-10-30 09:26:15 +08:00
..
2026-10-05 11:47:39 +08:00
2026-10-30 08:32:09 +08:00
2026-10-04 13:32:54 +08:00
2026-10-04 13:32:54 +08:00
2026-10-30 08:30:06 +08:00
2026-10-30 08:30:06 +08:00
2026-10-30 09:04:14 +08:00
2026-10-30 09:04:14 +08:00
2026-10-30 09:04:14 +08:00
2026-10-13 21:46:24 +08:00
2026-10-13 21:43:27 +08:00
2026-10-13 21:43:27 +08:00
2026-10-13 21:54:38 +08:00
2026-10-25 00:08:46 +08:00
2026-10-26 19:21:24 +08:00
2026-10-26 19:21:24 +08:00
2026-10-25 00:29:02 +08:00
2026-10-26 19:21:24 +08:00
2026-10-26 13:36:15 +08:00
2026-10-26 13:36:15 +08:00
2026-10-30 09:26:15 +08:00
2026-10-04 13:32:54 +08:00
2026-10-30 09:26:15 +08:00
2026-10-04 13:32:54 +08:00
2026-10-04 13:32:54 +08:00
2026-10-07 14:10:33 +08:00
2026-10-30 08:30:06 +08:00
2026-10-26 19:21:24 +08:00
2026-10-07 11:41:44 +08:00
2026-10-24 22:24:14 +08:00
2026-10-07 11:41:44 +08:00
2026-10-26 13:09:30 +08:00
2026-10-06 15:59:16 +08:00
2026-10-06 15:59:16 +08:00
2026-10-26 13:09:30 +08:00
2026-10-26 18:57:38 +08:00
2026-10-13 23:21:25 +08:00
2026-10-30 08:30:06 +08:00
2026-10-06 15:59:16 +08:00
2026-10-13 20:22:48 +08:00
2026-10-30 09:26:15 +08:00
2026-10-07 14:10:33 +08:00
2026-10-07 16:25:54 +08:00
2026-10-07 16:25:54 +08:00
2026-10-07 14:10:33 +08:00
2026-10-13 20:22:48 +08:00
2026-10-06 08:04:12 +08:00
2026-10-13 22:11:41 +08:00
2026-10-26 19:21:24 +08:00
2026-10-26 13:09:30 +08:00
2026-10-30 09:26:15 +08:00
2026-10-26 13:24:35 +08:00
2026-10-26 13:09:30 +08:00
2026-10-26 19:21:24 +08:00
2026-10-05 11:47:39 +08:00
2026-10-05 08:04:47 +08:00
2026-10-05 08:04:47 +08:00
2026-10-04 14:20:22 +08:00
2026-10-05 08:04:47 +08:00
2026-10-30 08:30:06 +08:00
2026-10-05 11:47:39 +08:00
2026-10-05 08:04:47 +08:00
2026-10-04 13:32:54 +08:00
2026-10-05 11:47:39 +08:00
2026-10-04 13:32:54 +08:00
2026-10-30 09:26:15 +08:00
2026-10-30 09:26:15 +08:00
2026-10-30 09:26:15 +08:00
2026-10-30 09:26:15 +08:00
2026-10-30 09:26:15 +08:00
2026-10-30 09:26:15 +08:00
2026-10-30 09:26:15 +08:00
2026-10-30 09:26:15 +08:00
2026-10-04 12:07:44 +08:00
2026-10-04 12:07:44 +08:00
2026-10-07 09:48:37 +08:00
2026-10-30 09:26:15 +08:00
2026-10-30 09:26:15 +08:00
2026-10-05 11:47:39 +08:00
2026-10-30 09:26:15 +08:00
2026-10-30 09:26:15 +08:00
2026-10-26 19:29:16 +08:00
2026-10-04 13:32:54 +08:00
2026-10-04 14:20:22 +08:00
2026-10-30 09:26:15 +08:00
2026-10-30 09:26:15 +08:00
2026-10-26 18:57:38 +08:00
2026-10-26 19:29:16 +08:00
2026-10-26 19:29:16 +08:00
2026-10-25 00:08:46 +08:00
2026-10-25 00:08:46 +08:00
2026-10-07 11:26:34 +08:00
2026-10-25 00:29:02 +08:00
2026-10-07 11:26:34 +08:00
2026-10-07 11:26:34 +08:00
2026-10-07 11:26:34 +08:00
2026-10-07 11:26:34 +08:00
2026-10-06 08:04:12 +08:00
2026-10-25 00:08:46 +08:00
2026-10-30 08:30:06 +08:00
2026-10-05 11:29:36 +08:00
2026-10-07 11:07:00 +08:00
2026-10-25 00:29:02 +08:00
2026-10-25 00:29:02 +08:00
2026-10-25 00:49:44 +08:00
2026-10-25 00:29:02 +08:00
2026-10-25 00:29:02 +08:00
2026-10-25 00:49:44 +08:00
2026-10-25 00:49:44 +08:00
2026-10-25 00:41:16 +08:00
2026-10-25 00:41:16 +08:00
2026-10-25 00:29:02 +08:00
2026-10-26 13:09:30 +08:00
2026-10-06 08:04:12 +08:00
2026-10-06 08:04:12 +08:00
2026-10-07 11:07:00 +08:00
2026-10-13 22:33:07 +08:00
2026-10-07 19:21:32 +08:00
2026-10-06 08:04:12 +08:00
2026-10-13 20:51:10 +08:00
2026-10-30 08:30:06 +08:00
2026-10-07 11:07:00 +08:00
2026-10-07 11:07:00 +08:00
2026-10-07 11:07:00 +08:00
2026-10-06 22:39:35 +08:00
2026-10-06 22:39:35 +08:00
2026-10-07 11:07:00 +08:00
2026-10-13 22:50:38 +08:00
2026-10-13 22:50:38 +08:00
2026-10-13 22:33:07 +08:00
2026-10-13 20:38:02 +08:00
2026-10-13 20:22:48 +08:00
2026-10-30 09:26:15 +08:00
2026-10-07 11:07:00 +08:00
2026-10-07 19:21:32 +08:00
2026-10-07 19:21:32 +08:00
2026-10-25 00:08:46 +08:00
2026-10-07 11:26:34 +08:00
2026-10-25 00:08:46 +08:00
2026-10-04 13:32:54 +08:00
2026-10-04 13:32:54 +08:00
2026-10-13 19:54:19 +08:00
2026-10-26 13:09:30 +08:00
2026-10-04 14:20:22 +08:00
2026-10-04 14:20:22 +08:00
2026-10-04 13:32:54 +08:00
2026-10-04 14:20:22 +08:00