跳转至

Reviewer A 独立初审:root 实验与 18–20

结论:FAIL,需要修正两处文档不一致后复验。 审查者 A 未编写 root 的实验代码与 18–20 文档;本记录只包括已经存在的这三章和实验,不声明尚未写出的 21–26 已检查。2026-10-03 初次发现原文保存在下方,作者后续修改不回写本报告为初次 PASS。

F-A5:20.4 的固定 Python SDK 链接路径不存在

原文链接为 https://github.com/deepseek-ai/deepseek-harness/tree/639ed015397290b3745d163aafe02ffee4aa3f84/packages/sdk/python-sdk。

依据:固定 tag 的 git ls-tree -r --name-only 639ed015397290b3745d163aafe02ffee4aa3f84 列出五个 SDK 文件位于 python/sdk/src/deepseek_harness/;packages/sdk/ 只有 client/protocol/server,没有 python-sdk。vendor SOURCE.json 中五个文件名、tag/commit 与真实 python/sdk 文件对应。本章声称原样保留官方源码,就必须把来源链接指向真实路径。

修复建议:改为 fixed-commit tree/.../python/sdk 或五个 blob/.../python/sdk/src/deepseek_harness/*.py 链接,无需改实验代码。

F-A6:20.3 说 demo 打印了实际上没有打印的字段

原文:“打印 sessionId、finalResponse、requests、tools、end reason。”

依据:examples/src/offline-demo.ts 当前打印 result.finalResponse,然后 JSON 仅含 requests、eventTypes、sessionId。tools 与 end reason 不在其输出;sdk-runtime.test.mjs 确实断言 tool/result 与 turn/end.data.reason.kind,但不能把测试断言说成 demo 输出。

修复建议:文案改为对应实际输出,随后说明 end reason 的检查来自 integration test;无需为文案新增不必要的代码改动。

已读与待复验范围

完整阅读实验 src/ 九个文件、三个 test 文件与 Python notes-agent.py;对照 fixed rc.2 packages/sdk/client/src/api.ts、launch.ts 与 python/sdk/src/deepseek_harness/api.py、client.py 的 launch/env 路径,确认官方 profile+显式 patch、TS env 替代而 Python env 合并、receipt→idle 活动区间、原始 turn reason、预算只统计 entered steps 的语义与教程一致。

18 的 service/provider/consumer、copy/freeze、opaque id、schema/业务校验、生命周期撤销与副作用不回滚;19 两个 persistent shell rows 禁用而 host subprocess service 仍在、整份 config 替换、home/cwd/processCwd 区别、WeakMap turn budget 保留完整 next decision、正常 close 后日志读取;20 Messages/SSE fixture 纵切面与 coverage 限制均未发现其他阻断问题。18–20 合计四个图已对照实际执行顺序,未把 prompt policy 画成权限边界。

正在独立运行已有 18 项实验测试,原输出写入 reviewer-a-labs-test.txt。只跑课程自建离线实验,无付费调用、无全仓测试、不修改 root 源码。平台、第三方模型质量、cold resume、timeout wrapper 等未覆盖范围仍不得由通过数量推导。

实际运行结果追加:18 tests / 18 pass / 0 fail,8.08 秒,完整原输出如上。测试通过不能关闭 F-A5/F-A6 的文档错误。

后续读到 21–26 的整合问题(待作者实现后再复验)

F-A7:26.2 初稿把 hook/mod 差异写成“tag行为”→“有相关兼容/生态演进”,没有点明两个 Claude JS Mods 包在 rc.2 完全不存在。完整 git diff 表明 experimental/claude-code-mods 与 experimental/client-ui-claude-code-mods 是 main 新增,而 CC/Codex 命令桥生产 index 没有本次变更。应明确“rc.2 有命令 hooks、无 JS Mods;main 新增 Mods/UI”,避免读者按 rc.2 npm实验加载不存在的包。26.4 “Python官方release晚于npm”也应写成研究时发布版本落后,避免与发布时间混淆。

F-A8:22–23 草稿承诺 DSH 全仓清单、源码阅读页与课程可复建,但审查时构建脚本仍为 Pi 模板:prepare_course.py 的 SELECTED 是 Pi packages/ai、coding-agent 等路径,release 是 v1.0.0、生成 main-vs-1.0;assemble_course.py ORDER 指向本课程不存在的旧 Pi 章节;source reader 返回旧 17-source-map。作者整合工作尚未完成,不能因为有脚本文件就称这些交付已通过。必须改为 DSH 快照/章节,再实际构建、检查原码/归档、公网字节;后续复审不以这份草稿阶段失败结束任务。