release-skill 0.9.9 → 0.9.11

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 (74) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codebuddy-plugin/plugin.json +1 -1
  3. package/.codex-plugin/plugin.json +2 -2
  4. package/.kimi-plugin/plugin.json +1 -1
  5. package/CHANGELOG.md +45 -0
  6. package/INSTALL.md +14 -18
  7. package/INSTALL.zh-CN.md +13 -16
  8. package/README.md +33 -25
  9. package/README.zh-CN.md +34 -21
  10. package/adapters/claude/.claude-plugin/plugin.json +1 -1
  11. package/adapters/claude/bin/consumer-contract-vectors.json +7 -7
  12. package/adapters/claude/bin/error-codes.json +1 -1
  13. package/adapters/claude/bin/foundation-resource-binding.json +1 -1
  14. package/adapters/claude/bin/registry.json +8 -1
  15. package/adapters/claude/bin/release-skill.bundle.mjs +1019 -901
  16. package/adapters/claude/bin/rules.json +1 -1
  17. package/adapters/claude/data/hosts/codebuddy/host-descriptor.json +5 -0
  18. package/adapters/claude/schemas/release-project.schema.json +1 -1
  19. package/adapters/claude/src/schemas/engineering-baseline.schema.json +77 -0
  20. package/adapters/claude/src/schemas/host-descriptor.schema.json +9 -2
  21. package/adapters/codex/.codex-plugin/plugin.json +2 -2
  22. package/adapters/codex/bin/consumer-contract-vectors.json +7 -7
  23. package/adapters/codex/bin/error-codes.json +1 -1
  24. package/adapters/codex/bin/foundation-resource-binding.json +1 -1
  25. package/adapters/codex/bin/registry.json +8 -1
  26. package/adapters/codex/bin/release-skill.bundle.mjs +1019 -901
  27. package/adapters/codex/bin/rules.json +1 -1
  28. package/adapters/codex/data/hosts/codebuddy/host-descriptor.json +5 -0
  29. package/adapters/codex/schemas/release-project.schema.json +1 -1
  30. package/adapters/codex/src/schemas/engineering-baseline.schema.json +77 -0
  31. package/adapters/codex/src/schemas/host-descriptor.schema.json +9 -2
  32. package/adapters/kimi/.kimi-plugin/plugin.json +1 -1
  33. package/adapters/kimi/bin/consumer-contract-vectors.json +7 -7
  34. package/adapters/kimi/bin/error-codes.json +1 -1
  35. package/adapters/kimi/bin/foundation-resource-binding.json +1 -1
  36. package/adapters/kimi/bin/registry.json +8 -1
  37. package/adapters/kimi/bin/release-skill.bundle.mjs +1019 -901
  38. package/adapters/kimi/bin/rules.json +1 -1
  39. package/adapters/kimi/data/hosts/codebuddy/host-descriptor.json +5 -0
  40. package/adapters/kimi/schemas/release-project.schema.json +1 -1
  41. package/adapters/kimi/src/schemas/engineering-baseline.schema.json +77 -0
  42. package/adapters/kimi/src/schemas/host-descriptor.schema.json +9 -2
  43. package/adapters/workbuddy/.codebuddy-plugin/plugin.json +1 -1
  44. package/adapters/workbuddy/bin/consumer-contract-vectors.json +7 -7
  45. package/adapters/workbuddy/bin/error-codes.json +1 -1
  46. package/adapters/workbuddy/bin/foundation-resource-binding.json +1 -1
  47. package/adapters/workbuddy/bin/registry.json +8 -1
  48. package/adapters/workbuddy/bin/release-skill.bundle.mjs +1019 -901
  49. package/adapters/workbuddy/bin/rules.json +1 -1
  50. package/adapters/workbuddy/data/hosts/codebuddy/host-descriptor.json +5 -0
  51. package/adapters/workbuddy/schemas/release-project.schema.json +1 -1
  52. package/adapters/workbuddy/src/schemas/engineering-baseline.schema.json +77 -0
  53. package/adapters/workbuddy/src/schemas/host-descriptor.schema.json +9 -2
  54. package/bin/consumer-contract-vectors.json +7 -7
  55. package/bin/error-codes.json +1 -1
  56. package/bin/foundation-resource-binding.json +1 -1
  57. package/bin/registry.json +8 -1
  58. package/bin/release-skill.bundle.mjs +1019 -901
  59. package/bin/rules.json +1 -1
  60. package/data/hosts/codebuddy/host-descriptor.json +5 -0
  61. package/package.json +4 -5
  62. package/platform-manifest.json +2 -2
  63. package/references/02-project-config.md +7 -1
  64. package/schemas/release-project.schema.json +1 -1
  65. package/src/commands/verify.mjs +47 -9
  66. package/src/core/release-metadata.mjs +51 -3
  67. package/src/platforms/registry.mjs +1 -2
  68. package/src/producers/build-adapters.mjs +2 -2
  69. package/src/producers/foundation-resource-projection.mjs +3 -3
  70. package/src/schemas/engineering-baseline.schema.json +77 -0
  71. package/src/schemas/host-descriptor.schema.json +9 -2
  72. package/.agents/plugins/marketplace.json +0 -32
  73. package/.claude-plugin/marketplace.json +0 -30
  74. package/adapters/claude/.claude-plugin/marketplace.json +0 -20
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.9",
3
+ "version": "0.9.11",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.9",
3
+ "version": "0.9.11",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.9",
3
+ "version": "0.9.11",
4
4
  "description": "Safe preparation and frozen GitHub/npm production publishing with full happy end verification",
