docs: record final go mcp checkpoint reviews
This commit is contained in:
@@ -337,4 +337,19 @@
|
||||
- 是否过度设计:未过度设计。两段提交节奏属于 N11 审查闭环的必要安排:先提交 N0-N10 产物,再提交审查过程中追加的 process logs,目的是避免“审查后又 dirty”的流程缺口;不引入额外架构、功能、工具或复杂发布流程。
|
||||
- 是否遗漏:无阻塞性遗漏。N11 需要补齐的关键验收已覆盖:四条验证命令、`git status --short`、精确 stage、禁止 broad stage、禁止 build 临时产物、提交范围清晰、最终 clean。若任一验证失败、出现无关生成物被 staged、工作区残留非 `runs/` 构建输出、或出现 Python MCP/search/send/file tools,应停止并返工。
|
||||
- 是否允许进入下一轮:允许进入本轮 N11 执行;不允许进入 N12。N11 只能做 Commit and review checkpoint,完成后必须再次提交业务终审,不能自动开始 real logged-in UIA capture gate。
|
||||
- 业务经理结论:批准本轮只执行 N11:Commit and review checkpoint。批准“两段提交节奏”:A. 实现智能体先运行验证并精确提交 N0-N10 产物;B. pi/opencode/业务经理审查追加各自日志后,由实现智能体在同一 N11 内做最终 process checkpoint 精确提交,再由主协调核对 `git status --short` clean。不要求替代节奏;若无法保持精确 stage 或最终 clean,应停止并报告。
|
||||
- 业务经理结论:批准本轮只执行 N11:Commit and review checkpoint。批准“两段提交节奏”:A. 实现智能体先运行验证并精确提交 N0-N10 产物;B. pi/opencode/业务经理审查追加各自日志后,由实现智能体在同一 N11 内做最终 process checkpoint 精确提交,再由主协调核对 `git status --short` clean。不要求替代节奏;若无法保持精确 stage 或最终 clean,应停止并报告。
|
||||
## 2026-07-05 N11 终审
|
||||
|
||||
- 当前节点:第十一轮 N11 Commit and review checkpoint 终审;评估 N11-A 验证与提交是否通过,是否批准 N11-B 最终 process checkpoint 提交,以及是否允许实际进入 N12。
|
||||
- 本轮目标:
|
||||
- 在 N10 已通过的前提下,冻结第一阶段 Go MCP 产物,在真实 iSphere 数据引入前形成可审查、可回滚、可交付的 Git checkpoint。
|
||||
- N11-A 已运行验证命令:`powershell -NoProfile -ExecutionPolicy Bypass -File scripts\verify-win-helper.ps1`、`powershell -NoProfile -ExecutionPolicy Bypass -File scripts\verify-go-mcp.ps1`、`go test ./...`、`go build ./cmd/isphere-mcp`,并检查 `git status --short`。
|
||||
- N11-A 已通过精确 stage 提交 N0-N10 产物,形成四个提交:`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`。
|
||||
- 审查阶段按既定两段节奏追加 `docs/process/pi-review.md`、`docs/process/opencode-review.md`,本终审追加 `docs/process/business-manager-review.md`;因此仍需 N11-B 做最终 process checkpoint 精确提交并核对 clean。
|
||||
- 明确禁止:不得真实采集 iSphere 登录 UIA,不得搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存或规避安防。
|
||||
- 业务判断:N11-A 通过,N11 业务目标已基本达成,允许执行 N11-B 收尾。验证命令均记录为 exit 0,C# helper 和 Go MCP smoke 均返回 ok=true,Go test/build 通过,临时 exe 已删除;四个提交按文档、Go helper/MCP、验证脚本、runbook 分组,pi 和 opencode 均认为低风险/不建议返工,未发现 build 产物、Python MCP、search/send/file tools、N12 真实采集或越界能力。
|
||||
- 是否跑偏:未跑偏。N11-A 只做验证、精确提交和 checkpoint;审查阶段只追加过程文档;没有进入 N12,没有真实采集登录 UIA,没有新增工具或业务动作,没有扩大四个只读工具的范围。
|
||||
- 是否过度设计:未过度设计。两段提交节奏已按执行前审批用于解决审查日志追加后的 dirty 问题;提交粒度虽被 opencode 记录为略粗,但仍按交付类型分组,未混入无关文件,属于非阻塞质量观察,不构成返工理由。
|
||||
- 是否遗漏:无阻塞性遗漏。N11 验证、提交、临时产物清理、Python MCP 缺失确认、无 search/send/file tools 等关键验收已有审查证据;唯一剩余事项是 N11-B 将审查追加的 process docs 精确提交并核对 `git status --short` clean,这属于已批准两段节奏的收尾,不是 N11 业务目标缺口。若 N11-B 后仍非 clean、出现 broad stage、提交 build 产物或出现 N12/业务动作文件,应立即停止并返工。
|
||||
- 是否允许进入下一轮:不允许实际进入 N12,停止在 N12 前。原因是当前事实没有用户已手动登录并打开 iSphere 主窗口的前置条件;即使 N11-B 完成 clean,也只能进入“等待用户手动登录/打开 iSphere 并重新发起 N12 执行前审批”的状态,不能自动开始 real logged-in UIA capture。
|
||||
- 业务经理结论:批准 N11-A 通过;批准执行 N11-B 最终 process checkpoint 精确提交,提交范围仅限审查阶段追加/修改的 process docs,并由主协调核对 `git status --short` clean。不要求返工,不停止项目本身;但明确不批准实际进入 N12,不得真实采集、不得搜索/发送/文件/自动登录/注入/hook/读内存。N12 必须等待用户手动登录并打开 iSphere 可见主窗口后,再单独提交执行前审批。
|
||||
@@ -429,3 +429,50 @@
|
||||
### 结论
|
||||
- 第十轮 N10 结果与计划一致:新增 operator runbook,覆盖构建、验证、MCP client 配置、四个只读工具、非目标边界和未来 real-login UIA capture procedure;README 未改,功能代码未改,未新增依赖或脚本,未进入 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# 边界混乱、伪造验证、硬编码假通过或业务动作越界。
|
||||
|
||||
@@ -312,3 +312,34 @@ N0/N1 的实现与验证证据可信;未发现硬编码成功、伪造测试
|
||||
- 风险等级:低。
|
||||
- 是否阻止进入下一轮:不阻止进入下一轮审批;N11 仍需业务经理单独批准后再执行。
|
||||
- 结论:N10 runbook 文档覆盖计划要求的命令、允许工具、MCP client command、explicit non-goals、real-login UIA capture procedure;未发现硬编码成功、伪造验证、Python MCP 必需表述、发送/搜索/文件能力已实现暗示、README 修改、提交或 N11 越界迹象。
|
||||
|
||||
## 2026-07-05 第十一轮 N11-A pi 审查
|
||||
|
||||
- 审查范围:
|
||||
- `docs/go-mcp-minimal-plan.md` 的 N11 Commit and review checkpoint 节点。
|
||||
- `docs/process/go-implementation-log.md` 的 N11-A 验证与精确提交记录。
|
||||
- `git status --short --untracked-files=all`、`git log --oneline -8`。
|
||||
- 四个 N11-A 提交:`63cda71`、`8956f33`、`17fa9dd`、`57f1d42` 的 `git show --stat --name-only` / `--shortstat`。
|
||||
- `git ls-files` 对 Python MCP 路径与构建产物的检查。
|
||||
- Go 源码中 `mcp.AddTool`、四个工具名与禁止能力关键词的 PowerShell `Select-String` 检查;未使用 `rg`。
|
||||
- 现场复核 `go test ./... -count=1`。
|
||||
- 审查证据:
|
||||
- N11-A 前置状态复核:追加本审查前,`git status --short --untracked-files=all` 无输出,符合 N11-A 后 clean worktree 报告。
|
||||
- 最近提交为:`57f1d42 docs: add go mcp runbook`、`17fa9dd test: add go mcp verification script`、`8956f33 feat: add go helper client and mcp tools`、`63cda71 docs: add go mcp plan and process logs`。
|
||||
- 提交范围与主题匹配:
|
||||
- `63cda71` 仅包含 plan/library-decision/process review/log 文档。
|
||||
- `8956f33` 包含 Go module、helperclient、mcpserver、tools 与 cmd 入口。
|
||||
- `17fa9dd` 仅包含 `scripts/verify-go-mcp.ps1`。
|
||||
- `57f1d42` 仅包含 `docs/go-mcp-runbook.md`。
|
||||
- 未发现提交临时 build 产物:HEAD 中仅有 `runs/.gitkeep` 命中 runs/exe 相关检查;`isphere-mcp.exe` 与 `cmd\isphere-mcp\isphere-mcp.exe` 均不存在。
|
||||
- 未发现 Python MCP 文件:`git ls-files -- 'src/isphere_ai_bridge/*' 'tests/test_*.py' '*.py'` 无输出。
|
||||
- 现场复核 `go test ./... -count=1` 退出 0:`cmd/isphere-mcp [no test files]`,`internal/helperclient`、`internal/mcpserver`、`internal/tools` 均 ok。
|
||||
- 生产 Go 源码 `mcp.AddTool` 数量为 4,工具名仅为 `win_helper_version`、`win_helper_self_check`、`win_helper_scan_windows`、`win_helper_dump_uia`。
|
||||
- 生产 Go 源码禁止能力关键词检查未命中 SearchContact/OpenSession/SendMessage/SendFile/ReceiveFile/Upload/Download/auto login/process injection/ReadProcessMemory/OpenProcess/WriteProcessMemory/CreateRemoteThread/SetWindowsHookEx/SendKeys/UIAutomation/AutomationElement/FindWindow 等实现。
|
||||
- `docs/process/go-implementation-log.md` 记录 N11-A 已运行 `verify-win-helper.ps1`、`verify-go-mcp.ps1`、`go test ./...`、`go build ./cmd/isphere-mcp`,并清理顶层 `isphere-mcp.exe`;本轮 pi 审查未复跑会创建/重写构建产物的 helper/MCP build 脚本,仅复跑不会在仓库留下产物的 `go test`。
|
||||
- 发现的问题:
|
||||
- 未发现阻塞问题。
|
||||
- 观察项:`63cda71` 文档提交插入量较大,但文件类型均为计划/过程/审查文档,未混入功能代码或构建产物;属于 N0-N10 累积过程日志归档。
|
||||
- 风险等级:低。
|
||||
- 是否阻止进入下一轮:不阻止 N11-B / 下一步流程 checkpoint;但不代表允许进入 N12,真实登录 UIA 采集仍需单独审批。
|
||||
- 结论:N11-A 验证与提交记录可信;四个提交按文档、Go helper/MCP、验证脚本、runbook 分组,未发现 broad stage 混入临时 exe 或无关产物;当前无 Python MCP、无 search/send/file action tools、无 N12 真实登录 UIA 采集或越界能力迹象。
|
||||
|
||||
Reference in New Issue
Block a user