release-skill 0.9.15 → 0.9.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codebuddy-plugin/plugin.json +1 -1
  3. package/.codex-plugin/plugin.json +2 -2
  4. package/.kimi-plugin/plugin.json +1 -1
  5. package/.qoder-plugin/plugin.json +10 -0
  6. package/CHANGELOG.md +61 -0
  7. package/INSTALL.md +57 -9
  8. package/INSTALL.zh-CN.md +44 -7
  9. package/README.md +88 -29
  10. package/README.zh-CN.md +70 -27
  11. package/adapters/claude/.claude-plugin/plugin.json +1 -1
  12. package/adapters/claude/bin/release-skill.bundle.mjs +1471 -672
  13. package/adapters/claude/schemas/release-plan.schema.json +1 -1
  14. package/adapters/claude/schemas/release-project.schema.json +19 -1
  15. package/adapters/claude/skills/release-finish/SKILL.md +65 -6
  16. package/adapters/claude/skills/release-help/SKILL.md +3 -3
  17. package/adapters/claude/skills/release-verify/SKILL.md +2 -2
  18. package/adapters/codex/.codex-plugin/plugin.json +2 -2
  19. package/adapters/codex/bin/release-skill.bundle.mjs +1471 -672
  20. package/adapters/codex/schemas/release-plan.schema.json +1 -1
  21. package/adapters/codex/schemas/release-project.schema.json +19 -1
  22. package/adapters/codex/skills/release-finish/SKILL.md +65 -6
  23. package/adapters/codex/skills/release-help/SKILL.md +3 -3
  24. package/adapters/codex/skills/release-verify/SKILL.md +2 -2
  25. package/adapters/kimi/.kimi-plugin/plugin.json +1 -1
  26. package/adapters/kimi/bin/release-skill.bundle.mjs +1471 -672
  27. package/adapters/kimi/schemas/release-plan.schema.json +1 -1
  28. package/adapters/kimi/schemas/release-project.schema.json +19 -1
  29. package/adapters/kimi/skills/release-finish/SKILL.md +65 -6
  30. package/adapters/kimi/skills/release-help/SKILL.md +3 -3
  31. package/adapters/kimi/skills/release-verify/SKILL.md +2 -2
  32. package/adapters/qoder/.qoder-plugin/plugin.json +10 -0
  33. package/adapters/qoder/bin/consumer-contract-vectors.json +110 -0
  34. package/adapters/qoder/bin/error-codes.json +161 -0
  35. package/adapters/qoder/bin/foundation-legal/skill-family-contracts/LICENSE +202 -0
  36. package/adapters/qoder/bin/foundation-legal/skill-family-contracts/NOTICE +10 -0
  37. package/adapters/qoder/bin/foundation-legal/skill-family-engineering-kit/LICENSE +202 -0
  38. package/adapters/qoder/bin/foundation-legal/skill-family-engineering-kit/NOTICE +10 -0
  39. package/adapters/qoder/bin/foundation-legal/skill-family-engineering-kit/THIRD_PARTY_NOTICES +142 -0
  40. package/adapters/qoder/bin/foundation-legal/skill-family-harness-node/LICENSE +202 -0
  41. package/adapters/qoder/bin/foundation-legal/skill-family-harness-node/NOTICE +10 -0
  42. package/adapters/qoder/bin/foundation-legal/skill-family-harness-node/native-NOTICE +2 -0
  43. package/adapters/qoder/bin/foundation-resource-binding.json +1 -0
  44. package/adapters/qoder/bin/kernel-protocol.json +60 -0
  45. package/adapters/qoder/bin/license-texts/Apache-2.0.txt +201 -0
  46. package/adapters/qoder/bin/license-texts/MIT.txt +21 -0
  47. package/adapters/qoder/bin/prebuild-manifest.json +79 -0
  48. package/adapters/qoder/bin/prebuilds/darwin-arm64/bound_read.darwin-arm64.node +0 -0
  49. package/adapters/qoder/bin/prebuilds/darwin-x64/bound_read.darwin-x64.node +0 -0
  50. package/adapters/qoder/bin/prebuilds/linux-arm64-gnu/bound_read.linux-arm64-gnu.node +0 -0
  51. package/adapters/qoder/bin/prebuilds/linux-x64-gnu/bound_read.linux-x64-gnu.node +0 -0
  52. package/adapters/qoder/bin/registry.json +347 -0
  53. package/adapters/qoder/bin/release-skill-local-finish.mjs +4 -0
  54. package/adapters/qoder/bin/release-skill.bundle.mjs +149446 -0
  55. package/adapters/qoder/bin/release-skill.mjs +54 -0
  56. package/adapters/qoder/bin/rules.json +104 -0
  57. package/adapters/qoder/bin/schemas/consumer-contract-vector.schema.json +149 -0
  58. package/adapters/qoder/data/hosts/claude/host-descriptor.json +45 -0
  59. package/adapters/qoder/data/hosts/codebuddy/host-descriptor.json +26 -0
  60. package/adapters/qoder/data/hosts/codex/host-descriptor.json +45 -0
  61. package/adapters/qoder/data/hosts/deepseek-harness/host-descriptor.json +23 -0
  62. package/adapters/qoder/data/hosts/kimi-code/host-descriptor.json +36 -0
  63. package/adapters/qoder/data/hosts/qoder/host-descriptor.json +26 -0
  64. package/adapters/qoder/data/hosts/registry.json +13 -0
  65. package/adapters/qoder/data/hosts/workbuddy/host-descriptor.json +34 -0
  66. package/adapters/qoder/data/licensing/registry.json +211 -0
  67. package/adapters/qoder/data/licensing/schema.json +207 -0
  68. package/adapters/qoder/native/safe-write/binding.gyp +41 -0
  69. package/adapters/qoder/native/safe-write/prebuilds/darwin-arm64/safe_write.node +0 -0
  70. package/adapters/qoder/native/safe-write/prebuilds.json +24 -0
  71. package/adapters/qoder/native/safe-write/src/safe_write.cc +2032 -0
  72. package/adapters/qoder/schemas/.render-manifest.json +41 -0
  73. package/adapters/qoder/schemas/approval-record.schema.json +115 -0
  74. package/adapters/qoder/schemas/artifact-lock.schema.json +111 -0
  75. package/adapters/qoder/schemas/artifact-plan.schema.json +52 -0
  76. package/adapters/qoder/schemas/artifact-policy.schema.json +76 -0
  77. package/adapters/qoder/schemas/evidence-event-v2.schema.json +164 -0
  78. package/adapters/qoder/schemas/evidence-event.schema.json +89 -0
  79. package/adapters/qoder/schemas/postpublish-approval-record.schema.json +47 -0
  80. package/adapters/qoder/schemas/release-plan.schema.json +1996 -0
  81. package/adapters/qoder/schemas/release-project.schema.json +1613 -0
  82. package/adapters/qoder/schemas/release-run.schema.json +777 -0
  83. package/adapters/qoder/skills/release-assess/SKILL.md +60 -0
  84. package/adapters/qoder/skills/release-config/SKILL.md +150 -0
  85. package/adapters/qoder/skills/release-docs/SKILL.md +119 -0
  86. package/adapters/qoder/skills/release-finish/SKILL.md +141 -0
  87. package/adapters/qoder/skills/release-help/SKILL.md +153 -0
  88. package/adapters/qoder/skills/release-marketplace/SKILL.md +156 -0
  89. package/adapters/qoder/skills/release-prepare/SKILL.md +135 -0
  90. package/adapters/qoder/skills/release-publish/SKILL.md +91 -0
  91. package/adapters/qoder/skills/release-reconcile/SKILL.md +80 -0
  92. package/adapters/qoder/skills/release-setup/SKILL.md +131 -0
  93. package/adapters/qoder/skills/release-verify/SKILL.md +109 -0
  94. package/adapters/qoder/src/schemas/adapter-build-manifest.schema.json +41 -0
  95. package/adapters/qoder/src/schemas/adapter-peer-verification-request.schema.json +54 -0
  96. package/adapters/qoder/src/schemas/adapter-peer-verification-result.schema.json +54 -0
  97. package/adapters/qoder/src/schemas/adapter-source.schema.json +47 -0
  98. package/adapters/qoder/src/schemas/audit-baseline-pin.schema.json +163 -0
  99. package/adapters/qoder/src/schemas/declared-read-surface-result.schema.json +61 -0
  100. package/adapters/qoder/src/schemas/engineering-baseline.schema.json +77 -0
  101. package/adapters/qoder/src/schemas/executable-identity-observation.schema.json +162 -0
  102. package/adapters/qoder/src/schemas/filesystem-root-binding.schema.json +14 -0
  103. package/adapters/qoder/src/schemas/filesystem-tree-observation.schema.json +71 -0
  104. package/adapters/qoder/src/schemas/fixed-set-publication-manifest.schema.json +108 -0
  105. package/adapters/qoder/src/schemas/fixed-set-publication-receipt.schema.json +148 -0
  106. package/adapters/qoder/src/schemas/host-capability-fact.schema.json +31 -0
  107. package/adapters/qoder/src/schemas/host-descriptor.schema.json +137 -0
  108. package/adapters/qoder/src/schemas/host-operation-plan.schema.json +57 -0
  109. package/adapters/qoder/src/schemas/host-operation-receipt.schema.json +81 -0
  110. package/adapters/qoder/src/schemas/host-probe-result.schema.json +30 -0
  111. package/adapters/qoder/src/schemas/host-registry.schema.json +18 -0
  112. package/adapters/qoder/src/schemas/host-verification-request.schema.json +67 -0
  113. package/adapters/qoder/src/schemas/host-verification-result.schema.json +149 -0
  114. package/adapters/qoder/src/schemas/managed-file-lock.schema.json +77 -0
  115. package/adapters/qoder/src/schemas/migration-manifest.schema.json +412 -0
  116. package/adapters/qoder/src/schemas/observation-scope.schema.json +91 -0
  117. package/adapters/qoder/src/schemas/operation-request.schema.json +58 -0
  118. package/adapters/qoder/src/schemas/operation-result.schema.json +130 -0
  119. package/adapters/qoder/src/schemas/platform-difference-registry.schema.json +110 -0
  120. package/adapters/qoder/src/schemas/plugin-verification-request.schema.json +499 -0
  121. package/adapters/qoder/src/schemas/plugin-verification-result.schema.json +1217 -0
  122. package/adapters/qoder/src/schemas/profile-adoption-declaration.schema.json +111 -0
  123. package/adapters/qoder/src/schemas/profile-descriptor.schema.json +99 -0
  124. package/adapters/qoder/src/schemas/project-manifest.schema.json +67 -0
  125. package/adapters/qoder/src/schemas/project-profile.schema.json +25 -0
  126. package/adapters/qoder/src/schemas/public-boundary-declaration.schema.json +73 -0
  127. package/adapters/qoder/src/schemas/report-binding.schema.json +42 -0
  128. package/adapters/qoder/src/schemas/report-model.schema.json +308 -0
  129. package/adapters/qoder/src/schemas/skill-family-directory-verification-request.schema.json +100 -0
  130. package/adapters/qoder/src/schemas/skill-family-directory-verification-result.schema.json +193 -0
  131. package/adapters/qoder/src/schemas/source-authority-receipt.schema.json +31 -0
  132. package/adapters/qoder/src/schemas/state-event-envelope.schema.json +38 -0
  133. package/adapters/qoder/src/schemas/state-snapshot-metadata.schema.json +25 -0
  134. package/adapters/qoder/src/schemas/structured-scan-policy.schema.json +97 -0
  135. package/adapters/qoder/src/schemas/surface-scan-policy.schema.json +42 -0
  136. package/adapters/qoder/src/schemas/timeout-policy.schema.json +24 -0
  137. package/adapters/qoder/src/schemas/token-estimate-record.schema.json +75 -0
  138. package/adapters/qoder/src/schemas/token-estimate-result.schema.json +43 -0
  139. package/adapters/qoder/src/schemas/watchdog-termination-envelope.schema.json +156 -0
  140. package/adapters/workbuddy/.codebuddy-plugin/plugin.json +1 -1
  141. package/adapters/workbuddy/bin/release-skill.bundle.mjs +1471 -672
  142. package/adapters/workbuddy/schemas/release-plan.schema.json +1 -1
  143. package/adapters/workbuddy/schemas/release-project.schema.json +19 -1
  144. package/adapters/workbuddy/skills/release-finish/SKILL.md +65 -6
  145. package/adapters/workbuddy/skills/release-help/SKILL.md +3 -3
  146. package/adapters/workbuddy/skills/release-verify/SKILL.md +2 -2
  147. package/bin/release-skill-cli.mjs +152 -6
  148. package/bin/release-skill.bundle.mjs +1471 -672
  149. package/package.json +4 -2
  150. package/platform-manifest.json +70 -4
  151. package/references/02-project-config.md +25 -2
  152. package/schemas/release-plan.schema.json +1 -1
  153. package/schemas/release-project.schema.json +19 -1
  154. package/skills/release-finish/SKILL.md +65 -6
  155. package/skills/release-help/SKILL.md +3 -3
  156. package/skills/release-verify/SKILL.md +2 -2
  157. package/skills-src/release-finish/SKILL.md +65 -6
  158. package/skills-src/release-help/SKILL.md +3 -3
  159. package/skills-src/release-verify/SKILL.md +2 -2
  160. package/src/commands/post-release-local.mjs +360 -51
  161. package/src/commands/verify-records.mjs +467 -0
  162. package/src/core/postpublish.mjs +1 -1
  163. package/src/core/run.mjs +1 -1
  164. package/src/producers/build-adapters.mjs +36 -13
