修复: 知识提炼切读 ai_messages 表,完成消息溯源 P2 最后一环

消息级溯源 P2 切读早前已覆盖主要读写路径(save_conversation 写 /
switch/export/load_messages 读),但 knowledge_inject 的知识提炼
仍在读旧 ai_conversations.messages JSON 列,与 P2 切读目标不一致。

本次补全:
- extract_knowledge_from_conversation 改为优先读 ai_messages 表
- 表空时 fallback 旧 messages JSON 列(老库兼容,对齐 switch 路径)
- 复用 commands::record_to_message 映射函数(DRY,与其他读路径同源)

至此消息溯源 P2 切读全部完成,所有读写路径统一走 ai_messages 表,
旧 messages JSON 列仅作老库兼容 fallback,不再写入。
This commit is contained in:
2026-06-28 18:47:21 +08:00
parent e460e8df42
commit 6aac7efcfb
2 changed files with 20 additions and 7 deletions

View File

@@ -298,7 +298,11 @@
#### DEC-260628-04 消息级溯源 P2 切读
- **决策**:✅ b 一次性切读(保留原表数据不删)
- **记录**:读写路径从 `ai_conversations.messages` 切到 `ai_messages` 表,原列保留
- **状态**:🟢 已决·待推进
- **核验(2026-06-28)**:✅ 全部已完成——
- 写路径:`save_conversation` 已全量重写 ai_messages
- 读路径:`ai_conversation_switch`/`ai_conversation_export`/`remote_bridge::route_load_messages` 优先读 ai_messages,表空时 fallback 旧 JSON(老库兼容)
- 最后一处补全:`knowledge_inject::extract_knowledge_from_conversation` 也切到 ai_messages
- **状态**:✅ 已决·已实施
#### DEC-260628-05 SMELL-P1-6 String→newtype
- **决策**:✅ b 路线(仅 Rust 内部 newtype)