dev-manager-tauri/.blueprint/modules/dsh-takeover-readiness.md
lanrtop b7f937d606
All checks were successful
Push & PR Check / check (push) Successful in 57s
chore(blueprint): DSH 子项目友好性盘点——三断点入卡(CI 门舰队洞/技能双轨/回传断流)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-11 22:06:10 +09:00

9.3 KiB
Raw Blame History

dsh-takeover-readiness — DSH 接管准备(炼境自身)

2026-09-11 立项。背景:用户计划未来由 DeepSeek Harness 接管炼境开发Claude Code 逐步退出主循环。 方法论沿用 enterprise-system 同名模块的四层分析(机器校验层/标准协议层/开放标准文件层/harness 私有层), 损耗集中在私有层——本模块本质是把炼境的 harness 私有层清空或搬迁。 炼境独有维度:它不只是被开发的项目,还是给子项目分发 harness 配置的引擎mcp_inject / 接入包), 接管 = 自身迁移 + 分发能力双轨化,工作量大头在后者。

协作模式(本模块执行期的分工,用户 2026-09-11 确认)

指挥 DSH 干活Claude 协助调教——enterprise-system 已双引擎实证Claude 修 DSH 技能 ship.md 消灭 CI 兔子洞、DSH 自修 commit.md、互审各抓 5 条真问题),非假设。三条纪律:

  1. 调教落点必须是文件.dsh/skills/ / AGENTS.md / 闸门脚本),不是会话内口头纠正—— 口头调教下个会话即蒸发,飞轮 = 派活 → 观察日志 → 归因 → 修文件 → 复测
  2. 派活准则(沿用 enterprise 三例外):默认 DSH 独立做攒数据例外——harness 私有层自家修、 上下文已在某侧脑内的策展活谁脑内谁做、多写者热点文件单写者手术对侧审
  3. Claude 三顶帽子:异构终审(架构需求非工具偏好,写码者与审查者必须异构)、 harness 教练(修 DSH 技能文件、L 级兜底V4.1 Pro 上线前)

炼境特有刹车Rust + Tauri 无 DSH 实战数据enterprise 基线是 TS monorepo不可外推 信任期从最保守档起步——DSH 产出一律 Claude 审查 + 人工确认合并,返工率数据说话后再后移。

两个外部触发器

  • 信任期开启日:用户决定让 DSH 开始写炼境代码T3/T4 触发)
  • V4.1 Pro 上线L 级架构流程移植的技术前提T7 触发)
  • 接管时点确定Claude 退出主循环的决定T5/T6 触发)
  • DSH 进驻任一子项目2026-09-11 友好性盘点补):该项目立即补两件—— ① CI commit message 门(拷炼境 .gitea/scripts/check-commit-msg.mjslefthook 在 DSH 沙箱静默失效是舰队级洞) ② .dsh/skills/ 手建(抄 enterprise 已验证薄指针形态)。 第二个 DSH 子项目出现 → 接入包 .dsh 形态开闸T5 的分发部分提前于接管时点,满二建制)

任务卡

