# 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 / 闸门脚本),不是会话内口头纠正—— 口头调教下个会话即蒸发,飞轮 = 派活 → 观察日志 → 归因 → 修文件 → 复测。 修技能文件的 commit 须带三行归因(信号/归因/变更)——归因方法论随 git 历史搬迁 (`git log .dsh/skills/` 即调教史教材),格式主场见 enterprise `.dsh/README.md`「维护要点」, T3 落 `.dsh/` 时随薄指针形态带入本仓(2026-09-11 辩证补:不建案例库、不加 note 类别、不立独立规则文件—— 消化端未修不扩生产端,commit message 是唯一自带消费路径的落点) 2. **派活准则**(沿用 enterprise 三例外):默认 DSH 独立做攒数据;例外——harness 私有层自家修、 上下文已在某侧脑内的策展活谁脑内谁做、多写者热点文件单写者手术对侧审 3. **Claude 三顶帽子**:异构终审(架构需求非工具偏好,写码者与审查者必须异构)、 harness 教练(修 DSH 技能文件)、L 级兜底(V4.1 Pro 上线前) 4. **回传代传**(2026-09-11 辩证补):Claude 在终审席期间,DSH 会话的洞察由终审会话代为回传炼境—— 终审者看得到 DSH 的产出与摩擦,通道不断流;`.dsh/skills/envoy.md` 挂「Claude 退出终审席」触发 (消化端无回执机制前,不给回传通道加质量未验证的新写入方;届时 Step 3 门槛须比 Claude 版更严) **炼境特有刹车**: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.mjs`,lefthook 在 DSH 沙箱静默失效是舰队级洞) ② `.dsh/skills/` 手建(抄 enterprise 已验证薄指针形态)。 **第二个** DSH 子项目出现 → 接入包 `.dsh` 形态开闸(T5 的分发部分提前于接管时点,满二建制) ## 任务卡 ### ✅ T1 记忆审计回流 · complexity: S · status: done (2026-09-11) - 内容:Claude 私有 memory(24 条)逐条核对 repo/.blueprint 落点,无落点的知识回流进 `.blueprint/` 或 docs(DSH 看不到 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/*.md`、`docs/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 相关 3(user_profile、CID 否决评估、Claude hooks 坑)/ 过期删除 3(git_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/*.md`、`AGENTS.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.rs`、`src-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-http),2026-09-11 销此问号 - **审查席是架构需求不是工具需求**:换任何 harness 都必须留异构审查座(enterprise 2026-09-11 立法,炼境沿用) - **T1/T2 收官后四项跟进建议的辩证收敛(2026-09-11,4 项辩证后仅存 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 已留痕) - **「DSH 三件套支持」辩证收敛(2026-09-11 晚,3 项方案 2 项被改判/否决)**: ① envoy .dsh 形态「最高优先」→ **降级挂触发**(Claude 退出终审席)——断流论被高估(终审席存续期间可代传, 见协作模式纪律 4),且消化端瘫痪(50 条积压无回执)时扩生产端是加重病情; ② CI 门 enterprise 落地 → **主体归位**:那是 enterprise 自己的 T2 卡(验证闭环在谁家谁改), 炼境动作收敛为一条送达笔记(已发,2026-09-11); ③ .dsh 模式收进 docs/templates 纸上模板 → **否决**:enterprise/.dsh/README.md 是活文档单一来源, 复抄=两处说同一事且纸上模板腐烂最快;透镜节候选行加防复抄指针代替。 **顺位结论:先修消化端(notes 档案卡)再扩生产端(任何 DSH 通道扩容)**