release-skill 0.9.17 → 0.9.19

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 (266) 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/.cursor-plugin/plugin.json +10 -0
  5. package/.kimi-plugin/plugin.json +1 -1
  6. package/.qoder-plugin/plugin.json +1 -1
  7. package/CHANGELOG.md +70 -2
  8. package/INSTALL.md +66 -9
  9. package/INSTALL.zh-CN.md +49 -8
  10. package/README.md +41 -20
  11. package/README.zh-CN.md +31 -19
  12. package/adapters/claude/.claude-plugin/plugin.json +1 -1
  13. package/adapters/claude/bin/consumer-contract-vectors.json +7 -7
  14. package/adapters/claude/bin/error-codes.json +1 -1
  15. package/adapters/claude/bin/foundation-resource-binding.json +1 -1
  16. package/adapters/claude/bin/prebuild-manifest.json +8 -4
  17. package/adapters/claude/bin/prebuilds/darwin-arm64/bound_read.darwin-arm64.node +0 -0
  18. package/adapters/claude/bin/prebuilds/darwin-x64/bound_read.darwin-x64.node +0 -0
  19. package/adapters/claude/bin/prebuilds/linux-arm64-gnu/bound_read.linux-arm64-gnu.node +0 -0
  20. package/adapters/claude/bin/prebuilds/linux-x64-gnu/bound_read.linux-x64-gnu.node +0 -0
  21. package/adapters/claude/bin/registry.json +1 -1
  22. package/adapters/claude/bin/release-skill.bundle.mjs +4425 -1519
  23. package/adapters/claude/bin/rules.json +1 -1
  24. package/adapters/claude/data/hosts/cursor/host-descriptor.json +34 -0
  25. package/adapters/claude/data/hosts/registry.json +1 -0
  26. package/adapters/claude/schemas/release-plan.schema.json +255 -25
  27. package/adapters/claude/schemas/release-project.schema.json +228 -26
  28. package/adapters/claude/skills/release-finish/SKILL.md +46 -7
  29. package/adapters/claude/skills/release-help/SKILL.md +47 -103
  30. package/adapters/claude/skills/release-verify/SKILL.md +2 -2
  31. package/adapters/claude/src/schemas/host-descriptor.schema.json +9 -2
  32. package/adapters/codex/.codex-plugin/plugin.json +2 -2
  33. package/adapters/codex/bin/consumer-contract-vectors.json +7 -7
  34. package/adapters/codex/bin/error-codes.json +1 -1
  35. package/adapters/codex/bin/foundation-resource-binding.json +1 -1
  36. package/adapters/codex/bin/prebuild-manifest.json +8 -4
  37. package/adapters/codex/bin/prebuilds/darwin-arm64/bound_read.darwin-arm64.node +0 -0
  38. package/adapters/codex/bin/prebuilds/darwin-x64/bound_read.darwin-x64.node +0 -0
  39. package/adapters/codex/bin/prebuilds/linux-arm64-gnu/bound_read.linux-arm64-gnu.node +0 -0
  40. package/adapters/codex/bin/prebuilds/linux-x64-gnu/bound_read.linux-x64-gnu.node +0 -0
  41. package/adapters/codex/bin/registry.json +1 -1
  42. package/adapters/codex/bin/release-skill.bundle.mjs +4425 -1519
  43. package/adapters/codex/bin/rules.json +1 -1
  44. package/adapters/codex/data/hosts/cursor/host-descriptor.json +34 -0
  45. package/adapters/codex/data/hosts/registry.json +1 -0
  46. package/adapters/codex/schemas/release-plan.schema.json +255 -25
  47. package/adapters/codex/schemas/release-project.schema.json +228 -26
  48. package/adapters/codex/skills/release-finish/SKILL.md +46 -7
  49. package/adapters/codex/skills/release-help/SKILL.md +49 -105
  50. package/adapters/codex/skills/release-verify/SKILL.md +2 -2
  51. package/adapters/codex/src/schemas/host-descriptor.schema.json +9 -2
  52. package/adapters/cursor/.cursor-plugin/plugin.json +10 -0
  53. package/adapters/cursor/bin/consumer-contract-vectors.json +110 -0
  54. package/adapters/cursor/bin/error-codes.json +161 -0
  55. package/adapters/cursor/bin/foundation-legal/skill-family-contracts/LICENSE +202 -0
  56. package/adapters/cursor/bin/foundation-legal/skill-family-contracts/NOTICE +10 -0
  57. package/adapters/cursor/bin/foundation-legal/skill-family-engineering-kit/LICENSE +202 -0
  58. package/adapters/cursor/bin/foundation-legal/skill-family-engineering-kit/NOTICE +10 -0
  59. package/adapters/cursor/bin/foundation-legal/skill-family-engineering-kit/THIRD_PARTY_NOTICES +142 -0
  60. package/adapters/cursor/bin/foundation-legal/skill-family-harness-node/LICENSE +202 -0
  61. package/adapters/cursor/bin/foundation-legal/skill-family-harness-node/NOTICE +10 -0
  62. package/adapters/cursor/bin/foundation-legal/skill-family-harness-node/native-NOTICE +2 -0
  63. package/adapters/cursor/bin/foundation-resource-binding.json +1 -0
  64. package/adapters/cursor/bin/kernel-protocol.json +60 -0
  65. package/adapters/cursor/bin/license-texts/Apache-2.0.txt +201 -0
  66. package/adapters/cursor/bin/license-texts/MIT.txt +21 -0
  67. package/adapters/cursor/bin/prebuild-manifest.json +83 -0
  68. package/adapters/cursor/bin/prebuilds/darwin-arm64/bound_read.darwin-arm64.node +0 -0
  69. package/adapters/cursor/bin/prebuilds/darwin-x64/bound_read.darwin-x64.node +0 -0
  70. package/adapters/cursor/bin/prebuilds/linux-arm64-gnu/bound_read.linux-arm64-gnu.node +0 -0
  71. package/adapters/cursor/bin/prebuilds/linux-x64-gnu/bound_read.linux-x64-gnu.node +0 -0
  72. package/adapters/cursor/bin/registry.json +347 -0
  73. package/adapters/cursor/bin/release-skill-local-finish.mjs +4 -0
  74. package/adapters/cursor/bin/release-skill.bundle.mjs +152352 -0
  75. package/adapters/cursor/bin/release-skill.mjs +54 -0
  76. package/adapters/cursor/bin/rules.json +104 -0
  77. package/adapters/cursor/bin/schemas/consumer-contract-vector.schema.json +149 -0
  78. package/adapters/cursor/data/hosts/claude/host-descriptor.json +45 -0
  79. package/adapters/cursor/data/hosts/codebuddy/host-descriptor.json +26 -0
  80. package/adapters/cursor/data/hosts/codex/host-descriptor.json +45 -0
  81. package/adapters/cursor/data/hosts/cursor/host-descriptor.json +34 -0
  82. package/adapters/cursor/data/hosts/deepseek-harness/host-descriptor.json +23 -0
  83. package/adapters/cursor/data/hosts/kimi-code/host-descriptor.json +36 -0
  84. package/adapters/cursor/data/hosts/qoder/host-descriptor.json +26 -0
  85. package/adapters/cursor/data/hosts/registry.json +14 -0
  86. package/adapters/cursor/data/hosts/workbuddy/host-descriptor.json +34 -0
  87. package/adapters/cursor/data/licensing/registry.json +211 -0
  88. package/adapters/cursor/data/licensing/schema.json +207 -0
  89. package/adapters/cursor/native/safe-write/binding.gyp +41 -0
  90. package/adapters/cursor/native/safe-write/prebuilds/darwin-arm64/safe_write.node +0 -0
  91. package/adapters/cursor/native/safe-write/prebuilds.json +24 -0
  92. package/adapters/cursor/native/safe-write/src/safe_write.cc +2032 -0
  93. package/adapters/cursor/schemas/.render-manifest.json +41 -0
  94. package/adapters/cursor/schemas/approval-record.schema.json +115 -0
  95. package/adapters/cursor/schemas/artifact-lock.schema.json +111 -0
  96. package/adapters/cursor/schemas/artifact-plan.schema.json +52 -0
  97. package/adapters/cursor/schemas/artifact-policy.schema.json +76 -0
  98. package/adapters/cursor/schemas/evidence-event-v2.schema.json +164 -0
  99. package/adapters/cursor/schemas/evidence-event.schema.json +89 -0
  100. package/adapters/cursor/schemas/postpublish-approval-record.schema.json +47 -0
  101. package/adapters/cursor/schemas/release-plan.schema.json +2226 -0
  102. package/adapters/cursor/schemas/release-project.schema.json +1815 -0
  103. package/adapters/cursor/schemas/release-run.schema.json +777 -0
  104. package/adapters/cursor/skills/release-assess/SKILL.md +61 -0
  105. package/adapters/cursor/skills/release-config/SKILL.md +151 -0
  106. package/adapters/cursor/skills/release-docs/SKILL.md +120 -0
  107. package/adapters/cursor/skills/release-finish/SKILL.md +181 -0
  108. package/adapters/cursor/skills/release-help/SKILL.md +98 -0
  109. package/adapters/cursor/skills/release-marketplace/SKILL.md +157 -0
  110. package/adapters/cursor/skills/release-prepare/SKILL.md +136 -0
  111. package/adapters/cursor/skills/release-publish/SKILL.md +92 -0
  112. package/adapters/cursor/skills/release-reconcile/SKILL.md +81 -0
  113. package/adapters/cursor/skills/release-setup/SKILL.md +132 -0
  114. package/adapters/cursor/skills/release-verify/SKILL.md +110 -0
  115. package/adapters/cursor/src/schemas/adapter-build-manifest.schema.json +41 -0
  116. package/adapters/cursor/src/schemas/adapter-peer-verification-request.schema.json +54 -0
  117. package/adapters/cursor/src/schemas/adapter-peer-verification-result.schema.json +54 -0
  118. package/adapters/cursor/src/schemas/adapter-source.schema.json +47 -0
  119. package/adapters/cursor/src/schemas/audit-baseline-pin.schema.json +163 -0
  120. package/adapters/cursor/src/schemas/declared-read-surface-result.schema.json +61 -0
  121. package/adapters/cursor/src/schemas/engineering-baseline.schema.json +77 -0
  122. package/adapters/cursor/src/schemas/executable-identity-observation.schema.json +162 -0
  123. package/adapters/cursor/src/schemas/filesystem-root-binding.schema.json +14 -0
  124. package/adapters/cursor/src/schemas/filesystem-tree-observation.schema.json +71 -0
  125. package/adapters/cursor/src/schemas/fixed-set-publication-manifest.schema.json +108 -0
  126. package/adapters/cursor/src/schemas/fixed-set-publication-receipt.schema.json +148 -0
  127. package/adapters/cursor/src/schemas/host-capability-fact.schema.json +31 -0
  128. package/adapters/cursor/src/schemas/host-descriptor.schema.json +144 -0
  129. package/adapters/cursor/src/schemas/host-operation-plan.schema.json +57 -0
  130. package/adapters/cursor/src/schemas/host-operation-receipt.schema.json +81 -0
  131. package/adapters/cursor/src/schemas/host-probe-result.schema.json +30 -0
  132. package/adapters/cursor/src/schemas/host-registry.schema.json +18 -0
  133. package/adapters/cursor/src/schemas/host-verification-request.schema.json +67 -0
  134. package/adapters/cursor/src/schemas/host-verification-result.schema.json +149 -0
  135. package/adapters/cursor/src/schemas/managed-file-lock.schema.json +77 -0
  136. package/adapters/cursor/src/schemas/migration-manifest.schema.json +412 -0
  137. package/adapters/cursor/src/schemas/observation-scope.schema.json +91 -0
  138. package/adapters/cursor/src/schemas/operation-request.schema.json +58 -0
  139. package/adapters/cursor/src/schemas/operation-result.schema.json +130 -0
  140. package/adapters/cursor/src/schemas/platform-difference-registry.schema.json +110 -0
  141. package/adapters/cursor/src/schemas/plugin-verification-request.schema.json +499 -0
  142. package/adapters/cursor/src/schemas/plugin-verification-result.schema.json +1217 -0
  143. package/adapters/cursor/src/schemas/profile-adoption-declaration.schema.json +111 -0
  144. package/adapters/cursor/src/schemas/profile-descriptor.schema.json +99 -0
  145. package/adapters/cursor/src/schemas/project-manifest.schema.json +67 -0
  146. package/adapters/cursor/src/schemas/project-profile.schema.json +25 -0
  147. package/adapters/cursor/src/schemas/public-boundary-declaration.schema.json +73 -0
  148. package/adapters/cursor/src/schemas/report-binding.schema.json +42 -0
  149. package/adapters/cursor/src/schemas/report-model.schema.json +308 -0
  150. package/adapters/cursor/src/schemas/skill-family-directory-verification-request.schema.json +100 -0
  151. package/adapters/cursor/src/schemas/skill-family-directory-verification-result.schema.json +193 -0
  152. package/adapters/cursor/src/schemas/source-authority-receipt.schema.json +31 -0
  153. package/adapters/cursor/src/schemas/state-event-envelope.schema.json +38 -0
  154. package/adapters/cursor/src/schemas/state-snapshot-metadata.schema.json +25 -0
  155. package/adapters/cursor/src/schemas/structured-scan-policy.schema.json +97 -0
  156. package/adapters/cursor/src/schemas/surface-scan-policy.schema.json +42 -0
  157. package/adapters/cursor/src/schemas/timeout-policy.schema.json +24 -0
  158. package/adapters/cursor/src/schemas/token-estimate-record.schema.json +75 -0
  159. package/adapters/cursor/src/schemas/token-estimate-result.schema.json +43 -0
  160. package/adapters/cursor/src/schemas/watchdog-termination-envelope.schema.json +156 -0
  161. package/adapters/kimi/.kimi-plugin/plugin.json +1 -1
  162. package/adapters/kimi/bin/consumer-contract-vectors.json +7 -7
  163. package/adapters/kimi/bin/error-codes.json +1 -1
  164. package/adapters/kimi/bin/foundation-resource-binding.json +1 -1
  165. package/adapters/kimi/bin/prebuild-manifest.json +8 -4
  166. package/adapters/kimi/bin/prebuilds/darwin-arm64/bound_read.darwin-arm64.node +0 -0
  167. package/adapters/kimi/bin/prebuilds/darwin-x64/bound_read.darwin-x64.node +0 -0
  168. package/adapters/kimi/bin/prebuilds/linux-arm64-gnu/bound_read.linux-arm64-gnu.node +0 -0
  169. package/adapters/kimi/bin/prebuilds/linux-x64-gnu/bound_read.linux-x64-gnu.node +0 -0
  170. package/adapters/kimi/bin/registry.json +1 -1
  171. package/adapters/kimi/bin/release-skill.bundle.mjs +4425 -1519
  172. package/adapters/kimi/bin/rules.json +1 -1
  173. package/adapters/kimi/data/hosts/cursor/host-descriptor.json +34 -0
  174. package/adapters/kimi/data/hosts/registry.json +1 -0
  175. package/adapters/kimi/schemas/release-plan.schema.json +255 -25
  176. package/adapters/kimi/schemas/release-project.schema.json +228 -26
  177. package/adapters/kimi/skills/release-finish/SKILL.md +46 -7
  178. package/adapters/kimi/skills/release-help/SKILL.md +49 -105
  179. package/adapters/kimi/skills/release-verify/SKILL.md +2 -2
  180. package/adapters/kimi/src/schemas/host-descriptor.schema.json +9 -2
  181. package/adapters/qoder/.qoder-plugin/plugin.json +1 -1
  182. package/adapters/qoder/bin/consumer-contract-vectors.json +7 -7
  183. package/adapters/qoder/bin/error-codes.json +1 -1
  184. package/adapters/qoder/bin/foundation-resource-binding.json +1 -1
  185. package/adapters/qoder/bin/prebuild-manifest.json +8 -4
  186. package/adapters/qoder/bin/prebuilds/darwin-arm64/bound_read.darwin-arm64.node +0 -0
  187. package/adapters/qoder/bin/prebuilds/darwin-x64/bound_read.darwin-x64.node +0 -0
  188. package/adapters/qoder/bin/prebuilds/linux-arm64-gnu/bound_read.linux-arm64-gnu.node +0 -0
  189. package/adapters/qoder/bin/prebuilds/linux-x64-gnu/bound_read.linux-x64-gnu.node +0 -0
  190. package/adapters/qoder/bin/registry.json +1 -1
  191. package/adapters/qoder/bin/release-skill.bundle.mjs +4425 -1519
  192. package/adapters/qoder/bin/rules.json +1 -1
  193. package/adapters/qoder/data/hosts/cursor/host-descriptor.json +34 -0
  194. package/adapters/qoder/data/hosts/registry.json +1 -0
  195. package/adapters/qoder/schemas/release-plan.schema.json +255 -25
  196. package/adapters/qoder/schemas/release-project.schema.json +228 -26
  197. package/adapters/qoder/skills/release-finish/SKILL.md +46 -7
  198. package/adapters/qoder/skills/release-help/SKILL.md +49 -105
  199. package/adapters/qoder/skills/release-verify/SKILL.md +2 -2
  200. package/adapters/qoder/src/schemas/host-descriptor.schema.json +9 -2
  201. package/adapters/workbuddy/.codebuddy-plugin/plugin.json +1 -1
  202. package/adapters/workbuddy/bin/consumer-contract-vectors.json +7 -7
  203. package/adapters/workbuddy/bin/error-codes.json +1 -1
  204. package/adapters/workbuddy/bin/foundation-resource-binding.json +1 -1
  205. package/adapters/workbuddy/bin/prebuild-manifest.json +8 -4
  206. package/adapters/workbuddy/bin/prebuilds/darwin-arm64/bound_read.darwin-arm64.node +0 -0
  207. package/adapters/workbuddy/bin/prebuilds/darwin-x64/bound_read.darwin-x64.node +0 -0
  208. package/adapters/workbuddy/bin/prebuilds/linux-arm64-gnu/bound_read.linux-arm64-gnu.node +0 -0
  209. package/adapters/workbuddy/bin/prebuilds/linux-x64-gnu/bound_read.linux-x64-gnu.node +0 -0
  210. package/adapters/workbuddy/bin/registry.json +1 -1
  211. package/adapters/workbuddy/bin/release-skill.bundle.mjs +4425 -1519
  212. package/adapters/workbuddy/bin/rules.json +1 -1
  213. package/adapters/workbuddy/data/hosts/cursor/host-descriptor.json +34 -0
  214. package/adapters/workbuddy/data/hosts/registry.json +1 -0
  215. package/adapters/workbuddy/schemas/release-plan.schema.json +255 -25
  216. package/adapters/workbuddy/schemas/release-project.schema.json +228 -26
  217. package/adapters/workbuddy/skills/release-finish/SKILL.md +46 -7
  218. package/adapters/workbuddy/skills/release-help/SKILL.md +47 -103
  219. package/adapters/workbuddy/skills/release-verify/SKILL.md +2 -2
  220. package/adapters/workbuddy/src/schemas/host-descriptor.schema.json +9 -2
  221. package/bin/consumer-contract-vectors.json +7 -7
  222. package/bin/error-codes.json +1 -1
  223. package/bin/foundation-resource-binding.json +1 -1
  224. package/bin/prebuild-manifest.json +8 -4
  225. package/bin/prebuilds/darwin-arm64/bound_read.darwin-arm64.node +0 -0
  226. package/bin/prebuilds/darwin-x64/bound_read.darwin-x64.node +0 -0
  227. package/bin/prebuilds/linux-arm64-gnu/bound_read.linux-arm64-gnu.node +0 -0
  228. package/bin/prebuilds/linux-x64-gnu/bound_read.linux-x64-gnu.node +0 -0
  229. package/bin/registry.json +1 -1
  230. package/bin/release-skill-cli.mjs +115 -15
  231. package/bin/release-skill.bundle.mjs +4425 -1519
  232. package/bin/rules.json +1 -1
  233. package/data/hosts/cursor/host-descriptor.json +34 -0
  234. package/data/hosts/registry.json +1 -0
  235. package/package.json +7 -5
  236. package/platform-manifest.json +75 -9
  237. package/references/02-project-config.md +4 -0
  238. package/schemas/release-plan.schema.json +255 -25
  239. package/schemas/release-project.schema.json +228 -26
  240. package/scripts/sync-public-files.mjs +3 -22
  241. package/skills/release-finish/SKILL.md +46 -7
  242. package/skills/release-help/SKILL.md +47 -103
  243. package/skills/release-verify/SKILL.md +2 -2
  244. package/skills-src/release-finish/SKILL.md +46 -7
  245. package/skills-src/release-help/SKILL.md +47 -103
  246. package/skills-src/release-verify/SKILL.md +2 -2
  247. package/src/adapters/contract.mjs +1 -0
  248. package/src/adapters/plugin-marketplace.mjs +201 -9
  249. package/src/commands/post-release-finish.mjs +448 -0
  250. package/src/commands/post-release-local.mjs +312 -36
  251. package/src/commands/prepare.mjs +74 -9
  252. package/src/commands/publish.mjs +4 -1
  253. package/src/commands/ship.mjs +3 -0
  254. package/src/commands/verify.mjs +73 -0
  255. package/src/core/checkpoints.mjs +5 -2
  256. package/src/core/config.mjs +1 -1
  257. package/src/core/foundation-host-verification.mjs +168 -0
  258. package/src/core/plan.mjs +19 -1
  259. package/src/core/postpublish.mjs +9 -1
  260. package/src/core/run-retention.mjs +1 -1
  261. package/src/core/surface-host-bindings.mjs +1 -0
  262. package/src/core/verification-gates.mjs +1 -1
  263. package/src/platforms/registry.mjs +225 -16
  264. package/src/producers/build-adapters.mjs +21 -26
  265. package/src/producers/foundation-resource-projection.mjs +3 -3
  266. package/src/schemas/host-descriptor.schema.json +9 -2
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.17",
3
+ "version": "0.9.19",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.17",
3
+ "version": "0.9.19",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.17",
3
+ "version": "0.9.19",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -19,7 +19,7 @@
19
19
  ],
