From 496bbe4f97b9f98d7f9dd52cf994691076cdc7dd Mon Sep 17 00:00:00 2001 From: JOJO <1498581755@qq.com> Date: Mon, 20 Jul 2026 23:50:20 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E8=AE=A1=E5=88=92=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E5=8A=A0=E6=B3=A8=E6=96=B9=E5=90=91C=E5=90=8E=E8=AF=AD?= =?UTF-8?q?=E4=B9=89=E6=BC=94=E8=BF=9B=E4=B8=8Ebootstrap=E5=8F=AA=E8=AF=BB?= =?UTF-8?q?=E8=BE=B9=E7=95=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/conversation_load_unification_plan.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/conversation_load_unification_plan.md b/docs/conversation_load_unification_plan.md index b0d3cae0..fa211557 100644 --- a/docs/conversation_load_unification_plan.md +++ b/docs/conversation_load_unification_plan.md @@ -39,6 +39,8 @@ - 在 `existing_data = self.load_conversation(...)` 之后、覆写 `messages` 之前: - `new_len < old_len` 且 `not allow_shrink` → 打印 🚨 警告并 `return False`,不写盘。 - 合法缩减路径显式豁免:**检查点恢复**(`server/conversation.py` `_restore_checkpoint_to_conversation`)传 `allow_shrink=True`。 + +> ⚠️ **语义已演进(方向 C 后)**:缩减写回不再拒绝,而是按 `message_id` 合并矫正(见 §7);本小节描述为 A 落地时的历史设计,当前行为以代码为准。 - 已确认不需要豁免的路径:压缩(in-place 打 `deep_compacted` 标记,消息数不减)、设置保存(原样传递内存历史)、新建对话后同步模型(old_len=0)。 ### A2. `load_conversation_by_id` 同对话跳过切换前保存(`utils/context_manager/conversation_mixin.py`) @@ -56,7 +58,7 @@ ### B1. 后端聚合接口 `GET /api/conversations//bootstrap` -新蓝图 `server/conversation_bootstrap.py`(注册于 `app_legacy.py`,不动 `server/conversation.py` 现有路由)。**纯只读**:不调用 `terminal.load_conversation`,不切换任何 terminal 的当前上下文,天然规避 safe_nav 双轨问题。 +新蓝图 `server/conversation_bootstrap.py`(注册于 `app_legacy.py`,不动 `server/conversation.py` 现有路由)。**只读语义**:不写对话文件、不调用 `terminal.load_conversation`、不切换工作区级 terminal 当前上下文,天然规避 safe_nav 双轨问题;但为聚合后台运行态会按需获取/创建对话级 terminal(与既有 running-status 端点行为一致,属内存态操作)。 响应契约: