All checks were successful
Push & PR Check / check (push) Successful in 55s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
7.4 KiB
7.4 KiB
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 条真问题),非假设。三条纪律:
- 调教落点必须是文件(
.dsh/skills// AGENTS.md / 闸门脚本),不是会话内口头纠正—— 口头调教下个会话即蒸发,飞轮 = 派活 → 观察日志 → 归因 → 修文件 → 复测 - 派活准则(沿用 enterprise 三例外):默认 DSH 独立做攒数据;例外——harness 私有层自家修、 上下文已在某侧脑内的策展活谁脑内谁做、多写者热点文件单写者手术对侧审
- 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 触发)
任务卡
✅ 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-Confirmedtrailer 校验加入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 立法,炼境沿用)