5
5
  "author": {
6
6
  "name": "广州市风荷科技有限公司"
@@ -19,7 +19,7 @@
19
19
  ],
20
20
  "defaultPrompt": [
21
21
  "Assess this project for release readiness.",
22
- "Prepare a release plan for version 0.9.9.",
22
+ "Prepare a release plan for version 0.9.11.",
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.9.9",
3
+ "version": "0.9.11",
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,50 @@
1
1
  # Changelog
2
2
 
3
+ <!-- release-skill:changelog:start version=0.9.11 locale=en baseline=sha256:c8015d6a26b39a9056c121425b8758a108048d78815476e7bf3d2711cec6ee25 -->
4
+ ## [0.9.11] - 2026-09-04
5
+
6
+ 0.9.11 is a local source candidate that makes first-release verification advance its public baseline and permits an explicit empty distribution list for GitHub-only plugin releases. It consumes the three Foundation packages at the exact 0.17.0 release. This note is not evidence of publication, real-host acceptance, consumer installation verification, or independent acceptance.
7
+
8
+ ### Security
9
+
10
+ - First-release baseline advancement runs only after immutable publication verification succeeds. Configuration writes are validated and atomic; restoration failures retain their phase and publication-state details in verification evidence without changing a successful publication result.
11
+ - An empty distribution list does not skip the GitHub snapshot, tag, or GitHub Release actions, and it does not grant a marketplace registration.
12
+ - Hub branch updates use compare-and-swap against the observed branch head. A partial Hub publication is retained for recovery and is never rolled back or force-pushed.
13
+
14
+ ### Changed
15
+
16
+ - After a release reaches VERIFIED, a unit whose previous public baseline is `mode: none` is advanced to a bound baseline with the resolved repository and ref plus the exact frozen commit, tree, and manifest digest. Mixed plans and custom in-root config paths use the same existing atomic update path, preserve an explicit GitHub host, and report only units that changed.
17
+ - `releaseUnits[].distributions` remains required but may now be an explicit empty list. Such a unit still freezes and publishes its GitHub snapshot, tag, and GitHub Release, while npm and marketplace actions are omitted; postPublish and postVerify hooks remain independent.
18
+ - Pinned `skill-family-contracts`, `skill-family-harness-node`, and `skill-family-engineering-kit` dependencies were upgraded from 0.16.0 to the exact published 0.17.0 versions.
19
+ - Skill Family Hub remains the single marketplace source. After verification, the project-private postVerify hook applies the Hub proposal and publishes its private entry and public snapshot through GitHub's Git Data API.
20
+
21
+ ### Upgrade Notes
22
+
23
+ Remove any `release-skill` standalone marketplace registration, add or update `ifoohoo/skill-family-hub`, and use `release-skill@skill-family-hub`. Use `distributions: []` only when the release unit is intentionally GitHub-only and marketplace registration is handled by an independent verified workflow. Existing non-empty distribution lists keep their behavior. After installing or reloading the official 0.9.11 release, a historical first release may be reverified without republishing; confirm that its configured previous public baseline changed from `none` to the verified frozen coordinates.
24
+ <!-- release-skill:changelog:end version=0.9.11 locale=en -->
25
+
26
+
27
+ <!-- release-skill:changelog:start version=0.9.10 locale=en baseline=sha256:4cd32926b3d8e0da10ec909f58268636c3e6025f59cd7f24d313460cf5524b7b -->
28
+ ## [0.9.10] - 2026-09-04
29
+
30
+ 0.9.10 is a local source candidate that removes release-skill's private marketplace and makes Skill Family Hub the single marketplace source. It consumes the three Foundation packages at the exact 0.16.0 release. The release workspace publishes a verified entry and the Hub's seven-file public snapshot through GitHub's Git Data API after verification. This note is not evidence of publication, real-host acceptance, consumer installation verification, or independent acceptance.
31
+
32
+ ### Security
33
+
34
+ - Hub branch updates are compare-and-swap writes against the observed main commit. Concurrent movement fails closed; a public-Hub failure after the private commit is retained as a recoverable partial result and is never rolled back or force-pushed.
35
+
36
+ ### Changed
37
+
38
+ - Removed the bundled Claude, Codex, and adapter marketplace indexes from the release-skill package. Plugin manifests remain available for installation through Skill Family Hub.
39
+ - Installation guidance now uses `ifoohoo/skill-family-hub` and `release-skill@skill-family-hub` for Claude Code, Codex, CodeBuddy, and WorkBuddy.
40
+ - After a release reaches VERIFIED, the project-private postVerify hook applies the proposal with the Hub's own receiver, runs the Hub release gate once, and publishes the private and public Hub commits through GitHub's Git Data API with non-forced branch updates.
41
+
42
+ ### Upgrade Notes
43
+
44
+ Remove any `release-skill` standalone marketplace registration from each host, add or update `ifoohoo/skill-family-hub`, and install `release-skill@skill-family-hub`.
45
+ <!-- release-skill:changelog:end version=0.9.10 locale=en -->
46
+
47
+
3
48
  <!-- release-skill:changelog:start version=0.9.9 locale=en baseline=sha256:44d7cba7d5e4cbe182157c8b200e3a2d9b494d61a9555cd5af5c62c97a60fb37 -->
4
49
  ## [0.9.9] - 2026-09-04
5
50
 
package/INSTALL.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [简体中文](INSTALL.zh-CN.md)
4
4
 
5
- <!-- release-skill:release-version: 0.9.9 -->
5
+ <!-- release-skill:release-version: 0.9.11 -->
6
6
  ## Prerequisites
7
7
 
8
8
  - Node.js 22.0.0 or later
@@ -35,12 +35,11 @@ release-skill help
35
35
 
36
36
  You should see the version number and the list of available commands.
37
37
 
38
- ## Install as a plugin (bundled-family marketplace — recommended)
38
+ ## Install as a plugin (Skill Family Hub — recommended)
39
39
 
40
40
  Claude Code, CodeBuddy, WorkBuddy, and Codex install release-skill from the
41
- bundled-family marketplace [ifoohoo/release-skill](https://github.com/ifoohoo/release-skill).
42
- The plugin repository itself carries the marketplace manifest
43
- (`.claude-plugin/marketplace.json`), so no external marketplace is required.
41
+ central [Skill Family Hub](https://github.com/ifoohoo/skill-family-hub).
42
+ The release-skill repository carries plugin manifests but no marketplace index.
44
43
  release-skill currently invokes no scriptable install API for Kimi Code — see the
45
44
  [Kimi Code section](#install-as-a-kimi-code-plugin). Add the marketplace once,
46
45
  then install the plugin:
@@ -48,21 +47,21 @@ then install the plugin:
48
47
  > **Prerequisite: GitHub access.** The `owner/repo` shorthand makes Claude Code
49
48
  > clone via `git@github.com:...` (SSH), which requires a GitHub public key
50
49
  > configured on this machine. If you do not use SSH, either pass the full HTTPS
51
- > URL — `/plugin marketplace add https://github.com/ifoohoo/release-skill` — or
50
+ > URL — `/plugin marketplace add https://github.com/ifoohoo/skill-family-hub` — or
52
51
  > set `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`.
53
52
 
54
53
  **Claude Code** (interactive session):
55
54
 
56
55
  ```
57
- /plugin marketplace add ifoohoo/release-skill
58
- /plugin install release-skill@release-skill
56
+ /plugin marketplace add ifoohoo/skill-family-hub
57
+ /plugin install release-skill@skill-family-hub
59
58
  ```
60
59
 
61
60
  **CodeBuddy / WorkBuddy:**
62
61
 
63
62
  ```bash
64
- codebuddy plugin marketplace add ifoohoo/release-skill
65
- codebuddy plugin install release-skill@release-skill
63
+ codebuddy plugin marketplace add ifoohoo/skill-family-hub
64
+ codebuddy plugin install release-skill@skill-family-hub
66
65
  ```
67
66
 
68
67
  WorkBuddy desktop installs only through a registered marketplace: after the
@@ -71,7 +70,7 @@ WorkBuddy desktop installs only through a registered marketplace: after the
71
70
  **OpenAI Codex:**
72
71
 
73
72
  ```bash
74
- codex plugin marketplace add ifoohoo/release-skill
73
+ codex plugin marketplace add ifoohoo/skill-family-hub
75
74
  ```
76
75
 
77
76
  Then install `release-skill` from the interactive `/plugins` browser.
@@ -84,15 +83,12 @@ task and does not verify its completion.
84
83
 
85
84
  ### Alternative: direct repository install (advanced)
86
85
 
87
- The unified marketplace above is the supported primary path. Direct
88
- installation from the release repository remains available for advanced
89
- scenarios:
86
+ The Hub marketplace above is the supported primary path. Direct installation
87
+ remains available only where the host supports a repository URL:
90
88
 
91
- - Claude Code: `/plugin marketplace add ifoohoo/release-skill`, then
92
- `/plugin install release-skill@release-skill`.
93
89
  - Kimi Code: the version-pinned `/plugins install <release-tag URL>` documented
94
90
  in the [Kimi Code section](#install-as-a-kimi-code-plugin) below.
95
- - CodeBuddy: single-session use directly from a source checkout via
91
+ - CodeBuddy: single-session use from a source checkout via
96
92
  `--plugin-dir <path>/adapters/workbuddy` (see the
97
93
  [CodeBuddy/WorkBuddy section](#install-as-a-codebuddyworkbuddy-plugin)).
98
94
 
@@ -114,7 +110,7 @@ tag pinned to the exact version (never the bare repository URL, which installs
114
110
  the latest release or default branch), confirm the trust prompt, then reload:
115
111
 
116
112
  ```
117
- /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.9.9
113
+ /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.9.11
118
114
  /plugins reload
119
115
  ```
120
116
 
package/INSTALL.zh-CN.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [English](INSTALL.md)
4
4
 
5
- <!-- release-skill:release-version: 0.9.9 -->
5
+ <!-- release-skill:release-version: 0.9.11 -->
6
6
  ## 前置条件
7
7
 
8
8
  - Node.js 22.0.0 或更高版本
@@ -32,32 +32,31 @@ release-skill help
32
32
 
33
33
  输出中应包含版本号和可用命令列表。
34
34
 
35
- ## 安装为插件(bundled-family 市场——推荐)
35
+ ## 安装为插件(Skill Family Hub——推荐)
36
36
 
37
- Claude Code、CodeBuddy、WorkBuddy 和 Codex 从 bundled-family 市场
38
- [ifoohoo/release-skill](https://github.com/ifoohoo/release-skill)
39
- 安装 release-skill。插件仓库自身携带市场清单
40
- (`.claude-plugin/marketplace.json`),无需外部市场。release-skill 当前没有接入
37
+ Claude Code、CodeBuddy、WorkBuddy 和 Codex 从统一的
38
+ [Skill Family Hub](https://github.com/ifoohoo/skill-family-hub)
39
+ 安装 release-skill。release-skill 仓库只携带插件清单,不再携带市场索引。当前没有接入
41
40
  Kimi Code 的可脚本化安装接口,见 [Kimi Code 小节](#安装为-kimi-code-插件)。先添加一次市场,再安装
42
41
  插件:
43
42
 
44
43
  > **前置条件:GitHub 访问。** `owner/repo` 简写会让 Claude Code 通过
45
44
  > `git@github.com:...`(SSH)克隆,需要本机配置 GitHub 公钥。如不使用 SSH,
46
- > 可传完整 HTTPS 地址——`/plugin marketplace add https://github.com/ifoohoo/release-skill`——
45
+ > 可传完整 HTTPS 地址——`/plugin marketplace add https://github.com/ifoohoo/skill-family-hub`——
47
46
  > 或设置 `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`。
48
47
 
49
48
  **Claude Code**(交互会话中):
50
49
 
51
50
  ```
52
- /plugin marketplace add ifoohoo/release-skill
53
- /plugin install release-skill@release-skill
51
+ /plugin marketplace add ifoohoo/skill-family-hub
52
+ /plugin install release-skill@skill-family-hub
54
53
  ```
55
54
 
56
55
  **CodeBuddy / WorkBuddy:**
57
56
 
58
57
  ```bash
59
- codebuddy plugin marketplace add ifoohoo/release-skill
60
- codebuddy plugin install release-skill@release-skill
58
+ codebuddy plugin marketplace add ifoohoo/skill-family-hub
59
+ codebuddy plugin install release-skill@skill-family-hub
61
60
  ```
62
61
 
63
62
  WorkBuddy 桌面端只能通过已注册的市场安装:执行上面的 `marketplace add`
@@ -66,7 +65,7 @@ WorkBuddy 桌面端只能通过已注册的市场安装:执行上面的 `marke
66
65
  **OpenAI Codex:**
67
66
 
68
67
  ```bash
69
- codex plugin marketplace add ifoohoo/release-skill
68
+ codex plugin marketplace add ifoohoo/skill-family-hub
70
69
  ```
71
70
 
72
71
  然后在交互式 `/plugins` 浏览器中安装 `release-skill`。
@@ -78,10 +77,8 @@ release-skill 当前对 Kimi Code 采用钉死版本的交互式 TUI 路径。
78
77
 
79
78
  ### 备选:直接从仓库安装(进阶)
80
79
 
81
- 上面的统一市场是受支持的主路径。直接从发布仓库安装仍可用于进阶场景:
80
+ 上面的 Hub 市场是受支持的主路径。只有宿主支持仓库 URL 时,才能直接安装:
82
81
 
83
- - Claude Code:`/plugin marketplace add ifoohoo/release-skill`,然后
84
- `/plugin install release-skill@release-skill`。
85
82
  - Kimi Code:下文 [Kimi Code 小节](#安装为-kimi-code-插件)中版本钉死的
86
83
  `/plugins install <release-tag URL>`。
87
84
  - CodeBuddy:源码检出后通过 `--plugin-dir <path>/adapters/workbuddy`
@@ -104,7 +101,7 @@ release-skill 当前只采用并验证 Kimi Code 的交互式 TUI 路径,**无
104
101
  (切勿使用裸仓库地址,它会安装最新 release 或默认分支),确认信任提示后重新加载:
105
102
 
106
103
  ```
107
- /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.9.9
104
+ /plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.9.11
108
105
  /plugins reload
109
106
  ```
110
107
 
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.9 -->
5
+ <!-- release-skill:release-version: 0.9.11 -->
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,31 +14,30 @@ 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.9** (2026-09-04)
17
+ **0.9.11** (2026-09-04)
18
18
 
19
- 0.9.9 is a local source candidate that makes Kimi Code plugin trust compare the complete displayed installation identity with the frozen URL. It consumes the three Foundation packages at the exact 0.16.0 release. This note is not evidence of publication, real-host acceptance, consumer installation verification, or independent acceptance.
19
+ 0.9.11 is a local source candidate that makes first-release verification advance its public baseline and permits an explicit empty distribution list for GitHub-only plugin releases. It consumes the three Foundation packages at the exact 0.17.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
- - Kimi Code extracts the complete installation identity from the plugin trust dialog, removes ANSI/OSC control sequences and soft wrapping, and compares the result exactly with the frozen installation URL. Similar repository names and tag prefixes or suffixes fail closed.
24
- - Claude and Codex continue to verify the frozen marketplace repository, ref, and commit before the first marketplace or plugin write when a rebind is required. An unreachable remote, missing ref, or commit mismatch returns `MANUAL_REQUIRED` for that host with zero host writes; other selected hosts continue.
25
- - Kimi Code continues only when the selected row is confirmed as `Trust and install`. A `Trust this folder?` dialog, an unknown screen, timeout, EOF, or mismatched identity fails closed before unintended confirmation.
26
- - Any host plan remains a qualified frozen-plan path and requires a VERIFIED-run from the same release lineage before host acceptance; this source candidate does not provide that acceptance.
23
+ - First-release baseline advancement runs only after immutable publication verification succeeds. Configuration writes are validated and atomic; restoration failures retain their phase and publication-state details in verification evidence without changing a successful publication result.
24
+ - An empty distribution list does not skip the GitHub snapshot, tag, or GitHub Release actions, and it does not grant a marketplace registration.
25
+ - Hub branch updates use compare-and-swap against the observed branch head. A partial Hub publication is retained for recovery and is never rolled back or force-pushed.
27
26
 
28
27
  **Changed**
29
28
 
30
- - The English and Chinese README scope descriptions identify 0.9.9 as the current source candidate.
31
- - The public release-finish flow continues to treat a `proposal-inbox` postVerify hook as proposal delivery plus delivery evidence. The receiver applies, renders, and synchronizes the proposal under its own runbook and governance; no Hub repository or push sequence is built into the public Skill.
32
- - Kimi Code continues to resolve its effective configuration root from explicit `kimiHome`, then `KIMI_CODE_HOME`, then `~/.kimi-code`; the TUI process and post-install observation use the same root.
33
- - The current 0.9.9 candidate keeps the narrow R-05 Hook cache v2 consumer path, keeps the CodeBuddy plugin entry explicit as `marketplace: release-skill`, and keeps `--root <project-root>` in release-finish local-finish examples. Foundation dependencies remain pinned to the three released 0.16.0 packages.
29
+ - After a release reaches VERIFIED, a unit whose previous public baseline is `mode: none` is advanced to a bound baseline with the resolved repository and ref plus the exact frozen commit, tree, and manifest digest. Mixed plans and custom in-root config paths use the same existing atomic update path, preserve an explicit GitHub host, and report only units that changed.
30
+ - `releaseUnits[].distributions` remains required but may now be an explicit empty list. Such a unit still freezes and publishes its GitHub snapshot, tag, and GitHub Release, while npm and marketplace actions are omitted; postPublish and postVerify hooks remain independent.
31
+ - Pinned `skill-family-contracts`, `skill-family-harness-node`, and `skill-family-engineering-kit` dependencies were upgraded from 0.16.0 to the exact published 0.17.0 versions.
32
+ - Skill Family Hub remains the single marketplace source. After verification, the project-private postVerify hook applies the Hub proposal and publishes its private entry and public snapshot through GitHub's Git Data API.
34
33
 
35
34
  **Upgrade Notes**
36
35
 
37
- Prepare and approve a new 0.9.9 production plan for these changes. After verify reaches `VERIFIED`, complete every declared postVerify hook with its own immutable checkpoint approval before running release-finish. Real-host acceptance can begin only after 0.9.9 is officially published and VERIFIED; the official 0.9.9 entry must be installed or reloaded first. A source candidate, an older installed entry, or the mere existence of plan and run files cannot complete real-host acceptance. Each selected host must complete a first successful update. On the second run, Claude, Kimi, CodeBuddy, and WorkBuddy must report `ALREADY_CURRENT`; Codex may report `UPDATED` only when it reinstalls the same exact 0.9.9 frozen reference, payload validation passes, and `restartRequired=true` is declared. The local updater uses the Kimi Code TUI path verified for 0.40.1; it does not switch to a web or REST installation path. Confirm that the complete frozen installation URL shown by the plugin trust dialog is exact, and never approve a folder-trust dialog as part of plugin installation. This candidate does not claim that 0.9.9 has already been published or VERIFIED.
36
+ Remove any `release-skill` standalone marketplace registration, add or update `ifoohoo/skill-family-hub`, and use `release-skill@skill-family-hub`. Use `distributions: []` only when the release unit is intentionally GitHub-only and marketplace registration is handled by an independent verified workflow. Existing non-empty distribution lists keep their behavior. After installing or reloading the official 0.9.11 release, a historical first release may be reverified without republishing; confirm that its configured previous public baseline changed from `none` to the verified frozen coordinates.
38
37
  <!-- release-skill:managed:end id=latest-release -->
39
38
 
40
39
  <!-- release-skill:capability:external-write-boundary -->
41
- > **Current boundary:** v0.9.9 is the current source candidate. This README
40
+ > **Current boundary:** v0.9.11 is the current source candidate. This README
42
41
  > records intended scope and verification boundaries; it is not evidence of
43
42
  > publication, consumer-installation verification, or independent acceptance.
44
43
  > Release availability must be established from the corresponding release records
@@ -62,7 +61,7 @@ Prepare and approve a new 0.9.9 production plan for these changes. After verify
62
61
  > publish global preflight.
63
62
 
64
63
  <!-- release-skill:capability:safe-first-command -->
65
- > **Production path verified since the v0.1.1 milestone; v0.9.9 is the current
64
+ > **Production path verified since the v0.1.1 milestone; v0.9.11 is the current
66
65
  > source candidate. Its README does not establish publication,
67
66
  > consumer-installation verification, or independent acceptance.**
68
67
  > The npm-installed CLI is the supported user entry. Source checkout
@@ -91,20 +90,22 @@ checkpoints remain intact and use matching-version recovery. Evidence v1 stays
91
90
  read-only; v2 uses a closed top level with phase extensions in `details`.
92
91
  Summaries and recovery suggestions are diagnostic, never publication authority.
93
92
 
94
- The current 0.9.9 candidate includes the narrow R-05 Hook cache v2 consumer
93
+ The current 0.9.11 candidate includes the narrow R-05 Hook cache v2 consumer
95
94
  path, the public `postverify` path, and the stable isolated install-tree record
96
- path (A2/A3). It still
95
+ path (A2/A3). It also removes the repository's own marketplace indexes and
96
+ uses Skill Family Hub as the single marketplace source. It still
97
97
  excludes R-02 safe full-tree inventory, R-10 historical-release verification
98
98
  implementation, real Kimi/WorkBuddy public-marketplace installation and
99
99
  invocation gates, and an Audit public offline release-record verifier.
100
- Foundation dependencies are pinned to the three released 0.16.0 packages.
101
- For new bundled-family Kimi/CodeBuddy plans, verify calls the released
100
+ Foundation dependencies are pinned to the three released 0.17.0 packages.
101
+ For Kimi/CodeBuddy plans that still use the bundled-family distribution form,
102
+ verify calls the released
102
103
  `runPluginVerification` entry with the complete frozen payload and records a
103
104
  minimal `install-only` observation receipt. Kimi maps to `kimi-code`; CodeBuddy
104
105
  maps to the compatible `workbuddy` host. `observed` and `payloadMatches` are
105
106
  mechanism facts, not remote publication or release-domain VERIFIED facts.
106
- Standalone marketplace sources, real marketplace installation, and host
107
- invocation remain manual follow-ups.
107
+ Real marketplace installation and host invocation remain post-release host
108
+ operations.
108
109
  This scope summary is not a remote publication record or a consumer upgrade instruction.
109
110
 
110
111
  <!-- release-skill:maturity:distribute-v1 -->
@@ -237,17 +238,17 @@ npx release-skill help
237
238
 
238
239
  **Plugin (Claude Code / CodeBuddy / WorkBuddy / Codex):**
239
240
 
240
- Claude Code, CodeBuddy, WorkBuddy, and Codex install from the bundled-family
241
- marketplace `ifoohoo/release-skill`:
241
+ Claude Code, CodeBuddy, WorkBuddy, and Codex install from the central
242
+ Skill Family Hub marketplace:
242
243
 
243
244
  ```
244
- /plugin marketplace add ifoohoo/release-skill
245
- /plugin install release-skill@release-skill
245
+ /plugin marketplace add ifoohoo/skill-family-hub
246
+ /plugin install release-skill@skill-family-hub
246
247
  ```
247
248
 
248
249
  > **Prerequisite: GitHub access.** The `owner/repo` shorthand makes Claude Code
249
250
  > clone via SSH. If you do not use SSH, pass the full HTTPS URL —
250
- > `/plugin marketplace add https://github.com/ifoohoo/release-skill` — or set
251
+ > `/plugin marketplace add https://github.com/ifoohoo/skill-family-hub` — or set
251
252
  > `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`.
252
253
 
253
254
  **Kimi Code:** release-skill currently invokes no scriptable install API for
@@ -519,6 +520,13 @@ releaseUnits:
519
520
  branchStrategy: create-release-branch
520
521
  ```
521
522
 
523
+ `distributions` is required but may be an explicit empty array. Use
524
+ `distributions: []` when release-skill should publish only the unit's GitHub
525
+ snapshot, tag, and GitHub Release, with no npm publish or marketplace consumer
526
+ action. A `postPublish` declaration, including hooks whose phase is
527
+ `postVerify`, remains active. This is the intended shape for a plugin that is
528
+ added to a central Hub only after the release has reached `VERIFIED`.
529
+
522
530
  `version.source` is resolved relative to that release unit's `source` directory
523
531
  (`version.source` 相对于该发布单元的 `source` 目录解析). A monorepo with
524
532
  separate npm and plugin units defines multiple release units:
package/README.zh-CN.md CHANGED
@@ -2,37 +2,36 @@
2
2
 
3
3
  [English](README.md) · 安装指南:[中文](INSTALL.zh-CN.md) / [English](INSTALL.md)
4
4
 
5
- <!-- release-skill:release-version: 0.9.9 -->
5
+ <!-- release-skill:release-version: 0.9.11 -->
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.9** (2026-09-04)
11
+ **0.9.11** (2026-09-04)
12
12
 
13
- 0.9.9 是修正 Kimi Code 插件信任身份精确比较的本地源码候选。三项 Foundation 依赖均精确消费已发布的 0.16.0。本说明不代表已经发布、完成真实宿主验收、完成消费者安装验证或通过独立验收。
13
+ 0.9.11 是修复首次发布验证后基线推进、并允许 GitHub-only 插件发布显式使用空分发列表的本地源码候选,三项 Foundation 依赖均精确升级到已发布的 0.17.0。本说明不代表已经发布、完成真实宿主验收、完成消费者安装验证或通过独立验收。
14
14
 
15
15
  **安全**
16
16
 
17
- - Kimi Code 会从插件信任对话框提取完整安装身份,清除 ANSI/OSC 控制序列并归一软换行,再与冻结安装 URL 精确比较。相似仓库名、tag 前缀或 tag 后缀均失败关闭。
18
- - Claude 和 Codex 继续在确实需要重绑时,于第一条市场或插件写命令前验证冻结的 marketplace 仓库、ref 和 commit。远端不可达、ref 缺失或 commit 不一致时,该宿主以零写入返回 `MANUAL_REQUIRED`,其他已选宿主继续。
19
- - Kimi Code 只有在选中项确认为 `Trust and install` 时才继续。出现 `Trust this folder?`、未知界面、超时、EOF 或身份不一致时,在意外确认前失败关闭。
20
- - 任何宿主计划都必须是合格冻结计划,并要求同一发布谱系的 VERIFIED run 才能开始宿主验收;本源码候选不提供该验收。
17
+ - 首次发布基线只在不可变发布内容验证成功后推进。配置写入会先验证并采用原子更新;若恢复失败,验证证据会保留阶段与发布状态详情,同时不把已经成功的发布结果降级。
18
+ - 空分发列表不会跳过 GitHub 快照、tag 或 GitHub Release,也不会自动获得市场登记。
19
+ - Hub 分支更新以已观察的分支头做比较后写入。Hub 局部发布会保留为可恢复状态,不回滚、不覆盖,也不强推。
21
20
 
22
21
  **变更**
23
22
 
24
- - 中英文 README 的范围说明统一把 0.9.9 标为当前源码候选。
25
- - 公共 release-finish 继续只把 `proposal-inbox` postVerify hook 定义为提案送达和送达证据。接收端按自身 runbook 和治理应用、渲染与同步提案;公共 Skill 不内置 Hub 仓库或推送顺序。
26
- - Kimi Code 有效配置根继续依次取显式 `kimiHome`、`KIMI_CODE_HOME` 和 `~/.kimi-code`;TUI 进程与安装后观察使用同一根目录。
27
- - 当前 0.9.9 候选保留窄范围的 R-05 Hook cache v2 消费路径,保留 CodeBuddy 插件显式的 `marketplace: release-skill` 条目,并在 release-finish 本机收尾示例中保留 `--root <project-root>`。Foundation 三包继续精确依赖已发布的 0.16.0。
23
+ - 发布达到 VERIFIED 后,`previousPublicBaseline` 为 `mode: none` 的单元会转为 bound 基线,写入解析后的仓库与 ref,以及本次冻结的精确 commit、tree 和 manifest digest。混合计划与根目录内的自定义配置路径复用既有原子更新路径,保留显式 GitHub host,并且只报告实际发生变化的单元。
24
+ - `releaseUnits[].distributions` 仍为必填字段,但现在可以显式设置为空列表。该单元仍会冻结并发布 GitHub 快照、tag 和 GitHub Release,只省略 npm 与市场动作;postPublish 和 postVerify hook 继续独立执行。
25
+ - 精确固定的 `skill-family-contracts`、`skill-family-harness-node` 和 `skill-family-engineering-kit` 依赖从 0.16.0 升级到已发布的 0.17.0。
26
+ - Skill Family Hub 继续作为唯一市场来源。验证完成后,项目私有的 postVerify hook 会应用 Hub 提案,并通过 GitHub Git Data API 发布 Hub 私有条目和公开快照。
28
27
 
29
28
  **升级说明**
30
29
 
31
- 采用这些修复时,应准备并批准新的 0.9.9 production plan。verify 达到 `VERIFIED` 后,先用各 hook 独立的不可变 checkpoint approval 完成所有已声明 postVerify,再运行 release-finish。真实宿主验收只有在 0.9.9 正式发布并达到 VERIFIED 后才能开始;必须先安装或重载正式的 0.9.9 入口。源码候选、旧的已安装入口,或仅存在计划和运行文件,都不能完成真实宿主验收。每个已选宿主都必须完成首次成功更新。第二次运行时,Claude、Kimi、CodeBuddy 和 WorkBuddy 必须返回 `ALREADY_CURRENT`;Codex 可以返回 `UPDATED`,但只有在重新安装同一精确 0.9.9 冻结引用、载荷验证通过并声明 `restartRequired=true` 时才允许这样返回。本机 updater 采用已针对 Kimi Code 0.40.1 验证的 TUI 路径,不切换到 Web 或 REST 安装路径。插件信任界面显示的完整冻结安装 URL 必须精确一致;插件安装过程中不得批准目录信任界面。本候选不宣称 0.9.9 已经发布或达到 VERIFIED。
30
+ 删除各宿主中独立的 `release-skill` 市场登记,添加或更新 `ifoohoo/skill-family-hub`,并使用 `release-skill@skill-family-hub`。仅在发布单元有意采用 GitHub-only 发布、且市场登记由独立的已验证流程处理时使用 `distributions: []`。既有非空分发列表的行为不变。安装或重新加载正式发布并已验证的 0.9.11 后,可以直接重新验证历史首次发布,无需重复发布;随后应确认配置中的上一公开基线已从 `none` 更新为本次验证的精确冻结坐标。
32
31
  <!-- release-skill:managed:end id=latest-release -->
33
32
 
34
33
  <!-- release-skill:capability:external-write-boundary -->
35
- > **当前边界:** v0.9.9 只是当前源码候选。本 README 记录预期范围与验证边界,
34
+ > **当前边界:** v0.9.11 只是当前源码候选。本 README 记录预期范围与验证边界,
36
35
  > 不代表已经发布、完成消费者安装验证或通过独立验收。
37
36
  > 版本可用性以对应发布记录及发布后验证结果为准。
38
37
  > v0.4.1 是更早的已发布里程碑(v0.2.2 曾处于已发布状态,后因平台验证收敛修复而更新)。
@@ -48,7 +47,7 @@ release-skill 帮助维护者回答三个问题:准备发布什么、还有哪
48
47
  > 远端唯一性检查在 `publish` 全局预检执行。
49
48
 
50
49
  <!-- release-skill:capability:safe-first-command -->
51
- > **生产路径自 v0.1.1 里程碑起已完成真实生产验证;v0.9.9 是当前源码候选,本 README 不证明该候选已经发布、完成消费者安装验证或通过独立验收。**
50
+ > **生产路径自 v0.1.1 里程碑起已完成真实生产验证;v0.9.11 是当前源码候选,本 README 不证明该候选已经发布、完成消费者安装验证或通过独立验收。**
52
51
  > npm 安装的 CLI 是受支持的用户入口;源码 checkout 保留为开发/贡献者路径。
53
52
  >
54
53
  > **第一条命令:**
@@ -66,9 +65,18 @@ marketplace 委托目标工作区发布的边界不变。
66
65
 
67
66
  旧 production 计划缺少 `sourceAuthority` 时,在外部写入前拒绝。未发生外部写入的计划必须重新 prepare 并批准新摘要,不能补写旧计划或迁移批准。已有 `PARTIAL` 保留检查点,走匹配版本的恢复路径。evidence v1 只读;v2 顶层封闭,阶段扩展放在 `details`。摘要和恢复建议只作诊断,不构成发布权威。
68
67
 
69
- 当前 0.9.9 候选包含窄范围的 R-05 Hook cache v2 消费路径、公开 `postverify` 路径和稳定隔离安装树记录路径(A2/A3)。当前仍不包含 R-02 安全整树盘点、R-10 历史发布验证的产品实现、真实 Kimi/WorkBuddy 公开市场安装与调用门禁或 Audit 公开离线发布记录验证器。本范围说明不构成远端发布记录或消费者升级指引。
68
+ 当前 0.9.11 候选包含窄范围的 R-05 Hook cache v2 消费路径、公开 `postverify`
69
+ 路径和稳定隔离安装树记录路径(A2/A3),并删除仓库自有市场索引,统一以
70
+ Skill Family Hub 为市场来源。当前仍不包含 R-02 安全整树盘点、R-10 历史发布验证
71
+ 的产品实现、真实 Kimi/WorkBuddy 公开市场安装与调用门禁或 Audit 公开离线发布记录
72
+ 验证器。本范围说明不构成远端发布记录或消费者升级指引。
70
73
 
71
- Foundation 三包精确依赖已发布的 0.16.0。新生成的 Kimi/CodeBuddy 同仓计划在 verify 阶段调用正式 `runPluginVerification`,把完整冻结载荷交给 Foundation,并记录最小的 `install-only` 观察收据。Kimi 映射为 `kimi-code`,CodeBuddy 映射为兼容的 `workbuddy`。`observed` 与 `payloadMatches` 只表示机制观察结果,不代表远端已发布或 release-skill 已完成领域验证。独立市场来源、真实市场安装和宿主调用仍是人工后续任务。
74
+ Foundation 三包精确依赖已发布的 0.17.0。仍采用 bundled-family 分发形态的
75
+ Kimi/CodeBuddy 计划会在 verify 阶段调用正式 `runPluginVerification`,把完整冻结载荷
76
+ 交给 Foundation,并记录最小的 `install-only` 观察收据。Kimi 映射为 `kimi-code`,
77
+ CodeBuddy 映射为兼容的 `workbuddy`。`observed` 与 `payloadMatches` 只表示机制观察结果,
78
+ 不代表远端已发布或 release-skill 已完成领域验证。真实市场安装和宿主调用仍是发布后
79
+ 宿主操作。
72
80
 
73
81
  <!-- release-skill:maturity:distribute-v1 -->
74
82
  <!-- release-skill:capability:distribute -->
@@ -185,17 +193,16 @@ npx release-skill help
185
193
 
186
194
  **插件(Claude Code / CodeBuddy / WorkBuddy / Codex):**
187
195
 
188
- Claude Code、CodeBuddy、WorkBuddy 和 Codex 从 bundled-family 市场
189
- `ifoohoo/release-skill` 安装:
196
+ Claude Code、CodeBuddy、WorkBuddy 和 Codex 从统一的 Skill Family Hub 市场安装:
190
197
 
191
198
  ```
192
- /plugin marketplace add ifoohoo/release-skill
193
- /plugin install release-skill@release-skill
199
+ /plugin marketplace add ifoohoo/skill-family-hub
200
+ /plugin install release-skill@skill-family-hub
194
201
  ```
195
202
 
196
203
  > **前置条件:GitHub 访问。** `owner/repo` 简写会让 Claude Code 通过 SSH 克隆。
197
204
  > 如不使用 SSH,可传完整 HTTPS 地址——
198
- > `/plugin marketplace add https://github.com/ifoohoo/release-skill`——
205
+ > `/plugin marketplace add https://github.com/ifoohoo/skill-family-hub`——
199
206
  > 或设置 `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`。
200
207
 
201
208
  **Kimi Code:** release-skill 当前无可脚本化安装接口接入,只采用钉死版本的交互式
@@ -433,6 +440,12 @@ releaseUnits:
433
440
  branchStrategy: create-release-branch
434
441
  ```
435
442
 
443
+ `distributions` 是必填字段,但可以显式设为空数组。使用
444
+ `distributions: []` 时,release-skill 只发布该单元的 GitHub 快照、标签和
445
+ GitHub Release,不生成 npm 发布或市场消费者动作。单元的 `postPublish` 声明仍会
446
+ 生效,包括 phase 为 `postVerify` 的 hook。这种配置适用于先把发布验证到
447
+ `VERIFIED`,再登记到中央 Hub 的插件。
448
+
436
449
  `version.source` 相对于该发布单元的 `source` 目录解析(`version.source` is resolved relative to that release unit's `source` directory)。monorepo 中 npm 和插件分开发布时定义多个发布单元:
437
450
 
438
451
  ```yaml
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-skill",
3
- "version": "0.9.9",
3
+ "version": "0.9.11",
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.16.0",
4
+ "foundationVersion": "0.17.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.16.0",
18
+ "foundationVersion": "0.17.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.16.0",
34
+ "foundationVersion": "0.17.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.16.0",
50
+ "foundationVersion": "0.17.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.16.0",
74
+ "foundationVersion": "0.17.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.16.0",
87
+ "foundationVersion": "0.17.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.16.0",
100
+ "foundationVersion": "0.17.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.15.0",
4
+ "contractsVersion": "1.16.0",
5
5
  "policy": {
6
6
  "format": "^SFC[0-9]{4}$",
7
7
  "ranges": [