package/README.zh-CN.md CHANGED
@@ -2,39 +2,42 @@
2
2
 
3
3
  [English](README.md) · 安装指南:[中文](INSTALL.zh-CN.md) / [English](INSTALL.md)
4
4
 
5
- <!-- release-skill:release-version: 0.9.15 -->
5
+ <!-- release-skill:release-version: 0.9.17 -->
6
6
  面向 Claude Code、CodeBuddy、WorkBuddy、Codex 和 Kimi Code 的发布准备工具,完整保留人工维护的文件内容。
7
7
 
8
8
  release-skill 帮助维护者回答三个问题:准备发布什么、还有哪些检查未通过、最终发布的内容是什么。它不重新生成、也不回写项目源文件。`prepare` 把每个配置的公开文件复制到隔离快照并验证字节——先冻结并供人工审阅,再从同一份冻结产物发布。`setup` 只显示确定性的 `compactSummary` 审阅视图,完整报告保留在临时会话目录中。
9
9
 
10
10
  <!-- release-skill:managed:start id=latest-release -->
11
- **0.9.15** (2026-09-07)
11
+ **0.9.17** (2026-09-09)
12
12
 
13
- 0.9.15 是一个本地源码候选。本版本让发布准备复用项目已有评估、刷新、聚焦检查和正式 prepare 入口,并让 prepare 帮助在业务执行前返回。三项 Foundation 依赖仍精确固定在已发布的 0.17.0。本说明不代表已经发布、完成真实宿主验收、完成消费者安装验证或通过独立验收。
13
+ 0.9.17 是一个本地源码候选。本版本增加显式的历史发布记录离线核验入口和自包含 Qoder 投影,并保留 setup 根目录与 Kimi 初始目录信任修复。三项 Foundation 依赖仍精确固定在已发布的 0.17.0。本说明不代表已经发布、完成真实宿主验收、完成消费者安装验证或通过独立验收,也不代表 Hub 已接纳。
14
14
 
