docs: record final go mcp checkpoint reviews

This commit is contained in:
zhaoyilun
2026-07-05 19:28:49 +08:00
parent 57f1d429bb
commit bbd2be876c
3 changed files with 94 additions and 1 deletions

View File

@@ -429,3 +429,50 @@
### 结论
- 第十轮 N10 结果与计划一致:新增 operator runbook覆盖构建、验证、MCP client 配置、四个只读工具、非目标边界和未来 real-login UIA capture procedureREADME 未改,功能代码未改,未新增依赖或脚本,未进入 N11。
- 未发现过度设计、不必要依赖、Go/C# 边界混乱、伪造验证、硬编码假通过或暗示未实现业务能力。
## 2026-07-05 第十一轮 N11-A Commit/review checkpoint 审查记录
### 审查文件
- docs/go-mcp-minimal-plan.md重点复核 N11 Commit and review checkpoint、N12 Real logged-in UIA capture gate
- docs/process/go-implementation-log.md复核 N11-A verification and precise commit 记录)
- git log --oneline -8 / git show --stat --name-only / git show --name-status 输出
- cmd/isphere-mcp/main.go
- internal/helperclient/client.go / contract.go
- internal/mcpserver/server.go
- internal/tools/winhelper.go
- scripts/verify-go-mcp.ps1
- go.mod / go.sum
- git status / git ls-files / Select-String / go list / go test / go build 输出
### 结构问题
- N11-A 提交链存在且顺序清晰:`63cda71 docs: add go mcp plan and process logs``8956f33 feat: add go helper client and mcp tools``17fa9dd test: add go mcp verification script``57f1d42 docs: add go mcp runbook`
- N11-A 后初始 `git status --short --untracked-files=all` 无输出;在本审查追加前工作区是 clean。
- 四个提交未包含 C# helper 修改;`git show --name-only``native/ISphereWinHelper/*` 无输出。
- 未发现提交 build 产物:`git ls-files``.exe/.dll/.pdb/.zip/.bin/.obj/.o/.test/.log` 等后缀无命中;根目录 `isphere-mcp.exe` 不存在tracked `runs/` 只有 `runs/.gitkeep`
- 未发现进入 N12没有 tracked `runs/real-loggedin-lab/*`,未采集真实登录 UIA当前工具仍仅为 scan/dump 两个只读能力可用于未来 N12 gate。
- 提交粒度有一个非阻塞质量项:`8956f33` 将 go.mod、helperclient、mcpserver、tools 和测试合并为一个 1014 行 Go feature 提交,`63cda71` 将计划和多份过程日志合并为 2272 行 docs/process 提交;如果团队要求严格逐节点/逐层审计,可进一步拆分。但从 N11-A “精确提交 N0-N10 产物”角度看,提交边界仍按 docs / Go feature / verification script / runbook 分组,未混入无关文件。
### 代码问题
- Go/C# 边界清晰Go 侧 `internal/helperclient.Client` 只通过进程 stdin/stdout JSON 调用 `runs\win-helper\ISphereWinHelper.exe --json`Go 侧未复制 C# `WindowScanner``UiaDumper`、UIA 或 Win32 实现。
- `internal/mcpserver.NewServer()` 仅创建 stdio MCP server 并注册 WinHelper tools`cmd/isphere-mcp/main.go` 只运行 `mcp.StdioTransport`,没有 HTTP/gRPC/named pipe/daemon。
- `internal/tools/winhelper.go``mcp.AddTool` 数量为 4工具名仅为 `win_helper_version``win_helper_self_check``win_helper_scan_windows``win_helper_dump_uia`
- 禁止能力抽查无实现命中:未发现 `win_helper_send``win_helper_file``win_helper_login``search_contacts``open_conversation``send_message``send_file``receive_file``download_file``FindWindow``SendKeys``user32``ReadProcessMemory``SetWindowsHookEx` 等实现痕迹;`autologin` 只出现在 `verify-go-mcp.ps1` 的 forbiddenTerms 检查中。
- 未发现 Python MCP 回流:`git ls-files -- src/isphere_ai_bridge/* tests/test_*.py` 无输出。
- 依赖控制合理:`go.mod` 只有一个 direct require `github.com/modelcontextprotocol/go-sdk v1.3.1`;其余为 SDK 间接依赖,未发现第二套 MCP 框架或额外业务依赖。
- 未发现伪造、硬编码假通过:`verify-go-mcp.ps1` 通过 SDK harness 实际列工具并调用 `win_helper_version``tool_count``helper_name``action_tools_present=false` 都来自校验逻辑N11-A 日志记录 verify-win-helper、verify-go-mcp、go test、go build 均退出 0。
### 测试问题
- 已复核 `go list -m all`:退出码 `0`MCP-related dependency 为 `github.com/modelcontextprotocol/go-sdk v1.3.1`,其余为传递依赖。
- 已复核 `go test ./... -count=1``cmd/isphere-mcp [no test files]``internal/helperclient` PASS`internal/mcpserver` PASS`internal/tools` PASS退出码 `0`
- 已复核 `go build -o NUL ./cmd/isphere-mcp`:退出码 `0`,未在工作区留下 `isphere-mcp.exe` 或其他构建产物。
- 已复核运行测试/构建后 `git status --short --untracked-files=all` 仍无输出;本审查追加前工作区保持 clean。
- 本轮未重跑 `verify-win-helper.ps1``verify-go-mcp.ps1`,因为只读审查不应重新生成 helper/binary/harness 产物N11-A 过程日志已经记录两者退出 0 和关键 JSON 输出,本轮用 Go 测试、NUL build、git 状态和静态边界复核补充验证。
### 是否建议返工
- 不建议返工。
- 非阻塞建议:如果后续 reviewer 要求更强的逐节点审计,可考虑在不改变内容的前提下重排/拆分 `8956f33``63cda71` 的提交粒度;当前不建议为了提交粒度返工或重写历史。
- 继续保持 N11 边界,等待业务经理批准后才进入 N12不要真实采集登录 UIA不要新增搜索/会话/发送/文件/自动登录等业务能力。
### 结论
- 第十一轮 N11-A 结果与计划总体一致:验证记录齐全,四个提交按文档/Go 功能/验证脚本/runbook 分组N11-A 后工作区 clean未提交 build 产物,未改 C#,未恢复 Python MCP未进入 N12。
- 未发现过度设计、不必要依赖、Go/C# 边界混乱、伪造验证、硬编码假通过或业务动作越界。