6 Commits
Author SHA1 Message Date
叫我小杨同学andClaude 6533b08004 fix: cordis.patch.yml 为 [] 时替换而非追加,修复宿主启动解析失败(#191)
宿主生成的 profile 层 cordis.patch.yml 可能整体只有一个空 flow 序列 [],
那本身就是一个完整 YAML 文档。旧实现无条件在文件尾追加 `- insert:`,
结果是第二个文档,宿主启动解析报
"end of the stream or a document separator is expected" 直接崩掉
(macOS DSH Desktop 0.2.1-rc.4)。

- 新增 classifyPatchBody() 判断数据部分形态:empty / empty-flow /
  block-seq / flow-seq / unknown,只看最后一个文档的根节点
- 空 flow 序列([] 或 [ ],可带 --- 前缀)→ 把整行替换成 insert 块,
  绝不追加成第二个文档
- 空文件 / 只有注释和空行 → 写 insert 块,注释保留
- 正常块序列 → 沿用旧的追加行为,前导空行规则不变
- 非空 flow 序列(宿主/用户内容)以及认不准的形态 → 不动,
  返回 { ok: false, wrote: false },宁可留着也别写坏
- postinstall 脚本区分「跳过」和「已有」,跳过时打印说明
- profileHasPurgeBodyInsert() 检测逻辑未动
- 新增 9 条用例(形态分类 / 空文件 / 只有注释 / 注释+[] / ---+[] /
  块序列追加 / 非空 flow 不写 / 已有本体行零写入 / 替换后幂等),
  版本 1.1.83

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-30 12:26:23 +08:00
叫我小杨同学 bb93c6a2b6 1.1.79: 修复 bug,修复稳定性(#165 #166 #167) 2026-10-27 01:25:57 +08:00
叫我小杨同学 18fe3b51cb fix: 命令撞名只丢那一条;主插件 insert 自愈(#162 #159) 2026-10-26 11:15:56 +08:00
叫我小杨同学 95102b0bb2 fix: Apply 不再覆盖 npm 全局 dsh 软链;pnpm/plugin add 补本体 insert(#157 #154 #155) 2026-10-24 20:38:05 +08:00
叫我小杨同学 dbaf377c97 1.1.76: 适配 pnpm 安装(codeload + postinstall 写 bundles) 2026-10-24 01:11:24 +08:00
叫我小杨同学 679a3db1cc 1.1.73: open-source local-lab only; drop skills and knowledge base. 2026-10-23 15:55:53 +08:00