release-skill 0.6.0 → 0.6.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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.codebuddy-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +2 -2
- package/.kimi-plugin/plugin.json +1 -1
- package/CHANGELOG.md +14 -0
- package/INSTALL.md +2 -2
- package/INSTALL.zh-CN.md +2 -2
- package/README.md +9 -8
- package/README.zh-CN.md +9 -8
- package/adapters/claude/.claude-plugin/marketplace.json +1 -1
- package/adapters/claude/.claude-plugin/plugin.json +1 -1
- package/adapters/claude/bin/release-skill.bundle.mjs +705 -356
- package/adapters/claude/schemas/release-project.schema.json +8 -0
- package/adapters/codex/.codex-plugin/plugin.json +2 -2
- package/adapters/codex/bin/release-skill.bundle.mjs +705 -356
- package/adapters/codex/schemas/release-project.schema.json +8 -0
- package/adapters/kimi/.kimi-plugin/plugin.json +1 -1
- package/adapters/kimi/bin/release-skill.bundle.mjs +705 -356
- package/adapters/kimi/schemas/release-project.schema.json +8 -0
- package/adapters/workbuddy/.codebuddy-plugin/plugin.json +1 -1
- package/adapters/workbuddy/bin/release-skill.bundle.mjs +705 -356
- package/adapters/workbuddy/schemas/release-project.schema.json +8 -0
- package/bin/release-skill-cli.mjs +11 -0
- package/bin/release-skill.bundle.mjs +705 -356
- package/package.json +1 -1
- package/references/05-evidence-and-errors.md +1 -0
- package/schemas/release-project.schema.json +8 -0
- package/scripts/build-bundle.mjs +11 -2
- package/scripts/sync-public-files.mjs +4 -0
- package/src/commands/prepare.mjs +214 -8
- package/src/commands/verify.mjs +22 -0
- package/src/core/bundle-freshness.mjs +236 -0
- package/src/core/errors.mjs +2 -0
- package/src/core/frozen-marker.mjs +97 -0
- package/src/core/hooks.mjs +12 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "release-skill",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.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.6.
|
|
22
|
+
"Prepare a release plan for version 0.6.1.",
|
|
23
23
|
"Help me understand the release workflow."
|
|
24
24
|
]
|
|
25
25
|
}
|
package/.kimi-plugin/plugin.json
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
<!-- release-skill:changelog:start version=0.6.1 locale=en baseline=sha256:dd7c991244d72db1247dda808057fda060b1e7bb03ff866aae691841828e6239 -->
|
|
4
|
+
## [0.6.1] - 2026-08-18
|
|
5
|
+
|
|
6
|
+
v0.6.1 closes the four root causes of the 0.6.0 self-bootstrap release cycle, in which 22 of 25 runs failed and nearly all wall-clock time was spent in diagnose-repair loops or on external interference: hook failures are no longer silent, stale bundles fail closed at the earliest gate, the freeze path can never skip the full test suite, and a machine-readable frozen marker now tells sibling governance tasks to keep out of a repository mid-release.
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
|
|
10
|
+
- **Hook failure output passthrough (R1)**: when a prepare hook exits non-zero, the run evidence now carries bounded `stderrTail` / `stdoutTail` projections (last 50 lines, capped at 8 KiB) and the CLI echoes the stderr tail, so failures such as a bare `exit=13` are diagnosable immediately instead of by blind retry. Exit-code semantics are unchanged.
|
|
11
|
+
- **Bundle freshness gate (R2)**: every rebuilt bundle embeds a frozen digest of its source tree, and prepare compares source against bundle right after the config phase; any mismatch fails closed as `BUNDLE_STALE` (error code 54) with the rebuild command in the message, before hooks, snapshots, or network checks run. No workflow path is exempt.
|
|
12
|
+
- **Full-test freeze gate (R3)**: plan digests can no longer be computed unless the full test suite ran in this prepare; the gate sits before `computePlanDigest`, the `testSelection` value is validated against a schema enum in project and plan schemas, and no overlay switch can waive the freeze-path requirement.
|
|
13
|
+
- **Frozen-release marker (R4)**: a successful prepare writes `.release-skill/FROZEN` carrying `planDigest`, `targetVersions` (unit → version), `createdAt`, and `runId`; the marker is removed only when verify reaches `VERIFIED`, giving sibling repositories and governance tasks a machine-readable signal to skip a repository mid-release.
|
|
14
|
+
<!-- release-skill:changelog:end version=0.6.1 locale=en -->
|
|
15
|
+
|
|
16
|
+
|
|
3
17
|
<!-- release-skill:changelog:start version=0.6.0 locale=en baseline=sha256:1942e4534cc9ab36065168471875ba8c4648c73328a20ef3ee6a7a53eb1f1b7d -->
|
|
4
18
|
## [0.6.0] - 2026-08-18
|
|
5
19
|
|
package/INSTALL.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[简体中文](INSTALL.zh-CN.md)
|
|
4
4
|
|
|
5
|
-
<!-- release-skill:release-version: 0.6.
|
|
5
|
+
<!-- release-skill:release-version: 0.6.1 -->
|
|
6
6
|
## Prerequisites
|
|
7
7
|
|
|
8
8
|
- Node.js 22.0.0 or later
|
|
@@ -114,7 +114,7 @@ tag pinned to the exact version (never the bare repository URL, which installs
|
|
|
114
114
|
the latest release or default branch), confirm the trust prompt, then reload:
|
|
115
115
|
|
|
116
116
|
```
|
|
117
|
-
/plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.6.
|
|
117
|
+
/plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.6.1
|
|
118
118
|
/plugins reload
|
|
119
119
|
```
|
|
120
120
|
|
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.6.
|
|
5
|
+
<!-- release-skill:release-version: 0.6.1 -->
|
|
6
6
|
## 前置条件
|
|
7
7
|
|
|
8
8
|
- Node.js 22.0.0 或更高版本
|
|
@@ -104,7 +104,7 @@ Kimi Code 有交互式插件市场,但**没有可脚本化的非交互安装
|
|
|
104
104
|
(切勿使用裸仓库地址,它会安装最新 release 或默认分支),确认信任提示后重新加载:
|
|
105
105
|
|
|
106
106
|
```
|
|
107
|
-
/plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.6.
|
|
107
|
+
/plugins install https://github.com/ifoohoo/release-skill/releases/tag/release-skill-v0.6.1
|
|
108
108
|
/plugins reload
|
|
109
109
|
```
|
|
110
110
|
|
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.6.
|
|
5
|
+
<!-- release-skill:release-version: 0.6.1 -->
|
|
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,19 +14,20 @@ 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.6.
|
|
17
|
+
**0.6.1** (2026-08-18)
|
|
18
18
|
|
|
19
|
-
v0.6.
|
|
19
|
+
v0.6.1 closes the four root causes of the 0.6.0 self-bootstrap release cycle, in which 22 of 25 runs failed and nearly all wall-clock time was spent in diagnose-repair loops or on external interference: hook failures are no longer silent, stale bundles fail closed at the earliest gate, the freeze path can never skip the full test suite, and a machine-readable frozen marker now tells sibling governance tasks to keep out of a repository mid-release.
|
|
20
20
|
|
|
21
21
|
**Added**
|
|
22
22
|
|
|
23
|
-
- **
|
|
24
|
-
- **
|
|
25
|
-
- **
|
|
23
|
+
- **Hook failure output passthrough (R1)**: when a prepare hook exits non-zero, the run evidence now carries bounded `stderrTail` / `stdoutTail` projections (last 50 lines, capped at 8 KiB) and the CLI echoes the stderr tail, so failures such as a bare `exit=13` are diagnosable immediately instead of by blind retry. Exit-code semantics are unchanged.
|
|
24
|
+
- **Bundle freshness gate (R2)**: every rebuilt bundle embeds a frozen digest of its source tree, and prepare compares source against bundle right after the config phase; any mismatch fails closed as `BUNDLE_STALE` (error code 54) with the rebuild command in the message, before hooks, snapshots, or network checks run. No workflow path is exempt.
|
|
25
|
+
- **Full-test freeze gate (R3)**: plan digests can no longer be computed unless the full test suite ran in this prepare; the gate sits before `computePlanDigest`, the `testSelection` value is validated against a schema enum in project and plan schemas, and no overlay switch can waive the freeze-path requirement.
|
|
26
|
+
- **Frozen-release marker (R4)**: a successful prepare writes `.release-skill/FROZEN` carrying `planDigest`, `targetVersions` (unit → version), `createdAt`, and `runId`; the marker is removed only when verify reaches `VERIFIED`, giving sibling repositories and governance tasks a machine-readable signal to skip a repository mid-release.
|
|
26
27
|
<!-- release-skill:managed:end id=latest-release -->
|
|
27
28
|
|
|
28
29
|
<!-- release-skill:capability:external-write-boundary -->
|
|
29
|
-
> **Current boundary:** v0.6.
|
|
30
|
+
> **Current boundary:** v0.6.1 is the current source candidate; v0.4.1 remains
|
|
30
31
|
> the latest published release (v0.2.2 previously held
|
|
31
32
|
> published status before the platform verification convergence fix was added).
|
|
32
33
|
> v0.1.1 completed a real production release to GitHub and npm — the first
|
|
@@ -45,7 +46,7 @@ v0.6.0 automates the most error-prone bookkeeping step of the release loop: afte
|
|
|
45
46
|
> publish global preflight.
|
|
46
47
|
|
|
47
48
|
<!-- release-skill:capability:safe-first-command -->
|
|
48
|
-
> **Production path verified since the v0.1.1 milestone; v0.6.
|
|
49
|
+
> **Production path verified since the v0.1.1 milestone; v0.6.1 is the current
|
|
49
50
|
> source candidate and v0.4.1 is the latest published release.** The npm-installed CLI is the supported user entry. Source checkout
|
|
50
51
|
> is the development/contributor fallback.
|
|
51
52
|
>
|
package/README.zh-CN.md
CHANGED
|
@@ -2,25 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
[English](README.md) · 安装指南:[中文](INSTALL.zh-CN.md) / [English](INSTALL.md)
|
|
4
4
|
|
|
5
|
-
<!-- release-skill:release-version: 0.6.
|
|
5
|
+
<!-- release-skill:release-version: 0.6.1 -->
|
|
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.6.
|
|
11
|
+
**0.6.1** (2026-08-18)
|
|
12
12
|
|
|
13
|
-
v0.6.
|
|
13
|
+
v0.6.1 收口 0.6.0 自举发布周期暴露的四个根因——该周期 25 次运行中 22 次失败,几乎全部墙钟时间消耗在失败-诊断-修复循环与外部干扰上:hook 失败不再无声、陈旧 bundle 在最早期门禁失败关闭、冻结路径不可能跳过全量测试、机器可读的冻结标记让兄弟仓库的治理任务知道发布期间不要写入本仓库。
|
|
14
14
|
|
|
15
15
|
**新增**
|
|
16
16
|
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
17
|
+
- **hook 失败输出透传(R1)**:prepare hook 非零退出时,运行证据携带有界的 `stderrTail` / `stdoutTail` 投影(最后 50 行、上限 8 KiB),CLI 同时回显 stderr 尾部——裸 `exit=13` 这类失败从此可即时诊断,不再需要盲目重试。exit code 语义不变。
|
|
18
|
+
- **bundle 陈旧度门禁(R2)**:每次重建的 bundle 内嵌其源码树冻结摘要,prepare 在 config 阶段之后立即比对源码与 bundle;不一致即以 `BUNDLE_STALE`(错误码 54)失败关闭并在消息中给出重建命令,先于 hooks、快照与网络检查执行。任何工作流路径都不可豁免。
|
|
19
|
+
- **全量测试冻结门禁(R3)**:本次 prepare 未跑全量测试就无法产生计划摘要;门禁位于 `computePlanDigest` 之前,`testSelection` 取值在 project 与 plan schema 中按枚举校验,overlay 无豁免开关。
|
|
20
|
+
- **发布冻结标记(R4)**:prepare 成功后写入 `.release-skill/FROZEN`,内容为 `planDigest`、`targetVersions`(unit → 版本映射)、`createdAt`、`runId`;仅当 verify 到达 `VERIFIED` 时才清除,为兄弟仓库与治理任务提供机器可读的发布期回避信号。
|
|
20
21
|
<!-- release-skill:managed:end id=latest-release -->
|
|
21
22
|
|
|
22
23
|
<!-- release-skill:capability:external-write-boundary -->
|
|
23
|
-
> **当前边界:** v0.6.
|
|
24
|
+
> **当前边界:** v0.6.1 是当前源码候选,v0.4.1 仍是最新已发布版本(v0.2.2 曾处于已发布状态,后因平台验证收敛修复而更新)。
|
|
24
25
|
> v0.1.1 已完成 GitHub 与 npm 的
|
|
25
26
|
> 真实生产发布,是首次生产验证的历史里程碑,并从冻结 Git ref 完成精确 npm
|
|
26
27
|
> 安装及 Claude/Codex 消费者安装验证;"当前发布版本"与"首次生产验证里程碑"
|
|
@@ -33,7 +34,7 @@ v0.6.0 把发布循环中最容易出错的一步记账工作自动化了:发
|
|
|
33
34
|
> 远端唯一性检查在 `publish` 全局预检执行。
|
|
34
35
|
|
|
35
36
|
<!-- release-skill:capability:safe-first-command -->
|
|
36
|
-
> **生产路径自 v0.1.1 里程碑起已完成真实生产验证;v0.6.
|
|
37
|
+
> **生产路径自 v0.1.1 里程碑起已完成真实生产验证;v0.6.1 是当前源码候选,v0.4.1 是最新已发布版本。**
|
|
37
38
|
> npm 安装的 CLI 是受支持的用户入口;源码 checkout 保留为开发/贡献者路径。
|
|
38
39
|
>
|
|
39
40
|
> **第一条命令:**
|