20
20
  "defaultPrompt": [
21
21
  "Assess this project for release readiness.",
22
- "Prepare a release plan for version 0.9.17.",
22
+ "Prepare a release plan for version 0.9.19.",
23
23
  "Help me understand the release workflow."
24
24
  ]
25
25
  }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "release-skill",
3
+ "version": "0.9.19",
4
+ "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
+ "author": {
6
+ "name": "广州市风荷科技有限公司"
7
+ },
8
+ "license": "Apache-2.0",
9
+ "skills": "./adapters/cursor/skills/"
10
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.17",
3
+ "version": "0.9.19",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.17",
3
+ "version": "0.9.19",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
package/CHANGELOG.md CHANGED
@@ -1,9 +1,77 @@
1
1
  # Changelog
2
2
 
3
- <!-- release-skill:changelog:start version=0.9.17 locale=en baseline=sha256:83fe967a104a1b324ea1b704cfc6ee67d6a2999f3d6c0e2d92411435fa6986a2 -->
3
+ <!-- release-skill:changelog:start version=0.9.19 locale=en baseline=sha256:e0f2dd2aca0b1ca36bb2a95feded3fb291e176c31357f8ba2d390bed4a10184f -->
4
+ ## [0.9.19] - 2026-09-14
5
+
6
+ 0.9.19 is a local source candidate that completes the verified-release workflow with a deterministic local finish orchestrator. After publication and postVerify, maintainers can use one public entry to select the source branch outcome, update supported hosts, confirm that each host loaded the target plugin, run the configured setup Skill, and verify the source workspace without changing the release status. The three Foundation dependencies remain pinned to the exact 0.21.0 release. This note is not evidence of publication, real-host acceptance, consumer installation verification, or independent acceptance.
7
+
8
+ ### Security
9
+
10
+ - Finish feedback is bound to the current plugin version, project root, selected host, request identity, and execution environment; changing an update decision invalidates earlier setup evidence.
11
+ - No host is considered loaded from filesystem installation alone, and no configured setup is considered complete until its real result is returned through the bound feedback contract.
12
+ - Hub publication remains a compare-and-swap operation. A partial Hub publication is never rolled back or force-pushed automatically.
13
+
14
+ ### Added
15
+
16
+ - The local finish entry now accepts `--finish` and emits an ordered plan for branch handling, host updates, load confirmation, configured setup execution, and final source checks.
17
+ - Bound feedback can resume the same finish operation after real host loading and setup execution; JSON and text output expose the same pending, blocked, and complete decisions.
18
+ - The release-finish Skill documents the end-to-end VERIFIED-to-COMPLETE handoff, including the exact request and feedback boundaries used by an agent.
19
+
20
+ ### Changed
21
+
22
+ - Finish completion is now separate from the release lifecycle: a successful local finish preserves VERIFIED and reports `releaseStatusChanged: false`.
23
+ - The release help entry is shorter and routes specialized publishing, verification, documentation, marketplace, and finish details to their owning Skills.
24
+ - Skill Family Hub remains the central marketplace, and its release entry continues to use the existing GitHub Git Data API after release verification.
25
+
26
+ ### Fixed
27
+
28
+ - Ambiguous setup-plugin selection, missing host candidates, stale setup feedback, and incomplete next-action lists now fail closed instead of producing a false COMPLETE result.
29
+ - Read-only Git observations disable optional index locking and retain exact argv, exit code, stdout, and stderr when a command fails.
30
+
31
+ ### Upgrade Notes
32
+
33
+ Upgrade from 0.9.18 to use the new `post-release --finish` orchestration. Remove the old release-skill standalone marketplace; use the ifoohoo/skill-family-hub repository and Hub-qualified plugin id release-skill@skill-family-hub. Complete the normal publish and postVerify stages first, run the finish entry, perform every requested host load and setup action, then pass the bound feedback file to the same entry until it returns COMPLETE.
34
+ <!-- release-skill:changelog:end version=0.9.19 locale=en -->
35
+
36
+
37
+ <!-- release-skill:changelog:start version=0.9.18 locale=en baseline=sha256:486d52ac38ecb11f043c79661728004fb1c1593089915741867cdc0f449be275 -->
38
+ ## [0.9.18] - 2026-09-11
39
+
40
+ 0.9.18 is a local source candidate that adds first-class Cursor packaging, Foundation-backed host verification, and a final local distribution path for Claude, Codex, Kimi, CodeBuddy, WorkBuddy, Qoder, and Cursor. The three Foundation dependencies remain pinned to the exact 0.21.0 release. This note is not evidence of publication, real-host acceptance, consumer installation verification, or independent acceptance.
41
+
42
+ ### Security
43
+
44
+ - Cursor must be closed before its plugin tree is scanned or replaced. Failed upgrades preserve or restore a complete old or new directory instead of publishing a mixed tree.
45
+ - Host verification receives only caller-declared roots and records mechanism observations separately from release-domain publication and verification state.
46
+ - Hub publication remains a compare-and-swap operation. A partial Hub publication is never rolled back or force-pushed automatically.
47
+
48
+ ### Added
49
+
50
+ - The npm package now includes `.cursor-plugin/plugin.json` and a self-contained `adapters/cursor/` projection with all release-skill Skills and runtime resources.
51
+ - Release verification can invoke Foundation 0.21.0 host verification with explicit executable and user-state roots, including Cursor project-level plugin verification.
52
+ - The final local updater can distribute the verified release to the declared Claude, Codex, Kimi, CodeBuddy, WorkBuddy, Qoder, and Cursor installations.
53
+ - Skill Family Hub remains the central marketplace. Its release entry is published through the existing Git Data API after release verification.
54
+
55
+ ### Changed
56
+
57
+ - Local host updates verify the frozen snapshot and manifest identity before installation, and Cursor updates use Foundation fixed-set publication for first install and atomic full-directory replacement for upgrades.
58
+ - Platform generation, public-file projection, package allowlists, schemas, and release-finish guidance now treat Cursor as a declared host and adapter.
59
+
60
+ ### Fixed
61
+
62
+ - Cursor plugin names reject underscores so generated local plugin directories remain compatible with Cursor's manifest requirements.
63
+ - The package's native prebuild allowlist and fixed resource-closure checks now include every generated adapter, including Cursor.
64
+
65
+ ### Upgrade Notes
66
+
67
+ Upgrade from 0.9.17 to obtain Cursor packaging and local installation, the Foundation-backed host verification bridge, and the unified seven-host local finish path. Remove the old release-skill standalone marketplace; use the ifoohoo/skill-family-hub repository and Hub-qualified plugin id release-skill@skill-family-hub. Reload each host after updating; an `UPDATED` filesystem result alone does not prove that the running host loaded the new version.
68
+ <!-- release-skill:changelog:end version=0.9.18 locale=en -->
69
+
70
+
71
+ <!-- release-skill:changelog:start version=0.9.17 locale=en baseline=sha256:b7b382ee18c66d75612df7c83aa80439100237bf7d1ce3e36dc0cf1a038ed051 -->
4
72
  ## [0.9.17] - 2026-09-09
