release-skill 0.1.7 → 0.1.9
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/.codex-plugin/plugin.json +2 -2
- package/.kimi-plugin/plugin.json +27 -0
- package/CHANGELOG.md +56 -0
- package/INSTALL.md +73 -2
- package/INSTALL.zh-CN.md +94 -99
- package/README.md +65 -39
- package/README.zh-CN.md +92 -325
- 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 +1114 -183
- package/adapters/claude/schemas/.render-manifest.json +4 -4
- package/adapters/claude/schemas/release-plan.schema.json +20 -2
- package/adapters/claude/schemas/release-project.schema.json +22 -4
- package/adapters/claude/schemas/release-run.schema.json +1 -0
- package/adapters/codex/.codex-plugin/plugin.json +2 -2
- package/adapters/codex/bin/release-skill.bundle.mjs +1114 -183
- package/adapters/codex/schemas/.render-manifest.json +4 -4
- package/adapters/codex/schemas/release-plan.schema.json +20 -2
- package/adapters/codex/schemas/release-project.schema.json +22 -4
- package/adapters/codex/schemas/release-run.schema.json +1 -0
- package/adapters/kimi/.kimi-plugin/plugin.json +27 -0
- package/adapters/kimi/bin/release-skill.bundle.mjs +84467 -0
- package/adapters/kimi/bin/release-skill.mjs +54 -0
- package/adapters/kimi/native/safe-write/binding.gyp +41 -0
- package/adapters/kimi/native/safe-write/prebuilds/darwin-arm64/safe_write.node +0 -0
- package/adapters/kimi/native/safe-write/prebuilds.json +24 -0
- package/adapters/kimi/native/safe-write/src/safe_write.cc +2032 -0
- package/adapters/kimi/schemas/.render-manifest.json +37 -0
- package/adapters/kimi/schemas/approval-record.schema.json +115 -0
- package/adapters/kimi/schemas/artifact-lock.schema.json +111 -0
- package/adapters/kimi/schemas/artifact-plan.schema.json +52 -0
- package/adapters/kimi/schemas/artifact-policy.schema.json +76 -0
- package/adapters/kimi/schemas/evidence-event.schema.json +89 -0
- package/adapters/kimi/schemas/release-plan.schema.json +878 -0
- package/adapters/kimi/schemas/release-project.schema.json +895 -0
- package/adapters/kimi/schemas/release-run.schema.json +343 -0
- package/adapters/kimi/skills/release-assess/SKILL.md +58 -0
- package/adapters/kimi/skills/release-help/SKILL.md +84 -0
- package/adapters/kimi/skills/release-prepare/SKILL.md +99 -0
- package/adapters/kimi/skills/release-publish/SKILL.md +64 -0
- package/adapters/kimi/skills/release-reconcile/SKILL.md +80 -0
- package/adapters/kimi/skills/release-setup/SKILL.md +102 -0
- package/adapters/kimi/skills/release-verify/SKILL.md +77 -0
- package/bin/release-skill-cli.mjs +16 -4
- package/bin/release-skill.bundle.mjs +1114 -183
- package/package.json +4 -2
- package/schemas/.render-manifest.json +4 -4
- package/schemas/release-plan.schema.json +20 -2
- package/schemas/release-project.schema.json +22 -4
- package/schemas/release-run.schema.json +1 -0
- package/src/adapters/contract.mjs +1 -0
- package/src/adapters/plugin-marketplace.mjs +1109 -49
- package/src/commands/assess.mjs +50 -1
- package/src/commands/prepare.mjs +65 -0
- package/src/commands/publish.mjs +3 -0
- package/src/commands/reconcile.mjs +3 -0
- package/src/commands/setup.mjs +10 -5
- package/src/commands/verify.mjs +16 -6
- package/src/core/plan.mjs +118 -0
- package/src/core/verification-gates.mjs +1 -1
- package/src/producers/build-adapters.mjs +38 -8
- package/src/snapshot/frozen.mjs +4 -3
package/README.md
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
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.
|
|
6
|
-
Release preparation for Claude Code and
|
|
5
|
+
<!-- release-skill:release-version: 0.1.9 -->
|
|
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,
|
|
9
9
|
which checks still fail, and which exact bytes will reach users. It freezes the
|
|
@@ -11,38 +11,41 @@ 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.
|
|
15
|
-
|
|
16
|
-
v0.1.
|
|
17
|
-
|
|
18
|
-
**
|
|
19
|
-
|
|
20
|
-
- **
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
14
|
+
**0.1.9** (2026-07-23)
|
|
15
|
+
|
|
16
|
+
v0.1.9 fixes a structural marketplace install verification failure: consumer installs that declare a plugin `source` subdirectory (e.g. `./adapters/claude`) now bind the installed payload to the declared subtree of the sealed whole-unit snapshot, and Claude's root `.in_use` marker is exempted as consumer-owned transport metadata. 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
|
+
- **Marketplace payload binding for subdirectory source layouts**: consumer
|
|
21
|
+
marketplaces may declare a plugin `source` subdirectory such as
|
|
22
|
+
`./adapters/claude`; the consumer CLI then installs only that subtree while
|
|
23
|
+
the sealed authority is the whole unit snapshot. Install verification now
|
|
24
|
+
revalidates the sealed whole-snapshot digest, re-reads the declared source
|
|
25
|
+
from the marketplace manifest inside the digest-verified snapshot entries,
|
|
26
|
+
and binds the installed payload to that prefix-stripped subtree. Root
|
|
27
|
+
layouts and Kimi keep the whole-tree comparison. This resolves the
|
|
28
|
+
flow-architect v0.4.1 and v0.5.0 PARTIAL marketplace install failures;
|
|
29
|
+
already-frozen plans reconcile unchanged because the sealed digest, plan
|
|
30
|
+
schema, and prepare-side freezing are untouched.
|
|
31
|
+
- **Claude `.in_use` transport marker exemption**: the Claude CLI writes an
|
|
32
|
+
empty `.in_use` marker into the plugin install root; it is now exempted as
|
|
33
|
+
consumer-owned transport metadata alongside the existing Codex/Kimi `.git`
|
|
34
|
+
exemption, through a single shared exclusion helper that also backs the
|
|
35
|
+
observe-time diagnostic fallback. Exemptions remain root-only: nested
|
|
36
|
+
markers, extra payload, byte tampering, and sealed authority tampering
|
|
37
|
+
still fail closed.
|
|
38
|
+
- **Regression coverage**: new protocol-level fake-CLI tests cover the
|
|
39
|
+
subdirectory claude cycle with `.in_use` (including byte-tamper,
|
|
40
|
+
extra-file, missing-file, `.git`-not-exempt, and nested-marker negatives),
|
|
41
|
+
fail-closed manifest anomalies (duplicate plugin entry, wrong marketplace
|
|
42
|
+
name, empty source projection), root-layout claude with `.in_use`, and a
|
|
43
|
+
codex subdirectory variant.
|
|
41
44
|
<!-- release-skill:managed:end id=latest-release -->
|
|
42
45
|
|
|
43
46
|
<!-- release-skill:capability:external-write-boundary -->
|
|
44
|
-
> **Current boundary:** v0.1.
|
|
45
|
-
>
|
|
47
|
+
> **Current boundary:** v0.1.9 is the current release (v0.1.8 previously held
|
|
48
|
+
> published status before the marketplace payload binding fix was added).
|
|
46
49
|
> v0.1.1 completed a real production release to GitHub and npm — the first
|
|
47
50
|
> production-verified milestone — followed by
|
|
48
51
|
> exact npm installation and Claude/Codex consumer installation verification
|
|
@@ -59,7 +62,7 @@ v0.1.7 is an organizational migration release. The public GitHub repository move
|
|
|
59
62
|
> publish global preflight.
|
|
60
63
|
|
|
61
64
|
<!-- release-skill:capability:safe-first-command -->
|
|
62
|
-
> **Production path verified since the v0.1.1 milestone; v0.1.
|
|
65
|
+
> **Production path verified since the v0.1.1 milestone; v0.1.9 is the current
|
|
63
66
|
> release.** The npm-installed CLI is the supported user entry. Source checkout
|
|
64
67
|
> is the development/contributor fallback.
|
|
65
68
|
>
|
|
@@ -590,7 +593,18 @@ syntax.
|
|
|
590
593
|
Production prepare seals a standalone Git commit/tree for every public snapshot
|
|
591
594
|
and creates a fixed tarball for every npm unit. Publish globally preflights all
|
|
592
595
|
actions, then executes and observes public branch, tag, npm, GitHub Release,
|
|
593
|
-
and configured Claude/Codex marketplace installation checkpoints.
|
|
596
|
+
and configured Claude/Codex marketplace installation checkpoints. Kimi Code has
|
|
597
|
+
no scriptable install API, so its checkpoint **fails closed** and `publish`
|
|
598
|
+
lands in `PARTIAL` after the automated writes, emitting a version-pinned manual
|
|
599
|
+
install requirement. The operator then launches Kimi Code with the requirement's
|
|
600
|
+
isolated `KIMI_CODE_HOME`, runs the pinned `/plugins install <release-tag URL>`,
|
|
601
|
+
writes a trusted attestation (binding the frozen **plan** digest and the
|
|
602
|
+
snapshot **payload** digest) into the plan-digest-keyed directory
|
|
603
|
+
`.release-skill/kimi-attestations/<planDigest>/<plugin>/`, and re-runs
|
|
604
|
+
`reconcile` (→ `PUBLISHED`) and `verify` (→ `VERIFIED`); both read the
|
|
605
|
+
attestation from that same stable location. An install into the ordinary
|
|
606
|
+
`~/.kimi-code` is not accepted. See `INSTALL.md` for the full procedure and the
|
|
607
|
+
attestation JSON fields. `verify`
|
|
594
608
|
installs every exact npm `package@version` in an isolated directory; when
|
|
595
609
|
`smokeBin` is configured it also runs the CLI and validates output. Only when
|
|
596
610
|
all evidence matches does the run reach `VERIFIED`.
|
|
@@ -705,8 +719,8 @@ target first; never widen the write scope to resolve them.
|
|
|
705
719
|
|
|
706
720
|
### Parent workspace with npm + plugin sub-units
|
|
707
721
|
|
|
708
|
-
When a monorepo produces both an npm package and a Claude/Codex
|
|
709
|
-
different directories, define separate release units. Only add a plugin
|
|
722
|
+
When a monorepo produces both an npm package and a Claude/Codex/Kimi Code
|
|
723
|
+
plugin from different directories, define separate release units. Only add a plugin
|
|
710
724
|
distribution when the unit actually ships a plugin with manifest, marketplace,
|
|
711
725
|
and entry Skill:
|
|
712
726
|
|
|
@@ -782,6 +796,10 @@ releaseUnits:
|
|
|
782
796
|
marketplace: my-plugin
|
|
783
797
|
entrySkill: my-plugin-help
|
|
784
798
|
timeoutMs: 300000 # optional; range 30000-900000; default 300000
|
|
799
|
+
- type: kimi-plugin
|
|
800
|
+
plugin: my-plugin
|
|
801
|
+
entrySkill: my-plugin-help
|
|
802
|
+
timeoutMs: 300000 # optional; range 30000-900000; default 300000 (Kimi has no install command; bounds read-only verification)
|
|
785
803
|
publicFiles:
|
|
786
804
|
- from: packages/plugin/.claude-plugin/plugin.json
|
|
787
805
|
to: .claude-plugin/plugin.json
|
|
@@ -792,6 +810,9 @@ releaseUnits:
|
|
|
792
810
|
- from: packages/plugin/.codex-plugin/plugin.json
|
|
793
811
|
to: .codex-plugin/plugin.json
|
|
794
812
|
mode: preserve
|
|
813
|
+
- from: packages/plugin/.kimi-plugin/plugin.json
|
|
814
|
+
to: .kimi-plugin/plugin.json
|
|
815
|
+
mode: preserve
|
|
795
816
|
- from: packages/plugin/.agents/plugins/marketplace.json
|
|
796
817
|
to: .agents/plugins/marketplace.json
|
|
797
818
|
mode: preserve
|
|
@@ -811,6 +832,7 @@ releaseUnits:
|
|
|
811
832
|
- .claude-plugin/plugin.json
|
|
812
833
|
- .claude-plugin/marketplace.json
|
|
813
834
|
- .codex-plugin/plugin.json
|
|
835
|
+
- .kimi-plugin/plugin.json
|
|
814
836
|
- .agents/plugins/marketplace.json
|
|
815
837
|
- skills/my-plugin-help/SKILL.md
|
|
816
838
|
- README.md
|
|
@@ -823,7 +845,8 @@ releaseUnits:
|
|
|
823
845
|
releaseTitleTemplate: "{unit} {version}"
|
|
824
846
|
```
|
|
825
847
|
|
|
826
|
-
Each plugin unit **must** list its Claude/Codex `plugin.json`,
|
|
848
|
+
Each plugin unit **must** list its Claude/Codex/Kimi Code `plugin.json`, the
|
|
849
|
+
Claude/Codex `marketplace.json` files (Kimi Code has no marketplace manifest),
|
|
827
850
|
the entry Skill, and all required public files. A CLI smoke (`smokeBin`) is
|
|
828
851
|
optional for plugin units and only applies when the published npm package
|
|
829
852
|
exposes a CLI binary.
|
|
@@ -887,7 +910,10 @@ Successful reconcile returns `PUBLISHED`, not `VERIFIED`; only the fresh
|
|
|
887
910
|
- publishes only frozen Git objects and npm tarballs, then checks remote
|
|
888
911
|
commit/tree/tag/integrity;
|
|
889
912
|
- installs configured Claude/Codex plugins from the frozen Git ref and proves
|
|
890
|
-
the entry Skill and payload digest in fresh isolated consumer homes;
|
|
913
|
+
the entry Skill and payload digest in fresh isolated consumer homes; for Kimi
|
|
914
|
+
Code (no scriptable install API) it emits a version-pinned manual install
|
|
915
|
+
requirement and proves the entry Skill and payload digest only from a trusted
|
|
916
|
+
attestation bound to the frozen plan digest;
|
|
891
917
|
- distinguishes `PUBLISHED` (writes completed) from `VERIFIED` (remote and
|
|
892
918
|
consumer installation evidence completed);
|
|
893
919
|
- stops subsequent checkpoints on failure and writes a separate run record
|
|
@@ -954,8 +980,8 @@ the exact installed distribution; gates cannot borrow tests, development
|
|
|
954
980
|
dependencies, or `node_modules` from the parent workspace.
|
|
955
981
|
|
|
956
982
|
`snapshot-verify` runs in a disposable writable copy of the frozen public
|
|
957
|
-
snapshot. `consumer-verify` runs from an exact isolated npm/Claude/Codex
|
|
958
|
-
root. Both use executable arrays instead of shell strings; definitions and
|
|
983
|
+
snapshot. `consumer-verify` runs from an exact isolated npm/Claude/Codex/Kimi
|
|
984
|
+
Code install root. Both use executable arrays instead of shell strings; definitions and
|
|
959
985
|
results enter digest-bound evidence, and prepare/verify require
|
|
960
986
|
`--acknowledge-gate-side-effects`. Gates are still project processes without a
|
|
961
987
|
network sandbox, so release-skill cannot promise that they will not write files
|