dev-manager-tauri/docs/ai-context
lanrtop c9b951dd30
All checks were successful
Push & PR Check / check (push) Successful in 1m2s
Push & PR Check / check (pull_request) Successful in 1m5s
fix(onboarding/parity): 混合文件预警收窄空白归一、失败时不丢预警、测住改写判断(P10 审查修复)
P10 审查核实的三处缺陷:

- 块外比较原先逐行 trim_end 并丢弃全部空行,项目在块外删空行(Markdown 两段
  并成一段)或加行尾空格(硬换行)时判为无改动,升级后不预警却产生混合文件。
  改为 CRLF 统一为 LF、托管块原位换成占位符,只把文末占位符连同其前空白按
  trim_end 归一(正好抵消炼境追加托管块时的 trim_end + 空行);文中托管块两侧
  的空行与行尾空格照常比较——炼境只原位替换文中的块,不碰两侧。
- dispatch_templates_with_mixed_file_check 先 `then()?` 后标注:buff 先同步蓝图
  规则改写了 AGENTS.md/CLAUDE.md、再写 DB 失败时,预警随 Err 一起丢失。改为
  无论成败先标注,失败时把混合文件名并入错误信息;无混合文件则原样返回错误。
- 「块外有未提交改动但托管块已是最新、本次不改写」组合没有测试,删掉 annotate
  的改写判断测试照样全绿。主场景测试补情形三。

测试:新增 outside_managed_whitespace_edits_count_as_changes、
mixed_file_warning_survives_failure_after_write,主场景补情形三;纯函数测试的
期望值随归一化收窄更新("# 标题\n项目内容" → "# 标题\n\n项目内容",保留「之前
追加的块尚未提交、只多出块前空行」不算改动的断言)。变异自检:三处修复逐一回退,
对应测试各自失败,已还原。cargo test --locked:lib 272 passed / 5 ignored,0 failed;
pnpm typecheck 通过。契约文档 project-context.yaml 与蓝图 P10 卡同步。

Rules-Applied: R07,R12
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 04:32:39 +09:00
..
agent-button-system.md docs(dev-variables/contract): 记录测试账户边界与验收证据 2026-09-28 01:46:19 +09:00
git-workflow.md fix(delivery): avoid false deployed timestamp 2026-09-23 12:09:38 +09:00
project-brief.md feat(mcp/envoy): 使者回传闭环——回执 + 三端回传入口 2026-10-03 01:15:40 +09:00
project-context.yaml fix(onboarding/parity): 混合文件预警收窄空白归一、失败时不丢预警、测住改写判断(P10 审查修复) 2026-10-03 04:32:39 +09:00