5
73
 
6
- 0.9.17 is a local source candidate that adds explicit offline verification of historical release records and a self-contained Qoder projection, while preserving the setup-root and Kimi initial-directory trust fixes. The three Foundation dependencies remain pinned to the exact 0.17.0 release. This note is not evidence of publication, real-host acceptance, consumer installation verification, or independent acceptance; it also does not establish Hub acceptance.
74
+ 0.9.17 is a local source candidate that adds explicit offline verification of historical release records and a self-contained Qoder projection, while preserving the setup-root and Kimi initial-directory trust fixes. The three Foundation dependencies are pinned to the exact 0.21.0 release. This note is not evidence of publication, real-host acceptance, consumer installation verification, or independent acceptance; it also does not establish Hub acceptance.
7
75
 
8
76
  ### Security
9
77
 
package/INSTALL.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [简体中文](INSTALL.zh-CN.md)
4
4
 
5
- <!-- release-skill:release-version: 0.9.17 -->
5
+ <!-- release-skill:release-version: 0.9.19 -->
6
6
  ## Prerequisites
7
7
 
8
8
  - Node.js 22.0.0 or later
@@ -125,12 +125,22 @@ tag pinned to the exact version (never the bare repository URL, which installs
125
125
  the latest release or default branch), confirm the trust prompt, then reload:
