mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-27 15:13:37 +08:00
26 KiB
26 KiB
v0.4.10 之后的人工界面功能测试 Checklist
分析范围:
v0.4.10..91829e91(2026-07-20 至 2026-07-21)基线:
v0.4.10;候选:91829e91;共 11 个非合并提交差异规模:233 files,+22,673 / -1,317
本清单只覆盖该范围新增或修复的用户可观察行为,不代替 v0.4.10 全量回归。
1. 测试记录
| 项目 | 填写内容 |
|---|---|
| 测试人 / 日期 | Codex + Computer Use / 2026-07-21 |
| 安装包版本 / commit | 91829e91a41d0c4dcba2680e82f889ed7220e332 |
| 操作系统 / 架构 | Windows 11 / x64 |
| 安装方式 | 隔离开发构建;缓存 Electron 42.3(声明的 42.4 本地二进制不可用) |
| 测试 Provider / 模型 | 真实 DeepSeek / deepseek-v4-pro(179 ms);真实 MiniMax / MiniMax-M3(1,349 ms);均已取得真实回复 |
| 测试配置目录 | artifacts/manual-ui-91829e91/config;独立 Electron user-data-dir |
| 总体结论 | executed with recorded limits:DeepSeek、MiniMax 真实编程任务、附件恢复、多模态、SubAgent、Task 并发和 Windows 长空闲恢复主链路已通过;BUG-001~BUG-011 均已修复并取得聚焦或真实 UI 证据。最新完整质量门禁全部通过,但仍有宠物本体拖动/多显示器、代理/PAC、IM/H5 故障注入、CLI/TUI 等未执行或仅部分执行项,不能表述为“所有功能无条件通过” |
结果标记约定:完成每项后在复选框后追加 passed、failed、blocked 或 skipped,并附截图、录屏、日志位置或缺陷编号。blocked 与 skipped 不计为通过。
2. 提交分析与覆盖映射
| 提交 | 更新类型 | 用户可观察变化 | 对应用例 |
|---|---|---|---|
36560c09 |
功能 | 新增可交互桌面宠物、任务状态面板、自定义宠物导入 | PET-01~PET-10 |
71dc2fd4 |
修复 | Kimi Code 预设升级到 K3、API Key 鉴权和 262K 上下文 | PRO-02~PRO-03 |
8995f56d |
修复 | Provider 返回空/零 usage 时仍从会话记录估算上下文 | CTX-01 |
bf128cb9 |
修复 | 服务端回放带附件的用户消息时不再重复显示 | ATT-01~ATT-02 |
6b725a0b |
修复 | 运行中的 SubAgent 可打开详情并持续显示新记录 | SUB-01~SUB-03 |
7d272e0f |
修复 | 拒绝工具权限后当前轮正确中断并回到可输入状态 | DENY-01~DENY-02 |
ba8917f1 |
修复 | Provider 创建入口不再依赖运行时 presets 请求 | PRO-01、PRO-03 |
727bcea0 |
修复 | Windows Renderer、终端、代理及 IM WebSocket 生命周期恢复 | WIN-01~WIN-05 |
1270ced4 |
修复 | Task V2 工具常驻、任务读写串行、桌面任务状态抗乱序/抖动 | TASK-01~TASK-03 |
7f6fdada |
功能 | 桌面 Agent CRUD、作用域、逐 Agent 模型与 effort、热重载,以及 CLI/TUI Agent effort 与编辑字段保真 | AGT-01~AGT-08、CLI-01~CLI-03 |
91829e91 |
修复 | 桌面会话恢复时保留文件/目录/PDF 内容,同时过滤终端反馈分享内容 | ATT-03~ATT-05 |
3. 测试准备与安全边界
- 使用专用测试账号、临时工作区和独立
CLAUDE_CONFIG_DIR,不得读取或改写开发者真实的~/.claude、凭据、会话及 Agent 定义。 — passed:配置、会话与 Electron user-data 均在artifacts/manual-ui-91829e91/。 - 准备一个可安全写入的 Git 测试项目,包含一份带唯一 canary 文本的小文件、一个目录和一个小型 PDF。 — passed:文本、目录和 PDF canary 已创建;PDF 已渲染目检。
- 准备透明背景 PNG/WebP(32~4096 px、8 MB 内)以及一份不合规图片;动画图集测试另准备 1536×2288、8 列×11 行的 v2 PNG/WebP。
- 准备至少两个测试 Provider;Kimi 实际请求和任何 live model 测试仅在维护者明确授权额度后执行。 — passed:隔离配置中 DeepSeek 与 MiniMax 均完成真实连接测试;维护者已明确授权额度。
- Windows 故障注入只对专用测试构建执行;提前保存工作并记录主进程、Renderer、Sidecar 的 PID。
- 若测试代理/PAC,使用受控代理和测试地址;测试结束后恢复系统代理设置。
4. P0 核心流程
桌面宠物
- PET-01|入口、开关与持久化 — passed:确认 4 个内置宠物和独立透明宠物窗口;完整结束隔离 Electron/Sidecar 并用新构建重启后,显示开关、当前内置宠物、192px 大小和动画偏好均保持。当前显示的 Dada 机器人来自仓库内置
dada-code资源,不是缺图 fallback;另一台电脑自行导入的猫/狗包属于${CLAUDE_CONFIG_DIR}/cc-haha/pets本地用户状态,不会随 Git 自动同步。 - PET-02|窗口交互与位置恢复:分别验证短按宠物触发挥手、悬停/移动鼠标触发视线或动作、拖动宠物移动窗口;拖动不能误触单击动作,透明非宠物区域应允许点击下层窗口。将宠物拖到屏幕边缘和第二显示器后重启,位置应恢复且保持在可见工作区;拔除显示器或改变分辨率后窗口被钳制回可见区域。 — partial:BUG-010 修复后 Win32
topmost=True;BUG-011 修复后 Computer Use 已能真实鼠标命中任务圆点和关闭按钮,并完成两轮展开/关闭。宠物本体短按、悬停、拖动、透明区透传和多显示器恢复仍未完成。 - PET-03|任务状态与导航:同时制造“工作中、等待用户处理、失败/需关注、等待审阅”状态,确认宠物动作/提示匹配且优先级为“等待处理 → 失败 → 等待审阅 → 工作中”;有多个非空闲会话时展开面板最多列出最近 9 个任务,点击整行聚焦主窗口及对应会话。
- PET-04|任务卡隐藏与关闭宠物:默认不展示任务卡;有活跃任务时只显示宠物右上角数字圆点,点击圆点展开任务卡,点击下箭头隐藏卡片且不能改变任务状态。右键菜单关闭宠物后设置页开关立即同步为关闭,正在执行的任务不能被停止。 — partial:真实 Windows Electron + DeepSeek 编程任务中,Computer Use 已完成两轮“数字圆点展开 → 下箭头隐藏 → 数字圆点恢复”,最终
showTaskPanel: false已落盘;隐藏卡片后任务继续执行 Bun 测试并返回2 pass / 0 fail、PET_CLOSE_SMOKE_OK。右键关闭整个宠物及设置页同步本轮未复测。
附件与会话连续性
- ATT-01|图片消息回放去重:发送“检查这张截图”并附带本地图片,等待服务端回放/重连;界面始终只有一个用户消息气泡和一个附件预览,不显示
[Image source: ...]或内部绝对路径文本。 — passed:在首轮即选用 MiniMax-M3 的全新会话中只附加一张canary.png,UI 仅出现一个用户气泡和一个附件,真实模型准确返回第二行标识PDF_CANARY_91829E91。trace 显示 Anthropic/v1/messages请求只有 1 个 image block、HTTP 200,且请求/响应均无[Unsupported Image]。此前失败来自复用曾由 DeepSeek 生成[Unsupported Image]的跨 Provider 历史且同图被重复附加,不是 MiniMax 多模态接口限制,详见 PROVIDER-001。 - ATT-02|多文件物化路径去重:一次发送两个仅含 data 的不同类型文件,确认上传后仍只有一个用户气泡、两个名称正确的附件 chip;UUID 前缀的服务端上传路径不能出现在正文。随后发送同提示但不同附件,不能被误判为重复消息。 — passed:在全新 MiniMax-M3 会话中通过系统文件选择器一次选择
canary.txt与resume-secret.txt;UI 只有一个用户气泡和两个名称正确的附件 chip,正文未暴露物化路径,真实模型不调用工具即准确返回两个文件各自的 canary。 - ATT-03|完全退出后恢复附件上下文:在桌面端发送带唯一 canary 的文件,等待回复和持久化后完全退出应用;重启恢复同一会话,不重新附加文件,追问 canary。模型应能依据原附件内容回答,而不只是看到
@路径。 — passed:发送resume-secret.txt后完整退出并重启 Electron/Sidecar,恢复同一会话且不重新附加;真实模型仍回答HARBOR-PLUM-7319,附件 chip 与用户消息未重复。 - ATT-04|目录与 PDF 恢复:分别用目录和 PDF 重复 ATT-03;历史中附件引用应正常显示,重启后的追问仍能使用原内容,且用户消息不重复。 — passed:完整退出并重启后,真实模型从已恢复的 PDF 回答
PDF_CANARY_91829E91,从目录回答FOLDER_CANARY_91829E91;历史附件结构保持且用户消息未重复。
SubAgent、权限拒绝与 Task
- SUB-01|运行中详情:启动一个持续至少 10 秒且会调用工具的 SubAgent,立即从活动面板点击运行项。详情标签应在任务完成前打开,显示“运行中”、Agent/来源/任务信息、提示词和已产生的运行记录。 — passed:真实 MiniMax 编程会话启动 SubAgent 后,在运行中从 Activity 打开详情;页面显示 prompt、source、agent、task、token 和已产生的 Read/Bash 记录。首次因隔离项目尚无 HEAD 导致 worktree 启动失败,用户选择不使用 worktree 后重新运行成功。
- SUB-02|实时刷新与完成:保持详情页打开,确认新增文本和工具调用约每 2 秒出现;task id 晚到时页面自动接入实时记录。完成后状态、结果、更新时间和可用的 token usage 正确,且不需要关闭重开。 — passed:详情保持打开直至完成,后续 Read/Bash 与结果可见;完成态显示完整 transcript、报告及 11,473 tokens,点击刷新后约 2 秒重新载入且无需关闭标签。
- DENY-01|拒绝普通工具 — passed:真实 DeepSeek 请求 Write
denied.txt,Computer Use 点击 Deny;工具卡显示User denied via UI error,Shell 确认目标文件不存在,输入框恢复可用。 - DENY-02|拒绝后继续聊天 — passed:拒绝后立即发送无工具追问,真实模型返回
CHAT_CONTINUES;没有残留 pending 权限、持续运行态或缺少 tool result 错误。计划确认拒绝仍待其他用例覆盖。 - TASK-01|跨 Provider 完整生命周期与并发读写:分别在至少两个 Provider 下让模型创建、读取、列出、更新并完成 Task V2;另让真实 Provider 在同一 assistant turn 并发发出两个 create/update,再紧随 get/list,确认写操作串行且读取不会看到中间态或丢失态。工具无需 ToolSearch 即可调用,任务栏状态与工具结果一致,消息结束时未完成的工具状态会再刷新一次。 — passed:真实 MiniMax-M3 与 DeepSeek 编程会话均调用 TaskCreate/List/Get/Update,分别将 3 个任务更新为 completed;任务栏同步显示 3 项绿色完成。两条流程均执行真实
bun test,各为 2 passed / 0 failed,最终分别返回REAL_TASK_AGENT_FLOW_OK与DEEPSEEK_TASK_V2_OK。随后在修复版 Windows sidecar 上,真实 MiniMax 在同一轮并发执行 2 个 TaskCreate、TaskList + 2 个 TaskGet、并发 2 个 TaskUpdate 和最终 TaskList;两项均完整且为绿色 completed,返回TASK_PARALLEL_IDLE0_OK。 - TASK-02|切换会话与完成后收起:任务运行时切换到另一会话,上一会话任务应立即消失且不串入新会话;回到原会话状态恢复。关闭已完成任务列表后,后续轮询不能让它再次弹出。
Agent 管理及逐 Agent 配置
- AGT-01|浏览与来源优先级:打开“设置 → Agents”,确认总数、生效数和来源分组正确;创建同名用户级与项目级 Agent,二者均可见,项目级显示为生效、用户级显示被项目来源覆盖。对可用来源抽查完整优先级:policy → CLI flag → project → user → plugin → built-in。
- AGT-02|用户级创建:创建名称含下划线的用户 Agent,填写描述、system prompt、模型、effort、工具模式和颜色;保存后自动选中刷新后的定义,详情值正确,文件写入隔离测试配置的
agents目录。 — passed:在隔离配置创建configured_probe,设置 fable、high、Read/Grep/Bash 与紫色;保存后自动进入详情且文件只写入隔离agents目录,随后从 UI 删除。 - AGT-03|项目级创建:没有活动项目时项目范围必须禁用;打开项目会话后创建项目 Agent,目标路径显示当前项目,文件只写入该项目
.claude/agents/,其他项目不可见或不生效。 - AGT-04|模型、effort 与工具模式:逐项确认模型包含继承、fable、opus、sonnet、haiku、自定义模型 ID;effort 包含继承、low、medium、high、xhigh、max;工具支持全部继承、禁用全部、自定义列表。缺少自定义模型 ID 或自定义工具时不能保存。 — partial:已真实保存并回读 fable、high、自定义 Read/Grep/Bash;其余模型/effort 枚举和缺失自定义值拦截尚未逐项执行。
- AGT-05|热重载并执行:在活动会话中保存 Agent 后立即 spawn,不重启应用;新定义应可被发现并完成任务。修改 system prompt、模型或 effort 后再次 spawn,下一次运行使用新定义;从真实 Provider trace/运行详情核验 definition 的 model 与 effort 已实际应用,而不只核对表单值。
- AGT-06|编辑回继承与字段保真:把模型、effort、颜色和工具改回继承/默认;重新打开详情确认对应配置显示为继承,frontmatter 中相应字段被删除。编辑描述时不得破坏未知高级 frontmatter、空 tools、带括号/逗号的工具名或原 system prompt。
- AGT-07|只读与删除:内置、插件、托管策略、CLI 参数等来源只允许查看且没有可执行的编辑/删除;用户级和项目级可删除,确认弹窗展示准确目标,删除后列表刷新且文件消失。 — partial:内置 Agent 详情确认只读;用户级
configured_probe已通过 UI 删除并从列表消失。插件/托管策略/CLI 来源及项目级删除尚未覆盖。
5. P1 功能与边界流程
桌面宠物高级用例
- PET-05|外观与无动画:将大小从 96 调到 192 px,悬浮窗实时反映且不裁切;关闭“播放动画”后内置与自定义宠物均静止但仍可点击、拖动和导航任务。
- PET-06|单图创建轻动画宠物:选择“添加宠物 → 用一张图片制作轻动画”,填写合法 ID、名称和描述,导入合规 PNG/WebP;创建后出现在“你的宠物”、自动选中并可显示。确认整个过程不调用当前聊天模型。 — passed:在隔离 Electron 中用仓库真实
icon.png(46,061 bytes,SHA-25626D6DCC091FB0971ACB78A3A42526F55CCDD58E812C2D15EE09458CFE0E7C2C7)创建manual-canary;列表立即出现并自动选中,隔离配置生成pet.json+pet.png,manifest 为 single-image v1 /soft-spring-v1,会话时间戳及聊天内容未变化。 - PET-07|专业图集导入:导入合法 1536×2288、8×11 v2 图集;确认逐帧动作、左右跑动、失败、等待、工作、复核及视线方向没有错格、漂移或透明背景异常。
- PET-08|输入校验与损坏包:非法 ID、超 8 MB、尺寸越界、错误图集尺寸/格式均应在对话框中给出错误且不创建半成品。向自定义目录放入无效包后刷新,应跳过并显示无效数量;“打开文件夹”打开隔离配置下的正确目录。 — partial:非法下划线 ID 时提交按钮保持 disabled;选择真实损坏的 79-byte
.png后对话框保留并显示The pet image header is invalid,未生成半成品。超限、错误图集、损坏包刷新和打开目录仍待执行。 - PET-09|非桌面能力边界:在浏览器/H5 打开同一设置页,宠物启停、创建和打开本地目录等桌面专属操作应禁用或不可用,不应调用 Electron IPC、白屏或影响桌面端已保存偏好。
- PET-10|加载/保存/原生调用失败恢复:让 preferences 或自定义宠物目录首次加载失败,页面应保留已有内容并提供 Retry;保存失败时开关和选择应回滚;原生 show/hide/context-menu 失败时宠物窗口与设置开关恢复到一致状态且显示可重试错误。
Provider 与上下文
- PRO-01|内置 presets 与创建入口:首次进入 Provider 设置时“添加 Provider”立即可用,弹窗展示随桌面包内置的预设;确认页面不需要先成功请求
/api/providers/presets才能打开创建界面。 — passed:Computer Use 反复打开成功,DeepSeek、Zhipu GLM、Kimi、MiniMax、LM Studio、Ollama、Custom、接口AI、胜算云、TeamoRouter 均可见。 - PRO-02|Kimi K3 预设:选择 Kimi,确认 Base URL 为
https://api.kimi.com/coding/,主模型及 Haiku/Sonnet/Opus 均为k3,鉴权为 API Key,官网/密钥入口指向 Kimi Code,上下文上限识别为 262,144,并可选择到maxeffort。已保存的旧 Kimi URL、模型和 auth token 配置在编辑时不得被静默覆盖。 — partial:Computer Use 确认新建预设的 Base URL、API Key 鉴权、四个k3模型、k3: 262,144,以及 capability preview 包含effort,max_effort;旧配置保真和密钥官网跳转仍待执行。 - PRO-03|旧/未知 preset 编辑回退:打开一个 presetId 已不存在或 presets 加载异常的旧 Provider,编辑表单仍应显示已有 Base URL、模型和鉴权值,不白屏、不丢配置;保存失败与“弹窗可打开”分别记录。
- CTX-01|空/零 usage 的上下文估算:用真实且确实返回
{}或全零 usage 的 Provider/现场 transcript 建立有明显长度的会话,关闭并恢复;上下文指示器不得空白或归零,应按 transcript 和实际运行模型窗口给出合理非零估算。继续对话后估算应单调合理变化,不能错误显示已满。找不到这种真实 Provider 证据时标记 blocked,不能用 mock 结果冒充人工通过。
SubAgent 与任务异常边界
- SUB-03|错误、切换与空记录:运行中详情刷新临时失败时标签保持打开、已有内容保留并可重试;快速切换两个 SubAgent 时旧响应不能覆盖当前页;确实无本地记录时显示明确空状态而非崩溃。
- TASK-03|轮询抖动与乱序:在测试代理中延迟旧请求并让新请求先返回,界面不得被旧状态回滚;临时任务轮询失败时保留最后已知任务且不闪空,首次进入新会话请求失败则保持空列表而非带入旧任务。
Agent 管理边界
- AGT-08|校验、错误与非阻塞警告:名称超过 64 位或格式非法、描述为空、新建时 system prompt 为空均应前端拦截。模拟保存失败时表单保持打开并显示错误;模拟定义已写入但热重载/刷新失败时显示非阻塞警告和重试,已保存文件不得回滚。
6. P1 Windows / Electron 稳定性专项
- WIN-01|Renderer 异常退出自动恢复:在 Windows 专用测试构建中仅终止 Renderer 子进程。主窗口应自动 reload 一次并恢复可操作,不应长期白屏、退出主进程或重复 reload;会话标签、设置和历史从持久状态恢复。隔离配置的
cc-haha/diagnostics/electron-host.log应记录 process-gone、recovery-started 和 recovery-loaded。 — passed:关闭宠物窗口后确认隔离 Electron 仅有一个主 Renderer(PID 40812),只终止该子进程;3 秒内新 Renderer(PID 5696)启动,Settings/Pets 页面、两个会话标签、Huhu/192px 与关闭状态均恢复且可操作。日志依次记录process-gone、recovery-started、recovery-loaded。 - WIN-02|短暂与持续无响应:制造短于 10 秒的 Renderer 卡顿后恢复,应用不应误 reload;再制造持续超过约 10 秒的无响应,应只自动恢复一次。若再次故障,显示“界面恢复失败 / Interface Recovery Failed”双语错误框并留下诊断记录。
- WIN-03|终端与窗口销毁竞态:让内置终端持续输出,同时关闭终端标签、reload Renderer、关闭主窗口各一次;不得出现
Object has been destroyed、主进程崩溃、幽灵输出或无法再次打开终端。 - WIN-04|系统代理/PAC 波动:启用受控系统代理或 PAC,聊天请求建立期间切换节点、断开 CONNECT、短暂断网再恢复;应用不得弹出主进程 JavaScript 异常,恢复网络后无需重启即可再次请求,代理认证失败不得静默回退 DIRECT。
- WIN-05|IM WebSocket 握手中销毁:启动 IM/H5 连接后,在 WebSocket 尚处于 CONNECTING 时切换会话、重置或退出适配器;不得产生未处理
error、主进程退出或残留连接,重连后新会话可正常收发。 - WIN-06|Context 超时不能拖垮本地 REST — passed:Chromium netlog 将故障精确定位为复用已空闲约 104 秒、但 Bun 已按 60 秒
idleTimeout停止处理的 HTTP/1.1 socket;GET /api/tasks/lists/<session>写入后等待响应头 120,011 ms,turn-checkpoints/workspace-status 同期超时。改为idleTimeout: 0后重建真实 Windows sidecar,并合并同一会话任务轮询;应用空闲 85 秒后执行 MiniMax 并发 Task 全流程,task-list 请求最慢 235 ms,所有本地 API 最慢 578 ms。运行 137 秒后仍为 0CloseWait/ 0FinWait2、无新增 timeout。再用项目声明版本的官方 Bun 1.3.14 Windows binary 编译 sidecar,空闲 106 秒后真实 MiniMax 返回IDLE0_BUN1314_OK,运行 131 秒仍为 0 / 0 且无新增 timeout,详见 BUG-009。
7. P2 可访问性、隐私与兼容性
- A11Y-01|Reduced Motion:系统开启 reduced-motion 后,内置和自定义宠物都不播放动画;运行中的 SubAgent 状态仍可通过文字/非动画标记识别。
- I18N-01|新增界面语言:依次切换简中、繁中、英文、日文、韩文,抽查宠物、Agent 管理和 SubAgent 详情;不得显示原始 i18n key、截断关键按钮或出现不可读混排。
- ATT-05|终端 FeedbackSurvey 转录分享隐私:从 CLI/Ink 的 FeedbackSurvey 入口在隔离环境中提交包含附件的反馈分享,检查测试接收端或抓包证据;结构化消息和原始 JSONL 均不得包含
type: attachment记录、附件正文或本地敏感路径,普通对话和 SubAgent 信息仍可提交。此项不是桌面 Settings/聊天反馈入口。
CLI / TUI Agent 行为
- CLI-01|effort 参数与 model-info:在终端真实运行
--effort xhigh、--effort max和合法整数,并验证非法值被明确拒绝;headless/model-info 应只展示当前模型实际支持的 effort levels。 - CLI-02|Agent effort 启动与恢复:用
--agent启动真实 Provider 编程任务,核验 Agent effort 生效;显式 CLI--effort应按约定优先。退出并 resume 后从 trace 再次确认 model/effort 不丢失。 - CLI-03|TUI Agent 编辑字段保真:在终端 AgentEditor 中编辑含 Markdown tools、system prompt 和未知高级 frontmatter 的 Agent;保存并重开后字段和值保持,不被简化或损坏。
8. 已知风险与待确认项
- RISK-01|Agent effort 优先级契约:当前实现及测试允许“标记为 request-scoped 的 Agent effort”覆盖
CLAUDE_CODE_EFFORT_LEVEL,但docs/agent/01-usage-guide.md写的是环境变量优先。使用同一支持 effort 的模型设置会话high、Agentxhigh,记录实际请求值;发布前由维护者确认期望契约并统一代码、测试和中英文文档。本清单不把存在冲突的任一结果直接判为通过。 - RISK-02|live-provider 证据:配置值检查、mock 或本地契约测试不等同真实 Kimi/Provider 请求。没有额度授权时标记
blocked或skipped,不得写成 passed。 - RISK-03|平台证据:Renderer、系统代理、终端 native 模块的自动化结果不等同 Windows 实机;没有 Windows 安装包实测时 WIN 项不得写成 passed。
9. 通常不需要普通 UI 人工执行的内部变化
- CI/release workflow、Electron 输出目录 guard、Pet atlas 组装脚本和构建清理。
- SDK schema、模型 alias、Provider capability 环境变量等内部协议传播;Task
alwaysLoad/并发标记和 CLI effort 的用户可见结果已分别纳入 TASK-01、CLI-01~CLI-03。 - WebSocket teardown error sink、代理 socket 清理和销毁后 terminal IPC 防护已合并到 WIN-03~WIN-05,不在日常跨平台冒烟中重复拆项。
- 自动化测试本身不是人工通过证据;人工结论只记录本清单实际执行结果。
10. 完成判定
- 所有适用于发布平台的 P0 项为
passed,没有未解释的 failed/blocked。 - P1/P2 的 failed、blocked、skipped 均有缺陷编号、风险接受人或明确后续计划。
- 每个提交至少有一条人工证据,或在第 9 节明确归为内部变化。
- 回归后重新核对 commit;若 HEAD 已超过
91829e91,先补做新增提交分析再沿用本清单。
11. 本轮执行收口
- 回归结束时 HEAD 仍为
91829e91,提交分析范围未漂移。 - 真实 Provider 证据来自 DeepSeek 与 MiniMax;图片、多附件、恢复、权限拒绝、SubAgent、Task V2 与真实代码测试均未使用 mock。
- 完整重跑
check:desktop、check:server、check:provider-contract、check:chat-contract、check:adapters、check:native、check:coverage,均通过;check:impact仅因 CLI core 变更需要 PR 标签和维护者批准而处于 policy blocked,不是测试失败。 - 发布签字仍需处理本清单未勾选/partial 项;尤其 PET-02~05/07/09/10、WIN-02~05、CLI-01~03 和 H5 长连接资源风险不能从本轮证据外推为 passed。