release-skill 0.9.16 → 0.9.18

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 (356) 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 +10 -0
  7. package/CHANGELOG.md +64 -0
  8. package/INSTALL.md +104 -9
  9. package/INSTALL.zh-CN.md +78 -7
  10. package/README.md +87 -32
  11. package/README.zh-CN.md +71 -30
  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 +4950 -1819
  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 +29 -15
  29. package/adapters/claude/skills/release-help/SKILL.md +40 -39
  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 +4950 -1819
  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 +29 -15
  49. package/adapters/codex/skills/release-help/SKILL.md +40 -39
  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 +151806 -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 +155 -0
  108. package/adapters/cursor/skills/release-help/SKILL.md +155 -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 +4950 -1819
  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 +29 -15
  178. package/adapters/kimi/skills/release-help/SKILL.md +40 -39
  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 +10 -0
  182. package/adapters/qoder/bin/consumer-contract-vectors.json +110 -0
  183. package/adapters/qoder/bin/error-codes.json +161 -0
  184. package/adapters/qoder/bin/foundation-legal/skill-family-contracts/LICENSE +202 -0
  185. package/adapters/qoder/bin/foundation-legal/skill-family-contracts/NOTICE +10 -0
  186. package/adapters/qoder/bin/foundation-legal/skill-family-engineering-kit/LICENSE +202 -0
  187. package/adapters/qoder/bin/foundation-legal/skill-family-engineering-kit/NOTICE +10 -0
  188. package/adapters/qoder/bin/foundation-legal/skill-family-engineering-kit/THIRD_PARTY_NOTICES +142 -0
  189. package/adapters/qoder/bin/foundation-legal/skill-family-harness-node/LICENSE +202 -0
  190. package/adapters/qoder/bin/foundation-legal/skill-family-harness-node/NOTICE +10 -0
  191. package/adapters/qoder/bin/foundation-legal/skill-family-harness-node/native-NOTICE +2 -0
  192. package/adapters/qoder/bin/foundation-resource-binding.json +1 -0
  193. package/adapters/qoder/bin/kernel-protocol.json +60 -0
  194. package/adapters/qoder/bin/license-texts/Apache-2.0.txt +201 -0
  195. package/adapters/qoder/bin/license-texts/MIT.txt +21 -0
  196. package/adapters/qoder/bin/prebuild-manifest.json +83 -0
  197. package/adapters/qoder/bin/prebuilds/darwin-arm64/bound_read.darwin-arm64.node +0 -0
  198. package/adapters/qoder/bin/prebuilds/darwin-x64/bound_read.darwin-x64.node +0 -0
  199. package/adapters/qoder/bin/prebuilds/linux-arm64-gnu/bound_read.linux-arm64-gnu.node +0 -0
  200. package/adapters/qoder/bin/prebuilds/linux-x64-gnu/bound_read.linux-x64-gnu.node +0 -0
  201. package/adapters/qoder/bin/registry.json +347 -0
  202. package/adapters/qoder/bin/release-skill-local-finish.mjs +4 -0
  203. package/adapters/qoder/bin/release-skill.bundle.mjs +151806 -0
  204. package/adapters/qoder/bin/release-skill.mjs +54 -0
  205. package/adapters/qoder/bin/rules.json +104 -0
  206. package/adapters/qoder/bin/schemas/consumer-contract-vector.schema.json +149 -0
  207. package/adapters/qoder/data/hosts/claude/host-descriptor.json +45 -0
  208. package/adapters/qoder/data/hosts/codebuddy/host-descriptor.json +26 -0
  209. package/adapters/qoder/data/hosts/codex/host-descriptor.json +45 -0
  210. package/adapters/qoder/data/hosts/cursor/host-descriptor.json +34 -0
  211. package/adapters/qoder/data/hosts/deepseek-harness/host-descriptor.json +23 -0
  212. package/adapters/qoder/data/hosts/kimi-code/host-descriptor.json +36 -0
  213. package/adapters/qoder/data/hosts/qoder/host-descriptor.json +26 -0
  214. package/adapters/qoder/data/hosts/registry.json +14 -0
  215. package/adapters/qoder/data/hosts/workbuddy/host-descriptor.json +34 -0
  216. package/adapters/qoder/data/licensing/registry.json +211 -0
  217. package/adapters/qoder/data/licensing/schema.json +207 -0
  218. package/adapters/qoder/native/safe-write/binding.gyp +41 -0
  219. package/adapters/qoder/native/safe-write/prebuilds/darwin-arm64/safe_write.node +0 -0
  220. package/adapters/qoder/native/safe-write/prebuilds.json +24 -0
  221. package/adapters/qoder/native/safe-write/src/safe_write.cc +2032 -0
  222. package/adapters/qoder/schemas/.render-manifest.json +41 -0
  223. package/adapters/qoder/schemas/approval-record.schema.json +115 -0
  224. package/adapters/qoder/schemas/artifact-lock.schema.json +111 -0
  225. package/adapters/qoder/schemas/artifact-plan.schema.json +52 -0
  226. package/adapters/qoder/schemas/artifact-policy.schema.json +76 -0
  227. package/adapters/qoder/schemas/evidence-event-v2.schema.json +164 -0
  228. package/adapters/qoder/schemas/evidence-event.schema.json +89 -0
  229. package/adapters/qoder/schemas/postpublish-approval-record.schema.json +47 -0
  230. package/adapters/qoder/schemas/release-plan.schema.json +2226 -0
  231. package/adapters/qoder/schemas/release-project.schema.json +1815 -0
  232. package/adapters/qoder/schemas/release-run.schema.json +777 -0
  233. package/adapters/qoder/skills/release-assess/SKILL.md +60 -0
  234. package/adapters/qoder/skills/release-config/SKILL.md +150 -0
  235. package/adapters/qoder/skills/release-docs/SKILL.md +119 -0
  236. package/adapters/qoder/skills/release-finish/SKILL.md +154 -0
  237. package/adapters/qoder/skills/release-help/SKILL.md +154 -0
  238. package/adapters/qoder/skills/release-marketplace/SKILL.md +156 -0
  239. package/adapters/qoder/skills/release-prepare/SKILL.md +135 -0
  240. package/adapters/qoder/skills/release-publish/SKILL.md +91 -0
  241. package/adapters/qoder/skills/release-reconcile/SKILL.md +80 -0
  242. package/adapters/qoder/skills/release-setup/SKILL.md +131 -0
  243. package/adapters/qoder/skills/release-verify/SKILL.md +109 -0
  244. package/adapters/qoder/src/schemas/adapter-build-manifest.schema.json +41 -0
  245. package/adapters/qoder/src/schemas/adapter-peer-verification-request.schema.json +54 -0
  246. package/adapters/qoder/src/schemas/adapter-peer-verification-result.schema.json +54 -0
  247. package/adapters/qoder/src/schemas/adapter-source.schema.json +47 -0
  248. package/adapters/qoder/src/schemas/audit-baseline-pin.schema.json +163 -0
  249. package/adapters/qoder/src/schemas/declared-read-surface-result.schema.json +61 -0
  250. package/adapters/qoder/src/schemas/engineering-baseline.schema.json +77 -0
  251. package/adapters/qoder/src/schemas/executable-identity-observation.schema.json +162 -0
  252. package/adapters/qoder/src/schemas/filesystem-root-binding.schema.json +14 -0
  253. package/adapters/qoder/src/schemas/filesystem-tree-observation.schema.json +71 -0
  254. package/adapters/qoder/src/schemas/fixed-set-publication-manifest.schema.json +108 -0
  255. package/adapters/qoder/src/schemas/fixed-set-publication-receipt.schema.json +148 -0
  256. package/adapters/qoder/src/schemas/host-capability-fact.schema.json +31 -0
  257. package/adapters/qoder/src/schemas/host-descriptor.schema.json +144 -0
  258. package/adapters/qoder/src/schemas/host-operation-plan.schema.json +57 -0
  259. package/adapters/qoder/src/schemas/host-operation-receipt.schema.json +81 -0
  260. package/adapters/qoder/src/schemas/host-probe-result.schema.json +30 -0
  261. package/adapters/qoder/src/schemas/host-registry.schema.json +18 -0
  262. package/adapters/qoder/src/schemas/host-verification-request.schema.json +67 -0
  263. package/adapters/qoder/src/schemas/host-verification-result.schema.json +149 -0
  264. package/adapters/qoder/src/schemas/managed-file-lock.schema.json +77 -0
  265. package/adapters/qoder/src/schemas/migration-manifest.schema.json +412 -0
  266. package/adapters/qoder/src/schemas/observation-scope.schema.json +91 -0
  267. package/adapters/qoder/src/schemas/operation-request.schema.json +58 -0
  268. package/adapters/qoder/src/schemas/operation-result.schema.json +130 -0
  269. package/adapters/qoder/src/schemas/platform-difference-registry.schema.json +110 -0
  270. package/adapters/qoder/src/schemas/plugin-verification-request.schema.json +499 -0
  271. package/adapters/qoder/src/schemas/plugin-verification-result.schema.json +1217 -0
  272. package/adapters/qoder/src/schemas/profile-adoption-declaration.schema.json +111 -0
  273. package/adapters/qoder/src/schemas/profile-descriptor.schema.json +99 -0
  274. package/adapters/qoder/src/schemas/project-manifest.schema.json +67 -0
  275. package/adapters/qoder/src/schemas/project-profile.schema.json +25 -0
  276. package/adapters/qoder/src/schemas/public-boundary-declaration.schema.json +73 -0
  277. package/adapters/qoder/src/schemas/report-binding.schema.json +42 -0
  278. package/adapters/qoder/src/schemas/report-model.schema.json +308 -0
  279. package/adapters/qoder/src/schemas/skill-family-directory-verification-request.schema.json +100 -0
  280. package/adapters/qoder/src/schemas/skill-family-directory-verification-result.schema.json +193 -0
  281. package/adapters/qoder/src/schemas/source-authority-receipt.schema.json +31 -0
  282. package/adapters/qoder/src/schemas/state-event-envelope.schema.json +38 -0
  283. package/adapters/qoder/src/schemas/state-snapshot-metadata.schema.json +25 -0
  284. package/adapters/qoder/src/schemas/structured-scan-policy.schema.json +97 -0
  285. package/adapters/qoder/src/schemas/surface-scan-policy.schema.json +42 -0
  286. package/adapters/qoder/src/schemas/timeout-policy.schema.json +24 -0
  287. package/adapters/qoder/src/schemas/token-estimate-record.schema.json +75 -0
  288. package/adapters/qoder/src/schemas/token-estimate-result.schema.json +43 -0
  289. package/adapters/qoder/src/schemas/watchdog-termination-envelope.schema.json +156 -0
  290. package/adapters/workbuddy/.codebuddy-plugin/plugin.json +1 -1
  291. package/adapters/workbuddy/bin/consumer-contract-vectors.json +7 -7
  292. package/adapters/workbuddy/bin/error-codes.json +1 -1
  293. package/adapters/workbuddy/bin/foundation-resource-binding.json +1 -1
  294. package/adapters/workbuddy/bin/prebuild-manifest.json +8 -4
  295. package/adapters/workbuddy/bin/prebuilds/darwin-arm64/bound_read.darwin-arm64.node +0 -0
  296. package/adapters/workbuddy/bin/prebuilds/darwin-x64/bound_read.darwin-x64.node +0 -0
  297. package/adapters/workbuddy/bin/prebuilds/linux-arm64-gnu/bound_read.linux-arm64-gnu.node +0 -0
  298. package/adapters/workbuddy/bin/prebuilds/linux-x64-gnu/bound_read.linux-x64-gnu.node +0 -0
  299. package/adapters/workbuddy/bin/registry.json +1 -1
  300. package/adapters/workbuddy/bin/release-skill.bundle.mjs +4950 -1819
  301. package/adapters/workbuddy/bin/rules.json +1 -1
  302. package/adapters/workbuddy/data/hosts/cursor/host-descriptor.json +34 -0
  303. package/adapters/workbuddy/data/hosts/registry.json +1 -0
  304. package/adapters/workbuddy/schemas/release-plan.schema.json +255 -25
  305. package/adapters/workbuddy/schemas/release-project.schema.json +228 -26
  306. package/adapters/workbuddy/skills/release-finish/SKILL.md +29 -15
  307. package/adapters/workbuddy/skills/release-help/SKILL.md +40 -39
  308. package/adapters/workbuddy/skills/release-verify/SKILL.md +2 -2
  309. package/adapters/workbuddy/src/schemas/host-descriptor.schema.json +9 -2
  310. package/bin/consumer-contract-vectors.json +7 -7
  311. package/bin/error-codes.json +1 -1
  312. package/bin/foundation-resource-binding.json +1 -1
  313. package/bin/prebuild-manifest.json +8 -4
  314. package/bin/prebuilds/darwin-arm64/bound_read.darwin-arm64.node +0 -0
  315. package/bin/prebuilds/darwin-x64/bound_read.darwin-x64.node +0 -0
  316. package/bin/prebuilds/linux-arm64-gnu/bound_read.linux-arm64-gnu.node +0 -0
  317. package/bin/prebuilds/linux-x64-gnu/bound_read.linux-x64-gnu.node +0 -0
  318. package/bin/registry.json +1 -1
  319. package/bin/release-skill-cli.mjs +148 -6
  320. package/bin/release-skill.bundle.mjs +4950 -1819
  321. package/bin/rules.json +1 -1
  322. package/data/hosts/cursor/host-descriptor.json +34 -0
  323. package/data/hosts/registry.json +1 -0
  324. package/package.json +9 -5
  325. package/platform-manifest.json +140 -8
  326. package/references/02-project-config.md +9 -2
  327. package/schemas/release-plan.schema.json +255 -25
  328. package/schemas/release-project.schema.json +228 -26
  329. package/scripts/sync-public-files.mjs +3 -22
  330. package/skills/release-finish/SKILL.md +29 -15
  331. package/skills/release-help/SKILL.md +40 -39
  332. package/skills/release-verify/SKILL.md +2 -2
  333. package/skills-src/release-finish/SKILL.md +29 -15
  334. package/skills-src/release-help/SKILL.md +40 -39
  335. package/skills-src/release-verify/SKILL.md +2 -2
  336. package/src/adapters/contract.mjs +1 -0
  337. package/src/adapters/plugin-marketplace.mjs +201 -9
  338. package/src/commands/post-release-local.mjs +618 -53
  339. package/src/commands/prepare.mjs +74 -9
  340. package/src/commands/publish.mjs +4 -1
  341. package/src/commands/ship.mjs +2 -0
  342. package/src/commands/verify-records.mjs +467 -0
  343. package/src/commands/verify.mjs +73 -0
  344. package/src/core/checkpoints.mjs +5 -2
  345. package/src/core/config.mjs +1 -1
  346. package/src/core/foundation-host-verification.mjs +168 -0
  347. package/src/core/plan.mjs +19 -1
  348. package/src/core/postpublish.mjs +9 -1
  349. package/src/core/run-retention.mjs +1 -1
  350. package/src/core/run.mjs +1 -1
  351. package/src/core/surface-host-bindings.mjs +1 -0
  352. package/src/core/verification-gates.mjs +1 -1
  353. package/src/platforms/registry.mjs +225 -16
  354. package/src/producers/build-adapters.mjs +43 -25
  355. package/src/producers/foundation-resource-projection.mjs +3 -3
  356. package/src/schemas/host-descriptor.schema.json +9 -2
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.16 -->
5
+ <!-- release-skill:release-version: 0.9.18 -->
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,37 +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.16** (2026-09-09)
17
+ **0.9.18** (2026-09-11)
18
18
 
19
- 0.9.16 is a local source candidate that connects verified releases to explicit source-branch checks, host-aware setup continuation, and postVerify finish guidance. 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.
19
+ 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.
20
20
 
21
21
  **Security**
22
22
 
23
- - The source-branch reminder runs only `git branch --show-current` and `git status --short --branch`; it never fetches, switches, merges, rebases, stashes, resets, cleans, or pushes. Setup names are matched as skill metadata and are never executed as shell text.
24
- - Skill Family Hub updates bind the observed branch head with compare-and-swap semantics. Partial Hub publication is never rolled back or force-pushed, and remote state is never overwritten.
23
+ - 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.
24
+ - Host verification receives only caller-declared roots and records mechanism observations separately from release-domain publication and verification state.
25
+ - Hub publication remains a compare-and-swap operation. A partial Hub publication is never rolled back or force-pushed automatically.
25
26
 
26
27
  **Added**
27
28
 
28
- - Projects may configure `releaseFinish.sourceBranchCheck` as `remind` or `skip` and may name a loaded setup entry through `releaseFinish.setupSkill`. The release-finish workflow keeps the publishing workspace separate from an explicitly selected consumer project and reports setup as pending when the target directory, loaded plugin version, or callable host is not established.
29
- - Source checks use read-only Git commands and report the current branch, worktree changes, upstream summary, and any decision that still belongs to the maintainer. A project can select `release-setup` when it wants the release-finish workflow to continue into release-skill setup.
29
+ - The npm package now includes `.cursor-plugin/plugin.json` and a self-contained `adapters/cursor/` projection with all release-skill Skills and runtime resources.
30
+ - Release verification can invoke Foundation 0.21.0 host verification with explicit executable and user-state roots, including Cursor project-level plugin verification.
31
+ - The final local updater can distribute the verified release to the declared Claude, Codex, Kimi, CodeBuddy, WorkBuddy, Qoder, and Cursor installations.
32
+ - Skill Family Hub remains the central marketplace. Its release entry is published through the existing Git Data API after release verification.
30
33
 