126
126
 
127
127
  ```
128
- /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.9.17
128
+ /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.9.19
129
129
  /plugins reload
130
130
  ```
131
131
 
132
132
  After the release has reached `VERIFIED`, the optional `release-finish` workflow
133
133
  can perform the same TUI interaction only after explicit user confirmation. It
134
+ starts from the public `release-skill post-release --root <root> --plan <plan> --run
135
+ <postverify-run> --finish` entry. The command reports the fixed merge, host-update,
136
+ host-load, setup, and source-branch steps. A pending load or setup observation
137
+ exits `2`; an operational failure exits `1`; only a fully closed checklist exits
138
+ `0`. Agent-observed host loading and the invoked `release-setup` result return
139
+ through an absolute `--finish-feedback` file bound to the plan digest,
140
+ configuration digest, and project root. An update result alone never proves that
141
+ the host loaded the release.
142
+
143
+ The workflow
134
144
  requires the package name, version, release tag, installed revision, and managed
135
145
  root to match the frozen plan. An exact current installation is checked before
136
146
  returning `ALREADY_CURRENT`. When an installation or migration occurs, the
@@ -146,13 +156,22 @@ The effective configuration root is explicit `kimiHome`, then
146
156
  `KIMI_CODE_HOME`, then `~/.kimi-code`. The TUI process and post-operation
147
157
  observation use that same root. The TUI working directory is the resolved release
148
158
  project root passed through `--root`. After explicit confirmation of the frozen
149
- plan and selection of Kimi for update, release-finish accepts only the initial
150
- standard `Trust this folder?` dialog with `No, exit` selected and
151
- `Trust this folder` available. It moves to that row, verifies the new selection,
152
- confirms it, and waits for the known command prompt. Unknown rows or selections,
153
- a failed move, timeout, early exit, or a folder-trust dialog after the plugin
154
- command fails closed. release-finish still strips ANSI/OSC control sequences and
155
- soft wrapping before it checks the frozen repository, tag, and selected
159
+ plan and selection of Kimi for update, release-finish reads the complete initial
160
+ `Trust this folder?` dialog and requires exactly one positive
161
+ `Trust this folder` action and exactly one selected action. If the positive action
162
+ is already selected, it confirms without sending a direction key. If a known
163
+ rejection action is selected, it moves once according to the action's position,
164
+ reads the complete dialog again, and verifies the positive selection before
165
+ confirming. Unknown or duplicate actions, a missing or duplicate positive action,
166
+ an unverifiable selection, a failed move, timeout, early exit, or a folder-trust
167
+ dialog after the plugin command fails closed. When a later Kimi version presents
168
+ a new reproducible blocking layout, capture the Kimi version, visible actions,
169
+ selected action, and their relationship first. Add the nearest regression and
170
+ continue compatibility work when those facts uniquely identify the current
171
+ directory, positive trust action, and selection result; stop and escalate when
172
+ directory identity or action semantics remain ambiguous. release-finish still
173
+ strips ANSI/OSC control sequences and soft wrapping before it checks the frozen
174
+ repository, tag, and selected
156
175
  `Trust and install` action inside the plugin trust dialog. This local check is
