release-skill 0.1.10 → 0.2.0
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 +1 -1
- package/CHANGELOG.md +19 -0
- package/INSTALL.md +4 -4
- package/INSTALL.zh-CN.md +4 -4
- package/README.md +17 -32
- package/README.zh-CN.md +17 -25
- 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 +2721 -1843
- package/adapters/claude/schemas/.render-manifest.json +8 -8
- package/adapters/claude/schemas/approval-record.schema.json +1 -1
- package/adapters/claude/schemas/release-plan.schema.json +6 -2
- package/adapters/claude/schemas/release-project.schema.json +14 -0
- package/adapters/codex/.codex-plugin/plugin.json +2 -2
- package/adapters/codex/bin/release-skill.bundle.mjs +2721 -1843
- package/adapters/codex/schemas/.render-manifest.json +8 -8
- package/adapters/codex/schemas/approval-record.schema.json +1 -1
- package/adapters/codex/schemas/release-plan.schema.json +6 -2
- package/adapters/codex/schemas/release-project.schema.json +14 -0
- package/adapters/kimi/.kimi-plugin/plugin.json +1 -1
- package/adapters/kimi/bin/release-skill.bundle.mjs +2721 -1843
- package/adapters/kimi/schemas/.render-manifest.json +8 -8
- package/adapters/kimi/schemas/approval-record.schema.json +1 -1
- package/adapters/kimi/schemas/release-plan.schema.json +6 -2
- package/adapters/kimi/schemas/release-project.schema.json +14 -0
- package/bin/release-skill-cli.mjs +3 -0
- package/bin/release-skill.bundle.mjs +2721 -1843
- package/package.json +8 -2
- package/references/.render-manifest.json +8 -8
- package/references/01-state-machine.md +5 -5
- package/references/02-project-config.md +1 -1
- package/references/05-evidence-and-errors.md +1 -1
- package/references/06-adapter-contract.md +41 -1
- package/schemas/.render-manifest.json +8 -8
- package/schemas/approval-record.schema.json +1 -1
- package/schemas/release-plan.schema.json +6 -2
- package/schemas/release-project.schema.json +14 -0
- package/scripts/sync-public-files.mjs +462 -0
- package/src/adapters/contract.mjs +60 -0
- package/src/adapters/plugin-marketplace.mjs +289 -736
- package/src/commands/prepare.mjs +195 -182
- package/src/commands/publish.mjs +438 -122
- package/src/commands/reconcile.mjs +369 -191
- package/src/commands/verify.mjs +13 -2
- package/src/core/approval.mjs +72 -45
- package/src/core/baseline.mjs +5 -0
- package/src/core/checkpoints.mjs +143 -0
- package/src/core/evidence.mjs +30 -3
- package/src/core/hook-cache.mjs +254 -0
- package/src/core/hooks.mjs +37 -1
- package/src/core/observe-retry.mjs +223 -0
- package/src/core/plan.mjs +162 -253
- package/src/platforms/kimi.mjs +514 -0
- package/src/platforms/registry.mjs +393 -0
- package/src/producers/build-adapters.mjs +14 -22
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"source": "schemas",
|
|
3
3
|
"files": {
|
|
4
4
|
"approval-record.schema.json": {
|
|
5
|
-
"digest": "
|
|
6
|
-
"bytes":
|
|
5
|
+
"digest": "05b5a16d58372e4fdda625a472a4bb71439aa5db4e9813bf7f3d3cf2d39d144e",
|
|
6
|
+
"bytes": 3357
|
|
7
7
|
},
|
|
8
8
|
"artifact-lock.schema.json": {
|
|
9
9
|
"digest": "6a5f4c826540b849571f173118bcbd778dfaceb4133034036ae565c3e9e353e5",
|
|
@@ -22,16 +22,16 @@
|
|
|
22
22
|
"bytes": 2390
|
|
23
23
|
},
|
|
24
24
|
"release-plan.schema.json": {
|
|
25
|
-
"digest": "
|
|
26
|
-
"bytes":
|
|
25
|
+
"digest": "d7869cdb335618754eb787fe352c4c1775c799900f3bb926197c51359699a648",
|
|
26
|
+
"bytes": 24088
|
|
27
27
|
},
|
|
28
28
|
"release-project.schema.json": {
|
|
29
|
-
"digest": "
|
|
30
|
-
"bytes":
|
|
29
|
+
"digest": "53efe202fc5e2bf63c8d846cf4d50648991163b270536c1450c4be44e45d4b93",
|
|
30
|
+
"bytes": 25761
|
|
31
31
|
},
|
|
32
32
|
"release-run.schema.json": {
|
|
33
|
-
"digest": "
|
|
34
|
-
"bytes":
|
|
33
|
+
"digest": "f453845fd2aab02c7b0812b1f62fd1ab7fa37104b8e752914906551c0e8c2637",
|
|
34
|
+
"bytes": 8959
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
}
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
"type": "object",
|
|
7
7
|
"required": [
|
|
8
8
|
"planDigest",
|
|
9
|
-
"baseline",
|
|
10
9
|
"approvedActions",
|
|
11
10
|
"actor",
|
|
12
11
|
"approvedAt",
|
|
@@ -25,6 +24,7 @@
|
|
|
25
24
|
},
|
|
26
25
|
"baseline": {
|
|
27
26
|
"type": "object",
|
|
27
|
+
"description": "Workspace baseline captured at approval time. Optional record-layer audit data since planVersion 2 (validated structurally when present, never an approval binding); still required for v1 plans by validateApproval.",
|
|
28
28
|
"required": ["gitTreeHash"],
|
|
29
29
|
"additionalProperties": false,
|
|
30
30
|
"properties": {
|
|
@@ -15,7 +15,11 @@
|
|
|
15
15
|
"properties": {
|
|
16
16
|
"planVersion": {
|
|
17
17
|
"type": "integer",
|
|
18
|
-
"
|
|
18
|
+
"enum": [
|
|
19
|
+
1,
|
|
20
|
+
2
|
|
21
|
+
],
|
|
22
|
+
"description": "Plan format and digest-scoping version. 1: legacy (every field except the top-level digest binds; commitTimestamp must equal createdAt). 2: T1.2 digest layering (record-layer fields status/createdAt/baseline/per-action status are excluded from the plan digest; commitTimestamp is derived from the HEAD commit committer date)."
|
|
19
23
|
},
|
|
20
24
|
"status": {
|
|
21
25
|
"type": "string",
|
|
@@ -242,7 +246,7 @@
|
|
|
242
246
|
"commitTimestamp": {
|
|
243
247
|
"type": "string",
|
|
244
248
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\+00:00$",
|
|
245
|
-
"description": "
|
|
249
|
+
"description": "Frozen release commit timestamp in canonical UTC second precision. Written verbatim to GIT_AUTHOR_DATE and GIT_COMMITTER_DATE of the frozen release commit, so it always equals the commit's %aI and %cI byte-for-byte. v1 plans: the freeze timestamp sampled exactly once during production prepare, equal to the plan's createdAt. planVersion 2 plans: derived deterministically from the baseline headCommit's committer date, so identical sources freeze identical commits (not equal to createdAt, which remains the record-layer real clock)."
|
|
246
250
|
},
|
|
247
251
|
"parentCommit": {
|
|
248
252
|
"type": "string",
|
|
@@ -651,6 +651,20 @@
|
|
|
651
651
|
"pattern": "^[A-Z_][A-Z0-9_]*$"
|
|
652
652
|
},
|
|
653
653
|
"uniqueItems": true
|
|
654
|
+
},
|
|
655
|
+
"cacheable": {
|
|
656
|
+
"type": "boolean",
|
|
657
|
+
"description": "Opt this hook into the incremental result cache: when its cacheInputs fingerprint is unchanged and the last run succeeded, prepare replays the cached outcome instead of re-executing. Absence means the hook always runs in full. cacheable=true requires a non-empty cacheInputs (enforced at runtime)."
|
|
658
|
+
},
|
|
659
|
+
"cacheInputs": {
|
|
660
|
+
"type": "array",
|
|
661
|
+
"minItems": 1,
|
|
662
|
+
"items": {
|
|
663
|
+
"type": "string",
|
|
664
|
+
"minLength": 1
|
|
665
|
+
},
|
|
666
|
+
"uniqueItems": true,
|
|
667
|
+
"description": "Root-relative globs declaring the hook's full input set (source, scripts, config, lockfiles). The cache key fingerprints the content of every matched file; a glob that matches nothing fails closed. Must cover ALL inputs or the cache can return a false hit."
|
|
654
668
|
}
|
|
655
669
|
}
|
|
656
670
|
},
|