31
34
  **Changed**
32
35
 
33
- - After a successful postVerify run reaches `DISTRIBUTED`, both JSON and text CLI output now expose the same Hub-backed local-host finish guidance used by the release-finish workflow. The guidance remains diagnostic and never invokes a host command on its own.
34
- - Host updates and setup checks remain local follow-up work and do not change the immutable release plan or the `VERIFIED` publication result. Shared project readiness may be checked once only when the plugin version, consumer directory, and runtime environment are the same; host-specific installation and loading remain separate checks.
35
- - Skill Family Hub publication continues through the project-private postVerify hook and GitHub Git Data API. The Hub update remains a separately approved compare-and-swap write against the observed branch head.
36
+ - 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.
37
+ - Platform generation, public-file projection, package allowlists, schemas, and release-finish guidance now treat Cursor as a declared host and adapter.
36
38
 
37
39
  **Fixed**
38
40
 
39
- - A completed postVerify delivery now keeps `DISTRIBUTED` even when the optional finish checklist cannot reread its plan. The CLI returns an explicit unavailable diagnostic without rewriting the successful delivery checkpoint.
41
+ - Cursor plugin names reject underscores so generated local plugin directories remain compatible with Cursor's manifest requirements.
42
+ - The package's native prebuild allowlist and fixed resource-closure checks now include every generated adapter, including Cursor.
40
43
 
41
44
  **Upgrade Notes**
42
45
 
43
- Upgrade from 0.9.15 to receive postVerify finish guidance and optional source-branch and setup continuation. Add a top-level `releaseFinish` block only when the project wants to select a setup entry or change the default reminder policy. Remove any release-skill standalone marketplace registration, add or update `ifoohoo/skill-family-hub`, and use `release-skill@skill-family-hub`. Restart an updated host before treating the new plugin version or setup entry as loaded.
46
+ 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.
44
47
  <!-- release-skill:managed:end id=latest-release -->
45
48
 
46
49
  <!-- release-skill:capability:external-write-boundary -->
47
- > **Current boundary:** v0.9.16 is the current source candidate. This README
50
+ > **Current boundary:** v0.9.18 is the current source candidate. This README
48
51
  > records intended scope and verification boundaries; it is not evidence of
49
52
  > publication, consumer-installation verification, or independent acceptance.
50
53
  > Release availability must be established from the corresponding release records
@@ -68,7 +71,7 @@ Upgrade from 0.9.15 to receive postVerify finish guidance and optional source-br
68
71
  > publish global preflight.
69
72
 
70
73
  <!-- release-skill:capability:safe-first-command -->
71
- > **Production path verified since the v0.1.1 milestone; v0.9.16 is the current
74
+ > **Production path verified since the v0.1.1 milestone; v0.9.18 is the current
72
75
  > source candidate. Its README does not establish publication,
73
76
  > consumer-installation verification, or independent acceptance.**
74
77
  > The npm-installed CLI is the supported user entry. Source checkout
@@ -97,19 +100,22 @@ checkpoints remain intact and use matching-version recovery. Evidence v1 stays
97
100
  read-only; v2 uses a closed top level with phase extensions in `details`.
