Files
isphere-ai-bridge/docs/process/business-manager-review.md
2026-07-05 19:28:49 +08:00

355 lines
69 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Business Manager Review
## 2026-07-05 执行前审批
- 当前节点N0 -> N1 执行前审批;本轮只允许做 N0/N1 验证,不进入 N2。
- 本轮目标:
- N0确认项目方向已清理并锁定为 Go MCP + C# HelperPython MCP 不作为活动路径;本轮不恢复 Python MCP。
- N1只运行 `powershell -NoProfile -ExecutionPolicy Bypass -File scripts\verify-win-helper.ps1`,验收 `ok=true`,并确认 C# helper 四个只读 op 可用:`version` / `self_check` / `scan_windows` / `dump_uia`
- 明确禁止:不写 Go 代码、不创建 `go.mod`、不改 C#、不提交新功能、不做搜索/发送/文件/自动登录/注入/hook/读内存/规避安防。
- 业务判断:符合最终目标。先锁定 Go MCP + C# Helper 的边界,再验证既有 C# Helper 的只读能力,是进入 Go MCP 最小实现前必须完成的低风险前置动作,能够避免在基础能力不稳定时提前投入 Go 层开发。
- 是否跑偏:未跑偏。本轮只做方向确认和 helper 基线验证,没有扩大到 Python MCP、Go 开发或业务自动化能力。
- 是否过度设计:未过度设计。验收点集中在一个验证脚本和四个只读 op范围足够小符合最小闭环原则。
- 是否遗漏:业务侧无关键遗漏。需注意执行阶段只能产出 N0/N1 的证据结论;即使 N1 通过,也只代表允许申请下一轮评审,不代表本轮可直接进入 N2。
- 是否允许进入下一轮:允许进入本轮 N0/N1 验证执行;不批准进入 N2。
- 业务经理结论:批准执行 N0/N1。执行人必须严格按本轮边界验证不得新增实现、不恢复 Python MCP、不创建 Go 工程骨架。N1 通过后再提交下一轮进入 N2 的审批。
## 2026-07-05 N0/N1 终审
- 当前节点N0/N1 完成后的业务经理终审;评估是否允许下一轮进入 N2。
- 本轮目标:
- N0确认项目方向锁定为 Go MCP + C# Windows Helper排除 Python MCP 活动路径,确认 C# helper 文件存在且 Go/Python 工程骨架未提前出现。
- N1验证既有 C# helper 的四个只读 op`version` / `self_check` / `scan_windows` / `dump_uia`,并确认验证脚本输出 `ok=true`、helper 位于 `runs\win-helper\ISphereWinHelper.exe`、version 为 `0.1.0``scan_window_count` 为数字、`uia_available` 为有效布尔字段。
- 保持边界:本轮不得进入 N2不得新增搜索联系人、打开会话、发送消息、发送文件、接收文件、自动登录、注入、hook、读内存、规避安防等能力。
- 业务判断:通过本轮 N0/N1。N0 已证明方向和工作树边界符合“先 C# 只读 helper后 Go MCP”的最小路径N1 已证明 helper 基线可运行,四个只读能力具备继续被 Go 层包装的业务价值。pi 和 opencode 两轮审查均未发现阻塞项,非阻塞质量项不影响本轮基线通过。
- 是否跑偏:未跑偏。执行结果停留在 N0/N1 范围内,未创建 `go.mod`,未启动 Go module skeleton未恢复 Python MCP未引入联系人搜索、会话打开、消息/文件收发、自动登录或底层绕过能力。
- 是否过度设计:未过度设计。当前仍是一次性 C# CLI + 四个只读 op + PowerShell 验证脚本没有常驻服务、HTTP、named pipe、gRPC、插件框架、selector 学习系统或多余依赖。opencode 提到的 timeout、`--json`、envelope、全局节点上限、编译警告属于后续质量补强不构成本轮过度设计或返工理由。
- 是否遗漏无阻塞性业务遗漏。已覆盖本轮最关键的方向锁定、只读能力验证、边界确认和独立审查。需带入后续的非阻塞事项是N2 只能做 Go module skeleton后续 N3/N4 前再处理或明确 timeout、CLI 合约、响应 envelope、UIA 输出规模限制等质量项。
- 是否允许进入下一轮:允许进入下一轮,但只允许推进 N2Go module skeleton。N2 范围仅限确认 Go 工具链、创建最小 `go.mod`、模块名 `isphere-ai-bridge`、运行 `go version``go list ./...`;不得写 Go server、helper client、MCP tools不得新增依赖仍不得实现搜索/打开会话/发送/文件/自动登录/注入/hook/读内存/规避安防能力。
- 业务经理结论:批准 N0/N1 通过;不要求返工;不停止项目。下一轮可以只推进 N2Go module skeleton。N2 完成后必须再次提交审批,不能自动进入 N3 或更后节点。
## 2026-07-05 N2 执行前审批
- 当前节点:第二轮执行前审批;仅评估是否允许进入本轮 N2Go module skeleton不评估、不批准 N3。
- 本轮目标:
- 确认 Go 工具链可用:运行 `go version`
- 创建最小 `go.mod`module 名固定为 `isphere-ai-bridge`
- 运行 `go list ./...` 验证最小 Go module 可被 Go 工具链识别。
- 更新 `docs/process/go-implementation-log.md` 记录 N2 执行证据。
- 明确禁止:不创建 server code不创建 `cmd/isphere-mcp`,不创建 `internal/helperclient`,不创建 MCP tool handlers不添加 MCP 依赖,不改 C#,不恢复 Python MCP不提前实现搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存、规避安防。
- 业务判断符合最终目标。N2 只是在 N0/N1 已通过后建立 Go MCP 路线的最小工程入口,交付价值是让后续 Go 协议契约、helper client、MCP server 有明确模块边界;当前不进入业务能力实现,风险低、范围清晰。
- 是否跑偏:未跑偏。拟定动作与 N2 计划一致,只创建最小 `go.mod` 并做 Go 工具链验证,同时记录过程日志;没有进入 N3 的协议建模、N4 的 helper 调用、N7/N8 的 MCP server/tools也没有扩展到真实业务动作。
- 是否过度设计:未过度设计。本轮不引入依赖、不建目录框架、不写 server、不写 helper client、不做工具注册只保留 Go module skeleton符合最小闭环。
- 是否遗漏无阻塞性遗漏。N2 的关键前置是 N1 已通过,本轮已具备;关键验收是 `go version``go list ./...`、无 Python 文件、无额外依赖、无 server/tool 代码。执行人需把命令结果和文件边界写入 `docs/process/go-implementation-log.md`,并在失败时停止而不是扩大范围。
- 是否允许进入下一轮:允许进入本轮 N2 执行;不允许进入 N3。N2 完成后必须再次提交审批,不能自动开始 Go helper protocol contract、helper process client 或 MCP server 工作。
- 业务经理结论:批准本轮只执行 N2Go module skeleton。不要求返工不停止项目。执行范围仅限 Go 工具链确认、最小 `go.mod``go list ./...` 和 N2 过程日志;任何超出 N2 的代码、依赖、目录或业务能力都需另行审批。
## 2026-07-05 N2 终审
- 当前节点:第二轮 N2 Go module skeleton 完成后的业务经理终审;评估 N2 是否通过,以及是否允许下一轮进入 N3。
- 本轮目标:
- 在 N0/N1 已通过的前提下,只建立 Go MCP 路线的最小 Go module skeleton。
- 确认 Go 工具链可用:`go version` 输出 `go version go1.23.4 windows/amd64`
- 创建最小 `go.mod`,内容为 `module isphere-ai-bridge``go 1.23`,无 `require`
- 运行 `go list ./...`,输出 `matched no packages` warning 且退出码为 0符合无 package 骨架阶段的验收条件。
- 保持边界:不创建 `cmd/isphere-mcp``internal/helperclient``internal/tools``go.sum``.go` 文件,不改 C#,不恢复 Python MCP不实现搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存、规避安防。
- 业务判断N2 通过。当前产物只解决“Go 工程入口是否可用”这个最小业务前置问题,为下一步 Go helper protocol contract 提供模块根pi 和 opencode 两轮审查均确认无依赖、无 server/helper/tools 代码、无 N3 越界和无伪造验证,具备进入下一轮审批的条件。
- 是否跑偏:未跑偏。执行内容停留在 N2Go module skeleton没有提前进入 N3 的协议结构体和测试,没有进入 N4 的 C# helper 进程调用,也没有进入 N7/N8 的 MCP server 或工具处理器,更没有进入 N12 的真实登录 UIA 捕获。
- 是否过度设计:未过度设计。当前只有最小 `go.mod`,无 `require`、无 `go.sum`、无 Go 源码、无目录框架、无 MCP 依赖、无 server 空壳,符合“先建最小模块,再逐节点推进”的原则。
- 是否遗漏无阻塞性遗漏。N2 关键验收已覆盖Go 工具链存在、module 名正确、`go list ./...` 退出码为 0、无 Python MCP、无 N3/N4/N8/N12 越界文件或能力。`matched no packages` warning 在 N2 无 package 阶段可接受;`go.mod` 未跟踪是待后续按精确路径提交的流程事项,不影响业务通过。
- 是否允许进入下一轮:允许进入下一轮 N3但只允许做 N3 Go helper protocol contract。N3 必须是纯 JSON contract 测试,只能围绕 `isphere.helper.v1` 的请求/响应/error/warnings 字段做 marshal/unmarshal 测试;不得真实启动 C# helper不得实现 helper process client不得进入 N4不得创建 MCP server/tool handlers不得进入 N8/N12也不得批准搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存、规避安防。
- 业务经理结论:批准 N2 通过;不要求返工;不停止项目。下一轮可以只推进 N3Go helper protocol contract。N3 完成后必须再次提交业务终审,不能自动进入 N4 或更后节点。
## 2026-07-05 N3 执行前审批
- 当前节点:第三轮执行前审批;仅评估是否允许进入本轮 N3Go helper protocol contract不评估、不批准 N4。
- 本轮目标:
- 在 N2 Go module skeleton 已通过的前提下,创建 `internal/helperclient/contract.go``internal/helperclient/client_test.go`
- 只做 `isphere.helper.v1` 的纯 JSON 协议建模,定义 `HelperRequest` / `HelperResponse` / `HelperError`
- 字段覆盖:`protocol``request_id``op``timeout_ms``args``ok``data``error``warnings`
- 通过契约测试验证:`version` request marshal 后 `protocol="isphere.helper.v1"`success response unmarshal 后 `ok=true``data.helper_name="ISphereWinHelper"`error response unmarshal 后 `ok=false``error.code="WINDOW_NOT_FOUND"`unknown data fields 可保留为 map 或 raw JSON。
- 运行 `go test ./internal/helperclient -run Contract -v`,并更新 `docs/process/go-implementation-log.md` 记录 N3 执行证据。
- 明确禁止:不写 `internal/helperclient/client.go`,不启动真实 C# helper不实现进程调用不创建 MCP server 或 MCP tools不添加 MCP 依赖或其他外部依赖,不改 C#,不恢复 Python MCP不提前实现搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存、规避安防。
- 业务判断符合最终目标。N3 的交付价值是先把 Go 与 C# 之间的 `isphere.helper.v1` 数据契约固定下来,让后续 N4 进程调用有稳定输入输出模型;当前仍不触碰真实 helper、不触碰 UI、不触碰 MCP server 和业务动作,风险可控,顺序正确。
- 是否跑偏:未跑偏。拟定动作与 N3 计划一致,只做协议结构和纯 JSON marshal/unmarshal 契约测试;没有进入 N4 的 helper process client没有启动 C# helper没有进入 N7/N8 的 MCP server/tools也没有扩展到真实搜索、会话、消息或文件能力。
- 是否过度设计:未过度设计。本轮只允许最小 contract 文件和契约测试,不引入外部依赖、不加 MCP 框架、不设计 server、不做抽象层扩张、不创建业务工具符合“先契约、后进程调用”的最小闭环。
- 是否遗漏无阻塞性遗漏。N3 的关键前置是 N2 已通过且边界文档可用;关键验收是字段完整、成功/失败响应可解析、未知 data 字段可保留、测试为纯 JSON 且不真实启动 C# helper。执行人需在失败时停止并记录不得用真实 helper 调用或 N4 代码来补救 N3 测试。
- 是否允许进入下一轮:允许进入本轮 N3 执行;不允许进入 N4。N3 完成后必须再次提交审批,不能自动开始 helper process client、真实 helper 启动、MCP server、MCP tools 或任何业务动作能力。
- 业务经理结论:批准本轮只执行 N3Go helper protocol contract。不要求返工不停止项目。执行范围仅限 `isphere.helper.v1` 纯 JSON contract 建模、契约测试和 N3 过程日志;任何超出 N3 的进程调用、依赖、server/tool 或真实业务能力都需另行审批。
## 2026-07-05 N3 终审
- 当前节点:第三轮 N3 Go helper protocol contract 完成后的业务经理终审;评估 N3 是否通过,以及是否允许下一轮进入 N4。
- 本轮目标:
- 在 N2 已通过的前提下,只完成 `isphere.helper.v1` 的 Go 侧纯 JSON contract 建模。
- 新增 `internal/helperclient/contract.go``internal/helperclient/client_test.go`,定义 `HelperRequest` / `HelperResponse` / `HelperError`
- 字段覆盖 `protocol``request_id``op``timeout_ms``args``ok``data``error``warnings`
- 用纯 JSON 测试验证 version request marshal、success response unmarshal、error response unmarshal、unknown data fields 保留。
- 验证链路包含 Red`go test ./internal/helperclient -run Contract -v` 因缺少结构体失败Green`go test ./internal/helperclient -run Contract -v -count=1` 通过;补充:`go test ./... -count=1` 通过。
- 保持边界:不创建 `internal/helperclient/client.go`,不启动真实 C# helper不实现进程调用不创建 MCP server/tools不添加外部依赖不改 C#,不恢复 Python MCP不实现搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存、规避安防。
- 业务判断N3 通过。当前交付把 Go 与 C# 的协议边界从文档落到了最小 Go contract 和纯 JSON 测试上,为 N4 的进程调用提供必要前置pi 和 opencode 审查均确认 Contract 测试通过、unknown data 保留可信、无外部依赖、无 N4 越界和无真实 helper 启动,具备进入下一轮审批的条件。
- 是否跑偏:未跑偏。执行内容停留在 N3 的协议建模和 marshal/unmarshal 测试,没有提前实现 `client.go`、helper 进程调用、路径解析、stdin/stdout、timeout、stderr 捕获,也没有创建 MCP server/tools未跳到 N5/N8/N12。
- 是否过度设计:未过度设计。当前仅有最小 contract 文件和契约测试,没有 client interface、mock helper 框架、MCP 抽象、server skeleton、审计/审批目录或额外依赖;符合“先固定 JSON contract再做进程 client”的最小推进原则。
- 是否遗漏无阻塞性遗漏。N3 核心验收已覆盖字段完整、version request protocol、success response 的 ok/helper_name、error response 的 WINDOW_NOT_FOUND、unknown data fields 保留、纯 JSON 测试且不启动 C# helper。opencode 提到的 `timeout_ms` marshal 断言、response envelope 断言属于后续可补强的 contract 质量项,不影响本轮业务通过;若补强,也只能在 contract 测试内补,不得借此进入 N4 之外能力。
- 是否允许进入下一轮:允许进入下一轮 N4但只允许做 N4 Go helper process client。N4 范围应限于 `internal/helperclient/client.go``Client` / `Client.Call(ctx, op, args)`、helper exe 路径解析、以 `--json` 启动 helper、stdin/stdout JSON、stderr 捕获、context timeout、missing helper / bad JSON / timeout / non-zero exit 的结构化错误,以及在 helper 已构建时 real `version` call 验证。仍不得做 MCP server/tools不得进入 N5/N8/N12不得搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存、规避安防。
- 业务经理结论:批准 N3 通过;不要求返工;不停止项目。下一轮可以只推进 N4Go helper process client。N4 完成后必须再次提交业务终审,不能自动进入 N5 或更后节点。
## 2026-07-05 N4 执行前审批
- 当前节点:第四轮执行前审批;仅评估是否允许进入本轮 N4Go helper process client不评估、不批准 N5。
- 本轮目标:
- 在 N3 Go helper protocol contract 已通过、N1 C# helper 基线已验证的前提下,创建 `internal/helperclient/client.go`
-`internal/helperclient/client_test.go` 增加 Client 测试。
- 实现 `Client``Client.Call(ctx, op, args)`,让 Go 能以一次性进程方式调用 `ISphereWinHelper.exe --json`
- 只负责 helper exe 路径解析、以 `--json` 启动 helper、向 stdin 写 request JSON、读取 stdout、捕获 stderr、执行 context timeout、对 missing helper / timeout / bad JSON / non-zero exit 返回结构化 Go error。
- 在 helper 已由 N1 构建的前提下,验证真实 helper 的 `version` 调用返回 `ok=true`
- 运行 `go test ./internal/helperclient -run Client -v`,可额外运行 `go test ./... -count=1`,并更新 `docs/process/go-implementation-log.md` 记录 N4 执行证据。
- 明确禁止:不创建 MCP server不创建 MCP tools不修改 C# helper不添加 MCP 依赖或其他外部依赖,不复制 C# UIA 逻辑到 Go不点击/输入/发送/上传/下载,不提前实现搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存、规避安防。
- 业务判断符合最终目标。N4 的业务价值是把已通过的 Go JSON contract 与既有 C# helper 串成最小进程调用能力,为后续 live verification 和 MCP 包装打基础;当前仍不触碰 MCP server/tools也不引入业务动作只验证 helper 的只读 `version` 调用,边界清晰、风险可控。
- 是否跑偏:未跑偏。拟定动作与 N4 计划一致,只做 Go 到 C# helper 的一次性 process client没有进入 N5 的完整 live verification 节点,没有进入 N7/N8 的 MCP server/tools没有做 UIA 业务逻辑复制,也没有扩展到搜索、会话、消息或文件能力。
- 是否过度设计:未过度设计。本轮只允许 `internal/helperclient` 内的 process client 与对应测试不允许新增依赖、MCP 框架、server skeleton、工具注册、审计/审批目录或长期驻留通信机制;符合一次性 CLI 调用的最小闭环。
- 是否遗漏无阻塞性遗漏。N4 关键验收应覆盖 missing helper、bad JSON、timeout、non-zero exit 的结构化错误,以及真实 helper `version` 返回 `ok=true`;还需确认 timeout 后不泄漏 helper 进程、不要求管理员权限、不默认写日志/文件、不复制 C# UIA 逻辑。执行人需在失败时停止并记录,不得通过扩大到 N5/MCP/server/tool 或真实业务动作来补救。
- 是否允许进入下一轮:允许进入本轮 N4 执行;不允许进入 N5。N4 完成后必须再次提交审批,不能自动开始 Helper client live verification、MCP library decision、MCP server、MCP tools 或任何搜索/发送/文件/自动登录/注入/hook/读内存/规避安防能力。
- 业务经理结论:批准本轮只执行 N4Go helper process client。不要求返工不停止项目。执行范围仅限 helper process client、Client 测试、真实 `version` 只读调用验证和 N4 过程日志;任何超出 N4 的 MCP、业务动作或系统底层能力都需另行审批。
## 2026-07-05 N4 终审
- 当前节点:第四轮 N4 Go helper process client 完成后的业务经理终审;评估 N4 是否通过,以及是否允许下一轮进入 N5。
- 本轮目标:
- 在 N3 已通过、N1 C# helper 基线已验证的前提下,实现 Go helper process client。
- 新增/修改 `internal/helperclient/client.go``internal/helperclient/client_test.go`,实现 `Client``Client.Call(ctx, op, args)`
- 只承担 helper exe 路径解析、以 `--json` 启动 helper、向 stdin 写入 request JSON、读取 stdout、捕获 stderr、执行 context timeout、对 missing helper / timeout / bad JSON / non-zero exit 返回结构化 Go error。
- 验证真实 helper 的 `version` 调用,日志显示调用 `runs\win-helper\ISphereWinHelper.exe` 并返回 `helper_name=ISphereWinHelper`
- 验证链路包含 Red`go test ./internal/helperclient -run Client -v` 因缺少 `Client` / errors 失败Green`go test ./internal/helperclient -run Client -v -count=1` 五个 Client 测试全部 PASS补充`go test ./... -count=1` 通过;`go list -m all` 仅有 `isphere-ai-bridge`
- 保持边界:未创建 MCP server/tools/cmd未修改 C#,未添加依赖,未复制 C# UIA 逻辑,未实现搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存、规避安防。
- 业务判断N4 通过。当前交付把 N3 的 JSON contract 与 N1 的 C# helper 基线连接成最小 Go-to-C# 进程调用能力,且只验证只读 `version` 调用pi 和 opencode 审查均确认真实 helper 调用不是 skip、Client 测试通过、timeout 后未发现残留进程、stderr 捕获已验证、无外部依赖、无 MCP 和业务动作越界,具备进入下一轮审批的条件。
- 是否跑偏:未跑偏。执行内容停留在 N4 的 helper process client没有提前进入 N5 的完整 live verification 节点,没有进入 N6 的 MCP library decision没有创建 N8 的 MCP tools也没有进入 N12 的真实登录 UIA 捕获;未扩展到点击、输入、搜索、会话、消息或文件能力。
- 是否过度设计:未过度设计。当前仍是标准库进程调用和结构化错误处理,没有常驻 helper、HTTP、gRPC、named pipe、MCP 抽象、server skeleton、工具注册、审批/审计目录或额外框架;`Client.Call` 是通用 process client API不是业务动作 API。
- 是否遗漏无阻塞性遗漏。N4 核心验收已覆盖missing helper、bad JSON、timeout、non-zero exit/stderr、真实 helper `version` call、无进程残留、无管理员权限要求、无默认写日志/文件、无 UIA 逻辑复制。opencode 提到的 envelope/request id 校验、`--json` 和 stdin 请求内容更强断言、uuid-string 严格格式属于后续可补强质量项,不影响本轮业务通过;补强时仍不得扩大到 MCP 或业务动作能力。
- 是否允许进入下一轮:允许进入下一轮 N5但只允许做 N5 Helper client live verification。N5 范围只能运行 `powershell -NoProfile -ExecutionPolicy Bypass -File scripts\verify-win-helper.ps1``go test ./internal/helperclient -v`,确认 C# helper 单独通过、Go helper client 真实调用通过、测试输出包含真实 `version` call、且无 click/type/send/upload/download。N5 不写功能代码,不进入 N6不做 MCP library decision不创建 MCP server/tools不进入 N8/N12不批准搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存、规避安防。
- 业务经理结论:批准 N4 通过;不要求返工;不停止项目。下一轮可以只推进 N5Helper client live verification。N5 完成后必须再次提交业务终审,不能自动进入 N6 或更后节点。
## 2026-07-05 N5 执行前审批
- 当前节点:第五轮执行前审批;仅评估是否允许进入本轮 N5Helper client live verification不评估、不批准 N6。
- 本轮目标:
- 在 N4 Go helper process client 已通过的前提下,做 Go-to-C# 的真实本机联调验证。
- 运行 `powershell -NoProfile -ExecutionPolicy Bypass -File scripts\verify-win-helper.ps1`,确认 C# helper 单独验证退出 0。
- 运行 `go test ./internal/helperclient -v`,确认 Go helperclient 测试退出 0。
- 确认 Go 测试输出包含真实 `version` 调用,证明不是只靠 mock/stub 通过。
- 确认验证过程没有点击、输入、发送、上传、下载等 UI 或业务动作。
- 更新过程日志:至少更新 `docs/process/go-implementation-log.md`;如本轮重新参与并记录 C# helper 验证,则可更新 `docs/process/csharp-helper-log.md`
- 明确禁止:不写功能代码,不创建 MCP server/tools不添加依赖不改 C#,不进入 N6不提前实现搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存、规避安防。
- 业务判断符合最终目标。N5 的业务价值是把 C# helper 单独可用和 Go helper client 可真实调用这两个事实做一次端到端验证,确保后续 MCP 选型和包装不是建立在 mock 或局部测试上;本轮只验证现有能力,不新增功能,风险低、边界清晰。
- 是否跑偏:未跑偏。拟定动作与 N5 计划一致,只运行 PowerShell helper 验证和 Go helperclient 测试;没有进入 N6 的 MCP library decision没有创建 MCP server/tools也没有扩展到搜索、会话、消息、文件或真实 UI 操作能力。
- 是否过度设计:未过度设计。本轮不写代码、不加依赖、不加脚本框架、不做 server/tool 设计,只做两条既定验证命令和过程日志,符合 live verification 的最小闭环。
- 是否遗漏无阻塞性遗漏。N5 关键验收已覆盖PowerShell 验证退出 0、Go helperclient 测试退出 0、测试输出包含真实 `version` call、没有 click/type/send/upload/download。执行人还需在失败时停止并记录不能通过修改功能代码、进入 N6 或扩大到 MCP/server/tool 来补救。
- 是否允许进入下一轮:允许进入本轮 N5 执行;不允许进入 N6。N5 完成后必须再次提交审批,不能自动开始 MCP library decision、MCP server、MCP tools 或任何搜索/发送/文件/自动登录/注入/hook/读内存/规避安防能力。
- 业务经理结论:批准本轮只执行 N5Helper client live verification。不要求返工不停止项目。执行范围仅限 PowerShell helper 验证、Go helperclient 测试、真实 `version` 调用确认和过程日志;任何超出 N5 的 MCP 选型、功能代码或业务动作都需另行审批。
## 2026-07-05 N5 终审
- 当前节点:第五轮 N5 Helper client live verification 完成后的业务经理终审;评估 N5 是否通过,以及是否允许下一轮进入 N6。
- 本轮目标:
- 在 N4 已通过的前提下,只做 Go-to-C# 的真实本机联调验证,不写功能代码。
- 运行 `powershell -NoProfile -ExecutionPolicy Bypass -File scripts\verify-win-helper.ps1`,确认 C# helper 单体验证退出 0输出 `ok=true`、version `0.1.0``scan_window_count=30``uia_available=true`
- 运行 `go test ./internal/helperclient -v`,确认 Go helperclient 测试退出 0 且输出 PASS。
- 确认 Go 测试输出包含真实 helper version 调用:`real helper version ok: helper_name=ISphereWinHelper path=...runs\win-helper\ISphereWinHelper.exe`
- C# helper 验证仍只涉及 `version` / `self_check` / `scan_windows` / `dump_uia` 四个只读 op。
- 保持边界:本轮只追加过程日志,未改 Go/C# 功能代码,未创建 MCP server/tools/cmd未添加依赖未进入 N6未实现搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存、规避安防。
- 业务判断N5 通过。当前交付证明 C# helper 单体可用、Go helperclient 能真实调用已构建 helper且不是只靠 mock/stub 通过pi 和 opencode 审查均确认现场复跑通过、真实 helper 没有 skip、无 N6/N8 越界、无 MCP 依赖、无业务动作能力,具备进入下一轮审批的条件。
- 是否跑偏:未跑偏。执行内容停留在 N5 live verification没有开始 N6 的 MCP library decision没有创建 N7 的 MCP server skeleton没有创建 N8 的 MCP tools也没有进入 N12 的真实登录 UIA 捕获;验证过程未扩展到点击、输入、搜索、会话、消息、文件、自动登录或底层绕过能力。
- 是否过度设计:未过度设计。本轮只运行既定 PowerShell helper 验证和 Go helperclient 测试并追加过程日志没有新增依赖、脚本框架、MCP 方案、server/tool 设计、常驻服务或额外抽象。
- 是否遗漏无阻塞性遗漏。N5 核心验收已覆盖PowerShell helper 验证退出 0、Go helperclient 测试退出 0、Go 测试输出包含真实 `version` call、C# helper 单体验证覆盖四个只读 op、无 click/type/send/upload/download。`go test ./...``go list -m all` 的补充复核也显示 Go 测试通过且无外部依赖;工作树未提交属于流程提交事项,不影响业务通过。
- 是否允许进入下一轮:允许进入下一轮 N6但只允许做 N6 MCP library decision。N6 只能选择一个 Go MCP 方案或明确最小 stdio 实现,并回答 package/module name、stdio support、tool registration style、JSON schema support、maintenance risk、why enough for four tools可以产生短决策记录或依计划记录在实现提交中但不得写 server不得注册工具不得创建 MCP tools不得进入 N7/N8/N12不得批准搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存、规避安防。
- 业务经理结论:批准 N5 通过;不要求返工;不停止项目。下一轮可以只推进 N6MCP library decision。N6 完成后必须再次提交业务终审,不能自动进入 N7 或更后节点。
## 2026-07-05 N6 执行前审批
- 当前节点:第六轮执行前审批;仅评估是否允许进入本轮 N6MCP library decision不评估、不批准 N7。
- 本轮目标:
- 在 N5 Helper client live verification 已通过的前提下,选择 Go MCP server 的技术方案,但不写 server 代码。
- 评估一个 Go MCP 官方 SDK/库方案,或明确选择最小 stdio 方案。
- 必须记录决策字段:`package/module name``stdio support``tool registration style``JSON schema support``maintenance risk``why this is enough for four tools`
- 允许使用官方来源和 Go module 命令做核验;已核验资料显示 `github.com/modelcontextprotocol/go-sdk` 为官方 Go SDK具备 `mcp.NewServer``mcp.AddTool``mcp.StdioTransport` 等能力pkg.go.dev 也显示支持 client/server、Transport、StdioTransport、AddTool 自动 schema本机 Go 为 `go1.23.4 windows/amd64`,且 `go list -m -versions github.com/modelcontextprotocol/go-sdk` 可访问版本。
- 如果选择外部 SDK只允许添加对应 Go module 依赖;如果选择最小 stdio则不加依赖。
- 运行 `go list -m all` 做验收,并更新 `docs/process/go-implementation-log.md`;如确需短决策文档,可以创建极小文档,但不得创建大型架构文档。
- 明确禁止:不写 server code不创建 `cmd/isphere-mcp`,不创建 `internal/mcpserver``internal/tools`,不注册工具,不调用 C# helper不进入 N7不提前实现搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存、规避安防。
- 业务判断符合最终目标。N6 的业务价值是在写 MCP server 前先定清楚唯一 MCP 技术路线,避免后续同时引入多个框架或临时拼接协议;当前只做选型和依赖边界确认,不实现服务、不注册工具、不触碰业务动作,风险可控,顺序正确。
- 是否跑偏:未跑偏。拟定动作与 N6 计划一致,只做 MCP library decision没有进入 N7 的 Go MCP server skeleton没有创建 N8 的 tools也没有进入 N12 的真实登录 UIA 捕获;不调用 C# helper不扩大到搜索、会话、消息或文件能力。
- 是否过度设计:未过度设计。本轮只允许选择一个方案或最小 stdio并记录短决策不允许大型架构文档、多框架并行、server 空壳、工具注册、审批/审计抽象或额外业务层。若选官方 SDK只允许必要 module 依赖;若选最小 stdio则保持无依赖。
- 是否遗漏无阻塞性遗漏。N6 关键验收应覆盖:明确唯一方案、说明 stdio 支持、说明工具注册方式、说明 JSON schema 支持、说明维护风险、说明为什么足够四个只读工具,并用 `go list -m all` 证明只有一个 MCP 相关依赖或无外部 MCP 依赖。执行人需在发现 Windows 不可构建、强制后台 daemon、HTTP-only、或多个 MCP 包混入时停止并记录,不得通过直接写 server 或 tools 来绕过选型。
- 是否允许进入下一轮:允许进入本轮 N6 执行;不允许进入 N7。N6 完成后必须再次提交审批,不能自动开始 Go MCP server skeleton、tool registration、MCP handlers、C# helper 调用或任何搜索/发送/文件/自动登录/注入/hook/读内存/规避安防能力。
- 业务经理结论:批准本轮只执行 N6MCP library decision。不要求返工不停止项目。执行范围仅限 MCP 方案评估、唯一方案记录、必要依赖边界和 `go list -m all` 验收;任何超出 N6 的 server、tools、业务动作或底层能力都需另行审批。
## 2026-07-05 N6 终审
- 当前节点:第六轮 N6 MCP library decision 完成后的业务经理终审;评估 N6 是否通过,以及是否允许下一轮进入 N7。
- 本轮目标:
- 在 N5 已通过的前提下,只完成 Go MCP 技术方案选型,不写 server code不注册工具。
- 选择官方 Go MCP SDKmodule `github.com/modelcontextprotocol/go-sdk v1.3.1`package `github.com/modelcontextprotocol/go-sdk/mcp`
- 不选择 `v1.6.1` 或 pre-release本机为 `go1.23.4 windows/amd64``v1.6.1` 要求 `go 1.25.0`,当前节点不升级工具链。
- 已记录决策字段package/module name、stdio support、tool registration style、JSON schema support、maintenance risk、why enough for four tools。
- 已用 `go doc` 验证 `mcp.StdioTransport``mcp.AddTool``mcp.NewServer` 可用;已用 `go list -m all` 验证只有一个 MCP-related dependency。
- 产物集中在 `docs/go-mcp-library-decision.md``go.mod``go.sum``docs/process/go-implementation-log.md`;未写 server code未创建 `cmd/isphere-mcp``internal/mcpserver``internal/tools`,未注册工具,未调用 C# helper未修改 C#。
- 业务判断N6 通过。当前交付把后续 MCP server 的技术路线固定为官方 Go SDK 的一个兼容版本,且明确了 stdio、typed tool registration、JSON schema 和维护风险pi 与 opencode 审查均确认字段完整、`go test ./...` 通过、`go.sum` 只含 SDK v1.3.1、无 N7/N8 越界、无 C# 或脚本修改,具备进入下一轮审批的条件。
- 是否跑偏:未跑偏。执行内容停留在 N6 library decision没有创建 N7 的 server skeleton没有创建 N8 的 tools没有进入 N9 smoke verification 或 N12 真实登录 UIA 捕获;也没有调用 C# helper、注册工具或扩展到搜索、会话、消息、文件、自动登录或底层绕过能力。
- 是否过度设计:未过度设计。只选择一个官方 SDK 版本并创建极小决策文档,没有多 MCP 框架并行、HTTP/gRPC/named pipe、后台 daemon、server 目录、tools 目录、审批/审计抽象或大型架构文档。SDK 的传递依赖来自官方 module graph不等于引入第二套 MCP 方案。
- 是否遗漏无阻塞性遗漏。N6 核心验收已覆盖:唯一 MCP 方案、stdio support、tool registration style、JSON schema support、maintenance risk、四个工具适配理由、`go list -m all` 验收、Windows Go 版本兼容判断、未引入 HTTP-only/daemon/Python/Node 路径。`go.mod` 中 SDK 暂为 indirect 是因为 N6 不允许写 import后续 N7/N8 首次使用时可自然调整,不影响业务通过。
- 是否允许进入下一轮:允许进入下一轮 N7但只允许做 N7 Go MCP server skeleton。N7 范围应限于创建 `cmd/isphere-mcp/main.go`,必要时创建极小 `internal/mcpserver/server.go`,让 Go binary 可以构建并以 stdio server 方式启动;不得注册四个真实 tools除非 SDK 强制必须有工具时也应尽量避免真实 handler 并保持 placeholder-free不得进入 N8不得创建 `internal/tools`,不得调用 C# helper不得进入 N9/N12不得批准搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存、规避安防。
- 业务经理结论:批准 N6 通过;不要求返工;不停止项目。下一轮可以只推进 N7Go MCP server skeleton。N7 完成后必须再次提交业务终审,不能自动进入 N8 或更后节点。
## 2026-07-05 N7 执行前审批
- 当前节点:第七轮执行前审批;仅评估是否允许进入本轮 N7Go MCP server skeleton不评估、不批准 N8。
- 本轮目标:
- 在 N6 MCP library decision 已通过的前提下,使用已选定的官方 Go MCP SDK 创建最小 MCP stdio server skeleton。
- 创建 `cmd/isphere-mcp/main.go`
- 可选创建 `internal/mcpserver/server.go` 和极小 server construction 测试,前提是为了保持 `main.go` 小且可测。
- 使用 N6 选定 SDK 构造 MCP server并支持 stdio mode 启动。
- 运行 `go test ./...``go build ./cmd/isphere-mcp`
- 明确禁止:不注册四个真实 `win_helper_*` tools不创建 `internal/tools`,不调用 C# helper不实现 tool handlers不进入 N8不新增第二个 MCP SDK不恢复 Python MCP不提前实现搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存、规避安防。
- 业务判断符合最终目标。N7 的业务价值是把 N6 选定的 MCP SDK 落成一个可构建、可启动的最小 stdio server 壳,为后续 N8 注册四个只读工具做运行入口;当前仍不暴露工具、不调用 helper、不触碰业务动作边界清晰、顺序正确。
- 是否跑偏:未跑偏。拟定动作与 N7 计划一致,只做 server skeleton 和构建验证;没有进入 N8 的工具注册和 tool handler没有调用 C# helper没有进入 N9 smoke verification 或 N12 真实登录 UIA 捕获,也没有扩展到搜索、会话、消息、文件、自动登录或底层绕过能力。
- 是否过度设计:未过度设计。本轮只允许最小 `cmd/isphere-mcp/main.go`,可选极小 `internal/mcpserver/server.go` 和 construction 测试;不允许第二个 MCP SDK、HTTP/gRPC/named pipe、后台 daemon、工具目录、审批/审计抽象、大型架构文档或业务工具层。
- 是否遗漏无阻塞性遗漏。N7 关键验收应覆盖:`go test ./...` 通过、`go build ./cmd/isphere-mcp` 通过、server 以 stdio mode 为目标、不需要 Python runtime、不在简单 server construction 测试中启动 C# helper、不启动 HTTP listener。若 SDK 强制必须有工具,应尽量不注册真实工具,且不得实现真实 handler 或进入 N8。
- 是否允许进入下一轮:允许进入本轮 N7 执行;不允许进入 N8。N7 完成后必须再次提交审批,不能自动开始四个真实 tool 注册、`internal/tools`、helper handler、Go-to-C# tool 调用、MCP smoke verification 或任何搜索/发送/文件/自动登录/注入/hook/读内存/规避安防能力。
- 业务经理结论:批准本轮只执行 N7Go MCP server skeleton。不要求返工不停止项目。执行范围仅限 MCP stdio server skeleton、可选极小 server construction 测试、`go test ./...``go build ./cmd/isphere-mcp`;任何超出 N7 的 tools、helper 调用、N8/N9/N12 或业务动作都需另行审批。
## 2026-07-05 N7 终审
- 当前节点:第七轮 N7 Go MCP server skeleton 完成后的业务经理终审;评估 N7 是否通过,以及是否允许下一轮进入 N8。
- 本轮目标:
- 在 N6 已通过的前提下,只创建最小 Go MCP stdio server skeleton。
- 新增/修改 `cmd/isphere-mcp/main.go``internal/mcpserver/server.go``internal/mcpserver/server_test.go``go.mod``go.sum` 和 Go 过程日志。
- 使用 N6 选定的官方 Go MCP SDK 构造空 MCP server并以 stdio mode 作为启动方式。
- Red`go test ./internal/mcpserver -v``undefined: NewServer` 失败Green`go test ./internal/mcpserver -v -count=1` PASS`go test ./... -count=1` PASS`go build ./cmd/isphere-mcp` PASS临时 exe 已删除。
- 保持边界:未创建 `internal/tools`,无 `AddTool` / tool registration无 helperclient import未调用 C# helper未改 C#,未新增第二套 MCP 框架,未实现搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存、规避安防。
- 业务判断N7 通过。当前交付把 N6 选定的 MCP SDK 落成了可测试、可构建的最小 stdio server 壳,为后续 N8 注册四个只读 WinHelper tools 提供入口pi 和 opencode 审查均确认测试/build 通过、无 N8 越界、无 helper 启动、无 HTTP/gRPC/named pipe/Python runtime、无第二套 MCP 框架,具备进入下一轮审批的条件。
- 是否跑偏:未跑偏。执行内容停留在 N7 server skeleton没有注册四个真实 `win_helper_*` tools没有创建 `internal/tools`,没有实现 tool handlers没有调用 C# helper没有进入 N9 smoke verification 或 N12 真实登录 UIA 捕获,也没有扩展到搜索、会话、消息、文件、自动登录或底层绕过能力。
- 是否过度设计:未过度设计。当前只有 `cmd/isphere-mcp` 和极小 `internal/mcpserver`,测试只验证空 server 可构造;没有业务 tool 层、HTTP listener、gRPC、named pipe、后台 daemon、审批/审计抽象、复杂配置系统、大型架构文档或第二套 MCP 框架。`go.mod/go.sum` 的变化属于首次 import SDK 后的必要 module 元数据,不构成过度设计。
- 是否遗漏无阻塞性遗漏。N7 核心验收已覆盖:`go test ./...` 通过、`go build ./cmd/isphere-mcp` 通过、server 面向 stdio mode、不需要 Python runtime、简单 server construction 测试不启动 C# helper、不启动 HTTP listener、构建产物已清理。`go test ./...` 包含既有 helperclient 测试可能触发真实 helper version这不影响 N7 专项 server construction 边界;后续如需验证 server metadata可在不进入工具注册的前提下补强。
- 是否允许进入下一轮:允许进入下一轮 N8但只能做四个只读 MCP tool handlers`win_helper_version``win_helper_self_check``win_helper_scan_windows``win_helper_dump_uia`。N8 必须只创建/维护 `internal/tools` 相关 tool definitions 和测试tool handlers 只能通过 `internal/helperclient` 调用 helper op不得新增第五个工具不得实现搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存、规避安防不得进入 N9/N12。
- 业务经理结论:批准 N7 通过;不要求返工;不停止项目。下一轮可以只推进 N8Four read-only MCP tool handlers。N8 完成后必须再次提交业务终审,不能自动进入 N9 或更后节点。
## 2026-07-05 N8 执行前审批
- 当前节点:第八轮执行前审批;仅评估是否允许进入本轮 N8Four read-only MCP tool handlers不评估、不批准 N9。
- 本轮目标:
- 在 N7 Go MCP server skeleton 已通过、`internal/helperclient` 已通过的前提下,创建 `internal/tools/winhelper.go``internal/tools/winhelper_test.go`
- 注册且只注册四个只读 MCP tools`win_helper_version``win_helper_self_check``win_helper_scan_windows``win_helper_dump_uia`
- 工具映射必须固定为:`win_helper_version -> version``win_helper_self_check -> self_check``win_helper_scan_windows -> scan_windows``win_helper_dump_uia -> dump_uia`
- handlers 必须通过 `internal/helperclient` 调用,不得直接做 UIA、窗口枚举、控件树遍历或其他 Windows 操作逻辑。
- schema 参数只允许scan 使用 `include_all_visible`dump 使用 `hwnd``max_depth``include_text``max_children`version/self_check 不应引入业务动作参数。
- 运行 `go test ./internal/tools -v``go test ./...`
- 明确禁止:不添加第五个工具,不实现搜索联系人、打开会话、发送消息、发送文件、接收文件,不自动登录,不注入、不 hook、不读内存、不规避安防不让 handler 点击、输入、发送、上传、下载或编辑文件,不绕过 `internal/helperclient`,不进入 N9。
- 业务判断符合最终目标。N8 的业务价值是把前期已验证的 C# helper 四个只读 op 暴露为 MCP 工具,形成第一阶段最小可用工具面;范围限定为四个只读能力,且通过 helperclient 统一调用,能保持 Go/C# 分层和后续审计边界。
- 是否跑偏:未跑偏。拟定动作与 N8 计划一致,只做四个只读 WinHelper MCP tools没有进入 N9 smoke verification没有进入 N12 真实登录 UIA 捕获,也没有扩展到联系人搜索、会话打开、消息/文件收发、自动登录或底层绕过能力。
- 是否过度设计:未过度设计。本轮只允许一个 `internal/tools` 包和对应测试,不允许第五个工具、业务动作工具、独立 UIA/窗口逻辑、第二套 MCP SDK、额外服务框架、审批/审计大框架或复杂抽象;四个工具正好对应已验证的四个只读 helper op。
- 是否遗漏无阻塞性遗漏。N8 关键验收应覆盖注册工具数量恰好为四个、工具名完全匹配、tool schema 只包含允许参数、handler 映射到正确 helper op、handler 通过 `internal/helperclient` 调用、没有 send/search/file 工具、没有点击/输入/发送/上传/下载/编辑文件行为。执行人需在发现第五个工具、直接 UIA 逻辑或绕过 helperclient 时停止并记录。
- 是否允许进入下一轮:允许进入本轮 N8 执行;不允许进入 N9。N8 完成后必须再次提交审批,不能自动开始 MCP stdio smoke verification、`scripts/verify-go-mcp.ps1`、真实 MCP client 调用、N12 真实登录 UIA 捕获或任何搜索/发送/文件/自动登录/注入/hook/读内存/规避安防能力。
- 业务经理结论:批准本轮只执行 N8Four read-only MCP tool handlers。不要求返工不停止项目。执行范围仅限四个只读 tool definitions/handlers、`internal/tools` 测试、`go test ./internal/tools -v``go test ./...`;任何超出 N8 的第五工具、业务动作、N9/N12 或底层能力都需另行审批。
## 2026-07-05 N8 终审
- 当前节点:第八轮 N8 Four read-only MCP tool handlers 完成后的业务经理终审;评估 N8 是否通过,以及是否允许下一轮进入 N9。
- 本轮目标:
- 在 N7 已通过的前提下,只创建四个只读 WinHelper MCP tool handlers。
- 新增/修改 `internal/tools/winhelper.go``internal/tools/winhelper_test.go`,并接入 `internal/mcpserver/server.go` / `server_test.go`
- 只注册四个工具:`win_helper_version``win_helper_self_check``win_helper_scan_windows``win_helper_dump_uia`
- 工具映射固定为:`win_helper_version -> version``win_helper_self_check -> self_check``win_helper_scan_windows -> scan_windows``win_helper_dump_uia -> dump_uia`
- handler 通过 `HelperCaller` / `internal/helperclient` 调用,不直接实现 UIA、WindowScanner、UiaDumper、user32、FindWindow、SendKeys 等窗口或控件逻辑。
- schema 范围符合计划version/self_check 无业务参数scan 只有 `include_all_visible`dump 只有 `hwnd``max_depth``include_text``max_children`
- Redtools 测试因 undefined 实现失败mcpserver WinHelper 测试因空工具名失败Green`go test ./internal/tools -v -count=1` PASS`go test ./... -count=1` PASS。
- 保持边界:未创建 N9 script未新增第五个工具未实现 search/open/send/file/login未修改 C# 或脚本未实现点击、输入、发送、上传、下载、编辑文件、注入、hook、读内存、规避安防。
- 业务判断N8 通过。当前交付把前期已验证的四个 C# helper 只读 op 暴露成 MCP 工具形成第一阶段最小工具面pi 和 opencode 审查均确认工具数量、名称、op 映射、schema 参数和 helperclient 调用链符合计划,现场测试通过,且无第五工具、无直接 UI 操作、无 N9 越界,具备进入下一轮审批的条件。
- 是否跑偏:未跑偏。执行内容停留在 N8 四个只读 tool handlers没有创建 `scripts/verify-go-mcp.ps1`,没有进入 N9 smoke verification没有进入 N10 runbook 或 N12 真实登录 UIA 捕获;也没有扩展到联系人搜索、会话打开、消息/文件收发、自动登录或底层绕过能力。
- 是否过度设计:未过度设计。当前只新增 `internal/tools` 和必要的 mcpserver 接入测试,没有第五个工具、业务动作工具、独立 UIA/窗口逻辑、第二套 MCP SDK、额外服务框架、审批/审计大框架或复杂抽象;四个工具正好对应第一阶段四个只读 helper op。
- 是否遗漏无阻塞性遗漏。N8 核心验收已覆盖工具数量恰好四个、工具名完全匹配、schema 只含允许参数、handler 映射到正确 helper op、handler 通过 `internal/helperclient` 调用、没有 send/search/file 工具、没有点击/输入/发送/上传/下载/编辑文件行为。真实 MCP stdio smoke 和真实 `win_helper_version` 通过 MCP 返回 `ISphereWinHelper` 是 N9 范围,不构成本轮遗漏。
- 是否允许进入下一轮:允许进入下一轮 N9但只能做 MCP stdio smoke verification。N9 可创建 `scripts/verify-go-mcp.ps1`,用于构建 C# helper、构建 Go MCP binary、通过 stdio 或 SDK test harness 列出 tools、确认四个工具存在、至少调用 `win_helper_version` 并确认返回 `ISphereWinHelper`;不得实现新工具,不得新增第五个工具,不得加入搜索/会话/发送/文件/自动登录/注入/hook/读内存/规避安防能力,不得进入 N10/N12。
- 业务经理结论:批准 N8 通过;不要求返工;不停止项目。下一轮可以只推进 N9MCP stdio smoke verification。N9 完成后必须再次提交业务终审,不能自动进入 N10 或更后节点。
## 2026-07-05 N9 执行前审批
- 当前节点:第九轮执行前审批;仅评估是否允许进入本轮 N9MCP stdio smoke verification不评估、不批准 N10。
- 本轮目标:
- 在 N8 Four read-only MCP tool handlers 已通过的前提下,只做 MCP stdio smoke verification。
- 创建 `scripts/verify-go-mcp.ps1`,作为可重复本地验证命令。
- 脚本自动构建 C# helper自动构建 Go MCP binary。
- 脚本通过 MCP stdio 或 SDK/test harness 自动 list tools确认四个工具存在且仅限当前阶段四个工具。
- 至少调用 `win_helper_version`,确认返回 `ISphereWinHelper`
- 输出包含 `{"ok":true}` 或等价 JSON 成功结果。
- 运行 `powershell -NoProfile -ExecutionPolicy Bypass -File scripts\verify-go-mcp.ps1`,并更新过程日志。
- 明确禁止:不实现新工具,不改四个 tool handlers 的业务范围不实现搜索、发送、文件、自动登录、注入、hook、读内存不需要真实 iSphere 登录,不进入 N10。
- 业务判断符合最终目标。N9 的业务价值是把 N7 的 stdio server 壳和 N8 的四个只读工具做一次自动化烟测,证明二进制能通过 MCP 通道暴露预期工具并调用最小只读 `version` 能力;当前只验证已有能力,不新增业务功能,边界清晰、风险可控。
- 是否跑偏:未跑偏。拟定动作与 N9 计划一致,只创建并运行 smoke verification 脚本;没有进入 N10 runbook/process scripts没有进入 N12 真实登录 UIA 捕获,也没有扩展到搜索、会话、发送、文件、自动登录或底层绕过能力。
- 是否过度设计:未过度设计。本轮只允许一个验证脚本和过程日志,不允许新增工具、改 handler 范围、引入第二套 MCP 框架、创建复杂测试平台、要求人工交互或真实 iSphere 登录;构建 helper 和 Go binary、list tools、调用 `win_helper_version` 已足够验证当前阶段交付。
- 是否遗漏无阻塞性遗漏。N9 关键验收应覆盖:脚本退出 0、输出 `ok=true` 或等价 JSON、四个工具名存在且无第五工具、`win_helper_version` 返回 `ISphereWinHelper`、无需真实 iSphere 登录、无 message/file/search action、验证不需要手工交互、无需 Python。执行人若发现 tool listing 不能自动化、验证需要手动操作、或 C# helper/Go MCP 任一构建失败,应停止并记录,不能通过新增工具或扩大业务动作来补救。
- 是否允许进入下一轮:允许进入本轮 N9 执行;不允许进入 N10。N9 完成后必须再次提交审批,不能自动开始 operator runbook、README 更新、N12 真实登录 UIA 捕获、搜索/发送/文件/自动登录/注入/hook/读内存/规避安防能力。
- 业务经理结论:批准本轮只执行 N9MCP stdio smoke verification。不要求返工不停止项目。执行范围仅限 `scripts/verify-go-mcp.ps1`、自动构建/列工具/调用 `win_helper_version`、成功 JSON 输出和过程日志;任何超出 N9 的新工具、业务动作、N10/N12 或底层能力都需另行审批。
## 2026-07-05 N9 终审
- 当前节点:第九轮 N9 MCP stdio smoke verification 完成后的业务经理终审;评估 N9 是否通过,以及是否允许下一轮进入 N10。
- 本轮目标:
- 在 N8 已通过的前提下,只做 MCP smoke verification不新增工具、不扩展业务能力。
- 创建 `scripts/verify-go-mcp.ps1`
- 脚本构建 C# helper构建 Go MCP binary并通过官方 Go MCP SDK harness 自动执行 initialize/connect、tools/list、tools/call `win_helper_version`
- 脚本执行 `powershell -NoProfile -ExecutionPolicy Bypass -File scripts\verify-go-mcp.ps1` 退出 0。
- 输出包含 C# helper 构建成功、Go MCP binary 构建成功、`ok=true``helper_name=ISphereWinHelper``tool_count=4`、四个工具名、`python_runtime_required=false``real_isphere_login_required=false``action_tools_present=false`
- 保持边界:未进入 N10无 runbook未实现新工具未修改四个 tool handlers 的业务范围未实现搜索、发送、文件、自动登录、注入、hook、读内存不需要真实 iSphere 登录。
- 业务判断N9 通过。当前交付提供了可重复的 Go MCP 验证脚本,能证明 C# helper 可构建、Go MCP binary 可构建、MCP 层可列出四个工具并调用最小只读 `win_helper_version` 返回 `ISphereWinHelper`pi 和 opencode 审查均确认脚本不是裸硬编码 `ok=true`有工具名、tool_count、helper_name 和 action tools 断言,无 N10 runbook 和业务动作越界,具备进入下一轮审批的条件。
- 是否跑偏:未跑偏。执行内容停留在 N9 smoke verification没有创建 `docs/go-mcp-runbook.md` 或 README runbook 内容,没有进入 N10/N11/N12也没有新增工具、改变 handler 范围、要求真实 iSphere 登录、扩展到搜索/会话/发送/文件/自动登录或底层绕过能力。
- 是否过度设计:未过度设计。本轮只新增一个验证脚本和过程日志,脚本使用计划允许的 SDK/test harness 路径完成 initialize/list/call 验证没有新增服务、daemon、HTTP/gRPC/named pipe、第二套 MCP 框架、复杂验证平台或运行手册。PowerShell 直接 stdio 的 BOM 问题通过计划允许的 harness 路径解决,不构成过度设计。
- 是否遗漏无阻塞性遗漏。N9 核心验收已覆盖:脚本退出 0、输出成功 JSON、四个工具名存在且 tool_count=4、`win_helper_version` 返回 `ISphereWinHelper`、无需真实 iSphere 登录、无需 Python、无 message/file/search action。pi/opencode 未复跑完整脚本是因为只读审查约束避免创建临时构建产物,属于非阻塞观察;实现日志已记录完整脚本 green 执行证据。
- 是否允许进入下一轮:允许进入下一轮 N10但只允许做 Operator runbook and process scripts。N10 可创建 `docs/go-mcp-runbook.md`,必要时更新 README内容应覆盖构建 C# helper、验证 C# helper、构建 Go MCP、验证 Go MCP、配置 MCP client command、允许工具、明确非目标、真实登录 UIA capture procedure。不得实现新功能不得新增工具不得进入 N11/N12不得实现搜索联系人、打开会话、发送消息、发送/接收文件、自动登录、注入、hook、读内存、规避安防。
- 业务经理结论:批准 N9 通过;不要求返工;不停止项目。下一轮可以只推进 N10Operator runbook and process scripts。N10 完成后必须再次提交业务终审,不能自动进入 N11 或更后节点。
## 2026-07-05 N10 执行前审批
- 当前节点:第十轮执行前审批;仅评估是否允许进入本轮 N10Operator runbook and process scripts不评估、不批准 N11。
- 本轮目标:
- 在 N9 MCP stdio smoke verification 已通过的前提下,只创建操作者运行手册和必要过程说明,让人类操作者不用读代码也能运行第一阶段工具。
- 创建 `docs/go-mcp-runbook.md`
- 仅在确有必要时更新 `README.md`,不得把 README 扩成大型文档。
- Runbook 必须包含Build C# helper、Verify C# helper、Build Go MCP、Verify Go MCP、Configure MCP client command、Allowed tools、Explicit non-goals、Real-login UIA capture procedure。
- Runbook 必须包含 exact commands`powershell -NoProfile -ExecutionPolicy Bypass -File scripts\verify-win-helper.ps1``go test ./...``go build ./cmd/isphere-mcp``powershell -NoProfile -ExecutionPolicy Bypass -File scripts\verify-go-mcp.ps1`
- Runbook 必须明确边界no login automation、no send message、no send file、no receive/download file、no process injection、no hook、no memory reading。
- 更新过程日志。
- 明确禁止:不实现新功能,不改 MCP tool handlers不新增工具不进入 N11不真实采集 iSphere 登录数据不实现搜索、发送、文件、自动登录、注入、hook、读内存。
- 业务判断符合最终目标。N10 的业务价值是把已经验证通过的 C# helper、Go MCP binary、四个只读工具和验证脚本整理成可操作手册降低交付使用门槛当前只做文档化和边界说明不新增能力风险低、交付价值明确。
- 是否跑偏:未跑偏。拟定动作与 N10 计划一致,只创建 runbook 和必要 README 摘要;没有进入 N11 commit/review checkpoint没有进入 N12 真实登录 UIA 捕获,也没有实现搜索、发送、文件、自动登录或底层绕过能力。
- 是否过度设计:未过度设计。本轮只允许一个操作 runbook 和必要 README 更新,不允许大型架构文档、额外脚本框架、功能代码、工具扩展或真实采集;手册内容聚焦构建、验证、配置、允许工具、非目标和后续真实登录 UIA 捕获流程。
- 是否遗漏无阻塞性遗漏。N10 关键验收应覆盖四条 exact commands、四个允许工具、明确 non-goals、MCP client command 配置、真实登录 UIA capture procedure以及 no login automation/no send message/no send file/no receive/download file/no process injection/no hook/no memory reading 等边界。若 runbook 暗示 Python MCP 必需、暗示已支持发送、或遗漏未来发送审批边界,应停止并修正。
- 是否允许进入下一轮:允许进入本轮 N10 执行;不允许进入 N11。N10 完成后必须再次提交审批,不能自动开始 commit/review checkpoint、N12 真实登录 UIA 捕获、搜索/发送/文件/自动登录/注入/hook/读内存/规避安防能力。
- 业务经理结论:批准本轮只执行 N10Operator runbook and process scripts。不要求返工不停止项目。执行范围仅限 `docs/go-mcp-runbook.md`、必要 README 更新和过程日志;任何超出 N10 的功能代码、工具扩展、真实采集、N11/N12 或底层能力都需另行审批。
## 2026-07-05 N10 终审
- 当前节点:第十轮 N10 Operator runbook and process scripts 完成后的业务经理终审;评估 N10 是否通过,以及是否允许下一轮进入 N11。
- 本轮目标:
- 在 N9 已通过的前提下,只创建操作者运行手册和必要过程说明。
- 创建 `docs/go-mcp-runbook.md`README 未修改。
- Runbook 覆盖 Build C# helper、Verify C# helper、Build Go MCP、Verify Go MCP、Configure MCP client command、Allowed tools、Explicit non-goals、Real-login UIA capture procedure。
- Runbook 包含四条 exact commands`powershell -NoProfile -ExecutionPolicy Bypass -File scripts\verify-win-helper.ps1``go test ./...``go build ./cmd/isphere-mcp``powershell -NoProfile -ExecutionPolicy Bypass -File scripts\verify-go-mcp.ps1`
- Runbook 明确边界no login automation、no send message、no send file、no receive/download file、no process injection、no hook、no memory reading。
- 保持边界:未改功能代码、未改 MCP tool handlers、未新增工具、未改 C#、未进入 N11/N12未真实采集 iSphere 登录数据。
- 业务判断N10 通过。当前交付把已验证的 C# helper、Go MCP、四个只读工具、验证命令和使用边界整理为操作者可执行手册降低交付使用门槛pi 和 opencode 审查均确认 runbook 要求齐全、未暗示 Python MCP 或发送/搜索/文件能力已实现、无 README/功能/C#/依赖/脚本越界,具备进入下一轮审批的条件。
- 是否跑偏:未跑偏。执行内容停留在 runbook不进入 N11 commit checkpoint不进入 N12 真实采集,不实现新功能或业务动作。
- 是否过度设计:未过度设计。仅创建 `docs/go-mcp-runbook.md`README 未修改,没有大型文档体系、额外脚本框架或功能扩展。
- 是否遗漏无阻塞性遗漏。四条命令、允许工具、明确非目标、MCP client command、real-login UIA capture procedure 和关键安全边界均已覆盖。后续提交状态清理属于 N11 范围,不构成本轮遗漏。
- 是否允许进入下一轮:允许进入下一轮 N11但只允许做 Commit and review checkpoint。N11 应运行验证命令、检查 `git status --short`、按计划做小提交/审查 checkpoint不得进入 N12不得真实采集 iSphere 登录数据,不得实现搜索/发送/文件/自动登录/注入/hook/读内存/规避安防。
- 业务经理结论:批准 N10 通过;不要求返工;不停止项目。下一轮可以只推进 N11Commit and review checkpoint。N11 完成后必须再次提交业务终审,不能自动进入 N12。
## 2026-07-05 N11 执行前审批
- 当前节点:第十一轮执行前审批;仅评估是否允许进入本轮 N11Commit and review checkpoint不评估、不批准 N12。
- 本轮目标:
- 在 N10 Operator runbook 已通过终审的前提下,冻结第一阶段 Go MCP 产物,避免在真实 iSphere 数据引入前继续积累未提交变更。
- 运行验证命令:`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`
- 精确 stage 允许文件,禁止 `git add -A` 或 broad stage不得提交 build 临时产物。
- 提交当前 N0-N10 产物,保持提交范围清晰。
- N11 审查完成后保证最终工作区 clean如审查日志追加造成 dirty应在同一 N11 内做最终 process checkpoint 精确提交。
- 明确禁止:不进入 N12不真实采集 iSphere 登录 UIA不实现新功能不新增工具不改四个 tool handlers 的业务范围不实现搜索、发送、文件、自动登录、注入、hook、读内存。
- 业务判断:允许进入本轮 N11。N11 的业务价值是把 N0-N10 已验收的第一阶段成果固化为可审查、可回滚、可交付的 Git checkpoint并在 N12 真实登录 UIA capture gate 前建立干净边界;本轮目标符合最终目标,不新增业务能力,只做验证、精确提交和审查闭环。
- 是否跑偏:未跑偏。拟定动作与 N11 计划一致,聚焦验证命令、状态检查、精确 stage、小提交和审查 checkpoint没有进入 N12没有真实采集登录态 UIA也没有扩大到搜索/会话/发送/文件/自动登录或底层绕过能力。
- 是否过度设计:未过度设计。两段提交节奏属于 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。
- 业务经理结论:批准本轮只执行 N11Commit 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 0C# helper 和 Go MCP smoke 均返回 ok=trueGo 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 可见主窗口后,再单独提交执行前审批。