15
15
  **安全**
16
16
 
17
- - 本次编排调整不新增执行引擎、Hook 类型、缓存键、批准状态或外部写入。环境变量白名单仍只转发调用环境中已存在的同名值,非法的小写名称继续按配置错误处理。
18
- - 已冻结候选保留原有验收边界。新生成的候选必须针对自身字节验证,不得复用变更前的验收证据。
19
- - Skill Family Hub 更新继续通过 GitHub Git Data API,根据已观察的分支头比较后写入。Hub 局部发布不回滚、不覆盖,也不强推。
17
+ - 离线核验只读取命令行显式提供的路径,并从 JSON 结果中隐去本机路径细节。历史材料一致不代表记录是全局最新,也不证明远端对象仍然存在。
18
+ - Qoder 不进入 release distribution 和发布检查点。更新入口不会添加市场、首次安装、卸载或重新加载当前会话;`UPDATED` 也不代表新版插件已经加载。
19
+ - 后续如需发布到中央 Skill Family Hub,仍通过既有 GitHub Git Data API 执行比较后写入。Hub 部分发布保持可恢复,系统不会自动回滚;即不回滚、不覆盖已经成功的远端步骤。
20
+
21
+ **新增**
22
+
23
+ - 新增公共命令 `release-skill verify-records`,核验调用者显式提供的计划、批准、目标 run 和前驱 run 字节。命令返回 `CONSISTENT`、`CONTRADICTED` 或 `INSUFFICIENT`,不会扫描 `.release-skill`、跟随记录中的路径、访问远端、写文件或改变发布状态。
24
+ - npm 包增加 `.qoder-plugin/plugin.json` 和自包含的 `adapters/qoder/` 投影。现有发布后更新入口只在所选 Hub 来源与冻结载荷一致时,更新已经存在的用户范围 Qoder 插件。
20
25
 
