release-skill 0.2.4 → 0.2.6

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 (57) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.codebuddy-plugin/plugin.json +1 -1
  4. package/.codex-plugin/plugin.json +2 -2
  5. package/.kimi-plugin/plugin.json +1 -1
  6. package/CHANGELOG.md +45 -0
  7. package/INSTALL.md +32 -8
  8. package/INSTALL.zh-CN.md +28 -6
  9. package/README.md +29 -15
  10. package/README.zh-CN.md +27 -15
  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 +2202 -708
  14. package/adapters/claude/schemas/.render-manifest.json +6 -6
  15. package/adapters/claude/schemas/release-plan.schema.json +158 -0
  16. package/adapters/claude/schemas/release-project.schema.json +6 -0
  17. package/adapters/claude/schemas/release-run.schema.json +150 -0
  18. package/adapters/codex/.codex-plugin/plugin.json +2 -2
  19. package/adapters/codex/bin/release-skill.bundle.mjs +2202 -708
  20. package/adapters/codex/schemas/.render-manifest.json +6 -6
  21. package/adapters/codex/schemas/release-plan.schema.json +158 -0
  22. package/adapters/codex/schemas/release-project.schema.json +6 -0
  23. package/adapters/codex/schemas/release-run.schema.json +150 -0
  24. package/adapters/kimi/.kimi-plugin/plugin.json +1 -1
  25. package/adapters/kimi/bin/release-skill.bundle.mjs +2202 -708
  26. package/adapters/kimi/schemas/.render-manifest.json +6 -6
  27. package/adapters/kimi/schemas/release-plan.schema.json +158 -0
  28. package/adapters/kimi/schemas/release-project.schema.json +6 -0
  29. package/adapters/kimi/schemas/release-run.schema.json +150 -0
  30. package/adapters/workbuddy/.codebuddy-plugin/plugin.json +1 -1
  31. package/adapters/workbuddy/bin/release-skill.bundle.mjs +2202 -708
  32. package/adapters/workbuddy/schemas/.render-manifest.json +6 -6
  33. package/adapters/workbuddy/schemas/release-plan.schema.json +158 -0
  34. package/adapters/workbuddy/schemas/release-project.schema.json +6 -0
  35. package/adapters/workbuddy/schemas/release-run.schema.json +150 -0
  36. package/bin/release-skill.bundle.mjs +2202 -708
  37. package/package.json +1 -1
  38. package/references/.render-manifest.json +4 -4
  39. package/references/02-project-config.md +28 -2
  40. package/references/05-evidence-and-errors.md +6 -0
  41. package/schemas/.render-manifest.json +6 -6
  42. package/schemas/release-plan.schema.json +158 -0
  43. package/schemas/release-project.schema.json +6 -0
  44. package/schemas/release-run.schema.json +150 -0
  45. package/scripts/sync-public-files.mjs +20 -9
  46. package/src/adapters/plugin-marketplace.mjs +82 -3
  47. package/src/commands/prepare.mjs +232 -1
  48. package/src/commands/publish.mjs +134 -0
  49. package/src/commands/reconcile.mjs +19 -0
  50. package/src/commands/setup.mjs +26 -0
  51. package/src/commands/verify.mjs +183 -1
  52. package/src/core/errors.mjs +12 -0
  53. package/src/core/plan.mjs +29 -0
  54. package/src/core/skill-resource-closure.mjs +425 -0
  55. package/src/core/source-authority.mjs +547 -0
  56. package/src/platforms/codebuddy.mjs +16 -3
  57. package/src/platforms/kimi.mjs +36 -9
@@ -22,16 +22,16 @@
22
22
  "bytes": 2390
23
23
  },
24
24
  "release-plan.schema.json": {
25
- "digest": "d7869cdb335618754eb787fe352c4c1775c799900f3bb926197c51359699a648",
26
- "bytes": 24088
25
+ "digest": "01c96659223918b5ce0e2d0d01d1ce5095baeb056de401babb8928add4d2a221",
26
+ "bytes": 35256
27
27
  },