98
101
  Summaries and recovery suggestions are diagnostic, never publication authority.
99
102
 
100
- The current 0.9.16 candidate includes the narrow R-05 Hook cache v2 consumer
103
+ The current 0.9.18 candidate includes the narrow R-05 Hook cache v2 consumer
101
104
  path, the public `postverify` path, and the stable isolated install-tree record
102
- path (A2/A3). It keeps Skill Family Hub as the single marketplace source. It
105
+ path (A2/A3). It also adds the explicit-input `verify-records` command and a
106
+ self-contained Qoder projection, first-class Cursor packaging, and the
107
+ Foundation-backed host verification bridge. Skill Family Hub remains the single
108
+ marketplace source. The candidate
103
109
  also makes the `release-prepare` Skill organize existing assessment, refresh,
104
110
  focused-check, and prepare entry points without adding another execution
105
111
  engine. `prepare --help` and `prepare -h` now return before configuration,
106
112
  locks, runs, or hooks can observe the request. The `release-finish` Skill can
107
113
  also report the source branch and continue into a configured setup entry after
108
- the selected host has loaded the released plugin. This candidate still
109
- excludes R-02 safe full-tree inventory, R-10 historical-release verification
110
- implementation, real Kimi/WorkBuddy public-marketplace installation and
111
- invocation gates, and an Audit public offline release-record verifier.
112
- Foundation dependencies are pinned to the three released 0.17.0 packages.
114
+ the selected host has loaded the released plugin. This candidate still excludes
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.
113
119
  For Kimi/CodeBuddy plans that still use the bundled-family distribution form,
114
120
  verify calls the released
115
121
  `runPluginVerification` entry with the complete frozen payload and records a
@@ -267,7 +273,35 @@ Skill Family Hub marketplace:
267
273
  Kimi Code. It uses the version-pinned interactive TUI path described in
