feat(onboard/parity): 一键接入 plan_onboarding / onboard_project 的 MCP 与 Tauri 投影,Codex 信任计 pending_user(P8e) #40

Merged
lanrtop merged 1 commits from feat/agent-client-parity-p8e into master 2026-10-03 21:14:07 +08:00
Owner

做了什么(agent-client-parity P8e:一键接入投影收口与契约同步)

  • MCP 工具 plan_onboarding(readOnly)与 onboard_project(idempotent、写操作):schema 单独成函数,dispatch 一行委托到 mcp_inject::plan_onboarding / mcp_inject::onboard_project;全局与项目路由都可见,项目路由强制本项目、跨项目返回 scope_violation;onboard_project 的 required 含 expected_digest 与 confirmed;可选 bypass_permissions 与 skip_targets(只允许 manual_entry / shared_key),plan 与 apply 选项不一致即 digest 不符。描述要求先把计划给用户看、确认后再调用。两者进 STRUCTURED_TOOLS。
  • Tauri async 命令(async fn + spawn_blocking)与 src/lib/commands.ts 封装。
  • 统筹决定(P8d 审查 ⑩):L1 的 Codex 列仅因 codex_project_untrusted 未就绪的格不计入 done,completion 单列 pending_user「Codex 信任」,next_actions 保留 codex_trust(设计 Q5,炼境不写 Codex 信任表);非 git 目录仍不能 done;仓库子目录与 worktree 给出 next_action repo_layout 说明原因。
  • 契约同步:docs/ai-context/project-context.yaml、docs/ai-context/agent-button-system.md、AGENTS.md 架构速查。

自验

  • 全量 cargo test 413 passed / 0 failed / 6 ignored,0 warning;cargo test mcp_tools 40 passed(新增 5 条),onboard::report 新增 4 条、onboard::apply 新增 2 条。
  • pnpm typecheck 通过;pnpm test(vitest)4 个文件 16 条通过;改动的 Rust 文件 rustfmt --check 无差异。
  • 变异验证三轮共 10 处全部被测试捕获。

审查处置

独立审查结论:可合并(3 条低、5 条信息)。修复阶段的 agent 在 180 秒无进展判定下连续卡死,统筹会话按授权规则(审查结论可合并即合并)直接以已审查的 97578b2 开 PR;低与信息项转后续小修(未完成的修复半成品保留在 worktree,未提交):

  • 低:测试替身 Codex L1 事实与生产路径不一致(测试层);计划静态预判与 L1 冲突时 next_action 文案;plan_onboarding 的 content 只有摘要,依赖 structuredContent 的细节(MCP 规范建议同时返回序列化 JSON,属所有结构化工具的共性,另立小修)。
  • 信息:onboard_project 开放项目路由的理由未写进注释与契约;repo_layout 应只在 hook 检查未就绪时给出;L1 证实 Codex 已生效时去掉残留的 codex_trust;文档与 P8d known_limits 原文不一致;分发模板仍引导用 inject_mcp / apply_onboarding_pack(改模板需升版本)。

没验什么

  • [MCP 全局] acceptance(对 enterprise plan 全 noop、apply done 全 converged)与端到端(新登记项目 register_project → plan_onboarding → onboard_project)待合并、运行中的炼境重编译后由统筹会话实测。
  • 上面列出的低与信息项未修。

🤖 Generated with Claude Code

## 做了什么(agent-client-parity P8e:一键接入投影收口与契约同步) - MCP 工具 `plan_onboarding`(readOnly)与 `onboard_project`(idempotent、写操作):schema 单独成函数,dispatch 一行委托到 `mcp_inject::plan_onboarding` / `mcp_inject::onboard_project`;全局与项目路由都可见,项目路由强制本项目、跨项目返回 scope_violation;`onboard_project` 的 required 含 `expected_digest` 与 `confirmed`;可选 `bypass_permissions` 与 `skip_targets`(只允许 manual_entry / shared_key),plan 与 apply 选项不一致即 digest 不符。描述要求先把计划给用户看、确认后再调用。两者进 STRUCTURED_TOOLS。 - Tauri async 命令(async fn + spawn_blocking)与 `src/lib/commands.ts` 封装。 - 统筹决定(P8d 审查 ⑩):L1 的 Codex 列仅因 `codex_project_untrusted` 未就绪的格不计入 done,completion 单列 pending_user「Codex 信任」,next_actions 保留 codex_trust(设计 Q5,炼境不写 Codex 信任表);非 git 目录仍不能 done;仓库子目录与 worktree 给出 next_action `repo_layout` 说明原因。 - 契约同步:`docs/ai-context/project-context.yaml`、`docs/ai-context/agent-button-system.md`、AGENTS.md 架构速查。 ## 自验 - 全量 cargo test 413 passed / 0 failed / 6 ignored,0 warning;cargo test mcp_tools 40 passed(新增 5 条),onboard::report 新增 4 条、onboard::apply 新增 2 条。 - pnpm typecheck 通过;pnpm test(vitest)4 个文件 16 条通过;改动的 Rust 文件 rustfmt --check 无差异。 - 变异验证三轮共 10 处全部被测试捕获。 ## 审查处置 独立审查结论:可合并(3 条低、5 条信息)。修复阶段的 agent 在 180 秒无进展判定下连续卡死,统筹会话按授权规则(审查结论可合并即合并)直接以已审查的 97578b2 开 PR;低与信息项转后续小修(未完成的修复半成品保留在 worktree,未提交): - 低:测试替身 Codex L1 事实与生产路径不一致(测试层);计划静态预判与 L1 冲突时 next_action 文案;plan_onboarding 的 content 只有摘要,依赖 structuredContent 的细节(MCP 规范建议同时返回序列化 JSON,属所有结构化工具的共性,另立小修)。 - 信息:onboard_project 开放项目路由的理由未写进注释与契约;repo_layout 应只在 hook 检查未就绪时给出;L1 证实 Codex 已生效时去掉残留的 codex_trust;文档与 P8d known_limits 原文不一致;分发模板仍引导用 inject_mcp / apply_onboarding_pack(改模板需升版本)。 ## 没验什么 - [MCP 全局] acceptance(对 enterprise plan 全 noop、apply done 全 converged)与端到端(新登记项目 register_project → plan_onboarding → onboard_project)待合并、运行中的炼境重编译后由统筹会话实测。 - 上面列出的低与信息项未修。 🤖 Generated with [Claude Code](https://claude.com/claude-code)
lanrtop added 1 commit 2026-10-03 20:52:02 +08:00
feat(onboard/parity): 一键接入 MCP 与 Tauri 投影、Codex 信任计 pending_user 与仓库布局说明(P8e)
All checks were successful
Push & PR Check / check (push) Successful in 1m27s
Push & PR Check / check (pull_request) Successful in 1m6s
97578b2261
- MCP 新增 plan_onboarding(readOnly)与 onboard_project(幂等写操作):schema 各自单独成函数,
  dispatch 一行委托到 mcp_inject 生产入口(中间只做 JSON 类型解析);全局与项目路由都可见,
  项目路由强制本项目、跨项目返回 scope_violation;onboard_project required 含 expected_digest
  与 confirmed;共用可选选项 bypass_permissions / skip_targets;进 STRUCTURED_TOOLS 并给一行摘要
- Tauri 新增同名 async 命令(async fn + spawn_blocking),commands.ts 同步 OnboardOptions、
  OnboardingPlan、OnboardReport 类型与 planOnboarding / onboardProject 封装
- 统筹决定(P8d 审查 ⑩):L1 Codex 列仅因 codex_project_untrusted 未就绪的格不计入 done,
  completion 单列「Codex 信任」(pending_user),next_actions 保留 codex_trust;仓库子目录与
  worktree 补 next_action repo_layout 说明为何到不了 done;非 git 维持不能 done
- 契约同步:project-context.yaml、agent-button-system.md、AGENTS.md 架构速查;P8d 卡记统筹决定落地
- cargo test 413 passed / 0 failed / 6 ignored;pnpm typecheck、pnpm test 通过;三轮 10 处变异全部被杀

Feature-Confirmed: true
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
lanrtop merged commit d7f481616a into master 2026-10-03 21:14:07 +08:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: lanrtop/dev-manager-tauri#40
No description provided.