返回 DeepSeek-Reasonix
SESSION_DRAFT_REPAIR_VALIDATION.zh-CN.md
根目录 / docs / SESSION_DRAFT_REPAIR_VALIDATION.zh-CN.md
1 # 草稿机制修复验证记录
2
3 本记录对应基于 `8e2e6ef0` 的本地修复。工作区同时包含此前草稿机制的改动;
4 本任务没有创建提交、PR、CI 运行或发布。[English](SESSION_DRAFT_REPAIR_VALIDATION.md)
5
6 ## 六类问题的修复
7
8 | 问题 | 修复边界 | 回归依据 |
9 | --- | --- | --- |
10 | 重试只改显示设置 | 在运行时重建和执行准入屏障内配置或替换真实 Controller;准入再次核验身份和配置。候选失败保留原运行时及 Session。 | `draft_runtime_test.go`:真实权限变化、canonical 模型/effort/MCP 替换、失败候选不覆盖旧运行时。 |
11 | 捕获后仍能编辑 | 首个 await 前同步登记准备 ID 并锁定内容、设置;flush 核对捕获快照,Begin 核对摘要。 | 草稿所有权、保存竞态及 Composer 测试。 |
12 | 丢弃或迟到响应影响其他项目 | 捕获 DraftID、generation、编辑版本、revision 和导航意图;后端 CAS 删除。 | 确认期间切项目、迟到删除及导航隔离测试。 |
13 | 附件任务计数残留 | 全局任务结算与内容写回资格分离;字段更新合并到原草稿最新内容。 | 冲突替换后的任务结算测试;原生文件拖入经过 preload 并落盘。 |
14 | 重启丢失操作身份 | 只读状态包含原操作;显式继续携带操作版本,并无缝移交 worker 租约。 | 请求/继续 CAS、重启不重放、v3 冻结快照回归。 |
15 | 未知状态停止查询 | 应用级查询持续核实 shell 派发及未知接收;按操作版本拒绝倒退;取消返回 accepted 同样完成一次转换。 | 可控 Promise 的轮询/取消测试;shell 回执先落盘及去重测试。 |
16
17 同时修复了相邻边界:Begin 丢响应后以相同请求 ID 在后端串行核实;取消与
18 运行时发布、持久准入互斥;旧 worker 收尾期间的新操作不会静默卡住。正常退出
19 等待附件、提交准备、目标保存版本及恢复目标。测试清理等待 Controller 真正
20 关闭存储后,才删除临时目录。
21
22 ## 验证范围
23
24 - 前端:应用生命周期、草稿所有权/保存竞态、Composer/剪贴板、远程、transcript、
25 应用与测试类型检查、hooks、分层及生产构建。
26 - Go:Desktop 按独立模块测试;草稿 store 和运行时执行聚焦 race 检查;
27 根模块测试覆盖共享 Controller/session 改动。
28 - Electron:219 项 shell 测试;隔离目录中的真实服务新建、原生 PNG 剪贴板保存及 Composer 键盘粘贴、
29 原生文件拖入、附件重启恢复、编辑后立即正常关闭、SIGKILL 后服务重启恢复。
30 测试不调用模型,剪贴板测试内容为临时 fixture。
31 - 浏览器:项目加号、顶部新建、快捷键、项目右键、命令面板均恢复同一草稿;
32 20 次重复新建不增加正式会话行;30 次采样均从历史页出发,到正确草稿可编辑
33 为止。最近一次 mock 浏览器 p95 为 **28.9ms**。
34
35 ## 验证限制
36
37 最终本地结果:
38
39 | 检查 | 结果 |
40 | --- | --- |
41 | 根模块 `go test ./...` | 通过;共享 control 包耗时 367.7 秒。 |
42 | Desktop `go test -timeout=25m ./...` | 通过;Desktop 主包耗时 1054.4 秒。随后少量恢复/store 收尾改动也通过聚焦检查。 |
43 | 草稿 store、运行时 `go test -race` | 通过,包括最终的未知版本文件字节保护检查。 |
44 | 宿主契约、桌面代码清单 | 生成一致性检查通过。 |
45 | 前端类型、hooks、分层、生产构建 | 通过。 |
46 | 草稿、Composer、生命周期、侧栏、远程、transcript | 通过;Composer 草稿套件 118 项,剪贴板菜单套件 15 项。 |
47 | Electron shell 测试 | 219 项通过,无失败、无跳过。 |
48 | 浏览器、原生冒烟 | 上述验证范围内通过。 |
49 | 远端 CI、Windows/Linux 原生验证 | 未执行。 |
50
51 浏览器数据是本机 mock 基准,不代表生产 Electron 延迟。未完整执行原生多窗口
52 冲突交互及全部端到端故障注入矩阵。确定性 store、
53 组件测试覆盖部分跨窗口及异步乱序场景,并包含独立进程 worker 锁测试。
54 本机为 macOS,未验证 Windows/Linux 原生剪贴板和拖入。没有运行远端 CI。
55
56 早期广泛回归发现过生成文件过期和测试清理竞态,均已修正。根模块早期运行中,
57 无限 Goal 压力测试在并发负载下超过既有 60 秒等待上限;单独运行用时 37.4 秒并
58 通过。没有放宽超时或削弱产品断言。
59
60 schema v4、独立快照版本、回滚与恢复行为见[生命周期及兼容说明](SESSION_DRAFT_LIFECYCLE.zh-CN.md)。
61
61 lines MARKDOWN