21
26
  **变更**
22
27
 
23
- - release-prepare Skill 现在先读取项目合同和授权,通过项目已有入口处理发布文档与生成物新鲜度,修复后运行聚焦检查,并把完整验证交给正式 prepare Hook 路径。
24
- - 一次失败后,release-prepare 会集中处理直接相关的修复再重试,默认不增加同目的的完整测试。用户明确要求的独立完整验收仍保留;项目没有有效缓存证据时,完整 Hook 仍会执行。
25
- - 0.9.14 的 production run 保留策略和 Hub-backed 发布后验证宿主提示继续可用。项目私有的 postVerify Hook 继续通过 GitHub Git Data API,把已验证的 release-skill 条目和公开快照发布到 Skill Family Hub。
28
+ - release-finish 的 setup 续接直接使用当前 `--root` 发布项目,不再询问第二个项目路径。项目级就绪检查与各宿主的加载检查仍分别判断。
26
29
 
27
30
  **修复**
28
31
 
29
- - `prepare --help` 和 `prepare -h` 现在会在项目根目录解析、配置读取、锁获取、run 清理、Hook 执行、快照构建或计划写入前返回。JSON 帮助返回 `command: prepare` 和 `status: HELP`;没有帮助参数的 prepare 保留原有业务路径。
32
+ - 已授权的 Kimi 更新可以先确认当前发布项目的标准初始 `Trust this folder?` 界面,再继续插件操作。未知行、未知选中项、重复信任界面、超时或提前退出仍会停止该宿主。
30
33
 
