release-skill 0.1.10 → 0.2.1

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 (82) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.codebuddy-plugin/plugin.json +10 -0
  4. package/.codex-plugin/plugin.json +2 -2
  5. package/.kimi-plugin/plugin.json +1 -1
  6. package/CHANGELOG.md +33 -0
  7. package/INSTALL.md +24 -4
  8. package/INSTALL.zh-CN.md +22 -4
  9. package/README.md +19 -32
  10. package/README.zh-CN.md +14 -25
  11. package/adapters/claude/.claude-plugin/marketplace.json +1 -1
  12. package/adapters/claude/.claude-plugin/plugin.json +1 -1
  13. package/adapters/claude/bin/release-skill.bundle.mjs +2721 -1843
  14. package/adapters/claude/schemas/.render-manifest.json +8 -8
  15. package/adapters/claude/schemas/approval-record.schema.json +1 -1
  16. package/adapters/claude/schemas/release-plan.schema.json +6 -2
  17. package/adapters/claude/schemas/release-project.schema.json +14 -0
  18. package/adapters/codex/.codex-plugin/plugin.json +2 -2
  19. package/adapters/codex/bin/release-skill.bundle.mjs +2721 -1843
  20. package/adapters/codex/schemas/.render-manifest.json +8 -8
  21. package/adapters/codex/schemas/approval-record.schema.json +1 -1
  22. package/adapters/codex/schemas/release-plan.schema.json +6 -2
  23. package/adapters/codex/schemas/release-project.schema.json +14 -0
  24. package/adapters/kimi/.kimi-plugin/plugin.json +1 -1
  25. package/adapters/kimi/bin/release-skill.bundle.mjs +2721 -1843
  26. package/adapters/kimi/schemas/.render-manifest.json +8 -8
  27. package/adapters/kimi/schemas/approval-record.schema.json +1 -1
  28. package/adapters/kimi/schemas/release-plan.schema.json +6 -2
  29. package/adapters/kimi/schemas/release-project.schema.json +14 -0
  30. package/adapters/workbuddy/.codebuddy-plugin/plugin.json +10 -0
  31. package/adapters/workbuddy/bin/release-skill.bundle.mjs +85363 -0
  32. package/adapters/workbuddy/bin/release-skill.mjs +54 -0
  33. package/adapters/workbuddy/native/safe-write/binding.gyp +41 -0
  34. package/adapters/workbuddy/native/safe-write/prebuilds/darwin-arm64/safe_write.node +0 -0
  35. package/adapters/workbuddy/native/safe-write/prebuilds.json +24 -0
  36. package/adapters/workbuddy/native/safe-write/src/safe_write.cc +2032 -0
  37. package/adapters/workbuddy/schemas/.render-manifest.json +37 -0
  38. package/adapters/workbuddy/schemas/approval-record.schema.json +115 -0
  39. package/adapters/workbuddy/schemas/artifact-lock.schema.json +111 -0
  40. package/adapters/workbuddy/schemas/artifact-plan.schema.json +52 -0
  41. package/adapters/workbuddy/schemas/artifact-policy.schema.json +76 -0
  42. package/adapters/workbuddy/schemas/evidence-event.schema.json +89 -0
  43. package/adapters/workbuddy/schemas/release-plan.schema.json +882 -0
  44. package/adapters/workbuddy/schemas/release-project.schema.json +909 -0
  45. package/adapters/workbuddy/schemas/release-run.schema.json +343 -0
  46. package/adapters/workbuddy/skills/release-assess/SKILL.md +51 -0
  47. package/adapters/workbuddy/skills/release-help/SKILL.md +77 -0
  48. package/adapters/workbuddy/skills/release-prepare/SKILL.md +92 -0
  49. package/adapters/workbuddy/skills/release-publish/SKILL.md +57 -0
  50. package/adapters/workbuddy/skills/release-reconcile/SKILL.md +73 -0
  51. package/adapters/workbuddy/skills/release-setup/SKILL.md +95 -0
  52. package/adapters/workbuddy/skills/release-verify/SKILL.md +70 -0
  53. package/bin/release-skill-cli.mjs +3 -0
  54. package/bin/release-skill.bundle.mjs +2721 -1843
  55. package/package.json +9 -2
  56. package/references/.render-manifest.json +8 -8
  57. package/references/01-state-machine.md +5 -5
  58. package/references/02-project-config.md +1 -1
  59. package/references/05-evidence-and-errors.md +1 -1
  60. package/references/06-adapter-contract.md +41 -1
  61. package/schemas/.render-manifest.json +8 -8
  62. package/schemas/approval-record.schema.json +1 -1
  63. package/schemas/release-plan.schema.json +6 -2
  64. package/schemas/release-project.schema.json +14 -0
  65. package/scripts/sync-public-files.mjs +481 -0
  66. package/src/adapters/contract.mjs +60 -0
  67. package/src/adapters/plugin-marketplace.mjs +289 -736
  68. package/src/commands/prepare.mjs +195 -182
  69. package/src/commands/publish.mjs +438 -122
  70. package/src/commands/reconcile.mjs +369 -191
  71. package/src/commands/verify.mjs +13 -2
  72. package/src/core/approval.mjs +72 -45
  73. package/src/core/baseline.mjs +5 -0
  74. package/src/core/checkpoints.mjs +143 -0
  75. package/src/core/evidence.mjs +30 -3
  76. package/src/core/hook-cache.mjs +254 -0
  77. package/src/core/hooks.mjs +37 -1
  78. package/src/core/observe-retry.mjs +223 -0
  79. package/src/core/plan.mjs +162 -253
  80. package/src/platforms/kimi.mjs +514 -0
  81. package/src/platforms/registry.mjs +393 -0
  82. package/src/producers/build-adapters.mjs +49 -23