T1 记忆审计回流 · complexity: S · status: done (2026-09-11)

  • 内容Claude 私有 memory24 条)逐条核对 repo/.blueprint 落点,无落点的知识回流进 .blueprint/ 或 docsDSH 看不到 Claude memory泄漏 = 接管后重踩坑enterprise T1 实锤事故背书memory 泄漏连错两轮)。重点核对 project_* 与 reference_* 类 gitea 统一架构、飞轮战略、act_runner 部署、MCP 注册坑)
  • files: C:/Users/yangzhixiang/.claude/projects/E--code-project-dev-manager-tauri/memory/(读)、 .blueprint/modules/*.mddocs/ai-context/(写)
  • acceptance: [人工+grep] 逐条 memory 给出「已有落点(路径)/已回流(commit)/仅 Claude 相关无需回流」三态清单,无遗留未定态
  • 结果24 条全部定态——已有落点 14 / 已回流 3+1 部分炼境信号采集层红线、127.0.0.1 网络律、 未提交改动处置 → AGENTS.md「设计红线与本机事实」节act_runner 运维细节 → cicd-workflow.md 「本机 CI runner 速查」节)/ 仅 Claude 相关 3user_profile、CID 否决评估、Claude hooks 坑)/ 过期删除 3git_commit 署名禁令与现实矛盾、mcp_debug 被 registration 结论取代、dashboard_redesign 方向已弃)

T2 CI 加 commit message 校验 · complexity: S · status: done (2026-09-11)

  • 内容Conventional 格式 + Feature-Confirmed trailer 校验加入 pr-check.yml 服务端强制enterprise 实锤 lefthook 在 DSH workspace-write 沙箱内静默失效—— 非法 message 探针 commit 成功落库,本卡为机器层硬补偿,对 Claude 时代也是纵深防御)
  • files: .gitea/workflows/pr-check.yml.gitea/scripts/check-commit-msg.mjs
  • acceptance: [CI] 推一个 message 非法的 commit 到 feat 分支 → CI 失败并指明格式问题;合法 commit 通过
  • 验收留痕run 74 探针 commit 35df41f2 被点名拦截(日志「首行不符合 Conventional Commits」 移除探针后 1c3133c 全绿(校验+typecheck+test。新分支首推的 origin/master..HEAD 兜底路径实证生效; 校验范围含 force push 后 before 不可达的退化链fetch master → 仅 HEAD该分支仅本地用例覆盖

📋 T3 DSH 接入炼境 · complexity: S · 触发:信任期开启日

  • 内容:~/.dsh/cordis.patch.yml 挂 lian-jing MCP炼境 server 双传输,走 streamable-http POST /mcp已核实兼容.dsh/skills/ 薄指针feat/commit/verify/ship 起步,抄 enterprise 已验证形态);.claude/rules/ 4 文件的规则路由表写入 AGENTS.md 块外区
  • files: .dsh/README.md.dsh/skills/*.mdAGENTS.md~/.dsh/cordis.patch.yml(用户级)
  • acceptance: [headless] pnpm exec dsh 调 mcp__lian-jing__get_diagnostics(project_id) → 返回真实健康数据;说「规范提交」→ 技能被唤起

📋 T4 返工率基线快照 · complexity: S · 触发T3 同日、DSH 首次写码前

  • 内容:调 get_commit_metrics 取炼境当前返工率/规模指标,append_project_note 落基线快照笔记, 一个月后同口径对比决定交付刹车后移幅度enterprise 验证中的标准动作,基线必须在 DSH 动手前采)
  • acceptance: [MCP] append_project_note 写入含 get_commit_metrics 原始数字的基线笔记 → 笔记可查询到

📋 T5 mcp_inject / 接入包 DSH 双轨化 · complexity: M · 触发:接管时点确定

  • 内容:炼境分发能力长出 DSH 后端——mcp_inject 支持写 ~/.dsh/cordis.patch.yml 条目格式 机器级、每服务器一实例、serverName 约束 ^[A-Za-z0-9_-]{1,32}$);接入包模板补 .dsh/skills/ 形态种子层同源AGENTS.md 单一来源不变)。动手前先 /architect 定双轨结构
  • files: src-tauri/src/mcp_inject.rssrc-tauri/resources/onboarding/src-tauri/src/commands/onboarding.rs
  • acceptance: [Tauri command] inject_mcp(project_id, harness=dsh) → cordis.patch.yml 生成合法条目apply_onboarding_pack → .dsh/skills 文件落盘

📋 T6 第二家族审查席 · complexity: S · 触发Claude 退出主循环

  • 内容Qwen/GLM/Kimi 之一OpenAI 兼容)注册 DSH 审查位,替代 Claude 终审—— 异构审查是架构需求DeepSeek 不能自写自审
  • acceptance: [headless] 第二家族模型对一个 diff 输出 VERDICT会话日志 source.model 非 DeepSeek 系

📋 T7 L 级架构流程移植 · complexity: M · 触发V4.1 Pro 上线

  • 内容:对照 Claude 侧 /architect /splitter /spec-check 判定移植清单L 级流程改由 V4.1 Pro + /plan 承担
  • acceptance: [Web UI] 一个 L 级需求走完 架构设计文档 + 拆卡,流程无 Claude 依赖

决策留痕

  • 为什么现在只做 T1/T2仅这两张有实锤事故背书memory 泄漏、lefthook 沙箱失效均为 enterprise 实测T3-T7 依赖外部触发器,提前做 = 为想象时刻建基建,违反消费防腐原则
  • 为什么 MCP 不是阻塞项:曾担心炼境 server 仅 SSE 而 DSH 只支持 stdio/streamable-http 核实 mcp_server.rs 双传输POST /mcp 即 streamable-http2026-09-11 销此问号
  • 审查席是架构需求不是工具需求:换任何 harness 都必须留异构审查座enterprise 2026-09-11 立法,炼境沿用)
  • T1/T2 收官后四项跟进建议的辩证收敛2026-09-114 项辩证后仅存 1.5 项) ① commit 规则三份实现统一重构 → 否决:漂移非静默(两层互查,任一漂移即红灯自曝)、 Conventional type 清单准冻结(本仓历史零变更)、统一反而扩大分发耦合面;挂触发条件=首次实锤漂移再统一 ② 托管块「lefthook 强制」表述升版本修正 → 否决原方案:块内表述对子项目仍准确(子项目无 CI 门), 改成「双层」反而对多数消费者说谎;改判为炼境块外加一行自身事实(已做) ③ gate 信噪比增强上游化 → 否决立卡:全舰队侦察 🔵=0、非 ASCII 模块文件名=0两个卖点当下零消费者 enterprise 已自建增强版自服务);挂触发条件=任一子项目出现 🔵 刷屏或 quotePath 漏报实锤—— 正是 enterprise 回传的「统计先于自动化」闸门模式的应用 ④ 使者回传 50 条积压并入模板批 → 改判积压含大量已过时项DSH 无 MCP、pwsh 3.5s 均已被 0.1.5 时代结论取代), 应独立分诊(已过时/仅归档/待行动三态)而非并批修复;积压本身实锤了回传通道缺回执/消化机制—— 归档为 governance-feedback-loop 模块的推进证据 ⑤ 炼境自绑 Gitea 仓库 → 维持:无有效反方,待用户 UI 操作 附带新发现CI 门对 master 直推是事后红灯非事前拦截(与 S 级直推约定的有意权衡AGENTS.md 已留痕)