157
176
  not part of `verify` and does not alter the `VERIFIED` release state.
158
177
 
@@ -198,6 +217,44 @@ For a single session from a source checkout you can also point CodeBuddy at the
198
217
  generated plugin directory with `--plugin-dir <path>/adapters/workbuddy`; the
199
218
  adapter never references files outside its own directory.
200
219
 
220
+ ## Install as a Cursor Local plugin
221
+
222
+ `adapters/cursor/` contains `.cursor-plugin/plugin.json`, all public Skills and a
223
+ self-contained runtime. Skills resolve the plugin from the absolute `SKILL.md`
224
+ path supplied by Cursor and validate the root manifest; no plugin-root environment
225
+ variable is required.
226
+
227
+ Declare `cursor` in `postPublish.localHostUpdate.hosts` and set
228
+ `cursor.sourcePath: adapters/cursor`. The directory and manifest identity are
229
+ frozen with the public snapshot. Optional `cursor.dependencyInstall:
230
+ npm-ci-ignore-scripts` installs lockfile dependencies in a candidate outside the
231
+ scanner root.
232
+
233
+ On macOS, quit Cursor and run the installed finishing entry. Supply the real
234
+ absolute plugins root, commonly `.cursor/plugins` inside the user directory:
235
+
236
+ ```bash
237
+ node <installed-plugin-root>/bin/release-skill-local-finish.mjs \
238
+ --root <release-project-root> --plan <frozen-plan-path> --run <completed-run-path> \
239
+ --update-local-hosts --hosts cursor --confirm-plan <planDigest> \
240
+ --cursor-plugins-root <absolute-cursor-plugins-root> --json
241
+ ```
242
+
243
+ The command verifies the plan, run lineage and frozen snapshot before installing
244
+ the complete plugin at `<cursor-plugins-root>/local/<plugin>`. First installation
245
+ never overwrites an existing directory. Upgrades atomically exchange whole
246
+ directories and retain the old version at `backups/<plugin>/release-*/plugin`.
247
+ An identical version and full closure returns `ALREADY_CURRENT`; a completed
248
+ write returns `UPDATED` with restart instructions. Indeterminate exchanges retain
249
+ both sides for manual inspection; do not retry blindly. If backup relocation
250
+ fails while the exchanged mapping remains provable, the script restores the old
251
+ directory and reports failure.
252
+
253
+ Restart Cursor or run Reload Window, then verify the Local source, version,
254
+ public Skills and a real business invocation separately. Installation does not
255
+ prove loading and never changes `VERIFIED`. Other operating systems, a running
256
+ Cursor process or unavailable process observation return `MANUAL_REQUIRED`.
257
+
201
258
  ## Install as a Qoder plugin
202
259
 
203
260
  The npm package ships `.qoder-plugin/plugin.json` and a generated,
package/INSTALL.zh-CN.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [English](INSTALL.md)
4
4
 
5
- <!-- release-skill:release-version: 0.9.17 -->
5
+ <!-- release-skill:release-version: 0.9.19 -->
6
6
  ## 前置条件
7
7
 
8
8
  - Node.js 22.0.0 或更高版本
@@ -113,12 +113,19 @@ release-skill 当前只采用并验证 Kimi Code 的交互式 TUI 路径,**无
113
113
  (切勿使用裸仓库地址,它会安装最新 release 或默认分支),确认信任提示后重新加载:
114
114
 
115
115
  ```
116
- /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.9.17
116
+ /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.9.19
117
117
  /plugins reload
118
118
  ```
119
119
 
120
120
  发布达到 `VERIFIED` 后,可选的 `release-finish` 工作流可以在用户明确同意后执行
121
- 同一套 TUI 操作。包名、版本、发布标签、已安装修订号和受管安装根都必须与冻结计划
121
+ 同一套 TUI 操作。其公共入口是 `release-skill post-release --root <root> --plan <plan>
122
+ --run <postverify-run> --finish`,固定汇总合并、本机宿主更新、宿主加载、setup 和源码
123
+ 分支五步。仍缺加载或 setup 观察时退出码为 `2`,操作失败时为 `1`,只有全部收尾才为
124
+ `0`。智能体观察到的宿主加载结果和实际调用 `release-setup` 的结果,必须通过绝对路径的
125
+ `--finish-feedback` 文件回传,并绑定计划摘要、配置摘要和项目根;更新成功本身不证明新版
126
+ 已经加载。
127
+
128
+ 包名、版本、发布标签、已安装修订号和受管安装根都必须与冻结计划
122
129
  一致。精确当前安装会在返回 `ALREADY_CURRENT` 前核对;发生安装或迁移时,只在操作
123
130
  完成后核对结果。`.git` 目录只提供附加诊断,不是通过条件。发生安装或迁移后,
124
131
  release-finish 会重新读取 Kimi 的受管安装根,不复用操作前的观察;随后核对最终身份与
@@ -127,11 +134,16 @@ release-finish 会重新读取 Kimi 的受管安装根,不复用操作前的
127
134
 
128
135
  有效配置根依次取显式 `kimiHome`、`KIMI_CODE_HOME`、`~/.kimi-code`,TUI 进程和
129
136
  操作后观察使用同一根,TUI 工作目录固定为 `--root` 指定的当前发布项目。用户确认冻结
130
- 计划并显式选择更新 Kimi 后,release-finish 只接受初始标准 `Trust this folder?` 界面:
131
- 当前必须选中 `No, exit`,且存在 `Trust this folder` 目标行。流程移动到目标行,重新确认
132
- 选中项,再提交并等待已知命令提示符。出现未知行或选中项、移动后无法确认、超时、提前
133
- 退出,或者插件命令发出后再次出现目录信任时,该宿主失败并停止。release-finish 仍会先
134
- 清理 ANSI/OSC 控制序列和软换行,再在插件信任对话框内核对冻结仓库、标签和当前选中的
137
+ 计划并显式选择更新 Kimi 后,release-finish 会读取完整的初始 `Trust this folder?`
138
+ 对话框,并要求其中只有一个正向项 `Trust this folder` 和一个选中项。正向项已经选中时,
139
+ 流程不发送方向键,直接确认;已知拒绝项选中时,流程按它与正向项的相对位置移动一次,
140
+ 重新读取完整对话框并确认正向项已选中,然后才提交。出现未知或重复选项、正向项缺失或
141
+ 重复、选中状态无法核验、移动后无法确认、超时、提前退出,或者插件命令发出后再次出现
142
+ 目录信任时,该宿主失败并停止。若后续 Kimi 版本出现新的可复现阻断界面,先记录 Kimi
143
+ 版本、可见选项、选中项及其相对关系;这些事实足以唯一确认当前目录、正向信任项和选择
144
+ 结果时,在最近测试补回归与兼容并继续,目录身份或选项语义仍有歧义时停止并交回主会话。
145
+ release-finish 仍会先清理 ANSI/OSC 控制序列和软换行,再在插件信任对话框内核对冻结
146
+ 仓库、标签和当前选中的
135
147
  `Trust and install`。这个本机检查不属于 `verify`,也不会改变
136
148
  已经完成的 `VERIFIED` 发布状态。
137
149
 
@@ -189,6 +201,35 @@ qoder plugins install release-skill@skill-family-hub --scope user --json
189
201
  或新开会话,再由真实发现的 release-skill 完成一次只读发布业务调用,才能宣称新版已
190
202
  生效。这些本机结果不会改变 `VERIFIED`。
191
203
 