31
34
  **升级说明**
32
35
 
33
- 从 0.9.14 升级后,可使用收敛后的 release-prepare 流程和无业务副作用的 prepare 帮助。项目配置无需迁移;项目专属的生成和前提检查仍通过已审阅入口执行。删除各宿主中独立的 `release-skill` 市场登记,添加或更新 `ifoohoo/skill-family-hub`,并使用 `release-skill@skill-family-hub`。现有 `externalActions` 可执行目标继续使用原更新路径;0.9.15 的 Hub-backed 目标仍由维护者人工处理。
36
+ 从 0.9.16 升级后,可使用 `release-skill verify-records`、Qoder 包投影及 setup/Kimi 修复。请移除独立的 `release-skill` 市场,改用 ifoohoo/skill-family-hub 仓库与 Hub 限定插件名 release-skill@skill-family-hub。中央 Skill Family Hub 必须先接纳 Qoder 条目,才能开始市场安装。真实 Qoder 与 Kimi 的安装、重载和业务调用仍是需要单独授权的后续工作。
34
37
  <!-- release-skill:managed:end id=latest-release -->
35
38
 
36
39
  <!-- release-skill:capability:external-write-boundary -->
37
- > **当前边界:** v0.9.15 只是当前源码候选。本 README 记录预期范围与验证边界,
40
+ > **当前边界:** v0.9.17 只是当前源码候选。本 README 记录预期范围与验证边界,
38
41
  > 不代表已经发布、完成消费者安装验证或通过独立验收。
39
42
  > 版本可用性以对应发布记录及发布后验证结果为准。
40
43
  > v0.4.1 是更早的已发布里程碑(v0.2.2 曾处于已发布状态,后因平台验证收敛修复而更新)。
@@ -50,7 +53,7 @@ release-skill 帮助维护者回答三个问题:准备发布什么、还有哪
50
53
  > 远端唯一性检查在 `publish` 全局预检执行。
51
54
 
52
55
  <!-- release-skill:capability:safe-first-command -->
53
- > **生产路径自 v0.1.1 里程碑起已完成真实生产验证;v0.9.15 是当前源码候选,本 README 不证明该候选已经发布、完成消费者安装验证或通过独立验收。**
56
+ > **生产路径自 v0.1.1 里程碑起已完成真实生产验证;v0.9.17 是当前源码候选,本 README 不证明该候选已经发布、完成消费者安装验证或通过独立验收。**
54
57
  > npm 安装的 CLI 是受支持的用户入口;源码 checkout 保留为开发/贡献者路径。
55
58
  >
56
59
  > **第一条命令:**
@@ -68,13 +71,14 @@ marketplace 委托目标工作区发布的边界不变。
68
71
 
69
72
  旧 production 计划缺少 `sourceAuthority` 时,在外部写入前拒绝。未发生外部写入的计划必须重新 prepare 并批准新摘要,不能补写旧计划或迁移批准。已有 `PARTIAL` 保留检查点,走匹配版本的恢复路径。evidence v1 只读;v2 顶层封闭,阶段扩展放在 `details`。摘要和恢复建议只作诊断,不构成发布权威。