28
28
  "release-project.schema.json": {
29
- "digest": "53efe202fc5e2bf63c8d846cf4d50648991163b270536c1450c4be44e45d4b93",
30
- "bytes": 25761
29
+ "digest": "a3d46be1e1e8105103a505c6d58d14f3733c8da91ab8289e097ffd259bf1cd93",
30
+ "bytes": 30982
31
31
  },
32
32
  "release-run.schema.json": {
33
- "digest": "f453845fd2aab02c7b0812b1f62fd1ab7fa37104b8e752914906551c0e8c2637",
34
- "bytes": 8959
33
+ "digest": "bf3c8fb4ca2fc078272a45a6ee6bf663fd2420a722b2f995dbaabf2635e2179e",
34
+ "bytes": 14824
35
35
  }
36
36
  }
37
37
  }
@@ -815,6 +815,97 @@
815
815
  "minLength": 1,
816
816
  "description": "Digest of the project configuration at plan freeze time"
817
817
  },
818
+ "skillResourceClosure": {
819
+ "type": "object",
820
+ "description": "Skill resource closure gate receipts from prepare phase (per-unit bound)",
821
+ "additionalProperties": false,
822
+ "properties": {
823
+ "unitReceipts": {
824
+ "type": "array",
825
+ "minItems": 1,
826
+ "items": {
827
+ "type": "object",
828
+ "additionalProperties": false,
829
+ "properties": {
830
+ "unitId": {
831
+ "type": "string",
832
+ "minLength": 1
833
+ },
834
+ "checkerVersion": {
835
+ "type": "string",
836
+ "minLength": 1
837
+ },
838
+ "inputDigest": {
839
+ "type": "string",
840
+ "pattern": "^[a-f0-9]{64}$"
841
+ },
842
+ "surfaceCount": {
843
+ "type": "integer",
844
+ "minimum": 0
845
+ },
846
+ "skillCount": {
847
+ "type": "integer",
848
+ "minimum": 0
849
+ },
850
+ "referenceCount": {
851
+ "type": "integer",
852
+ "minimum": 0
853
+ },
854
+ "sourceOnlyCount": {
855
+ "type": "integer",
856
+ "minimum": 0
857
+ },
858
+ "findingCount": {
859
+ "const": 0
860
+ },
861
+ "receiptDigest": {
862
+ "type": "string",
863
+ "pattern": "^[a-f0-9]{64}$"
864
+ }
865
+ },
866
+ "required": [
867
+ "unitId",
868
+ "checkerVersion",
869
+ "inputDigest",
870
+ "surfaceCount",
871
+ "skillCount",
872
+ "referenceCount",
873
+ "sourceOnlyCount",
874
+ "findingCount",
875
+ "receiptDigest"
876
+ ]
877
+ }
878
+ },
879
+ "checkerVersion": {
880
+ "type": "string",
881
+ "minLength": 1
882
+ },
883
+ "totalSkillCount": {
884
+ "type": "integer",
885
+ "minimum": 0
886
+ },
887
+ "totalReferenceCount": {
888
+ "type": "integer",
889
+ "minimum": 0
890
+ },
891
+ "totalSourceOnlyCount": {
892
+ "type": "integer",
893
+ "minimum": 0
894
+ },
895
+ "totalFindingCount": {
896
+ "type": "integer",
897
+ "minimum": 0
898
+ }
899
+ },
900
+ "required": [
901
+ "unitReceipts",
902
+ "checkerVersion",
903
+ "totalSkillCount",
904
+ "totalReferenceCount",
905
+ "totalSourceOnlyCount",
906
+ "totalFindingCount"
907
+ ]
908
+ },
818
909
  "verificationGates": {
819
910
  "type": "array",
820
911
  "items": {
@@ -901,6 +992,73 @@
901
992
  "type": "string",
902
993
  "minLength": 1
903
994
  },
995
+ "sourceAuthority": {
996
+ "type": "object",
997
+ "description": "Source authority content closure gate binding: proves frozen source inputs exist in the workspace remote default branch",
998
+ "required": [
999
+ "sourceRepository",
1000
+ "defaultBranch",
1001
+ "entries",
1002
+ "inputDigest",
1003
+ "algorithmVersion"
1004
+ ],
1005
+ "additionalProperties": false,
1006
+ "properties": {
1007
+ "sourceRepository": {
1008
+ "type": "string",
1009
+ "minLength": 1,
1010
+ "pattern": "^[a-zA-Z0-9._-]+/[a-zA-Z0-9._-]+$",
1011
+ "description": "GitHub owner/repo of the workspace source repository"
1012
+ },
1013
+ "defaultBranch": {
1014
+ "type": "string",
1015
+ "minLength": 1,
1016
+ "description": "Workspace remote default branch name"
1017
+ },
1018
+ "entries": {
1019
+ "type": "array",
1020
+ "minItems": 1,
1021
+ "description": "Frozen workspace-relative source inputs compared with the remote default branch",
1022
+ "items": {
1023
+ "type": "object",
1024
+ "required": [
1025
+ "path",
1026
+ "digest",
1027
+ "mode"
1028
+ ],
1029
+ "additionalProperties": false,
1030
+ "properties": {
1031
+ "path": {
1032
+ "type": "string",
1033
+ "minLength": 1,
1034
+ "pattern": "^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*\\\\).+$"
1035
+ },
1036
+ "digest": {
1037
+ "type": "string",
1038
+ "pattern": "^[a-f0-9]{64}$"
1039
+ },
1040
+ "mode": {
1041
+ "type": "string",
1042
+ "enum": [
1043
+ "100644",
1044
+ "100755"
1045
+ ]
1046
+ }
1047
+ }
1048
+ }
1049
+ },
1050
+ "inputDigest": {
1051
+ "type": "string",
1052
+ "pattern": "^[a-f0-9]{64}$",
1053
+ "description": "SHA-256 digest of the deterministic source-input closure"
1054
+ },
1055
+ "algorithmVersion": {
1056
+ "type": "integer",
1057
+ "minimum": 1,
1058
+ "description": "Source-input closure algorithm version"
1059
+ }
1060
+ }
1061
+ },
904
1062
  "waivers": {
905
1063
  "type": "array",
906
1064
  "items": {
@@ -35,6 +35,12 @@
35
35
  "defaultBranch": {
36
36
  "type": "string",
37
37
  "minLength": 1
38
+ },
39
+ "sourceRepository": {
40
+ "type": "string",
41
+ "minLength": 1,
42
+ "pattern": "^[a-zA-Z0-9._-]+/[a-zA-Z0-9._-]+$",
43
+ "description": "GitHub owner/repo of the workspace source repository for source authority content gate"
38
44
  }
39
45
  }
40
46
  },
@@ -227,6 +227,71 @@
227
227
  }