204
+ ## 安装为 Cursor 本地插件
205
+
206
+ 包内 `adapters/cursor/` 包含 `.cursor-plugin/plugin.json`、全部公开 Skill 和自足运行资源。
207
+ Skill 根据宿主实际加载的 `SKILL.md` 绝对路径定位插件根,并检查根清单;不依赖插件根环境变量。
208
+
209
+ 发布项目在 `postPublish.localHostUpdate.hosts` 中声明 `cursor`,并设置
210
+ `cursor.sourcePath: adapters/cursor`。该相对目录与清单身份随公开快照冻结;需要锁文件依赖时,
211
+ 可设置 `cursor.dependencyInstall: npm-ci-ignore-scripts`,脚本只在扫描根外的候选中安装依赖。
212
+
213
+ macOS 上先退出 Cursor,再运行已安装版本的收尾入口。插件根必须使用真实绝对路径;
214
+ 常见位置是用户目录下的 `.cursor/plugins`,命令不会自动推断它。
215
+
216
+ ```bash
217
+ node <installed-plugin-root>/bin/release-skill-local-finish.mjs \
218
+ --root <release-project-root> --plan <frozen-plan-path> --run <completed-run-path> \
219
+ --update-local-hosts --hosts cursor --confirm-plan <planDigest> \
220
+ --cursor-plugins-root <absolute-cursor-plugins-root> --json
221
+ ```
222
+
223
+ 命令先复验计划、运行谱系和冻结快照,再把完整插件放到 `<cursor-plugins-root>/local/<plugin>`。
224
+ 首次安装不覆盖已有目录;升级整体交换目录,并把旧版保存到 `backups/<plugin>/release-*/plugin`。
225
+ 相同版本和完整闭包一致时返回 `ALREADY_CURRENT`;写入成功返回 `UPDATED` 和重启提示。
226
+ 交换结果不确定时保留现场并要求人工检查,禁止原样重试。备份迁移失败且交换映射可确认时,
227
+ 脚本恢复原目录并报告失败。
228
+
229
+ 重启 Cursor 或执行 Reload Window 后,分别核对 Local 来源、版本、公开 Skill 和一次实际业务调用。
230
+ 安装成功不等于新版已加载;本机结果不改变 `VERIFIED`。其他操作系统、Cursor 仍运行或进程状态
231
+ 无法判断时,自动安装返回 `MANUAL_REQUIRED`。
232
+
192
233
  ## 消费端安装验证边界
193
234
 
194
235
  **何时执行验证。** 消费端安装验证仅在安装契约关键文件相对已确认公开基线发生变化时执行;
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [简体中文](README.zh-CN.md) · Installation: [English](INSTALL.md) / [简体中文](INSTALL.zh-CN.md)
4
4
 
5
- <!-- release-skill:release-version: 0.9.17 -->
5
+ <!-- release-skill:release-version: 0.9.19 -->
6
6
  Release preparation for Claude Code, CodeBuddy, WorkBuddy, Codex, and Kimi Code, with human-edited files kept intact.
7
7
 
8
8
  release-skill helps a maintainer answer three questions: what will be released,
@@ -14,36 +14,40 @@ Setup surfaces only the deterministic `compactSummary` review view; the full
14
14
  report stays in a temporary session directory.
15
15
 
16
16
  <!-- release-skill:managed:start id=latest-release -->
17
- **0.9.17** (2026-09-09)
17
+ **0.9.19** (2026-09-14)
18
18
 
19
- 0.9.17 is a local source candidate that adds explicit offline verification of historical release records and a self-contained Qoder projection, while preserving the setup-root and Kimi initial-directory trust fixes. The three Foundation dependencies remain pinned to the exact 0.17.0 release. This note is not evidence of publication, real-host acceptance, consumer installation verification, or independent acceptance; it also does not establish Hub acceptance.
19
+ 0.9.19 is a local source candidate that completes the verified-release workflow with a deterministic local finish orchestrator. After publication and postVerify, maintainers can use one public entry to select the source branch outcome, update supported hosts, confirm that each host loaded the target plugin, run the configured setup Skill, and verify the source workspace without changing the release status. The three Foundation dependencies remain pinned to the exact 0.21.0 release. This note is not evidence of publication, real-host acceptance, consumer installation verification, or independent acceptance.
20
20
 
21
21
  **Security**
22
22
 
23
- - Offline verification reads only paths explicitly supplied on the command line and redacts local path details from its JSON result. Historical consistency does not prove that records are globally latest or that remote objects still exist.
24
- - Qoder remains outside release distributions and publication checkpoints. The updater does not add a marketplace, perform a first install, uninstall, or reload the current session; `UPDATED` does not mean the new plugin has been loaded.
25
- - Any later central Skill Family Hub publication uses the existing Git Data API with compare-and-swap. A partial Hub publication remains recoverable and is never rolled back or force-pushed automatically.
23
+ - Finish feedback is bound to the current plugin version, project root, selected host, request identity, and execution environment; changing an update decision invalidates earlier setup evidence.
24
+ - No host is considered loaded from filesystem installation alone, and no configured setup is considered complete until its real result is returned through the bound feedback contract.
25
+ - Hub publication remains a compare-and-swap operation. A partial Hub publication is never rolled back or force-pushed automatically.
26
26
 
27
27
  **Added**
28
28
 
29
- - The public `release-skill verify-records` CLI checks caller-supplied plan, approval, target-run, and predecessor-run bytes. It reports `CONSISTENT`, `CONTRADICTED`, or `INSUFFICIENT` without scanning `.release-skill`, following paths from records, contacting remotes, writing files, or changing release state.
30
- - The npm package now includes `.qoder-plugin/plugin.json` and a self-contained `adapters/qoder/` projection. The existing post-release updater can update an already installed user-scope Qoder plugin only after the selected Hub source and frozen payload match.
29
+ - The local finish entry now accepts `--finish` and emits an ordered plan for branch handling, host updates, load confirmation, configured setup execution, and final source checks.
30
+ - Bound feedback can resume the same finish operation after real host loading and setup execution; JSON and text output expose the same pending, blocked, and complete decisions.
31
+ - The release-finish Skill documents the end-to-end VERIFIED-to-COMPLETE handoff, including the exact request and feedback boundaries used by an agent.
31
32
 
32
33
  **Changed**
33
34
 
34
- - The release-finish setup continuation uses the current `--root` release project directly. It no longer asks for a second project path, while project-level readiness and host-specific loading checks remain distinct.
35
+ - Finish completion is now separate from the release lifecycle: a successful local finish preserves VERIFIED and reports `releaseStatusChanged: false`.
36
+ - The release help entry is shorter and routes specialized publishing, verification, documentation, marketplace, and finish details to their owning Skills.
37
+ - Skill Family Hub remains the central marketplace, and its release entry continues to use the existing GitHub Git Data API after release verification.
35
38
 
36
39
  **Fixed**
37
40
 
38
- - An authorized Kimi update can confirm the standard initial `Trust this folder?` dialog for the current release project before continuing. Unknown rows, selections, repeated trust dialogs, timeout, or early exit still stop that host.
41
+ - Ambiguous setup-plugin selection, missing host candidates, stale setup feedback, and incomplete next-action lists now fail closed instead of producing a false COMPLETE result.
42
+ - Read-only Git observations disable optional index locking and retain exact argv, exit code, stdout, and stderr when a command fails.
39
43
 
40
44
  **Upgrade Notes**
41
45
 
42
- Upgrade from 0.9.16 to use `release-skill verify-records`, the Qoder package projection, and the setup/Kimi fixes. Remove the old release-skill standalone marketplace; use the ifoohoo/skill-family-hub repository and Hub-qualified plugin id release-skill@skill-family-hub. The central Skill Family Hub must accept the Qoder entry before marketplace installation can begin. Real Qoder and Kimi installation, reload, and business invocation remain separate authorized follow-up work.
46
+ Upgrade from 0.9.18 to use the new `post-release --finish` orchestration. Remove the old release-skill standalone marketplace; use the ifoohoo/skill-family-hub repository and Hub-qualified plugin id release-skill@skill-family-hub. Complete the normal publish and postVerify stages first, run the finish entry, perform every requested host load and setup action, then pass the bound feedback file to the same entry until it returns COMPLETE.
43
47
  <!-- release-skill:managed:end id=latest-release -->
44
48
 
45
49
  <!-- release-skill:capability:external-write-boundary -->
46
- > **Current boundary:** v0.9.17 is the current source candidate. This README
50
+ > **Current boundary:** v0.9.19 is the current source candidate. This README
47
51
  > records intended scope and verification boundaries; it is not evidence of
48
52
  > publication, consumer-installation verification, or independent acceptance.
49
53
  > Release availability must be established from the corresponding release records
@@ -67,7 +71,7 @@ Upgrade from 0.9.16 to use `release-skill verify-records`, the Qoder package pro
67
71
  > publish global preflight.
68
72
 
69
73
  <!-- release-skill:capability:safe-first-command -->