70
73
 
71
- 当前 0.9.15 候选包含窄范围的 R-05 Hook cache v2 消费路径、公开 `postverify`
72
- 路径和稳定隔离安装树记录路径(A2/A3),继续以 Skill Family Hub 为唯一市场来源。
74
+ 当前 0.9.17 候选包含窄范围的 R-05 Hook cache v2 消费路径、公开 `postverify`
75
+ 路径和稳定隔离安装树记录路径(A2/A3),并增加只接受显式输入的 `verify-records`
76
+ 命令和自包含 Qoder 投影。Skill Family Hub 仍是唯一市场来源。
73
77
  `release-prepare` Skill 现在会组织项目已有的评估、刷新、聚焦检查和 prepare 入口,不新增执行引擎。
74
- `prepare --help` 和 `prepare -h` 会在配置、锁、run 或 Hook 观察请求之前返回。当前仍不包含
75
- R-02 安全整树盘点、R-10 历史发布验证
76
- 的产品实现、真实 Kimi/WorkBuddy 公开市场安装与调用门禁或 Audit 公开离线发布记录
77
- 验证器。本范围说明不构成远端发布记录或消费者升级指引。
78
+ `prepare --help` 和 `prepare -h` 会在配置、锁、run 或 Hook 观察请求之前返回。
79
+ 所选宿主加载已发布插件后,`release-finish` Skill 还可以报告源码分支,并继续执行已配置的 setup 入口。
80
+ 当前仍不包含 R-02 安全整树盘点和真实 Kimi/WorkBuddy/Qoder 市场安装与调用门禁;中央 Hub
81
+ 尚未接纳 release-skill 的 Qoder 条目。本范围说明不构成远端发布记录或消费者升级指引。
78
82
 
79
83
  Foundation 三包精确依赖已发布的 0.17.0。仍采用 bundled-family 分发形态的
80
84
  Kimi/CodeBuddy 计划会在 verify 阶段调用正式 `runPluginVerification`,把完整冻结载荷
@@ -213,7 +217,25 @@ Claude Code、CodeBuddy、WorkBuddy 和 Codex 从统一的 Skill Family Hub 市
213
217
  **Kimi Code:** release-skill 当前无可脚本化安装接口接入,只采用钉死版本的交互式