@@ -9,7 +9,7 @@
9
9
  {
10
10
  "name": "release-skill",
11
11
  "source": "./",
12
- "version": "0.1.10",
12
+ "version": "0.2.1",
13
13
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification"
14
14
  }
15
15
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.1.10",
3
+ "version": "0.2.1",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "release-skill",
3
+ "version": "0.2.1",
4
+ "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
+ "author": {
6
+ "name": "广州市风荷科技有限公司"
7
+ },
8
+ "license": "MIT",
9
+ "skills": "./adapters/workbuddy/skills/"
10
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.1.10",
3
+ "version": "0.2.1",
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.1.10.",
22
+ "Prepare a release plan for version 0.2.1.",
23
23
  "Help me understand the release workflow."
24
24
  ]
25
25
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.1.10",
3
+ "version": "0.2.1",
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,5 +1,38 @@
1
1
  # Changelog
2
2
 
3
+ <!-- release-skill:changelog:start version=0.2.1 locale=en baseline=sha256:7d616df824b1d28f9939ef181d6a5d5928d3e0f0455974bebb356c742992ac81 -->
4
+ ## [0.2.1] - 2026-07-25
5
+
6
+ v0.2.1 adds a fourth platform adapter — workbuddy (CodeBuddy/WorkBuddy plugin) — using a build-only distribution model. The build-adapters generator and platform registry now register workbuddy alongside claude, codex, and kimi, producing a self-contained adapter directory at `adapters/workbuddy/` with a `.codebuddy-plugin/plugin.json` manifest, bundled CLI entry, native prebuilds, schemas, and skills. The sync-public-files and sync-version scripts cover the new manifest, and the adapter-contract standard documents build-only distribution. README and INSTALL (en + zh-CN) register the CodeBuddy installation entry. Installation is manual — the automated marketplace install checkpoint does not cover CodeBuddy yet.
7
+
8
+ ### Added
9
+
10
+ - **WorkBuddy/CodeBuddy build-only distribution adapter**: new fourth platform adapter `workbuddy` registered in the platform registry and build-adapters generator. The generated self-contained adapter directory (`adapters/workbuddy/`) ships a `.codebuddy-plugin/plugin.json` manifest, a bundled CLI entry (`bin/release-skill.bundle.mjs`), native safe-write prebuilds, JSON schemas, and the full skill set. Skills resolve the CLI entry via `${CODEBUDDY_PLUGIN_ROOT}`, which CodeBuddy expands inline.
11
+ - **Build-only distribution model in adapter-contract standard**: both the parent `standards/06-adapter-contract.md` and the public `references/06-adapter-contract.md` now document the build-only distribution scope — the adapter is generated and self-contained, installation is manual, and the automated preflight/execute/observe/verify marketplace checkpoint is not yet wired for CodeBuddy.
12
+ - **sync-public-files and sync-version coverage for `.codebuddy-plugin`**: the `sync-public-files.mjs` script now validates the `.codebuddy-plugin/plugin.json` manifest as a public asset, and `sync-version.mjs` propagates the package version into it. The build-adapters generator produces workbuddy artifacts alongside the existing three platforms.
13
+ - **README and INSTALL registration (en + zh-CN)**: all four public documents (README.md, README.zh-CN.md, INSTALL.md, INSTALL.zh-CN.md) now list the CodeBuddy/WorkBuddy adapter, its manual installation path, and the scope limitation that the automated marketplace install checkpoint does not yet cover CodeBuddy.
14
+ <!-- release-skill:changelog:end version=0.2.1 locale=en -->
15
+
16
+
17
+ <!-- release-skill:changelog:start version=0.2.0 locale=en baseline=sha256:cc9236e620cdb2d9eef6fede00c54095bf0cc0ccdfeb9c1e584f063ff3af7e23 -->
18
+ ## [0.2.0] - 2026-07-25
19
+
20
+ v0.2.0 is a hardening release that improves publish reliability, digest reproducibility, version management, and platform registry data-driven architecture. Nine hardening tasks are completed: observe retry backoff, digest decoupling with planVersion 2, declared-manifest payload contract, single-source versioning, real CLI contract tests, incremental hook caching, tiered parallel checkpoint execution, observe-before-execute idempotent skip, and platform registry data-driven architecture. The npm package name (`release-skill`), publishing identity (`publisher: mzdbxqh`), public repository (`ifoohoo/release-skill`), and corporate maintainer remain unchanged.
21
+
22
+ ### Added
23
+
24
+ - **Observe retry backoff (`observeWithRetry`)**: post-execute observe in publish/reconcile now uses bounded exponential backoff for transient failures. Transient classification is propagating — retries only on transient errors (network timeouts, 5xx); CONFLICTING errors are never retried. Marketplace retry window is clamped to action `timeoutMs`. This resolves intermittent PARTIAL failures caused by transient observe timeouts on real networks.
25
+ - **Digest decoupling with planVersion 2**: plan fields split into binding layer (frozen artifacts, actions, versions, config) vs record layer (baseline, createdAt, status). Frozen commit timestamp derived from `headCommit` for reproducible digests. Approval no longer invalidated by tree/workspace digest drift (v2 plans); baseline check demoted to evidence warning. v1 legacy behavior preserved byte-for-byte (golden-value tested).
26
+ - **Declared-manifest payload contract for marketplace installs**: replace whole-tree byte equality with declared-manifest comparison. Authority entries must exist and match byte-for-byte in the install dir; host-added files are recorded (`extraInstalledPaths`, capped) instead of failing. Legacy plans without `payloadContract` keep exact whole-tree semantics. `consumerTransportExclusions` deprecated (legacy path only).
27
+ - **Single-source versioning with `sync-version` script**: `package.json` version is now the sole handwritten source. New `sync-version.mjs` propagates it to plugin manifests, marketplace.json, README boundary lines, and INSTALL docs (idempotent, `--check` mode, defensive whitelist). `smokeExpectedJson.version` is injected at runtime from `targetVersion`, ending the bump-invalidates-plan loop. docs hook now runs `check-docs-drift.mjs` (render check + sync-version check). Hardcoded version literals in tests replaced with dynamic reads.
28
+ - **Real CLI contract tests for claude/codex/kimi adapters**: isolated-HOME contract tests asserting adapter assumptions against real CLI protocol shapes (`list --json` output forms, subcommand existence), gated by `RELEASE_SKILL_LIVE_CLI=1` with skip-not-fail semantics. Static contract locks in 'kimi has no scriptable install' to prevent fabricated CLI commands from regressing silently.
29
+ - **Incremental hook caching for prepare**: hooks can declare `cacheable`+`cacheInputs`; results cached under `.release-skill/cache/hooks/<name>/<key>.json` keyed by hook config and input content hashes. Failures never cached; hits skip execution but not authorization gates; `--no-hook-cache` escape hatch. Cache dir registered in baseline control-plane exclusions and gitignore. test/typecheck hooks cached in this project: second prepare drops to ~2s with test hook served from cache.
30
+ - **Tiered parallel checkpoint execution for publish**: publish checkpoints grouped into hard-coded `TIER_TABLE` layers. Layers run sequentially, actions within a layer run concurrently with `allSettled` semantics (no fail-fast, successes preserved). State persistence moves to per-layer snapshots keeping the appendRunState hash chain intact; crash recovery verified via SIGKILL-mid-tier integration test. Evidence appends serialized through a mutex chain with sequence starting at 1 and tier info in `details.tier`.
31
+ - **Observe-before-execute idempotent skip**: publish each checkpoint execute now has a single read-only pre-observe. Four-way classification: CONSISTENT→SKIPPED / MISSING→execute / CONFLICTING→FAILED / not observable→execute. Two-layer preflight shares `classifyPreObservation` single source (global Safety Gate 10 arbitration). SKIPPED downstream adaptation: layer folding recognizes success, three `every` checks expanded to SUCCEEDED||SKIPPED, `buildPersistedState` maps skipped, TOCTOU as usual.
32
+ - **Platform registry data-driven architecture**: new `src/platforms/registry.mjs` with `PLATFORMS`/`getPlatform`/`assertRegistry` module self-validation. Three platforms complete description (§3.4 matrix full dimensions) + pure strategy functions. Golden tests 12 cases solidify three platforms execute/observe/list current behavior. `src/producers/build-adapters.mjs` PLATFORMS now derived from registry; `scripts/build-adapters.mjs` duplicate platform table removed for single-source. `build:adapters:check` byte-zero diff (zero behavior change strong evidence).
33
+ <!-- release-skill:changelog:end version=0.2.0 locale=en -->
34
+
35
+
3
36
  <!-- release-skill:changelog:start version=0.1.10 locale=en baseline=sha256:ec4dbf3f44f1295d9af20e0fbf1ced4341d9b65d0c93598104e228244e33fa2b -->