228
228
  }
229
229
  },
230
+ "sourceAuthorityReceipts": {
231
+ "type": "array",
232
+ "description": "Source authority content closure receipts: one per publish run proving remote content matches frozen inputs",
233
+ "items": {
234
+ "type": "object",
235
+ "required": [
236
+ "sourceRepository",
237
+ "defaultBranch",
238
+ "inputDigest",
239
+ "algorithmVersion",
240
+ "entryCount",
241
+ "planDigest",
242
+ "verifiedAt",
243
+ "result"
244
+ ],
245
+ "additionalProperties": false,
246
+ "properties": {
247
+ "sourceRepository": {
248
+ "type": "string",
249
+ "minLength": 1
250
+ },
251
+ "defaultBranch": {
252
+ "type": "string",
253
+ "minLength": 1
254
+ },
255
+ "inputDigest": {
256
+ "type": "string",
257
+ "pattern": "^[a-f0-9]{64}$"
258
+ },
259
+ "algorithmVersion": {
260
+ "type": "integer",
261
+ "minimum": 1
262
+ },
263
+ "entryCount": {
264
+ "type": "integer",
265
+ "minimum": 1
266
+ },
267
+ "planDigest": {
268
+ "type": "string",
269
+ "minLength": 1
270
+ },
271
+ "verifiedAt": {
272
+ "type": "string",
273
+ "format": "date-time"
274
+ },
275
+ "result": {
276
+ "type": "string",
277
+ "enum": [
278
+ "CONSISTENT",
279
+ "MISMATCH"
280
+ ]
281
+ },
282
+ "observedCommit": {
283
+ "type": "string",
284
+ "pattern": "^[a-f0-9]{40,64}$"
285
+ },
286
+ "mismatchedPaths": {
287
+ "type": "array",
288
+ "items": {
289
+ "type": "string"
290
+ }
291
+ }
292
+ }
293
+ }
294
+ },
230
295
  "consumerVerificationReceipts": {
231
296
  "type": "array",
232
297
  "description": "消费端验证收据,每个 marketplace action 一条记录",
@@ -366,6 +431,91 @@
366
431
  }