214
218
  TUI 路径,见 [INSTALL.zh-CN.md](INSTALL.zh-CN.md#安装为-kimi-code-插件)。
215
219
 
216
- CodeBuddy、Codex 和 Kimi Code 的完整命令见 [INSTALL.zh-CN.md](INSTALL.zh-CN.md)。
220
+ **Qoder:** 包内提供 `.qoder-plugin/plugin.json` 和自包含的 `adapters/qoder/` 投影。
221
+ 只有中央 Hub 的根 `marketplace.json` 已接纳 release-skill 的 Qoder 条目后,才能执行
222
+ 用户范围的市场安装;生成适配器本身不能证明 Hub 消费成立。安装与发布后更新边界见
223
+ [INSTALL.zh-CN.md](INSTALL.zh-CN.md#安装为-qoder-插件)。
224
+
225
+ CodeBuddy、Codex、Kimi Code 和 Qoder 的完整命令见 [INSTALL.zh-CN.md](INSTALL.zh-CN.md)。
226
+
227
+ ### 离线核验历史发布记录
228
+
229
+ 消费者已经持有明确的计划、批准、目标 run 和该目标引用的全部前驱 run 时,可以运行:
230
+
231
+ ```text
232
+ release-skill verify-records --plan <path> --approval <path> --target-run <path> --source-run <path>... --unit <id> --target-version <version> --json
233
+ ```
234
+
235
+ 该命令只读取这些路径,并输出一个 JSON 对象。`CONSISTENT` 的退出码是 0,
236
+ `CONTRADICTED` 的退出码是 1,`INSUFFICIENT` 的退出码是 2。它不会扫描
237
+ `.release-skill`、跟随记录内嵌路径、访问远端、写文件或推进发布状态。历史链一致也不能
238
+ 证明这些记录是全局最新,或远端对象仍然存在。
217
239
 
218
240
  ### 主流程
219
241
 
@@ -415,6 +437,9 @@ project:
415
437
  name: my-project
416
438
  defaultBranch: main
417
439
  sourceRepository: owner/my-workspace
440
+ releaseFinish:
441
+ sourceBranchCheck: remind
442
+ setupSkill: release-setup
418
443
  releaseUnits:
419
444
  - id: my-project
420
445
  source: .
@@ -445,6 +470,12 @@ releaseUnits:
445
470
  branchStrategy: create-release-branch
446
471
  ```
447
472
 
473
+ `releaseFinish` 只控制本地发布收尾。`sourceBranchCheck` 缺省为 `remind`;设为
474
+ `skip` 时关闭只读源码分支提醒。`setupSkill` 可省略,填写时指定已经安装并加载的 setup
475
+ 入口,例如 `release-setup` 或 `plugin:skill`;它不会作为 shell 命令执行。宿主更新后,
476
+ release-finish 在 `--root` 指定的当前发布项目根目录调用该入口,不再要求另行提供项目目录。
477
+ 两个配置彼此独立。
478
+
448
479
  `distributions` 是必填字段,但可以显式设为空数组。使用
449
480
  `distributions: []` 时,release-skill 只发布该单元的 GitHub 快照、标签和
450
481
  GitHub Release,不生成 npm 发布或市场消费者动作。单元的 `postPublish` 声明仍会
@@ -658,6 +689,10 @@ release-skill ship --root "$PROJECT" --hook-approval "$HOOK_APPROVAL_PATH" --jso
658
689
  | `kimi-plugin` | 自包含闭包(release-skill 无可脚本化安装接口接入) | 发布后非阻塞人工任务 |
659
690
  | `codebuddy-plugin` | 生成的 `adapters/workbuddy/`,带 `.codebuddy-plugin/plugin.json` | 发布后非阻塞人工任务 |
660
691
 
692
+ Qoder 不属于上表的 `distributions` 类型。它是 `adapters/qoder/` 下的 build-only
693
+ 公开投影,根清单为 `.qoder-plugin/plugin.json`;发布计划不会因此新增 `qoder-plugin`
694
+ 类型,也不会新增自动 publish、reconcile 或 verify 检查点。
695
+
661
696
  每个适配器闭包都自带 CLI、skills 和 schemas 副本,安装后无需外部依赖即可运行。Claude/Codex 验证是自动化的;Kimi Code 和 CodeBuddy/WorkBuddy 以 `manualFollowUps` 返回并标记 `verifiedBySystem: false`,其完成情况不阻塞自动发布进入 `VERIFIED`。
662
697
 
663
698
  发布达到 `VERIFIED` 后,可选的 `release-finish` 工作流可以按冻结市场身份更新 Claude
@@ -665,11 +700,18 @@ release-skill ship --root "$PROJECT" --hook-approval "$HOOK_APPROVAL_PATH" --jso
665
700
  提交;预检失败时不修改该宿主,也不阻止其他已选宿主继续。流程也可以在同一个受控
666
701
  TUI 会话中迁移或更新 Kimi,并核对真实受管载荷。
667
702
  对于已有的 bundled-family CodeBuddy/WorkBuddy 条目,只有冻结标签与可变分支都解析到
668
- 冻结提交时才允许更新。该流程要求用户明确同意,且不改变发布状态。目标缺失、使用
703
+ 冻结提交时才允许更新。用户显式选择 Qoder 后,流程只有在确认 Hub 来源、冻结载荷和
704
+ 既有用户范围安装后才更新;它不会添加市场,也不会执行首次安装。安装结果为 `UPDATED`
705
+ 不等于新版已加载:必须重新加载或新开 Qoder 会话,再完成一次只读 release-skill 业务
706
+ 调用,才能宣称新版已生效。该流程要求用户明确同意,且不改变发布状态。目标缺失、使用
669
707
  standalone 来源、远端不可访问或身份含糊时仍转人工处理,不修改宿主。
670
708
  Kimi 的有效配置根依次取显式 `kimiHome`、`KIMI_CODE_HOME`、`~/.kimi-code`,TUI 与
671
- 操作后观察使用同一根。出现 `Trust this folder?`、未知界面、超时、提前退出,或无法
672
- 证明插件身份时,流程返回人工处理或失败结果,不确认目录信任。
709
+ 操作后观察使用同一根,TUI 工作目录固定为 `--root` 指定的当前发布项目。用户确认冻结
710
+ 计划并显式选择更新 Kimi 后,release-finish 只接受初始标准 `Trust this folder?` 界面:
711
+ 当前必须选中 `No, exit`,且存在 `Trust this folder` 目标行。流程移动到目标行,重新确认
712
+ 选中项,再提交并等待已知命令提示符。出现未知行或选中项、移动后无法确认、超时、提前
713
+ 退出,或者插件命令发出后再次出现目录信任时,该宿主失败并停止。冻结插件身份和
714
+ `Trust and install` 的核对保持不变。
673
715
  WorkBuddy 本机更新仅支持 macOS;其他平台返回不支持并跳过。计划声明 postVerify hook 时,
674
716
  release-finish 必须接收 `ship` 产出的已完成 postVerify run,不能直接使用较早的
675
717
  verify run;核心 prepare、publish、verify 流程仍跨平台。
@@ -677,8 +719,9 @@ verify run;核心 prepare、publish、verify 流程仍跨平台。
677
719
  如果插件由项目选定的 Hub 通过 `postVerify` Hook 交付,发布单元还可以声明
678
720
  `postPublish.localHostUpdate`。Hook 达到 `DISTRIBUTED` 后,`ship`、`verify`、
679
721
  `post-release` 和 `release-finish` 会显示声明中的 Hub、插件和宿主。0.9.14 对这类
680
- 目标只提供人工入口(`promptRequired: true`、`available: false`):提示不会访问 Hub、
681
- 探测宿主或运行宿主命令。Claude 和 Codex 使用各自已有的 marketplace 管理入口;Kimi
722
+ 目标保留各自声明的执行模式。只有用户已选择 Qoder,且冻结计划、Hub 来源、既有用户
723
+ 范围安装和载荷核对全部通过时,Qoder 才进入可执行分支;其他 Hub-backed 目标仍为人工
724
+ 入口。人工提示不会访问 Hub、探测宿主或运行宿主命令。Claude 和 Codex 使用各自已有的 marketplace 管理入口;Kimi
682
725
  使用冻结 GitHub Release 和现有人工确认路径;CodeBuddy 与 WorkBuddy 因无法固定 Hub
683
726
  ref 而继续人工处理。由冻结插件安装动作派生的原有可执行目标不受影响。
684
727
 
@@ -697,13 +740,13 @@ ref 而继续人工处理。由冻结插件安装动作派生的原有可执行
697
740
  静态门禁会阻断,直到入口声明收窄为具体目标。
698
741
 
699
742
  <!-- release-skill:capability:unsupported-scope -->
700
- - **当前版本不含:** 消费者安装整树盘点(R-02)——当前版本只处理声明的公开表面和稳定隔离安装树记录;真实宿主(Kimi/WorkBuddy)验证门禁——宿主验证仍是非阻断的人工后续任务,不产生 `PASS` 或 `VERIFIED` 证据;
743
+ - **当前版本不含:** 消费者安装整树盘点(R-02)——当前版本只处理声明的公开表面和稳定隔离安装树记录;真实宿主(Kimi/WorkBuddy/Qoder)验证门禁——宿主验证和 Qoder 加载确认均不产生发布 `PASS` 或 `VERIFIED` 证据;
701
744
  - 不自动生成 README,不覆盖项目源文件;
702
745
  - 不自动合并冲突,也不要求回滚工作流;
703
746
  - 不声称已经替项目完成真实生产 canary,不声称已完成真实插件市场验证;
704
747
  - `prepare --online` 只观察 bound 前序基线;目标唯一性由 publish 全局预检完成;
705
748
  - 不覆盖已有 branch/tag/Release,不 unpublish npm;
706
- - 发布状态机不提供 Kimi 或 CodeBuddy/WorkBuddy marketplace 安装检查点——可选的 release-finish 可以在本机驱动并复查 Kimi,也可以在严格核对冻结身份后更新已有 CodeBuddy/WorkBuddy 条目,但这些结果不构成发布证据;
749
+ - 发布状态机不提供 Kimi、CodeBuddy/WorkBuddy 或 Qoder marketplace 安装检查点——可选的 release-finish 可以在本机驱动并复查 Kimi,也可以在严格核对冻结身份后更新已有 CodeBuddy/WorkBuddy 条目,或在核对同等来源和载荷后更新已有的用户范围 Qoder 条目,但这些结果不构成发布证据;
707
750
  - 不承诺 Windows 或广泛的跨平台原生写入;
708
751
  - 不会隐藏地 commit、push、打 tag、创建 Release 或发布包。
709
752
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.15",
3
+ "version": "0.9.17",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"