docs: 计划文档加注方向C后语义演进与bootstrap只读边界

This commit is contained in:
JOJO 2026-07-20 23:50:20 +08:00
parent 01a1658a99
commit 496bbe4f97

View File

@ -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/<id>/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 端点行为一致,属内存态操作)
响应契约: