feat(onboard/parity): 写入汇 WriteSink 与写入前计划 plan_onboarding,处置独立审查(P8c) #36
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/agent-client-parity-p8c"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
做了什么
P8c:一键接入的写入前计划(蓝图
agent-client-parityP8c 卡)。lib.rs新增写入汇WriteSink(read / write / exists)与真实写入DiskSink。接入包模板分发、蓝图规则同步、项目身份与兼容投影、Codex 托管块全部经写入汇读写,原入口改为DiskSink的薄包装,行为不变。onboard/plan.rs:记录汇PlanSink只记录、不落盘,后续步骤能读到前面步骤待写的内容。write_project_files是 plan 与 apply(P8d)共用的写入序列。plan_onboarding输出:codex_trust与next_actions;mcp_inject::plan_onboarding是生产入口。它在 P8e 加 MCP / Tauri 投影之前还没有调用方,输出也还不是外部契约。自验
cargo test:318 passed / 0 failed / 5 ignored;cargo check:0 warning。onboard::plan共 11 条测试,覆盖:DiskSink实际写入的文件集合、内容哈希一致;mcp_inject新增 3 条:Codex 信任表解析(真实 TOML 键写法、不按祖先目录判定)、git 主仓库根解析(真实 worktree)、token 步区分未配置和 needs_repair。credential_store新增 1 条:mcp_auth_token_state与get_or_create_mcp_auth_token的分支一一对应。审查处置(独立只读审查 04a0069,结论 fix_then_merge)
codex_trust,未信任只进next_actions,不阻断、不进 digest;映射抽成纯函数machine_step_blocker并补测试dispatch_one改用 read 判存在,已存在的非 UTF-8 文件从 skipped 变成 failed(生产路径回归)WriteSink::exists(),只判存在;全托管文件读不出仍记 failed;补 UTF-16 回归测试mcp_auth_token_state,needs_repair 记 needs_human(阻断)write_project_identity_files_with,inject 与 plan 共用before_sha256并进 digest;模块文档与卡片写明准确语义(报备:卡片自查的验收表述已改为准确语义���断言只增不减)WriteFailure,指向真正出错的文件;按(target, reason)去重没验什么
mcp_inject::plan_onboarding/plan_machine_steps的组装依赖真实凭据存储和用户目录,没有单测,也没有在运行中的炼境上跑过(P8e 才有投影)。其中的映射函数都已单测。codex mcp get --json为准。projects.'x'.trust_level不识别。路径比较不区分大小写,可能与 Codex 的精确字符串匹配有出入。.blueprint/manifest.yaml,卡片仍为 🔵,合并后由统筹会话标 ✅。🤖 Generated with Claude Code
- review:独立审查 9 条发现逐条处置(7 条已修并补测试,2 条信息项转入 known_limits / P8d)。 - 自查条目「任一目标文件变化 digest 就变 ✅」改为准确语义(只绑定计划会写入或核对的文件, update 另绑定写入前哈希);按纪律报备:改的是验收表述,断言只增不减。 - known_limits:onboard 反向依赖投影层(过渡态)、Codex 信任静态预判的边界、shim unavailable 不阻断、 bypassPermissions 未单列、plan_machine_steps 组装未单测。 - P8d 卡新增「审查转入」:bypass_permissions 单列、machine_changes 补产品组与 buff、.git/hooks,待统筹决定是否并入 acceptance。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>