268
274
  [INSTALL.md](INSTALL.md#install-as-a-kimi-code-plugin).
269
275
 
270
- See [INSTALL.md](INSTALL.md) for CodeBuddy, Codex, and Kimi Code commands.
276
+ **Qoder:** the package ships `.qoder-plugin/plugin.json` and the self-contained
277
+ `adapters/qoder/` projection. A user-scope marketplace install is available only
278
+ after the central Hub's root `marketplace.json` has accepted the release-skill
279
+ Qoder entry; the generated adapter alone does not prove Hub consumption. See
280
+ [INSTALL.md](INSTALL.md#install-as-a-qoder-plugin) for the bounded install and
281
+ post-release update contract.
282
+
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.
290
+
291
+ ### Offline historical record verification
292
+
293
+ Use the public command below when a consumer already has an explicit plan,
294
+ approval, target run, and every predecessor run referenced by that target:
295
+
296
+ ```text
297
+ release-skill verify-records --plan <path> --approval <path> --target-run <path> --source-run <path>... --unit <id> --target-version <version> --json
298
+ ```
299
+
300
+ The command reads only those paths and emits one JSON object. `CONSISTENT`
301
+ exits 0, `CONTRADICTED` exits 1, and `INSUFFICIENT` exits 2. It does not scan
302
+ `.release-skill`, follow paths embedded in a record, contact a remote, write a
303
+ file, or advance release state. A consistent historical chain does not prove
304
+ that its records are globally latest or that remote objects still exist.
271
305
 
272
306
  ### Main workflow
273
307
 
@@ -539,7 +573,9 @@ releaseUnits:
539
573
  defaults to `remind`; set it to `skip` to suppress the read-only source-branch
540
574
  reminder. `setupSkill` is optional and names an already installed and loaded
541
575
  setup entry such as `release-setup` or `plugin:skill`; it is never executed as
542
- a shell command. The two settings are independent.
576
+ a shell command. After host updates, release-finish runs that setup entry
577
+ against the current release project root passed through `--root`; it does not
578
+ request a separate project directory. The two settings are independent.
543
579
 
544
580
  `distributions` is required but may be an explicit empty array. Use
545
581
  `distributions: []` when release-skill should publish only the unit's GitHub
@@ -782,6 +818,11 @@ closures. A release unit declares what reaches users via `distributions`:
782
818
  | `kimi-plugin` | self-contained closure (release-skill invokes no scriptable install API) | non-blocking post-release manual task |
783
819
  | `codebuddy-plugin` | generated `adapters/workbuddy/` with `.codebuddy-plugin/plugin.json` | non-blocking post-release manual task |
784
820
 
821
+ Qoder is intentionally outside this `distributions` table: it is a build-only
822
+ public projection at `adapters/qoder/`, with root manifest
823
+ `.qoder-plugin/plugin.json`. It does not add a `qoder-plugin` plan type or an
824
+ automated publish, reconcile, or verify checkpoint.
825
+
785
826
  Each adapter closure bundles its own CLI, skills, and schemas for zero external
786
827
  dependency after installation. `publish` only publishes frozen Git objects and
787
828
  npm tarballs, then checks remote commit/tree/tag integrity. Claude/Codex
@@ -796,12 +837,23 @@ commit before that host's first write; a failed check leaves that host unchanged
796
837
  without stopping other selected hosts. The workflow can also migrate or update
797
838
  Kimi through one controlled TUI session and verify its real managed payload, or update an existing
798
839
  bundled-family CodeBuddy/WorkBuddy entry when the frozen tag and mutable branch
799
- both resolve to the frozen commit. It requires explicit user confirmation and
840
+ both resolve to the frozen commit. For an explicitly selected Qoder host, it can
841
+ update only an existing user-scope installation after proving the configured Hub
842
+ source and frozen payload; it never adds a marketplace or performs first install.
843
+ An `UPDATED` installation is not treated as loaded: reload or start a new Qoder
844
+ session, then complete one read-only release-skill business call before claiming
845
+ the new version is active. It requires explicit user confirmation and
800
846
  does not change release status. Kimi uses one effective configuration root:
801
847
  explicit `kimiHome`, then `KIMI_CODE_HOME`, then `~/.kimi-code`. The TUI and
802
- post-operation observation share that root. A `Trust this folder?` prompt,
803
- unknown interface, timeout, early exit, or unprovable plugin identity returns a
804
- manual or failed result without confirming folder trust. Missing, standalone, inaccessible, or ambiguous
848
+ post-operation observation share that root, and the TUI working directory is the
849
+ resolved release project root passed through `--root`. After the user confirms
850
+ the frozen plan and explicitly selects Kimi for update, release-finish accepts
851
+ only the initial standard `Trust this folder?` dialog with `No, exit` selected
852
+ and `Trust this folder` available. It moves to that target, verifies the new
853
+ selection, confirms it, and waits for the known command prompt before sending
854
+ the plugin command. An unknown row or selection, a failed move, timeout, early
855
+ exit, or any folder-trust dialog after the plugin command fails closed. The
856
+ frozen plugin identity and `Trust and install` checks remain unchanged. Missing, standalone, inaccessible, or ambiguous
805
857
  CodeBuddy/WorkBuddy targets remain manual and receive no host mutation.
806
858
  WorkBuddy local updates are macOS-only; on other platforms they are skipped as
807
859
  unsupported. When a plan declares postVerify hooks, release-finish must receive
@@ -812,8 +864,10 @@ A release unit may also declare `postPublish.localHostUpdate` for a plugin that
812
864
  is delivered through a project-selected Hub by a `postVerify` hook. After that
813
865
  hook reaches `DISTRIBUTED`, `ship`, `verify`, `post-release`, and
814
866
  `release-finish` display the declared Hub, plugin, and hosts. These Hub-backed
815
- targets are manual in 0.9.16 (`promptRequired: true`, `available: false`): the
816
- prompt does not query the Hub, inspect the host, or run host commands. Claude
867
+ targets retain their declared execution mode. Qoder is executable only when it
868
+ was selected and all frozen-plan, Hub-source, existing user-scope installation,
869
+ and payload checks pass; other Hub-backed targets remain manual. Manual prompts
870
+ do not query the Hub, inspect the host, or run host commands. Claude
817
871
  and Codex use their existing marketplace management entry; Kimi uses the
818
872
  frozen GitHub Release and its existing confirmation path; CodeBuddy and
819
873
  WorkBuddy remain manual because this flow cannot pin a Hub ref. Existing
@@ -844,7 +898,7 @@ the first minimal semantic boundary, so the static gate fails closed until the
844
898
  declaration is narrowed to concrete targets.
845
899
 
846
900
  <!-- release-skill:capability:unsupported-scope -->
847
- - **not in the current version:** full consumer install-tree scanning (R-02) — the current implementation handles only the declared public surface and the stable isolated install-tree record; and a real-host (Kimi/WorkBuddy) verification gate — host verification stays a non-blocking manual follow-up and does not produce `PASS`/`VERIFIED` evidence;
901
+ - **not in the current version:** full consumer install-tree scanning (R-02) — the current implementation handles only the declared public surface and the stable isolated install-tree record; and a real-host (Kimi/WorkBuddy/Qoder) verification gate — host verification and Qoder activation stay outside release `PASS`/`VERIFIED` evidence;
848
902
  - no automatic README generation or source-file overwrite;
849
903
  - no automatic conflict merge or rollback workflow;
850
904
  - no claim that a real production canary has run for marketplace verification;
@@ -853,10 +907,11 @@ declaration is narrowed to concrete targets.
853
907
  - no overwrite of branches/tags/releases or npm unpublish; create-only refs use
854
908
  `--force-with-lease=<ref>:` solely as an atomic compare-and-set assertion that
855
909
  the ref is absent, while existing branches use an ordinary non-force push;
856
- - no Kimi or CodeBuddy/WorkBuddy marketplace install checkpoint in the release
910
+ - no Kimi, CodeBuddy/WorkBuddy, or Qoder marketplace install checkpoint in the release
857
911
  state machine — optional release-finish can drive and re-check Kimi locally,
858
912
  or update an existing CodeBuddy/WorkBuddy entry under strict frozen-identity
859
- checks, but those results do not become publication evidence;
913
+ checks, or update an existing user-scope Qoder entry after equivalent source
914
+ and payload checks, but those results do not become publication evidence;
860
915
  - no promise of Windows or broad multi-platform native write support;
861
916
  - no hidden commit, push, tag, release, or package publication.
862
917
 
package/README.zh-CN.md CHANGED
@@ -2,43 +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.16 -->
5
+ <!-- release-skill:release-version: 0.9.18 -->
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.16** (2026-09-09)
11
+ **0.9.18** (2026-09-11)
12
12
 
13
- 0.9.16 是把已验证发布衔接到显式源码分支检查、宿主感知 setup 续接和 postVerify 收尾提示的本地源码候选。三项 Foundation 依赖仍精确固定在已发布的 0.17.0。本说明不代表已经发布、完成真实宿主验收、完成消费者安装验证或通过独立验收。
13
+ 0.9.18 是一个本地源码候选。本版本增加 Cursor 的正式打包与分发、基于 Foundation 的宿主核验,以及覆盖 Claude、Codex、Kimi、CodeBuddy、WorkBuddy、Qoder 和 Cursor 的最终本机分发路径。三项 Foundation 依赖继续精确固定在已发布的 0.21.0。本说明不代表已经发布、完成真实宿主验收、完成消费者安装验证或通过独立验收。
14
14
 
15
15
  **安全**
16
16
 
17
- - 源码分支提醒只运行 `git branch --show-current` 和 `git status --short --branch`,不会 fetch、切换、合并、rebase、stash、reset、clean 或 push。setup 名只作为技能元数据匹配,不会按 shell 文本执行。
18
- - Skill Family Hub 更新以已观察的分支头为基础比较后写入。Hub 局部发布不回滚、不覆盖,也不强推。
17
+ - 扫描或替换 Cursor 插件树前必须关闭 Cursor。升级失败时保留或恢复完整的旧目录或新目录,不会发布混合目录。
18
+ - 宿主核验只接收调用方声明的根目录,并把机制观察结果与 release-skill 的发布、验证状态分别记录。
19
+ - Hub 发布继续绑定已观察的分支头执行比较后写入。部分发布时不回滚、不覆盖已经成功的远端步骤。
19
20
 
20
21
  **新增**
21
22
 
22
- - 项目可以把 `releaseFinish.sourceBranchCheck` 配置为 `remind` 或 `skip`,并通过 `releaseFinish.setupSkill` 指定已加载的 setup 入口。release-finish 会区分发布工作区和用户明确选择的消费项目;目标目录、新版插件加载状态或可调用宿主不能确认时,只报告 setup 待执行。
23
- - 源码检查只运行只读 Git 命令,报告当前分支、工作区改动、上游摘要,以及仍需维护者决定的事项。项目需要让 release-finish 继续进入 release-skill setup 时,可以选择 `release-setup`。
23
+ - npm 包新增 `.cursor-plugin/plugin.json` 和自包含的 `adapters/cursor/` 投影,包含 release-skill 的全部 Skill 与运行资源。
24
+ - 发布验证可通过显式的可执行文件根目录和用户状态根目录调用 Foundation 0.21.0 宿主核验,其中包括 Cursor 项目级插件核验。
25
+ - 最终本机更新入口可以把已验证版本分发到声明的 Claude、Codex、Kimi、CodeBuddy、WorkBuddy、Qoder 和 Cursor 安装位置。
26
+ - Skill Family Hub 继续作为中央市场。发布完成验证后,release-skill 通过既有 GitHub Git Data API 更新 Hub 条目。
24
27
 
25
28
  **变更**
26
29
 
27
- - postVerify 成功进入 `DISTRIBUTED` 后,JSON 和文本 CLI 输出都会显示与 release-finish 一致的 Hub-backed 本机宿主收尾提示。提示只用于诊断,不会自行调用宿主命令。
28
- - 宿主更新和 setup 检查仍属于本地后续工作,不改写不可变发布计划,也不改变 `VERIFIED` 发布结果。只有插件版本、消费目录和运行环境都相同时,才可复用一次项目就绪检查;各宿主仍分别检查安装与加载状态。
29
- - Skill Family Hub 继续通过项目私有的 postVerify hook 和 GitHub Git Data API 发布。Hub 更新仍需单独批准,并根据已观察的分支头比较后写入。
30
+ - 本机宿主更新会先核对冻结快照、manifest 身份和版本。Cursor 首次安装使用 Foundation 固定集合发布,升级使用整个目录的原子替换。
31
+ - 平台生成、公开文件投影、包内容许可清单、Schema 与 release-finish 指引现在统一把 Cursor 视为正式宿主和适配器。
30
32
 
31
33
  **修复**
32
34
 
33
- - postVerify 已完成分发后,即使可选收尾清单无法重新读取计划,也会保留 `DISTRIBUTED`。CLI 会返回明确的不可用诊断,不会改写已成功的分发检查点。
35
+ - Cursor 插件名不再接受下划线,生成的本机插件目录符合 Cursor manifest 的名称约束。
36
+ - npm 包原生预构建许可清单和固定资源闭包检查现已覆盖包括 Cursor 在内的全部生成适配器。
34
37
 
35
38
  **升级说明**
36
39
 
37
- 从 0.9.15 升级后,可获得 postVerify 收尾提示,以及可选的源码分支与 setup 续接。只有需要指定 setup 入口或修改默认提醒策略时,才增加顶层 `releaseFinish` 配置。删除各宿主中独立的 `release-skill` 市场登记,添加或更新 `ifoohoo/skill-family-hub`,并使用 `release-skill@skill-family-hub`。宿主更新后需先重启,才能把新版插件或 setup 入口视为已加载。
40
+ 从 0.9.17 升级后,可获得 Cursor 打包与本机安装、基于 Foundation 的宿主核验桥,以及统一的七宿主本机收尾路径。请移除独立的 `release-skill` 市场,改用 ifoohoo/skill-family-hub 仓库与 Hub 限定插件名 release-skill@skill-family-hub。更新后仍需重新加载各宿主;文件系统返回 `UPDATED` 并不单独证明运行中的宿主已经加载新版。
38
41
  <!-- release-skill:managed:end id=latest-release -->
39
42
 
40
43
  <!-- release-skill:capability:external-write-boundary -->
41
- > **当前边界:** v0.9.16 只是当前源码候选。本 README 记录预期范围与验证边界,
44
+ > **当前边界:** v0.9.18 只是当前源码候选。本 README 记录预期范围与验证边界,
42
45
  > 不代表已经发布、完成消费者安装验证或通过独立验收。
43
46
  > 版本可用性以对应发布记录及发布后验证结果为准。
44
47
  > v0.4.1 是更早的已发布里程碑(v0.2.2 曾处于已发布状态,后因平台验证收敛修复而更新)。
@@ -54,7 +57,7 @@ release-skill 帮助维护者回答三个问题:准备发布什么、还有哪
54
57
  > 远端唯一性检查在 `publish` 全局预检执行。
55
58
 
56
59
  <!-- release-skill:capability:safe-first-command -->
57
- > **生产路径自 v0.1.1 里程碑起已完成真实生产验证;v0.9.16 是当前源码候选,本 README 不证明该候选已经发布、完成消费者安装验证或通过独立验收。**
60
+ > **生产路径自 v0.1.1 里程碑起已完成真实生产验证;v0.9.18 是当前源码候选,本 README 不证明该候选已经发布、完成消费者安装验证或通过独立验收。**
58
61
  > npm 安装的 CLI 是受支持的用户入口;源码 checkout 保留为开发/贡献者路径。
59
62
  >
60
63
  > **第一条命令:**
@@ -72,16 +75,17 @@ marketplace 委托目标工作区发布的边界不变。
72
75
 
73
76
  旧 production 计划缺少 `sourceAuthority` 时,在外部写入前拒绝。未发生外部写入的计划必须重新 prepare 并批准新摘要,不能补写旧计划或迁移批准。已有 `PARTIAL` 保留检查点,走匹配版本的恢复路径。evidence v1 只读;v2 顶层封闭,阶段扩展放在 `details`。摘要和恢复建议只作诊断,不构成发布权威。
74
77
 
75
- 当前 0.9.16 候选包含窄范围的 R-05 Hook cache v2 消费路径、公开 `postverify`
76
- 路径和稳定隔离安装树记录路径(A2/A3),继续以 Skill Family Hub 为唯一市场来源。
78
+ 当前 0.9.18 候选包含窄范围的 R-05 Hook cache v2 消费路径、公开 `postverify`
79
+ 路径和稳定隔离安装树记录路径(A2/A3),并增加只接受显式输入的 `verify-records`
80
+ 命令、自包含 Qoder 投影、Cursor 正式打包,以及基于 Foundation 的宿主核验桥。
81
+ Skill Family Hub 仍是唯一市场来源。
77
82
  `release-prepare` Skill 现在会组织项目已有的评估、刷新、聚焦检查和 prepare 入口,不新增执行引擎。
78
83
  `prepare --help` 和 `prepare -h` 会在配置、锁、run 或 Hook 观察请求之前返回。
79
- 所选宿主加载已发布插件后,`release-finish` Skill 还可以报告源码分支,并继续执行已配置的 setup 入口。当前仍不包含
80
- R-02 安全整树盘点、R-10 历史发布验证
81
- 的产品实现、真实 Kimi/WorkBuddy 公开市场安装与调用门禁或 Audit 公开离线发布记录
82
- 验证器。本范围说明不构成远端发布记录或消费者升级指引。
84
+ 所选宿主加载已发布插件后,`release-finish` Skill 还可以报告源码分支,并继续执行已配置的 setup 入口。
85
+ 当前仍不包含 R-02 安全整树盘点。市场安装与真实调用继续作为各宿主的发布后检查;Cursor
86
+ 通过其支持的本机插件目录分发,不进入 Hub 市场条目。本范围说明不构成远端发布记录或消费者升级指引。
83
87
 
84
- Foundation 三包精确依赖已发布的 0.17.0。仍采用 bundled-family 分发形态的
88
+ Foundation 三包精确依赖已发布的 0.21.0。仍采用 bundled-family 分发形态的
85
89
  Kimi/CodeBuddy 计划会在 verify 阶段调用正式 `runPluginVerification`,把完整冻结载荷
86
90
  交给 Foundation,并记录最小的 `install-only` 观察收据。Kimi 映射为 `kimi-code`,
87
91
  CodeBuddy 映射为兼容的 `workbuddy`。`observed` 与 `payloadMatches` 只表示机制观察结果,
@@ -218,7 +222,30 @@ Claude Code、CodeBuddy、WorkBuddy 和 Codex 从统一的 Skill Family Hub 市
218
222
  **Kimi Code:** release-skill 当前无可脚本化安装接口接入,只采用钉死版本的交互式
219
223
  TUI 路径,见 [INSTALL.zh-CN.md](INSTALL.zh-CN.md#安装为-kimi-code-插件)。
220
224
 
221
- CodeBuddy、Codex 和 Kimi Code 的完整命令见 [INSTALL.zh-CN.md](INSTALL.zh-CN.md)。
225
+ **Qoder:** 包内提供 `.qoder-plugin/plugin.json` 和自包含的 `adapters/qoder/` 投影。
226
+ 只有中央 Hub 的根 `marketplace.json` 已接纳 release-skill 的 Qoder 条目后,才能执行
227
+ 用户范围的市场安装;生成适配器本身不能证明 Hub 消费成立。安装与发布后更新边界见
228
+ [INSTALL.zh-CN.md](INSTALL.zh-CN.md#安装为-qoder-插件)。
229
+
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)。
236
+
237
+ ### 离线核验历史发布记录
238
+
239
+ 消费者已经持有明确的计划、批准、目标 run 和该目标引用的全部前驱 run 时,可以运行:
240
+
241
+ ```text
242
+ release-skill verify-records --plan <path> --approval <path> --target-run <path> --source-run <path>... --unit <id> --target-version <version> --json
243
+ ```
244
+
245
+ 该命令只读取这些路径,并输出一个 JSON 对象。`CONSISTENT` 的退出码是 0,
246
+ `CONTRADICTED` 的退出码是 1,`INSUFFICIENT` 的退出码是 2。它不会扫描
247
+ `.release-skill`、跟随记录内嵌路径、访问远端、写文件或推进发布状态。历史链一致也不能
248
+ 证明这些记录是全局最新,或远端对象仍然存在。
222
249
 
223
250
  ### 主流程
224
251
 
@@ -455,7 +482,9 @@ releaseUnits:
455
482
 
456
483
  `releaseFinish` 只控制本地发布收尾。`sourceBranchCheck` 缺省为 `remind`;设为
457
484
  `skip` 时关闭只读源码分支提醒。`setupSkill` 可省略,填写时指定已经安装并加载的 setup
458
- 入口,例如 `release-setup` 或 `plugin:skill`;它不会作为 shell 命令执行。两个配置彼此独立。
485
+ 入口,例如 `release-setup` 或 `plugin:skill`;它不会作为 shell 命令执行。宿主更新后,
486
+ release-finish 在 `--root` 指定的当前发布项目根目录调用该入口,不再要求另行提供项目目录。
487
+ 两个配置彼此独立。
459
488
 
460
489
  `distributions` 是必填字段,但可以显式设为空数组。使用
461
490
  `distributions: []` 时,release-skill 只发布该单元的 GitHub 快照、标签和
@@ -670,6 +699,10 @@ release-skill ship --root "$PROJECT" --hook-approval "$HOOK_APPROVAL_PATH" --jso
670
699
  | `kimi-plugin` | 自包含闭包(release-skill 无可脚本化安装接口接入) | 发布后非阻塞人工任务 |
671
700
  | `codebuddy-plugin` | 生成的 `adapters/workbuddy/`,带 `.codebuddy-plugin/plugin.json` | 发布后非阻塞人工任务 |
672
701
 
702
+ Qoder 不属于上表的 `distributions` 类型。它是 `adapters/qoder/` 下的 build-only
703
+ 公开投影,根清单为 `.qoder-plugin/plugin.json`;发布计划不会因此新增 `qoder-plugin`
704
+ 类型,也不会新增自动 publish、reconcile 或 verify 检查点。
705
+
673
706
  每个适配器闭包都自带 CLI、skills 和 schemas 副本,安装后无需外部依赖即可运行。Claude/Codex 验证是自动化的;Kimi Code 和 CodeBuddy/WorkBuddy 以 `manualFollowUps` 返回并标记 `verifiedBySystem: false`,其完成情况不阻塞自动发布进入 `VERIFIED`。
674
707
 
675
708
  发布达到 `VERIFIED` 后,可选的 `release-finish` 工作流可以按冻结市场身份更新 Claude
@@ -677,11 +710,18 @@ release-skill ship --root "$PROJECT" --hook-approval "$HOOK_APPROVAL_PATH" --jso
677
710
  提交;预检失败时不修改该宿主,也不阻止其他已选宿主继续。流程也可以在同一个受控
678
711
  TUI 会话中迁移或更新 Kimi,并核对真实受管载荷。
679
712
  对于已有的 bundled-family CodeBuddy/WorkBuddy 条目,只有冻结标签与可变分支都解析到
680
- 冻结提交时才允许更新。该流程要求用户明确同意,且不改变发布状态。目标缺失、使用
713
+ 冻结提交时才允许更新。用户显式选择 Qoder 后,流程只有在确认 Hub 来源、冻结载荷和
714
+ 既有用户范围安装后才更新;它不会添加市场,也不会执行首次安装。安装结果为 `UPDATED`
715
+ 不等于新版已加载:必须重新加载或新开 Qoder 会话,再完成一次只读 release-skill 业务
716
+ 调用,才能宣称新版已生效。该流程要求用户明确同意,且不改变发布状态。目标缺失、使用
681
717
  standalone 来源、远端不可访问或身份含糊时仍转人工处理,不修改宿主。
682
718
  Kimi 的有效配置根依次取显式 `kimiHome`、`KIMI_CODE_HOME`、`~/.kimi-code`,TUI 与
683
- 操作后观察使用同一根。出现 `Trust this folder?`、未知界面、超时、提前退出,或无法
684
- 证明插件身份时,流程返回人工处理或失败结果,不确认目录信任。
719
+ 操作后观察使用同一根,TUI 工作目录固定为 `--root` 指定的当前发布项目。用户确认冻结
720
+ 计划并显式选择更新 Kimi 后,release-finish 只接受初始标准 `Trust this folder?` 界面:
721
+ 当前必须选中 `No, exit`,且存在 `Trust this folder` 目标行。流程移动到目标行,重新确认
722
+ 选中项,再提交并等待已知命令提示符。出现未知行或选中项、移动后无法确认、超时、提前
723
+ 退出,或者插件命令发出后再次出现目录信任时,该宿主失败并停止。冻结插件身份和
724
+ `Trust and install` 的核对保持不变。
685
725
  WorkBuddy 本机更新仅支持 macOS;其他平台返回不支持并跳过。计划声明 postVerify hook 时,
686
726
  release-finish 必须接收 `ship` 产出的已完成 postVerify run,不能直接使用较早的
687
727
  verify run;核心 prepare、publish、verify 流程仍跨平台。
@@ -689,8 +729,9 @@ verify run;核心 prepare、publish、verify 流程仍跨平台。
689
729
  如果插件由项目选定的 Hub 通过 `postVerify` Hook 交付,发布单元还可以声明
690
730
  `postPublish.localHostUpdate`。Hook 达到 `DISTRIBUTED` 后,`ship`、`verify`、
691
731
  `post-release` 和 `release-finish` 会显示声明中的 Hub、插件和宿主。0.9.14 对这类
692
- 目标只提供人工入口(`promptRequired: true`、`available: false`):提示不会访问 Hub、
693
- 探测宿主或运行宿主命令。Claude 和 Codex 使用各自已有的 marketplace 管理入口;Kimi
732
+ 目标保留各自声明的执行模式。只有用户已选择 Qoder,且冻结计划、Hub 来源、既有用户
733
+ 范围安装和载荷核对全部通过时,Qoder 才进入可执行分支;其他 Hub-backed 目标仍为人工
734
+ 入口。人工提示不会访问 Hub、探测宿主或运行宿主命令。Claude 和 Codex 使用各自已有的 marketplace 管理入口;Kimi
694
735
  使用冻结 GitHub Release 和现有人工确认路径;CodeBuddy 与 WorkBuddy 因无法固定 Hub
695
736
  ref 而继续人工处理。由冻结插件安装动作派生的原有可执行目标不受影响。
696
737
 
@@ -709,13 +750,13 @@ ref 而继续人工处理。由冻结插件安装动作派生的原有可执行
709
750
  静态门禁会阻断,直到入口声明收窄为具体目标。
710
751
 
711
752
  <!-- release-skill:capability:unsupported-scope -->
712
- - **当前版本不含:** 消费者安装整树盘点(R-02)——当前版本只处理声明的公开表面和稳定隔离安装树记录;真实宿主(Kimi/WorkBuddy)验证门禁——宿主验证仍是非阻断的人工后续任务,不产生 `PASS` 或 `VERIFIED` 证据;
753
+ - **当前版本不含:** 消费者安装整树盘点(R-02)——当前版本只处理声明的公开表面和稳定隔离安装树记录;真实宿主(Kimi/WorkBuddy/Qoder)验证门禁——宿主验证和 Qoder 加载确认均不产生发布 `PASS` 或 `VERIFIED` 证据;
713
754
  - 不自动生成 README,不覆盖项目源文件;
714
755
  - 不自动合并冲突,也不要求回滚工作流;
715
756
  - 不声称已经替项目完成真实生产 canary,不声称已完成真实插件市场验证;
716
757
  - `prepare --online` 只观察 bound 前序基线;目标唯一性由 publish 全局预检完成;
717
758
  - 不覆盖已有 branch/tag/Release,不 unpublish npm;
718
- - 发布状态机不提供 Kimi 或 CodeBuddy/WorkBuddy marketplace 安装检查点——可选的 release-finish 可以在本机驱动并复查 Kimi,也可以在严格核对冻结身份后更新已有 CodeBuddy/WorkBuddy 条目,但这些结果不构成发布证据;
759
+ - 发布状态机不提供 Kimi、CodeBuddy/WorkBuddy 或 Qoder marketplace 安装检查点——可选的 release-finish 可以在本机驱动并复查 Kimi,也可以在严格核对冻结身份后更新已有 CodeBuddy/WorkBuddy 条目,或在核对同等来源和载荷后更新已有的用户范围 Qoder 条目,但这些结果不构成发布证据;
719
760
  - 不承诺 Windows 或广泛的跨平台原生写入;
720
761
  - 不会隐藏地 commit、push、打 tag、创建 Release 或发布包。
721
762
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.16",
3
+ "version": "0.9.18",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "kind": "skill-family.contracts.consumer-contract-vectors",
4
- "foundationVersion": "0.17.0",
4
+ "foundationVersion": "0.21.0",
5
5
  "sets": [
6
6
  {
7
7
  "capabilityId": "foundation.contracts.object-validation",
@@ -15,7 +15,7 @@
15
15
  "vectorId": "foundation.contracts.object-validation.consumer-v1.indeterminate",
16
16
  "vectorSetId": "foundation.contracts.object-validation.consumer-v1",
17
17
  "capabilityId": "foundation.contracts.object-validation",
18
- "foundationVersion": "0.17.0",
18
+ "foundationVersion": "0.21.0",
19
19
  "contractId": "skill-family-contracts:validateDocument",
20
20
  "caseClass": "indeterminate",
21
21
  "strategy": "real-pure",
@@ -31,7 +31,7 @@
31
31
  "vectorId": "foundation.contracts.object-validation.consumer-v1.negative",
32
32
  "vectorSetId": "foundation.contracts.object-validation.consumer-v1",
33
33
  "capabilityId": "foundation.contracts.object-validation",
34
- "foundationVersion": "0.17.0",
34
+ "foundationVersion": "0.21.0",
35
35
  "contractId": "skill-family-contracts:validateDocument",
36
36
  "caseClass": "negative",
37
37
  "strategy": "real-pure",
@@ -47,7 +47,7 @@
47
47
  "vectorId": "foundation.contracts.object-validation.consumer-v1.positive",
48
48
  "vectorSetId": "foundation.contracts.object-validation.consumer-v1",
49
49
  "capabilityId": "foundation.contracts.object-validation",
50
- "foundationVersion": "0.17.0",
50
+ "foundationVersion": "0.21.0",
51
51
  "contractId": "skill-family-contracts:validateDocument",
52
52
  "caseClass": "positive",
53
53
  "strategy": "real-pure",
@@ -71,7 +71,7 @@
71
71
  "vectorId": "foundation.harness.atomic-write.consumer-v1.indeterminate",
72
72
  "vectorSetId": "foundation.harness.atomic-write.consumer-v1",
73
73
  "capabilityId": "foundation.harness.atomic-write",
74
- "foundationVersion": "0.17.0",
74
+ "foundationVersion": "0.21.0",
75
75
  "contractId": "skill-family-harness-node:writeFileAtomic",
76
76
  "caseClass": "indeterminate",
77
77
  "strategy": "official-fake",
@@ -84,7 +84,7 @@
84
84
  "vectorId": "foundation.harness.atomic-write.consumer-v1.negative",
85
85
  "vectorSetId": "foundation.harness.atomic-write.consumer-v1",
86
86
  "capabilityId": "foundation.harness.atomic-write",
87
- "foundationVersion": "0.17.0",
87
+ "foundationVersion": "0.21.0",
88
88
  "contractId": "skill-family-harness-node:writeFileAtomic",
89
89
  "caseClass": "negative",
90
90
  "strategy": "official-fake",
@@ -97,7 +97,7 @@
97
97
  "vectorId": "foundation.harness.atomic-write.consumer-v1.positive",
98
98
  "vectorSetId": "foundation.harness.atomic-write.consumer-v1",
99
99
  "capabilityId": "foundation.harness.atomic-write",
100
- "foundationVersion": "0.17.0",
100
+ "foundationVersion": "0.21.0",
101
101
  "contractId": "skill-family-harness-node:writeFileAtomic",
102
102
  "caseClass": "positive",
103
103
  "strategy": "official-fake",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "kind": "skill-family.contracts.error-codes",
4
- "contractsVersion": "1.16.0",
4
+ "contractsVersion": "1.18.0",
5
5
  "policy": {
6
6
  "format": "^SFC[0-9]{4}$",
7
7
  "ranges": [