4
37
  ## [0.1.10] - 2026-07-24
5
38
 
package/INSTALL.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [简体中文](INSTALL.zh-CN.md)
4
4
 
5
- <!-- release-skill:release-version: 0.1.10 -->
5
+ <!-- release-skill:release-version: 0.2.1 -->
6
6
  ## Prerequisites
7
7
 
8
8
  - Node.js 22.0.0 or later
@@ -68,7 +68,7 @@ as a version-pinned **manual** install plus trusted observation/attestation:
68
68
  default branch), confirm the trust prompt, then reload:
69
69
 
70
70
  ```
71
- /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.1.10
71
+ /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.2.1
72
72
  /plugins reload
73
73
  ```
74
74
 
@@ -83,10 +83,10 @@ as a version-pinned **manual** install plus trusted observation/attestation:
83
83
  {
84
84
  "consumer": "kimi",
85
85
  "plugin": "release-skill",
86
- "version": "0.1.10",
86
+ "version": "0.2.1",
87
87
  "entrySkill": "release-help",
88
88
  "repo": "ifoohoo/release-skill",
89
- "ref": "release-skill-v0.1.10",
89
+ "ref": "release-skill-v0.2.1",
90
90
  "installPath": "<kimiCodeHome>/plugins/managed/release-skill",
91
91
  "planDigest": "<64-hex frozen plan digest>",
92
92
  "payloadDigest": "<64-hex frozen snapshot payload digest>",
@@ -106,6 +106,26 @@ attested `installPath` must resolve inside the requirement's isolated
106
106
  `KIMI_CODE_HOME` managed root, otherwise verification fails closed and the Kimi
107
107
  unit never reaches `VERIFIED`.
108
108
 
109
+ ## Install as a CodeBuddy/WorkBuddy plugin
110
+
111
+ The package also ships a generated, self-contained CodeBuddy/WorkBuddy adapter
112
+ at `adapters/workbuddy/`, next to `adapters/claude/`, `adapters/codex/`, and
113
+ `adapters/kimi/`. Its manifest lives at `.codebuddy-plugin/plugin.json` (the
114
+ components — `skills/`, `bin/`, `schemas/`, `native/` — sit at the plugin
115
+ root, per the CodeBuddy plugin reference), and its skills resolve the CLI
116
+ entry via `${CODEBUDDY_PLUGIN_ROOT}`, which CodeBuddy expands inline like
117
+ Claude Code expands `${CLAUDE_PLUGIN_ROOT}`.
118
+
119
+ CodeBuddy/WorkBuddy installation is a **manual** step today: the automated
120
+ marketplace install checkpoint (`publish`/`verify`) does not cover CodeBuddy
121
+ yet. To use the adapter, point CodeBuddy at the generated plugin directory —
122
+ for a single session run CodeBuddy with `--plugin-dir <path>/adapters/workbuddy`,
123
+ or add the directory as a marketplace source you control
124
+ (`codebuddy plugin marketplace add <source>`) and install from it
125
+ (`codebuddy plugin install release-skill@<marketplace>`, or the interactive
126
+ `/plugin` manager). The installed copy lands in CodeBuddy's versioned plugin
127
+ cache; the adapter never references files outside its own directory.
128
+
109
129
  ## Development Install (Local Checkout)
110
130
 
111
131
  For development or when working from source:
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.1.10 -->
5
+ <!-- release-skill:release-version: 0.2.1 -->
6
6
  ## 前置条件
7
7
 
8
8
  - Node.js 22.0.0 或更高版本
@@ -62,7 +62,7 @@ release-skill 把 Kimi 安装建模为“版本钉死的手动安装 + 可信观
62
62
  它会安装最新 release 或默认分支),确认信任提示后重新加载:
63
63
 
64
64
  ```
65
- /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.1.10
65
+ /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.2.1
66
66
  /plugins reload
67
67
  ```
68
68
 
@@ -76,10 +76,10 @@ release-skill 把 Kimi 安装建模为“版本钉死的手动安装 + 可信观
76
76
  {
77
77
  "consumer": "kimi",
78
78
  "plugin": "release-skill",
79
- "version": "0.1.10",
79
+ "version": "0.2.1",
80
80
  "entrySkill": "release-help",
81
81
  "repo": "ifoohoo/release-skill",
82
- "ref": "release-skill-v0.1.10",
82
+ "ref": "release-skill-v0.2.1",
83
83
  "installPath": "<kimiCodeHome>/plugins/managed/release-skill",
84
84
  "planDigest": "<64 位十六进制冻结计划摘要>",
85
85
  "payloadDigest": "<64 位十六进制冻结快照载荷摘要>",
@@ -98,6 +98,24 @@ release-skill 把 Kimi 安装建模为“版本钉死的手动安装 + 可信观
98
98
  必须解析到 requirement 给出的隔离 `KIMI_CODE_HOME` managed 根之内,否则验证
99
99
  失败关闭,Kimi 单元绝不进入 `VERIFIED`。
100
100
 
101
+ ## 安装为 CodeBuddy/WorkBuddy 插件
102
+
103
+ 本包还随 `adapters/claude/`、`adapters/codex/`、`adapters/kimi/` 一并提供生成的
104
+ 自包含 CodeBuddy/WorkBuddy 适配器 `adapters/workbuddy/`。其清单位于
105
+ `.codebuddy-plugin/plugin.json`(组件——`skills/`、`bin/`、`schemas/`、
106
+ `native/`——按 CodeBuddy 插件规范位于插件根目录),技能通过
107
+ `${CODEBUDDY_PLUGIN_ROOT}` 解析 CLI 入口;CodeBuddy 会像 Claude Code 展开
108
+ `${CLAUDE_PLUGIN_ROOT}` 一样内联展开该变量。
109
+
110
+ CodeBuddy/WorkBuddy 安装目前是**手动**步骤:自动化 marketplace 安装检查点
111
+ (`publish`/`verify`)尚未覆盖 CodeBuddy。使用该适配器时,把 CodeBuddy 指向
112
+ 生成的插件目录——单会话可用 `--plugin-dir <path>/adapters/workbuddy` 启动
113
+ CodeBuddy;或把该目录作为你控制的 marketplace 源
114
+ (`codebuddy plugin marketplace add <source>`)再从中安装
115
+ (`codebuddy plugin install release-skill@<marketplace>`,或交互式 `/plugin`
116
+ 管理器)。安装后的副本落在 CodeBuddy 的版本化插件缓存中;适配器不引用自身
117
+ 目录之外的任何文件。
118
+
101
119
  ## 开发安装(本地源码)
102
120
 
103
121
  用于开发或尚未公开发布的源码候选:
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.1.10 -->
5
+ <!-- release-skill:release-version: 0.2.1 -->
6
6
  Release preparation for Claude Code, 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,
@@ -11,40 +11,20 @@ reviewed artifacts first and publishes those same artifacts later; it does not
11
11
  regenerate a README or re-pack the live workspace at the last step.
12
12
 
13
13
  <!-- release-skill:managed:start id=latest-release -->
14
- **0.1.10** (2026-07-24)
15
-
16
- v0.1.10 fixes the codex marketplace install verification failure caused by the codex CLI materializing a `.codex-plugin/migrated-command-skills/` subtree (commands migrated to skill format) in the plugin install root at install time. That consumer-owned transport metadata is now exempted alongside the root `.git` checkout, and the frozen snapshot exclusion list supports multi-segment relative path prefixes while single-segment root-only behavior is unchanged. The sealed snapshot digest, release plan schema, and prepare-side freezing are unchanged, so already-frozen plans reconcile without re-approval. The npm package name (`release-skill`), publishing identity (`publisher: mzdbxqh`), public repository (`ifoohoo/release-skill`), and corporate maintainer remain unchanged.
17
-
18
- **Fixed**
19
-
20
- - **Codex `migrated-command-skills` transport exemption**: the codex CLI
21
- converts plugin `commands/` into skill format at install time and writes the
22
- result under `.codex-plugin/migrated-command-skills/` in the install root.
23
- That consumer-owned subtree is not part of the published payload, so the
24
- whole-tree comparison failed every real codex marketplace install; the
25
- codex consumer transport exemptions widen from `['.git']` to
26
- `['.git', '.codex-plugin/migrated-command-skills']`. Claude (`.in_use`) and
27
- Kimi (`.git`) exemptions are unchanged, and the exemption deliberately
28
- never widens to `.codex-plugin/*` or arbitrary extra files. Verified
29
- against a real flow-architect install: the installed tree is byte-identical
30
- to the frozen snapshot except for the migrated-command-skills directory.
31
- Already-frozen plans reconcile unchanged because the sealed digest, plan
32
- schema, and prepare-side freezing are untouched.
33
- - **Multi-segment snapshot exclusions, fail-closed**:
34
- `computeFrozenSnapshot`'s `excludeRootEntries` now accepts multi-segment
35
- relative path prefixes naming an exact excluded subtree (required for the
36
- `.codex-plugin/migrated-command-skills` exemption); single-segment entries
37
- keep the historical root-only matching. Malformed entries (non-string,
38
- absolute, `..`, backslash) fail closed: a bad exclusion list is a caller
39
- bug, not transport metadata.
40
- - **Regression coverage**: new protocol-level tests cover the root-layout
41
- codex execute→observe→verify cycle with the CLI-generated
42
- migrated-command-skills tree present, including byte-tamper and extra-file
43
- negatives that must still fail closed.
14
+ **0.2.1** (2026-07-25)
15
+
16
+ v0.2.1 adds a fourth platform adapter workbuddy (CodeBuddy/WorkBuddy plugin) using a build-only distribution model. The build-adapters generator and platform registry now register workbuddy alongside claude, codex, and kimi, producing a self-contained adapter directory at `adapters/workbuddy/` with a `.codebuddy-plugin/plugin.json` manifest, bundled CLI entry, native prebuilds, schemas, and skills. The sync-public-files and sync-version scripts cover the new manifest, and the adapter-contract standard documents build-only distribution. README and INSTALL (en + zh-CN) register the CodeBuddy installation entry. Installation is manual the automated marketplace install checkpoint does not cover CodeBuddy yet.
17
+
18
+ **Added**
19
+
20
+ - **WorkBuddy/CodeBuddy build-only distribution adapter**: new fourth platform adapter `workbuddy` registered in the platform registry and build-adapters generator. The generated self-contained adapter directory (`adapters/workbuddy/`) ships a `.codebuddy-plugin/plugin.json` manifest, a bundled CLI entry (`bin/release-skill.bundle.mjs`), native safe-write prebuilds, JSON schemas, and the full skill set. Skills resolve the CLI entry via `${CODEBUDDY_PLUGIN_ROOT}`, which CodeBuddy expands inline.
21
+ - **Build-only distribution model in adapter-contract standard**: both the parent `standards/06-adapter-contract.md` and the public `references/06-adapter-contract.md` now document the build-only distribution scope — the adapter is generated and self-contained, installation is manual, and the automated preflight/execute/observe/verify marketplace checkpoint is not yet wired for CodeBuddy.
22
+ - **sync-public-files and sync-version coverage for `.codebuddy-plugin`**: the `sync-public-files.mjs` script now validates the `.codebuddy-plugin/plugin.json` manifest as a public asset, and `sync-version.mjs` propagates the package version into it. The build-adapters generator produces workbuddy artifacts alongside the existing three platforms.
23
+ - **README and INSTALL registration (en + zh-CN)**: all four public documents (README.md, README.zh-CN.md, INSTALL.md, INSTALL.zh-CN.md) now list the CodeBuddy/WorkBuddy adapter, its manual installation path, and the scope limitation that the automated marketplace install checkpoint does not yet cover CodeBuddy.
44
24
  <!-- release-skill:managed:end id=latest-release -->
45
25
 
46
26
  <!-- release-skill:capability:external-write-boundary -->
47
- > **Current boundary:** v0.1.10 is the current release (v0.1.9 previously held
27
+ > **Current boundary:** v0.2.1 is the current release (v0.1.9 previously held
48
28
  > published status before the codex migrated-command-skills fix was added).
49
29
  > v0.1.1 completed a real production release to GitHub and npm — the first
50
30
  > production-verified milestone — followed by
@@ -914,6 +894,11 @@ Successful reconcile returns `PUBLISHED`, not `VERIFIED`; only the fresh
914
894
  Code (no scriptable install API) it emits a version-pinned manual install
915
895
  requirement and proves the entry Skill and payload digest only from a trusted
916
896
  attestation bound to the frozen plan digest;
897
+ - ships a generated, self-contained CodeBuddy/WorkBuddy adapter
898
+ (`adapters/workbuddy/`, manifest `.codebuddy-plugin/plugin.json`, skills
899
+ rendered with `${CODEBUDDY_PLUGIN_ROOT}`) alongside the Claude/Codex/Kimi
900
+ adapters; CodeBuddy installation is manual — the automated marketplace
901
+ install checkpoint does not cover CodeBuddy yet;
917
902
  - distinguishes `PUBLISHED` (writes completed) from `VERIFIED` (remote and
918
903
  consumer installation evidence completed);
919
904
  - stops subsequent checkpoints on failure and writes a separate run record
@@ -999,6 +984,8 @@ npm publish may never be hooks/gates; they remain controlled plan actions.
999
984
  - no overwrite of branches/tags/releases or npm unpublish; create-only refs use
1000
985
  `--force-with-lease=<ref>:` solely as an atomic compare-and-set assertion that
1001
986
  the ref is absent, while existing branches use an ordinary non-force push;
987
+ - no automated CodeBuddy/WorkBuddy marketplace install checkpoint — the
988
+ generated `adapters/workbuddy/` distribution adapter is installed manually;
1002
989
  - no promise of Windows or broad multi-platform native write support;
1003
990
  - no hidden commit, push, tag, release, or package publication.
1004
991
 
package/README.zh-CN.md CHANGED
@@ -2,39 +2,26 @@
2
2
 
3
3
  [English](README.md) · 安装指南:[中文](INSTALL.zh-CN.md) / [English](INSTALL.md)
4
4
 
5
- <!-- release-skill:release-version: 0.1.10 -->
5
+ <!-- release-skill:release-version: 0.2.1 -->
6
6
  面向 Claude Code、Codex 和 Kimi Code 的发布准备工具,完整保留人工维护的文件内容。
7
7
 
8
8
  release-skill 帮助维护者回答三个问题:准备发布什么、还有哪些检查未通过、最终发布的内容是什么。它先冻结并供人工审阅,再从同一份冻结产物发布,不会在最后一步重新生成 README、重新打包当前工作区或覆盖人工内容。
9
9
 
10
10
  <!-- release-skill:managed:start id=latest-release -->
11
- **0.1.10** (2026-07-24)
12
-
13
- v0.1.10 修复 codex marketplace 安装校验失败:codex CLI 安装时会在插件安装根目录生成 `.codex-plugin/migrated-command-skills/` 子树(commands 迁移为 skill 格式的产物)。这部分消费者所有的传输元数据现在与根目录 `.git` 检出一样获得豁免;冻结快照排除清单扩展支持多段相对路径前缀,单段行为保持不变。密封快照摘要、发布计划 schema prepare 冻结均未改动,已冻结计划无需重新审批即可 reconcilenpm 包名(`release-skill`)、发布身份(`publisher: mzdbxqh`)、公开仓库(`ifoohoo/release-skill`)与公司维护主体保持不变。
14
-
15
- **修复**
16
-
17
- - **Codex `migrated-command-skills` 传输豁免**:codex CLI 安装时会把插件
18
- `commands/` 转换为 skill 格式并写入安装根目录的
19
- `.codex-plugin/migrated-command-skills/`。该消费者所有的子树不属于已发布
20
- 载荷,导致整树比较在每次真实 codex marketplace 安装中失败;codex 消费者
21
- 传输豁免从 `['.git']` 扩为 `['.git', '.codex-plugin/migrated-command-skills']`。
22
- Claude(`.in_use`)与 Kimi(`.git`)豁免不变,且豁免刻意不扩大为
23
- `.codex-plugin/*` 或任意多余文件。flow-architect 真实安装实测验证:除
24
- migrated-command-skills 目录外,安装内容与冻结快照逐字节一致。密封摘要、
25
- 计划 schema 与 prepare 冻结均未改动,已冻结计划可以不变地 reconcile 收口。
26
- - **多段快照排除,失败关闭**:`computeFrozenSnapshot` 的
27
- `excludeRootEntries` 现在接受多段相对路径前缀,命名一个精确排除的子树
28
- (`.codex-plugin/migrated-command-skills` 豁免所必需);单段条目保持历史
29
- 的根直接子项匹配。畸形条目(非字符串、绝对路径、`..`、反斜杠)失败关闭:
30
- 错误的排除清单是调用方 bug,不是传输元数据。
31
- - **回归覆盖**:新增协议级测试覆盖带 CLI 生成 migrated-command-skills 树的
32
- 根布局 codex execute→observe→verify 完整链路,包含必须仍然失败关闭的字节
33
- 篡改与多余文件负例。
11
+ **0.2.1** (2026-07-25)
12
+
13
+ v0.2.1 新增第四个平台适配器 workbuddy(CodeBuddy/WorkBuddy 插件),采用 build-only 分发模式。build-adapters 生成器与平台注册表现在将 workbuddy 与 claude、codex、kimi 并列登记,在 `adapters/workbuddy/` 产出包含 `.codebuddy-plugin/plugin.json` 清单、打包 CLI 入口、native 预编译、JSON schemas 与全套技能的自包含适配器目录。sync-public-files sync-version 脚本覆盖新清单,适配器契约标准补充 build-only 分发说明。README INSTALL(中英四份)登记 CodeBuddy 安装入口。安装为手动步骤——自动化 marketplace 安装检查点尚未覆盖 CodeBuddy
14
+
15
+ **新增**
16
+
17
+ - **WorkBuddy/CodeBuddy build-only 分发适配器**:新增第四个平台适配器 `workbuddy`,在平台注册表和 build-adapters 生成器中登记。生成的自包含适配器目录(`adapters/workbuddy/`)附带 `.codebuddy-plugin/plugin.json` 清单、打包 CLI 入口(`bin/release-skill.bundle.mjs`)、native safe-write 预编译、JSON schemas 与全套技能。技能通过 `${CODEBUDDY_PLUGIN_ROOT}` 解析 CLI 入口,CodeBuddy 会内联展开该变量。
18
+ - **适配器契约标准补充 build-only 分发模型**:父级 `standards/06-adapter-contract.md` 与公开 `references/06-adapter-contract.md` 均补充 build-only 分发范围说明——适配器由生成器产出且自包含,安装为手动步骤,CodeBuddy 的自动化 preflight/execute/observe/verify marketplace 检查点尚未接入。
19
+ - **sync-public-files 与 sync-version 覆盖 `.codebuddy-plugin`**:`sync-public-files.mjs` 脚本现在将 `.codebuddy-plugin/plugin.json` 清单作为公开资产校验,`sync-version.mjs` 将包版本同步到该清单。build-adapters 生成器将 workbuddy 产物与既有三平台并列生成。
20
+ - **README 与 INSTALL 登记(中英四份)**:四份公开文档(README.md、README.zh-CN.md、INSTALL.md、INSTALL.zh-CN.md)均列出 CodeBuddy/WorkBuddy 适配器、其手动安装路径以及自动化 marketplace 安装检查点尚未覆盖 CodeBuddy 的范围限制。
34
21
  <!-- release-skill:managed:end id=latest-release -->
35
22
 
36
23
  <!-- release-skill:capability:external-write-boundary -->
37
- > **当前边界:** v0.1.10 是当前发布版本(v0.1.9 曾处于已发布、待独立验证状态)。
24
+ > **当前边界:** v0.2.1 是当前发布版本(v0.1.9 曾处于已发布、待独立验证状态)。
38
25
  > v0.1.1 已完成 GitHub 与 npm 的
39
26
  > 真实生产发布,是首次生产验证的历史里程碑,并从冻结 Git ref 完成精确 npm
40
27
  > 安装及 Claude/Codex 消费者安装验证;“当前发布版本”与“首次生产验证里程碑”
@@ -608,6 +595,7 @@ reconcile 成功只返回 `PUBLISHED`,不会返回 `VERIFIED`;只有全新
608
595
  - 用计划摘要、有效期和显式 action allowlist 绑定人工批准;
609
596
  - 从冻结 Git object 和 npm tarball 发布,并核对远端 commit/tree/tag/integrity;
610
597
  - 从冻结 Git ref 安装配置的 Claude/Codex 插件,证明入口 Skill 和安装载荷摘要;对 Kimi Code(无可脚本化安装接口)产出版本钉死的手动安装要求,仅依据绑定到冻结计划摘要的可信证明来确认入口 Skill 和载荷摘要;
598
+ - 随 Claude/Codex/Kimi 适配器一并提供生成的自包含 CodeBuddy/WorkBuddy 适配器(`adapters/workbuddy/`,清单 `.codebuddy-plugin/plugin.json`,技能以 `${CODEBUDDY_PLUGIN_ROOT}` 渲染);CodeBuddy 安装为手动步骤——自动化 marketplace 安装检查点尚未覆盖 CodeBuddy;
611
599
  - 明确区分 `PUBLISHED`(外写完成)与 `VERIFIED`(远端和消费者安装证据完成);
612
600
  - 中途失败停止后续动作,记录独立 run;不修改冻结 plan,不自动撤销已成功动作。
613
601
 
@@ -659,6 +647,7 @@ push、tag、默认分支修改、GitHub Release 和 npm publish 不能放进 ho
659
647
  - 不声称已经替项目完成真实生产 canary;
660
648
  - `prepare --online` 只观察 bound 前序基线;目标唯一性由 publish 全局预检完成;
661
649
  - 不覆盖已有 branch/tag/Release,不 unpublish npm;
650
+ - 不提供自动化 CodeBuddy/WorkBuddy marketplace 安装检查点——生成的 `adapters/workbuddy/` 分发适配器需手动安装;
662
651
  - 不承诺 Windows 或广泛的跨平台原生写入;
663
652
  - 不会隐藏地 commit、push、打 tag、创建 Release 或发布包。
664
653
 
@@ -9,7 +9,7 @@
9
9
  {
10
10
  "name": "release-skill",
11
11
  "source": "./",
12
- "version": "0.1.10",
12
+ "version": "0.2.1",
13
13
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification"
14
14
  }
15
15
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.1.10",
3
+ "version": "0.2.1",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"