feat(onboarding/upgrade-channel): 全托管文件升级通道 + 批量重分发(U1) #4

Merged
lanrtop merged 1 commits from feat/onboarding-pack-u1 into master 2026-07-15 18:48:38 +08:00
Owner

变更摘要(择升环断点修复 ①,蓝图卡 U1)

分发文件三档升级语义落地(决策 2026-07-15):

  1. 全托管文件升级通道envoy.md / blueprint-gate.cjs 从「存在即跳过」切换为 dispatch_fully_managed 三态(written / skipped / updated)——内容与内嵌模板不一致即覆盖,CRLF 归一化防止 autocrlf 检出造成永久 updated 抖动;两文件头部加「由炼境托管」声明。
  2. verify_onboarding 第 7 项「lefthook 检查段齐全」:期望键集合从内嵌 TMPL_LEFTHOOK 自省提取(lefthook_command_keys 纯函数),禁止硬编码检查项名——模板演进校验器零维护。lefthook.yml 仍不自动覆盖,只检测落后。
  3. MCP apply_onboarding_pack 批量模式:project_id 字段缺失 → 对全部已登记 Windows 路径项目分发(空串仍按无效单项目报错);替代 batch_apply.py 手摇脚本。schema required 放宽为空(契约放宽属验收要求)。

自验

  • cargo test 102 全过;新增 3 测:全托管三态(含 CRLF 等价)、dispatch_templates 端到端升级、lefthook 键提取与缺段检测
  • verify_onboarding 全链集成测试更新为七项(空项目全 fail → 铺齐全 pass)
  • 改断言声明:apply_onboarding_pack_schema_requires_project_id 测试改为断言 required 为空——批量模式的契约放宽,非为过测试而改

没验什么

  • 批量模式 MCP 实调未跑:模板打包在二进制资源,需重建安装炼境后 apply_onboarding_pack(不传 project_id)实调终验(同 V1 先例)
  • 子项目磁盘上真实 CRLF 检出场景未实测(仅单测模拟)
  • batch_apply.py / scan_onboarded.py 暂保留,待实调终验通过后清理

🤖 Generated with Claude Code

## 变更摘要(择升环断点修复 ①,蓝图卡 U1) 分发文件三档升级语义落地(决策 2026-07-15): 1. **全托管文件升级通道**:`envoy.md` / `blueprint-gate.cjs` 从「存在即跳过」切换为 `dispatch_fully_managed` 三态(written / skipped / updated)——内容与内嵌模板不一致即覆盖,CRLF 归一化防止 autocrlf 检出造成永久 updated 抖动;两文件头部加「由炼境托管」声明。 2. **verify_onboarding 第 7 项「lefthook 检查段齐全」**:期望键集合从内嵌 TMPL_LEFTHOOK 自省提取(`lefthook_command_keys` 纯函数),禁止硬编码检查项名——模板演进校验器零维护。lefthook.yml 仍不自动覆盖,只检测落后。 3. **MCP `apply_onboarding_pack` 批量模式**:project_id 字段缺失 → 对全部已登记 Windows 路径项目分发(空串仍按无效单项目报错);替代 batch_apply.py 手摇脚本。schema `required` 放宽为空(契约放宽属验收要求)。 ## 自验 - cargo test 102 全过;新增 3 测:全托管三态(含 CRLF 等价)、dispatch_templates 端到端升级、lefthook 键提取与缺段检测 - verify_onboarding 全链集成测试更新为七项(空项目全 fail → 铺齐全 pass) - 改断言声明:`apply_onboarding_pack_schema_requires_project_id` 测试改为断言 required 为空——批量模式的契约放宽,非为过测试而改 ## 没验什么 - **批量模式 MCP 实调未跑**:模板打包在二进制资源,需重建安装炼境后 `apply_onboarding_pack`(不传 project_id)实调终验(同 V1 先例) - 子项目磁盘上真实 CRLF 检出场景未实测(仅单测模拟) - batch_apply.py / scan_onboarded.py 暂保留,待实调终验通过后清理 🤖 Generated with [Claude Code](https://claude.com/claude-code)
lanrtop added 1 commit 2026-07-15 13:21:05 +08:00
feat(onboarding/upgrade-channel): 全托管文件升级通道 + 批量重分发(U1)
All checks were successful
Push & PR Check / check (push) Successful in 51s
Push & PR Check / check (pull_request) Successful in 51s
1672b071e4
三档升级语义落地:envoy.md/blueprint-gate.cjs 切全托管
(内容不一致即覆盖,CRLF 归一化防抖动),文件头加托管声明;
verify_onboarding 第 7 项「lefthook 检查段齐全」从内嵌模板自省
键集合,零硬编码;MCP apply_onboarding_pack 缺省 project_id
时批量分发全部已登记项目,替代 batch_apply.py 手摇脚本。

Rules-Applied: R06,R07

Feature-Confirmed: true
lanrtop merged commit 21f1b60aea into master 2026-07-15 18:48:38 +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#4
No description provided.