70
- > **Production path verified since the v0.1.1 milestone; v0.9.17 is the current
74
+ > **Production path verified since the v0.1.1 milestone; v0.9.19 is the current
71
75
  > source candidate. Its README does not establish publication,
72
76
  > consumer-installation verification, or independent acceptance.**
73
77
  > The npm-installed CLI is the supported user entry. Source checkout
@@ -96,10 +100,11 @@ checkpoints remain intact and use matching-version recovery. Evidence v1 stays
96
100
  read-only; v2 uses a closed top level with phase extensions in `details`.
97
101
  Summaries and recovery suggestions are diagnostic, never publication authority.
98
102
 
99
- The current 0.9.17 candidate includes the narrow R-05 Hook cache v2 consumer
103
+ The current 0.9.19 candidate includes the narrow R-05 Hook cache v2 consumer
100
104
  path, the public `postverify` path, and the stable isolated install-tree record
101
105
  path (A2/A3). It also adds the explicit-input `verify-records` command and a
102
- self-contained Qoder projection. Skill Family Hub remains the single
106
+ self-contained Qoder projection, first-class Cursor packaging, and the
107
+ Foundation-backed host verification bridge. Skill Family Hub remains the single
103
108
  marketplace source. The candidate
104
109
  also makes the `release-prepare` Skill organize existing assessment, refresh,
105
110
  focused-check, and prepare entry points without adding another execution
@@ -107,10 +112,10 @@ engine. `prepare --help` and `prepare -h` now return before configuration,
107
112
  locks, runs, or hooks can observe the request. The `release-finish` Skill can
108
113
  also report the source branch and continue into a configured setup entry after
109
114
  the selected host has loaded the released plugin. This candidate still excludes
110
- R-02 safe full-tree inventory and real Kimi/WorkBuddy/Qoder marketplace
111
- installation and invocation gates. The central Hub has not yet accepted the
112
- release-skill Qoder entry.
113
- Foundation dependencies are pinned to the three released 0.17.0 packages.
115
+ R-02 safe full-tree inventory. Marketplace installation and live invocation
116
+ remain host-level post-release checks; Cursor is distributed through its
117
+ supported local-plugin directory rather than a Hub marketplace entry.
118
+ Foundation dependencies are pinned to the three released 0.21.0 packages.
114
119
  For Kimi/CodeBuddy plans that still use the bundled-family distribution form,
115
120
  verify calls the released
116
121
  `runPluginVerification` entry with the complete frozen payload and records a