367
432
  }
368
433
  }
434
+ },
435
+ "skillResourceClosureReceipts": {
436
+ "type": "array",
437
+ "description": "Per-surface skill resource closure verification receipts from verify phase",
438
+ "items": {
439
+ "type": "object",
440
+ "required": [
441
+ "host",
442
+ "distribution",
443
+ "unitId",
444
+ "checkerVersion",
445
+ "inputDigest",
446
+ "surfaceCount",
447
+ "skillCount",
448
+ "referenceCount",
449
+ "sourceOnlyCount",
450
+ "findingCount",
451
+ "receiptDigest",
452
+ "checkedAt",
453
+ "exitCode"
454
+ ],
455
+ "additionalProperties": false,
456
+ "properties": {
457
+ "host": {
458
+ "type": "string",
459
+ "minLength": 1
460
+ },
461
+ "unitId": {
462
+ "type": "string",
463
+ "minLength": 1
464
+ },
465
+ "distribution": {
466
+ "type": "string",
467
+ "enum": [
468
+ "npm",
469
+ "claude-plugin",
470
+ "codex-plugin",
471
+ "kimi-plugin",
472
+ "codebuddy-plugin"
473
+ ]
474
+ },
475
+ "actionId": {
476
+ "type": "string",
477
+ "minLength": 1
478
+ },
479
+ "checkerVersion": {
480
+ "type": "string",
481
+ "minLength": 1
482
+ },
483
+ "inputDigest": {
484
+ "type": "string",
485
+ "pattern": "^[a-f0-9]{64}$"
486
+ },
487
+ "surfaceCount": {
488
+ "type": "integer",
489
+ "minimum": 0
490
+ },
491
+ "skillCount": {
492
+ "type": "integer",
493
+ "minimum": 0
494
+ },
495
+ "referenceCount": {
496
+ "type": "integer",
497
+ "minimum": 0
498
+ },
499
+ "sourceOnlyCount": {
500
+ "type": "integer",
501
+ "minimum": 0
502
+ },
503
+ "findingCount": {
504
+ "const": 0
505
+ },
506
+ "receiptDigest": {
507
+ "type": "string",
508
+ "pattern": "^[a-f0-9]{64}$"
509
+ },
510
+ "checkedAt": {
511
+ "type": "string",
512
+ "format": "date-time"
513
+ },
514
+ "exitCode": {
515
+ "const": 0
516
+ }
517
+ }
518
+ }
369
519
  }
370
520
  },
371
521
  "allOf": [