@@ -275,7 +280,13 @@ Qoder entry; the generated adapter alone does not prove Hub consumption. See
275
280
  [INSTALL.md](INSTALL.md#install-as-a-qoder-plugin) for the bounded install and
276
281
  post-release update contract.
277
282
 
278
- See [INSTALL.md](INSTALL.md) for CodeBuddy, Codex, Kimi Code, and Qoder commands.
283
+ **Cursor:** `adapters/cursor/` is a complete Local plugin. After release verification,
284
+ `release-finish` can install or atomically upgrade its frozen tree on macOS while
285
+ Cursor is closed. It requires an explicit `--cursor-plugins-root` and preserves
286
+ the displaced version outside `local/`. Restart and real Skill invocation remain
287
+ separate checks. See [the Cursor instructions](INSTALL.md#install-as-a-cursor-local-plugin).
288
+
289
+ See [INSTALL.md](INSTALL.md) for CodeBuddy, Codex, Kimi Code, Qoder, and Cursor commands.
279
290
 
280
291
  ### Offline historical record verification
281
292
 
@@ -566,6 +577,16 @@ a shell command. After host updates, release-finish runs that setup entry
566
577
  against the current release project root passed through `--root`; it does not
567
578
  request a separate project directory. The two settings are independent.
568
579
 
580
+ Use `release-skill post-release --finish` for the complete local finish. It
581
+ always reports merge, host update, actual host loading, setup, and source-branch
582
+ steps. Exit 0 means every applicable step completed or was explicitly skipped;
583
+ exit 2 means caller work remains; exit 1 means a deterministic failure. Pass
584
+ agent observations back through an absolute `--finish-feedback` JSON file bound
585
+ to the reported plan digest, config digest, and canonical project root. Feedback
586
+ is data only: the command does not execute its strings or treat it as new write
587
+ authority. `--skip-local-hosts` explicitly skips host update, loading, and setup
588
+ and cannot be combined with `--hosts` or `--update-local-hosts`.
589
+
569
590
  `distributions` is required but may be an explicit empty array. Use
570
591
  `distributions: []` when release-skill should publish only the unit's GitHub
571
592
  snapshot, tag, and GitHub Release, with no npm publish or marketplace consumer
package/README.zh-CN.md CHANGED
@@ -2,42 +2,46 @@
2
2
 
3
3
  [English](README.md) · 安装指南:[中文](INSTALL.zh-CN.md) / [English](INSTALL.md)
4
4
 
5
- <!-- release-skill:release-version: 0.9.17 -->
5
+ <!-- release-skill:release-version: 0.9.19 -->
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.17** (2026-09-09)
11
+ **0.9.19** (2026-09-14)
12
12
 
13
- 0.9.17 是一个本地源码候选。本版本增加显式的历史发布记录离线核验入口和自包含 Qoder 投影,并保留 setup 根目录与 Kimi 初始目录信任修复。三项 Foundation 依赖仍精确固定在已发布的 0.17.0。本说明不代表已经发布、完成真实宿主验收、完成消费者安装验证或通过独立验收,也不代表 Hub 已接纳。
13
+ 0.9.19 是一个本地源码候选。本版本补齐已验证发布后的本机收尾编排。发布和 postVerify 完成后,维护者可以通过同一个公共入口决定源码分支去向、更新受支持宿主、确认各宿主实际加载目标插件、运行项目配置的 setup Skill,并检查源码工作区;整个过程不会改写发布状态。三项 Foundation 依赖继续精确固定在已发布的 0.21.0。本说明不代表已经发布、完成真实宿主验收、完成消费者安装验证或通过独立验收。
14
14
 
15
15
  **安全**
16
16
 
17
- - 离线核验只读取命令行显式提供的路径,并从 JSON 结果中隐去本机路径细节。历史材料一致不代表记录是全局最新,也不证明远端对象仍然存在。
18
- - Qoder 不进入 release distribution 和发布检查点。更新入口不会添加市场、首次安装、卸载或重新加载当前会话;`UPDATED` 也不代表新版插件已经加载。
19
- - 后续如需发布到中央 Skill Family Hub,仍通过既有 GitHub Git Data API 执行比较后写入。Hub 部分发布保持可恢复,系统不会自动回滚;即不回滚、不覆盖已经成功的远端步骤。
17
+ - 收尾反馈绑定当前插件版本、项目根目录、选定宿主、请求身份和运行环境;宿主更新决定变化后,旧 setup 证据自动失效。
18
+ - 仅完成文件安装不能证明宿主已经加载插件;已配置的 setup 也只有在真实结果通过绑定反馈返回后才算完成。
19
+ - Hub 发布继续绑定已观察的分支头执行比较后写入。部分发布时不回滚、不覆盖已经成功的远端步骤。
20
20
 
21
21
  **新增**
22
22
 
23
- - 新增公共命令 `release-skill verify-records`,核验调用者显式提供的计划、批准、目标 run 和前驱 run 字节。命令返回 `CONSISTENT`、`CONTRADICTED` 或 `INSUFFICIENT`,不会扫描 `.release-skill`、跟随记录中的路径、访问远端、写文件或改变发布状态。
24
- - npm 包增加 `.qoder-plugin/plugin.json` 和自包含的 `adapters/qoder/` 投影。现有发布后更新入口只在所选 Hub 来源与冻结载荷一致时,更新已经存在的用户范围 Qoder 插件。
23
+ - 本机收尾入口新增 `--finish`,按固定顺序给出分支处理、宿主更新、加载确认、setup 执行和源码终检计划。
24
+ - 真实完成宿主加载和 setup 后,可以把绑定反馈交回同一入口继续执行;JSON 与文本输出对待处理、阻断和完成状态给出一致裁决。
25
+ - release-finish Skill 补充从 VERIFIED 到 COMPLETE 的完整交接,并明确智能体执行请求与回传反馈的边界。
25
26
 
26
27
  **变更**
27
28
 
28
- - release-finish 的 setup 续接直接使用当前 `--root` 发布项目,不再询问第二个项目路径。项目级就绪检查与各宿主的加载检查仍分别判断。
29
+ - 本机收尾完成与发布生命周期分离:成功结果继续保留 VERIFIED,并明确返回 `releaseStatusChanged: false`。
30
+ - release-help 入口缩短,把发布、验证、文档、市场和收尾细节路由到各自负责的 Skill。
31
+ - Skill Family Hub 继续作为中央市场;发布完成验证后,release-skill 仍通过既有 GitHub Git Data API 更新 Hub 条目。
29
32
 
30
33
  **修复**
31
34
 
32
- - 已授权的 Kimi 更新可以先确认当前发布项目的标准初始 `Trust this folder?` 界面,再继续插件操作。未知行、未知选中项、重复信任界面、超时或提前退出仍会停止该宿主。
35
+ - setup 插件选择不唯一、没有宿主候选、setup 反馈过期或后续动作缺失时,流程现在会失败关闭,不再错误返回 COMPLETE。
36
+ - 只读 Git 观察关闭可选索引锁;命令失败时保留精确参数、退出码、标准输出和标准错误。
33
37
 
34
38
  **升级说明**
35
39
 
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 的安装、重载和业务调用仍是需要单独授权的后续工作。
40
+ 从 0.9.18 升级后可使用新的 `post-release --finish` 编排。请移除独立的 `release-skill` 市场,改用 ifoohoo/skill-family-hub 仓库与 Hub 限定插件名 release-skill@skill-family-hub。先完成正常发布与 postVerify,再运行收尾入口,实际完成其请求的宿主加载和 setup 动作,并把绑定反馈交回同一入口,直至结果为 COMPLETE。
37
41
  <!-- release-skill:managed:end id=latest-release -->
38
42
 
39
43
  <!-- release-skill:capability:external-write-boundary -->
40
- > **当前边界:** v0.9.17 只是当前源码候选。本 README 记录预期范围与验证边界,
44
+ > **当前边界:** v0.9.19 只是当前源码候选。本 README 记录预期范围与验证边界,
41
45
  > 不代表已经发布、完成消费者安装验证或通过独立验收。
42
46
  > 版本可用性以对应发布记录及发布后验证结果为准。
43
47
  > v0.4.1 是更早的已发布里程碑(v0.2.2 曾处于已发布状态,后因平台验证收敛修复而更新)。
@@ -53,7 +57,7 @@ release-skill 帮助维护者回答三个问题:准备发布什么、还有哪
53
57
  > 远端唯一性检查在 `publish` 全局预检执行。
54
58
 
55
59
  <!-- release-skill:capability:safe-first-command -->
56
- > **生产路径自 v0.1.1 里程碑起已完成真实生产验证;v0.9.17 是当前源码候选,本 README 不证明该候选已经发布、完成消费者安装验证或通过独立验收。**
60
+ > **生产路径自 v0.1.1 里程碑起已完成真实生产验证;v0.9.19 是当前源码候选,本 README 不证明该候选已经发布、完成消费者安装验证或通过独立验收。**
57
61
  > npm 安装的 CLI 是受支持的用户入口;源码 checkout 保留为开发/贡献者路径。
58
62
  >
59
63
  > **第一条命令:**
@@ -71,16 +75,17 @@ marketplace 委托目标工作区发布的边界不变。
71
75
 
72
76
  旧 production 计划缺少 `sourceAuthority` 时,在外部写入前拒绝。未发生外部写入的计划必须重新 prepare 并批准新摘要,不能补写旧计划或迁移批准。已有 `PARTIAL` 保留检查点,走匹配版本的恢复路径。evidence v1 只读;v2 顶层封闭,阶段扩展放在 `details`。摘要和恢复建议只作诊断,不构成发布权威。
73
77
 
74
- 当前 0.9.17 候选包含窄范围的 R-05 Hook cache v2 消费路径、公开 `postverify`
78
+ 当前 0.9.19 候选包含窄范围的 R-05 Hook cache v2 消费路径、公开 `postverify`
75
79
  路径和稳定隔离安装树记录路径(A2/A3),并增加只接受显式输入的 `verify-records`
76
- 命令和自包含 Qoder 投影。Skill Family Hub 仍是唯一市场来源。
80
+ 命令、自包含 Qoder 投影、Cursor 正式打包,以及基于 Foundation 的宿主核验桥。
81
+ Skill Family Hub 仍是唯一市场来源。
77
82
  `release-prepare` Skill 现在会组织项目已有的评估、刷新、聚焦检查和 prepare 入口,不新增执行引擎。
78
83
  `prepare --help` 和 `prepare -h` 会在配置、锁、run 或 Hook 观察请求之前返回。
79
84
  所选宿主加载已发布插件后,`release-finish` Skill 还可以报告源码分支,并继续执行已配置的 setup 入口。
80
- 当前仍不包含 R-02 安全整树盘点和真实 Kimi/WorkBuddy/Qoder 市场安装与调用门禁;中央 Hub
81
- 尚未接纳 release-skill 的 Qoder 条目。本范围说明不构成远端发布记录或消费者升级指引。
85
+ 当前仍不包含 R-02 安全整树盘点。市场安装与真实调用继续作为各宿主的发布后检查;Cursor
86
+ 通过其支持的本机插件目录分发,不进入 Hub 市场条目。本范围说明不构成远端发布记录或消费者升级指引。
82
87
 
83
- Foundation 三包精确依赖已发布的 0.17.0。仍采用 bundled-family 分发形态的
88
+ Foundation 三包精确依赖已发布的 0.21.0。仍采用 bundled-family 分发形态的
84
89
  Kimi/CodeBuddy 计划会在 verify 阶段调用正式 `runPluginVerification`,把完整冻结载荷
85
90
  交给 Foundation,并记录最小的 `install-only` 观察收据。Kimi 映射为 `kimi-code`,
86
91
  CodeBuddy 映射为兼容的 `workbuddy`。`observed` 与 `payloadMatches` 只表示机制观察结果,
@@ -222,7 +227,12 @@ TUI 路径,见 [INSTALL.zh-CN.md](INSTALL.zh-CN.md#安装为-kimi-code-插件)
222
227
  用户范围的市场安装;生成适配器本身不能证明 Hub 消费成立。安装与发布后更新边界见
223
228
  [INSTALL.zh-CN.md](INSTALL.zh-CN.md#安装为-qoder-插件)。
224
229
 
225
- CodeBuddy、Codex、Kimi Code 和 Qoder 的完整命令见 [INSTALL.zh-CN.md](INSTALL.zh-CN.md)。
230
+ **Cursor:** `adapters/cursor/` 是完整的 Local(本地)插件。发布验证完成后,
231
+ `release-finish` 可在 macOS 上安装或整体原子升级冻结插件,操作前必须退出 Cursor,
232
+ 并显式传入 `--cursor-plugins-root`。旧版保存在 `local/` 外;重启后的加载和技能调用
233
+ 另行验证。操作说明见[Cursor 本地插件安装](INSTALL.zh-CN.md#安装为-cursor-本地插件)。
234
+
235
+ CodeBuddy、Codex、Kimi Code、Qoder 和 Cursor 的完整命令见 [INSTALL.zh-CN.md](INSTALL.zh-CN.md)。
226
236
 
227
237
  ### 离线核验历史发布记录
228
238
 
@@ -476,6 +486,8 @@ releaseUnits:
476
486
  release-finish 在 `--root` 指定的当前发布项目根目录调用该入口,不再要求另行提供项目目录。
477
487
  两个配置彼此独立。
478
488
 
489
+ 完整的本地收尾使用 `release-skill post-release --finish`。命令固定报告分支决定、宿主更新、实际加载、setup 和源码分支检查:全部适用步骤完成或明确跳过时退出 0,仍有待办时退出 2,确定失败时退出 1。智能体通过绝对路径的 `--finish-feedback` JSON 文件回传观察,文件必须绑定当前计划摘要、配置摘要和规范项目根目录。反馈只作为数据:脚本不执行其中字符串,也不把反馈当成新的写入授权。`--skip-local-hosts` 显示跳过宿主更新、加载和 setup,不得与 `--hosts` 或 `--update-local-hosts` 同时使用。
490
+
479
491
  `distributions` 是必填字段,但可以显式设为空数组。使用
480
492
  `distributions: []` 时,release-skill 只发布该单元的 GitHub 快照、标签和
481
493
  GitHub Release,不生成 npm 发布或市场消费者动作。单元的 `postPublish` 声明仍会
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.17",
3
+ "version": "0.9.19",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"