@rpamis/comet 0.3.9 → 0.4.0-beta.2

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 (623) hide show
  1. package/README.md +371 -222
  2. package/assets/manifest.json +33 -12
  3. package/assets/skills/comet/SKILL.md +87 -102
  4. package/assets/skills/comet/reference/auto-transition.md +1 -1
  5. package/assets/skills/comet/reference/comet-yaml-fields.md +11 -4
  6. package/assets/skills/comet/reference/context-recovery.md +12 -2
  7. package/assets/skills/comet/reference/debug-gate.md +17 -1
  8. package/assets/skills/comet/reference/decision-point.md +13 -2
  9. package/assets/skills/comet/reference/intent-frame.md +74 -0
  10. package/assets/skills/comet/reference/scripts.md +69 -0
  11. package/assets/skills/comet/reference/subagent-dispatch.md +79 -23
  12. package/assets/skills/comet/rules/comet-phase-guard.en.md +18 -10
  13. package/assets/skills/comet/rules/comet-phase-guard.md +17 -10
  14. package/assets/skills/comet/runtime/classic/checks.yaml +6 -0
  15. package/assets/skills/comet/runtime/classic/guardrails.yaml +13 -0
  16. package/assets/skills/comet/runtime/classic/skill.yaml +122 -0
  17. package/assets/skills/comet/scripts/comet-archive.mjs +3 -0
  18. package/assets/skills/comet/scripts/comet-env.mjs +15 -0
  19. package/assets/skills/comet/scripts/comet-guard.mjs +3 -0
  20. package/assets/skills/comet/scripts/comet-handoff.mjs +3 -0
  21. package/assets/skills/comet/scripts/comet-hook-guard.mjs +3 -0
  22. package/assets/skills/comet/scripts/comet-intent.mjs +3 -0
  23. package/assets/skills/comet/scripts/comet-runtime.mjs +12941 -0
  24. package/assets/skills/comet/scripts/comet-state.mjs +3 -0
  25. package/assets/skills/comet/scripts/comet-yaml-validate.mjs +3 -0
  26. package/assets/skills/comet-any/SKILL.md +118 -0
  27. package/assets/skills/comet-any/reference/authored-zone-example.md +100 -0
  28. package/assets/skills/comet-any/reference/authoring-protocol.json +91 -0
  29. package/assets/skills/comet-any/reference/authoring-subagents.md +102 -0
  30. package/assets/skills/comet-any/reference/bundle-authoring.md +166 -0
  31. package/assets/skills/comet-any/reference/eval-provider.md +83 -0
  32. package/assets/skills/comet-any/reference/subagents/pause-points-author.md +75 -0
  33. package/assets/skills/comet-any/reference/subagents/reference-author.md +77 -0
  34. package/assets/skills/comet-any/reference/subagents/script-author.md +81 -0
  35. package/assets/skills/comet-any/reference/subagents/skill-core-author.md +129 -0
  36. package/assets/skills/comet-any/reference/subagents/skill-reviewer.md +124 -0
  37. package/assets/skills/comet-any/reference/subagents/workflow-entry-author.md +100 -0
  38. package/assets/skills/comet-archive/SKILL.md +25 -15
  39. package/assets/skills/comet-build/SKILL.md +51 -40
  40. package/assets/skills/comet-design/SKILL.md +14 -18
  41. package/assets/skills/comet-hotfix/SKILL.md +33 -43
  42. package/assets/skills/comet-open/SKILL.md +10 -20
  43. package/assets/skills/comet-tweak/SKILL.md +71 -65
  44. package/assets/skills/comet-verify/SKILL.md +31 -35
  45. package/assets/skills-zh/comet/SKILL.md +87 -101
  46. package/assets/skills-zh/comet/reference/auto-transition.md +3 -3
  47. package/assets/skills-zh/comet/reference/comet-yaml-fields.md +8 -4
  48. package/assets/skills-zh/comet/reference/context-recovery.md +11 -1
  49. package/assets/skills-zh/comet/reference/debug-gate.md +17 -1
  50. package/assets/skills-zh/comet/reference/decision-point.md +13 -2
  51. package/assets/skills-zh/comet/reference/intent-frame.md +74 -0
  52. package/assets/skills-zh/comet/reference/scripts.md +69 -0
  53. package/assets/skills-zh/comet/reference/subagent-dispatch.md +67 -18
  54. package/assets/skills-zh/comet/runtime/classic/checks.yaml +6 -0
  55. package/assets/skills-zh/comet/runtime/classic/guardrails.yaml +13 -0
  56. package/assets/skills-zh/comet/runtime/classic/skill.yaml +122 -0
  57. package/assets/skills-zh/comet-any/SKILL.md +118 -0
  58. package/assets/skills-zh/comet-any/reference/authored-zone-example.md +100 -0
  59. package/assets/skills-zh/comet-any/reference/authoring-protocol.json +91 -0
  60. package/assets/skills-zh/comet-any/reference/authoring-subagents.md +107 -0
  61. package/assets/skills-zh/comet-any/reference/bundle-authoring.md +166 -0
  62. package/assets/skills-zh/comet-any/reference/eval-provider.md +66 -0
  63. package/assets/skills-zh/comet-any/reference/subagents/pause-points-author.md +79 -0
  64. package/assets/skills-zh/comet-any/reference/subagents/reference-author.md +81 -0
  65. package/assets/skills-zh/comet-any/reference/subagents/script-author.md +84 -0
  66. package/assets/skills-zh/comet-any/reference/subagents/skill-core-author.md +129 -0
  67. package/assets/skills-zh/comet-any/reference/subagents/skill-reviewer.md +124 -0
  68. package/assets/skills-zh/comet-any/reference/subagents/workflow-entry-author.md +98 -0
  69. package/assets/skills-zh/comet-archive/SKILL.md +25 -15
  70. package/assets/skills-zh/comet-build/SKILL.md +41 -43
  71. package/assets/skills-zh/comet-design/SKILL.md +14 -18
  72. package/assets/skills-zh/comet-hotfix/SKILL.md +37 -47
  73. package/assets/skills-zh/comet-open/SKILL.md +12 -22
  74. package/assets/skills-zh/comet-tweak/SKILL.md +70 -63
  75. package/assets/skills-zh/comet-verify/SKILL.md +28 -30
  76. package/bin/comet.js +1 -1
  77. package/dist/{cli → app/cli}/index.d.ts.map +1 -1
  78. package/dist/app/cli/index.js +430 -0
  79. package/dist/app/cli/index.js.map +1 -0
  80. package/dist/app/commands/bundle.d.ts +51 -0
  81. package/dist/app/commands/bundle.d.ts.map +1 -0
  82. package/dist/app/commands/bundle.js +387 -0
  83. package/dist/app/commands/bundle.js.map +1 -0
  84. package/dist/app/commands/creator.d.ts +14 -0
  85. package/dist/app/commands/creator.d.ts.map +1 -0
  86. package/dist/app/commands/creator.js +82 -0
  87. package/dist/app/commands/creator.js.map +1 -0
  88. package/dist/app/commands/dashboard.d.ts +16 -0
  89. package/dist/app/commands/dashboard.d.ts.map +1 -0
  90. package/dist/app/commands/dashboard.js +53 -0
  91. package/dist/app/commands/dashboard.js.map +1 -0
  92. package/dist/{commands → app/commands}/doctor.d.ts +1 -1
  93. package/dist/app/commands/doctor.d.ts.map +1 -0
  94. package/dist/{commands → app/commands}/doctor.js +110 -60
  95. package/dist/app/commands/doctor.js.map +1 -0
  96. package/dist/app/commands/eval.d.ts +17 -0
  97. package/dist/app/commands/eval.d.ts.map +1 -0
  98. package/dist/app/commands/eval.js +169 -0
  99. package/dist/app/commands/eval.js.map +1 -0
  100. package/dist/app/commands/i18n.d.ts +4 -0
  101. package/dist/app/commands/i18n.d.ts.map +1 -0
  102. package/dist/{commands → app/commands}/i18n.js +22 -2
  103. package/dist/app/commands/i18n.js.map +1 -0
  104. package/dist/{commands → app/commands}/init.d.ts +3 -1
  105. package/dist/app/commands/init.d.ts.map +1 -0
  106. package/dist/{commands → app/commands}/init.js +82 -32
  107. package/dist/app/commands/init.js.map +1 -0
  108. package/dist/app/commands/platform-select-prompt.d.ts +38 -0
  109. package/dist/app/commands/platform-select-prompt.d.ts.map +1 -0
  110. package/dist/app/commands/platform-select-prompt.js +141 -0
  111. package/dist/app/commands/platform-select-prompt.js.map +1 -0
  112. package/dist/app/commands/publish.d.ts +7 -0
  113. package/dist/app/commands/publish.d.ts.map +1 -0
  114. package/dist/app/commands/publish.js +14 -0
  115. package/dist/app/commands/publish.js.map +1 -0
  116. package/dist/app/commands/skill.d.ts +23 -0
  117. package/dist/app/commands/skill.d.ts.map +1 -0
  118. package/dist/app/commands/skill.js +208 -0
  119. package/dist/app/commands/skill.js.map +1 -0
  120. package/dist/app/commands/status.d.ts.map +1 -0
  121. package/dist/app/commands/status.js +159 -0
  122. package/dist/app/commands/status.js.map +1 -0
  123. package/dist/{commands → app/commands}/uninstall.d.ts +1 -1
  124. package/dist/app/commands/uninstall.d.ts.map +1 -0
  125. package/dist/{commands → app/commands}/uninstall.js +3 -3
  126. package/dist/app/commands/uninstall.js.map +1 -0
  127. package/dist/{commands → app/commands}/update.d.ts +4 -3
  128. package/dist/app/commands/update.d.ts.map +1 -0
  129. package/dist/{commands → app/commands}/update.js +43 -15
  130. package/dist/app/commands/update.js.map +1 -0
  131. package/dist/config/repository-layout.json +98 -0
  132. package/dist/domains/bundle/authoring.d.ts +82 -0
  133. package/dist/domains/bundle/authoring.d.ts.map +1 -0
  134. package/dist/domains/bundle/authoring.js +185 -0
  135. package/dist/domains/bundle/authoring.js.map +1 -0
  136. package/dist/domains/bundle/bundle-platform.d.ts +39 -0
  137. package/dist/domains/bundle/bundle-platform.d.ts.map +1 -0
  138. package/dist/domains/bundle/bundle-platform.js +287 -0
  139. package/dist/domains/bundle/bundle-platform.js.map +1 -0
  140. package/dist/domains/bundle/candidates.d.ts +29 -0
  141. package/dist/domains/bundle/candidates.d.ts.map +1 -0
  142. package/dist/domains/bundle/candidates.js +37 -0
  143. package/dist/domains/bundle/candidates.js.map +1 -0
  144. package/dist/domains/bundle/compatibility-benchmark.d.ts +12 -0
  145. package/dist/domains/bundle/compatibility-benchmark.d.ts.map +1 -0
  146. package/dist/domains/bundle/compatibility-benchmark.js +224 -0
  147. package/dist/domains/bundle/compatibility-benchmark.js.map +1 -0
  148. package/dist/domains/bundle/compiler.d.ts +5 -0
  149. package/dist/domains/bundle/compiler.d.ts.map +1 -0
  150. package/dist/domains/bundle/compiler.js +106 -0
  151. package/dist/domains/bundle/compiler.js.map +1 -0
  152. package/dist/domains/bundle/distribute.d.ts +33 -0
  153. package/dist/domains/bundle/distribute.d.ts.map +1 -0
  154. package/dist/domains/bundle/distribute.js +166 -0
  155. package/dist/domains/bundle/distribute.js.map +1 -0
  156. package/dist/domains/bundle/draft.d.ts +19 -0
  157. package/dist/domains/bundle/draft.d.ts.map +1 -0
  158. package/dist/domains/bundle/draft.js +82 -0
  159. package/dist/domains/bundle/draft.js.map +1 -0
  160. package/dist/domains/bundle/eval.d.ts +36 -0
  161. package/dist/domains/bundle/eval.d.ts.map +1 -0
  162. package/dist/domains/bundle/eval.js +501 -0
  163. package/dist/domains/bundle/eval.js.map +1 -0
  164. package/dist/domains/bundle/factory-compose.d.ts +12 -0
  165. package/dist/domains/bundle/factory-compose.d.ts.map +1 -0
  166. package/dist/domains/bundle/factory-compose.js +309 -0
  167. package/dist/domains/bundle/factory-compose.js.map +1 -0
  168. package/dist/domains/bundle/factory-guide.d.ts +37 -0
  169. package/dist/domains/bundle/factory-guide.d.ts.map +1 -0
  170. package/dist/domains/bundle/factory-guide.js +96 -0
  171. package/dist/domains/bundle/factory-guide.js.map +1 -0
  172. package/dist/domains/bundle/factory-plan.d.ts +48 -0
  173. package/dist/domains/bundle/factory-plan.d.ts.map +1 -0
  174. package/dist/domains/bundle/factory-plan.js +172 -0
  175. package/dist/domains/bundle/factory-plan.js.map +1 -0
  176. package/dist/domains/bundle/factory-proposal.d.ts +31 -0
  177. package/dist/domains/bundle/factory-proposal.d.ts.map +1 -0
  178. package/dist/domains/bundle/factory-proposal.js +225 -0
  179. package/dist/domains/bundle/factory-proposal.js.map +1 -0
  180. package/dist/domains/bundle/factory-resolve.d.ts +11 -0
  181. package/dist/domains/bundle/factory-resolve.d.ts.map +1 -0
  182. package/dist/domains/bundle/factory-resolve.js +121 -0
  183. package/dist/domains/bundle/factory-resolve.js.map +1 -0
  184. package/dist/domains/bundle/factory.d.ts +17 -0
  185. package/dist/domains/bundle/factory.d.ts.map +1 -0
  186. package/dist/domains/bundle/factory.js +511 -0
  187. package/dist/domains/bundle/factory.js.map +1 -0
  188. package/dist/domains/bundle/hash.d.ts +3 -0
  189. package/dist/domains/bundle/hash.d.ts.map +1 -0
  190. package/dist/domains/bundle/hash.js +72 -0
  191. package/dist/domains/bundle/hash.js.map +1 -0
  192. package/dist/domains/bundle/load.d.ts +4 -0
  193. package/dist/domains/bundle/load.d.ts.map +1 -0
  194. package/dist/domains/bundle/load.js +355 -0
  195. package/dist/domains/bundle/load.js.map +1 -0
  196. package/dist/domains/bundle/next-action.d.ts +37 -0
  197. package/dist/domains/bundle/next-action.d.ts.map +1 -0
  198. package/dist/domains/bundle/next-action.js +185 -0
  199. package/dist/domains/bundle/next-action.js.map +1 -0
  200. package/dist/domains/bundle/platform.d.ts +21 -0
  201. package/dist/domains/bundle/platform.d.ts.map +1 -0
  202. package/dist/domains/bundle/platform.js +170 -0
  203. package/dist/domains/bundle/platform.js.map +1 -0
  204. package/dist/domains/bundle/preferences.d.ts +11 -0
  205. package/dist/domains/bundle/preferences.d.ts.map +1 -0
  206. package/dist/domains/bundle/preferences.js +17 -0
  207. package/dist/domains/bundle/preferences.js.map +1 -0
  208. package/dist/domains/bundle/publish.d.ts +14 -0
  209. package/dist/domains/bundle/publish.d.ts.map +1 -0
  210. package/dist/domains/bundle/publish.js +159 -0
  211. package/dist/domains/bundle/publish.js.map +1 -0
  212. package/dist/domains/bundle/readiness-user-summary.d.ts +25 -0
  213. package/dist/domains/bundle/readiness-user-summary.d.ts.map +1 -0
  214. package/dist/domains/bundle/readiness-user-summary.js +186 -0
  215. package/dist/domains/bundle/readiness-user-summary.js.map +1 -0
  216. package/dist/domains/bundle/review-summary.d.ts +36 -0
  217. package/dist/domains/bundle/review-summary.d.ts.map +1 -0
  218. package/dist/domains/bundle/review-summary.js +348 -0
  219. package/dist/domains/bundle/review-summary.js.map +1 -0
  220. package/dist/domains/bundle/state.d.ts +7 -0
  221. package/dist/domains/bundle/state.d.ts.map +1 -0
  222. package/dist/domains/bundle/state.js +132 -0
  223. package/dist/domains/bundle/state.js.map +1 -0
  224. package/dist/domains/bundle/types.d.ts +347 -0
  225. package/dist/domains/bundle/types.d.ts.map +1 -0
  226. package/dist/domains/bundle/types.js.map +1 -0
  227. package/dist/domains/bundle/user-facing.d.ts +48 -0
  228. package/dist/domains/bundle/user-facing.d.ts.map +1 -0
  229. package/dist/domains/bundle/user-facing.js +73 -0
  230. package/dist/domains/bundle/user-facing.js.map +1 -0
  231. package/dist/domains/bundle/validate.d.ts +5 -0
  232. package/dist/domains/bundle/validate.d.ts.map +1 -0
  233. package/dist/domains/bundle/validate.js +292 -0
  234. package/dist/domains/bundle/validate.js.map +1 -0
  235. package/dist/domains/comet-classic/classic-archive-entry.d.ts +2 -0
  236. package/dist/domains/comet-classic/classic-archive-entry.d.ts.map +1 -0
  237. package/dist/domains/comet-classic/classic-archive-entry.js +4 -0
  238. package/dist/domains/comet-classic/classic-archive-entry.js.map +1 -0
  239. package/dist/domains/comet-classic/classic-archive.d.ts +3 -0
  240. package/dist/domains/comet-classic/classic-archive.d.ts.map +1 -0
  241. package/dist/domains/comet-classic/classic-archive.js +392 -0
  242. package/dist/domains/comet-classic/classic-archive.js.map +1 -0
  243. package/dist/domains/comet-classic/classic-cli.d.ts +15 -0
  244. package/dist/domains/comet-classic/classic-cli.d.ts.map +1 -0
  245. package/dist/domains/comet-classic/classic-cli.js +94 -0
  246. package/dist/domains/comet-classic/classic-cli.js.map +1 -0
  247. package/dist/domains/comet-classic/classic-diagnostics.d.ts +16 -0
  248. package/dist/domains/comet-classic/classic-diagnostics.d.ts.map +1 -0
  249. package/dist/domains/comet-classic/classic-diagnostics.js +57 -0
  250. package/dist/domains/comet-classic/classic-diagnostics.js.map +1 -0
  251. package/dist/domains/comet-classic/classic-evidence.d.ts +10 -0
  252. package/dist/domains/comet-classic/classic-evidence.d.ts.map +1 -0
  253. package/dist/domains/comet-classic/classic-evidence.js +114 -0
  254. package/dist/domains/comet-classic/classic-evidence.js.map +1 -0
  255. package/dist/domains/comet-classic/classic-guard-entry.d.ts +2 -0
  256. package/dist/domains/comet-classic/classic-guard-entry.d.ts.map +1 -0
  257. package/dist/domains/comet-classic/classic-guard-entry.js +4 -0
  258. package/dist/domains/comet-classic/classic-guard-entry.js.map +1 -0
  259. package/dist/domains/comet-classic/classic-guard.d.ts +3 -0
  260. package/dist/domains/comet-classic/classic-guard.d.ts.map +1 -0
  261. package/dist/domains/comet-classic/classic-guard.js +833 -0
  262. package/dist/domains/comet-classic/classic-guard.js.map +1 -0
  263. package/dist/domains/comet-classic/classic-handoff-entry.d.ts +2 -0
  264. package/dist/domains/comet-classic/classic-handoff-entry.d.ts.map +1 -0
  265. package/dist/domains/comet-classic/classic-handoff-entry.js +4 -0
  266. package/dist/domains/comet-classic/classic-handoff-entry.js.map +1 -0
  267. package/dist/domains/comet-classic/classic-handoff.d.ts +3 -0
  268. package/dist/domains/comet-classic/classic-handoff.d.ts.map +1 -0
  269. package/dist/domains/comet-classic/classic-handoff.js +478 -0
  270. package/dist/domains/comet-classic/classic-handoff.js.map +1 -0
  271. package/dist/domains/comet-classic/classic-hook-guard-entry.d.ts +2 -0
  272. package/dist/domains/comet-classic/classic-hook-guard-entry.d.ts.map +1 -0
  273. package/dist/domains/comet-classic/classic-hook-guard-entry.js +4 -0
  274. package/dist/domains/comet-classic/classic-hook-guard-entry.js.map +1 -0
  275. package/dist/domains/comet-classic/classic-hook-guard.d.ts +3 -0
  276. package/dist/domains/comet-classic/classic-hook-guard.d.ts.map +1 -0
  277. package/dist/domains/comet-classic/classic-hook-guard.js +382 -0
  278. package/dist/domains/comet-classic/classic-hook-guard.js.map +1 -0
  279. package/dist/domains/comet-classic/classic-intent-command.d.ts +3 -0
  280. package/dist/domains/comet-classic/classic-intent-command.d.ts.map +1 -0
  281. package/dist/domains/comet-classic/classic-intent-command.js +40 -0
  282. package/dist/domains/comet-classic/classic-intent-command.js.map +1 -0
  283. package/dist/domains/comet-classic/classic-intent-entry.d.ts +2 -0
  284. package/dist/domains/comet-classic/classic-intent-entry.d.ts.map +1 -0
  285. package/dist/domains/comet-classic/classic-intent-entry.js +4 -0
  286. package/dist/domains/comet-classic/classic-intent-entry.js.map +1 -0
  287. package/dist/domains/comet-classic/classic-intent.d.ts +79 -0
  288. package/dist/domains/comet-classic/classic-intent.d.ts.map +1 -0
  289. package/dist/domains/comet-classic/classic-intent.js +307 -0
  290. package/dist/domains/comet-classic/classic-intent.js.map +1 -0
  291. package/dist/domains/comet-classic/classic-migrate.d.ts +18 -0
  292. package/dist/domains/comet-classic/classic-migrate.d.ts.map +1 -0
  293. package/dist/domains/comet-classic/classic-migrate.js +184 -0
  294. package/dist/domains/comet-classic/classic-migrate.js.map +1 -0
  295. package/dist/domains/comet-classic/classic-paths.d.ts +8 -0
  296. package/dist/domains/comet-classic/classic-paths.d.ts.map +1 -0
  297. package/dist/domains/comet-classic/classic-paths.js +61 -0
  298. package/dist/domains/comet-classic/classic-paths.js.map +1 -0
  299. package/dist/domains/comet-classic/classic-resolver.d.ts +10 -0
  300. package/dist/domains/comet-classic/classic-resolver.d.ts.map +1 -0
  301. package/dist/domains/comet-classic/classic-resolver.js +89 -0
  302. package/dist/domains/comet-classic/classic-resolver.js.map +1 -0
  303. package/dist/domains/comet-classic/classic-runtime-evals.d.ts +9 -0
  304. package/dist/domains/comet-classic/classic-runtime-evals.d.ts.map +1 -0
  305. package/dist/domains/comet-classic/classic-runtime-evals.js +45 -0
  306. package/dist/domains/comet-classic/classic-runtime-evals.js.map +1 -0
  307. package/dist/domains/comet-classic/classic-runtime-run.d.ts +7 -0
  308. package/dist/domains/comet-classic/classic-runtime-run.d.ts.map +1 -0
  309. package/dist/domains/comet-classic/classic-runtime-run.js +105 -0
  310. package/dist/domains/comet-classic/classic-runtime-run.js.map +1 -0
  311. package/dist/domains/comet-classic/classic-script-entry.d.ts +3 -0
  312. package/dist/domains/comet-classic/classic-script-entry.d.ts.map +1 -0
  313. package/dist/domains/comet-classic/classic-script-entry.js +31 -0
  314. package/dist/domains/comet-classic/classic-script-entry.js.map +1 -0
  315. package/dist/domains/comet-classic/classic-state-command.d.ts +3 -0
  316. package/dist/domains/comet-classic/classic-state-command.d.ts.map +1 -0
  317. package/dist/domains/comet-classic/classic-state-command.js +984 -0
  318. package/dist/domains/comet-classic/classic-state-command.js.map +1 -0
  319. package/dist/domains/comet-classic/classic-state-entry.d.ts +2 -0
  320. package/dist/domains/comet-classic/classic-state-entry.d.ts.map +1 -0
  321. package/dist/domains/comet-classic/classic-state-entry.js +4 -0
  322. package/dist/domains/comet-classic/classic-state-entry.js.map +1 -0
  323. package/dist/domains/comet-classic/classic-state-events.d.ts +18 -0
  324. package/dist/domains/comet-classic/classic-state-events.d.ts.map +1 -0
  325. package/dist/domains/comet-classic/classic-state-events.js +15 -0
  326. package/dist/domains/comet-classic/classic-state-events.js.map +1 -0
  327. package/dist/domains/comet-classic/classic-state.d.ts +69 -0
  328. package/dist/domains/comet-classic/classic-state.d.ts.map +1 -0
  329. package/dist/domains/comet-classic/classic-state.js +238 -0
  330. package/dist/domains/comet-classic/classic-state.js.map +1 -0
  331. package/dist/domains/comet-classic/classic-store.d.ts +7 -0
  332. package/dist/domains/comet-classic/classic-store.d.ts.map +1 -0
  333. package/dist/domains/comet-classic/classic-store.js +127 -0
  334. package/dist/domains/comet-classic/classic-store.js.map +1 -0
  335. package/dist/domains/comet-classic/classic-transitions.d.ts +24 -0
  336. package/dist/domains/comet-classic/classic-transitions.d.ts.map +1 -0
  337. package/dist/domains/comet-classic/classic-transitions.js +124 -0
  338. package/dist/domains/comet-classic/classic-transitions.js.map +1 -0
  339. package/dist/domains/comet-classic/classic-validate-command.d.ts +3 -0
  340. package/dist/domains/comet-classic/classic-validate-command.d.ts.map +1 -0
  341. package/dist/domains/comet-classic/classic-validate-command.js +154 -0
  342. package/dist/domains/comet-classic/classic-validate-command.js.map +1 -0
  343. package/dist/domains/comet-classic/classic-validate-entry.d.ts +2 -0
  344. package/dist/domains/comet-classic/classic-validate-entry.d.ts.map +1 -0
  345. package/dist/domains/comet-classic/classic-validate-entry.js +4 -0
  346. package/dist/domains/comet-classic/classic-validate-entry.js.map +1 -0
  347. package/dist/domains/comet-classic/index.d.ts +20 -0
  348. package/dist/domains/comet-classic/index.d.ts.map +1 -0
  349. package/dist/domains/comet-classic/index.js +20 -0
  350. package/dist/domains/comet-classic/index.js.map +1 -0
  351. package/dist/domains/dashboard/collector.d.ts +12 -0
  352. package/dist/domains/dashboard/collector.d.ts.map +1 -0
  353. package/dist/domains/dashboard/collector.js +475 -0
  354. package/dist/domains/dashboard/collector.js.map +1 -0
  355. package/dist/domains/dashboard/git.d.ts +8 -0
  356. package/dist/domains/dashboard/git.d.ts.map +1 -0
  357. package/dist/domains/dashboard/git.js +69 -0
  358. package/dist/domains/dashboard/git.js.map +1 -0
  359. package/dist/domains/dashboard/next-action.d.ts +17 -0
  360. package/dist/domains/dashboard/next-action.d.ts.map +1 -0
  361. package/dist/domains/dashboard/next-action.js +83 -0
  362. package/dist/domains/dashboard/next-action.js.map +1 -0
  363. package/dist/domains/dashboard/open-browser.d.ts +9 -0
  364. package/dist/domains/dashboard/open-browser.d.ts.map +1 -0
  365. package/dist/domains/dashboard/open-browser.js +40 -0
  366. package/dist/domains/dashboard/open-browser.js.map +1 -0
  367. package/dist/domains/dashboard/risk.d.ts +24 -0
  368. package/dist/domains/dashboard/risk.d.ts.map +1 -0
  369. package/dist/domains/dashboard/risk.js +97 -0
  370. package/dist/domains/dashboard/risk.js.map +1 -0
  371. package/dist/domains/dashboard/server.d.ts +21 -0
  372. package/dist/domains/dashboard/server.d.ts.map +1 -0
  373. package/dist/domains/dashboard/server.js +149 -0
  374. package/dist/domains/dashboard/server.js.map +1 -0
  375. package/dist/domains/dashboard/task-parser.d.ts +13 -0
  376. package/dist/domains/dashboard/task-parser.d.ts.map +1 -0
  377. package/dist/domains/dashboard/task-parser.js +82 -0
  378. package/dist/domains/dashboard/task-parser.js.map +1 -0
  379. package/dist/domains/dashboard/types.d.ts +122 -0
  380. package/dist/domains/dashboard/types.d.ts.map +1 -0
  381. package/dist/domains/dashboard/types.js +10 -0
  382. package/dist/domains/dashboard/types.js.map +1 -0
  383. package/dist/domains/dashboard/verify-parser.d.ts +18 -0
  384. package/dist/domains/dashboard/verify-parser.d.ts.map +1 -0
  385. package/dist/domains/dashboard/verify-parser.js +94 -0
  386. package/dist/domains/dashboard/verify-parser.js.map +1 -0
  387. package/dist/domains/dashboard/web/assets/demo-DQyfozbi.js +1 -0
  388. package/dist/domains/dashboard/web/assets/index-BcO3_QlT.css +1 -0
  389. package/dist/domains/dashboard/web/assets/index-CjU3VXVu.js +22 -0
  390. package/dist/domains/dashboard/web/favicon.png +0 -0
  391. package/dist/domains/dashboard/web/index.html +16 -0
  392. package/dist/domains/dashboard/yaml.d.ts +13 -0
  393. package/dist/domains/dashboard/yaml.d.ts.map +1 -0
  394. package/dist/domains/dashboard/yaml.js +61 -0
  395. package/dist/domains/dashboard/yaml.js.map +1 -0
  396. package/dist/domains/engine/evals.d.ts +4 -0
  397. package/dist/domains/engine/evals.d.ts.map +1 -0
  398. package/dist/domains/engine/evals.js +25 -0
  399. package/dist/domains/engine/evals.js.map +1 -0
  400. package/dist/domains/engine/guardrails.d.ts +10 -0
  401. package/dist/domains/engine/guardrails.d.ts.map +1 -0
  402. package/dist/domains/engine/guardrails.js +25 -0
  403. package/dist/domains/engine/guardrails.js.map +1 -0
  404. package/dist/domains/engine/loop.d.ts +15 -0
  405. package/dist/domains/engine/loop.d.ts.map +1 -0
  406. package/dist/domains/engine/loop.js +126 -0
  407. package/dist/domains/engine/loop.js.map +1 -0
  408. package/dist/domains/engine/manual-run.d.ts +30 -0
  409. package/dist/domains/engine/manual-run.d.ts.map +1 -0
  410. package/dist/domains/engine/manual-run.js +184 -0
  411. package/dist/domains/engine/manual-run.js.map +1 -0
  412. package/dist/domains/engine/resolver.d.ts +20 -0
  413. package/dist/domains/engine/resolver.d.ts.map +1 -0
  414. package/dist/domains/engine/resolver.js +36 -0
  415. package/dist/domains/engine/resolver.js.map +1 -0
  416. package/dist/domains/engine/run-store.d.ts +13 -0
  417. package/dist/domains/engine/run-store.d.ts.map +1 -0
  418. package/dist/domains/engine/run-store.js +100 -0
  419. package/dist/domains/engine/run-store.js.map +1 -0
  420. package/dist/domains/engine/runtime-types.d.ts +11 -0
  421. package/dist/domains/engine/runtime-types.d.ts.map +1 -0
  422. package/dist/domains/engine/runtime-types.js +2 -0
  423. package/dist/domains/engine/runtime-types.js.map +1 -0
  424. package/dist/domains/engine/standalone-run.d.ts +13 -0
  425. package/dist/domains/engine/standalone-run.d.ts.map +1 -0
  426. package/dist/domains/engine/standalone-run.js +27 -0
  427. package/dist/domains/engine/standalone-run.js.map +1 -0
  428. package/dist/domains/engine/state.d.ts +10 -0
  429. package/dist/domains/engine/state.d.ts.map +1 -0
  430. package/dist/domains/engine/state.js +160 -0
  431. package/dist/domains/engine/state.js.map +1 -0
  432. package/dist/domains/engine/types.d.ts +51 -0
  433. package/dist/domains/engine/types.d.ts.map +1 -0
  434. package/dist/domains/engine/types.js +2 -0
  435. package/dist/domains/engine/types.js.map +1 -0
  436. package/dist/domains/eval/index.d.ts +7 -0
  437. package/dist/domains/eval/index.d.ts.map +1 -0
  438. package/dist/domains/eval/index.js +11 -0
  439. package/dist/domains/eval/index.js.map +1 -0
  440. package/dist/domains/eval/repository-benchmarks.d.ts +6 -0
  441. package/dist/domains/eval/repository-benchmarks.d.ts.map +1 -0
  442. package/dist/domains/eval/repository-benchmarks.js +10 -0
  443. package/dist/domains/eval/repository-benchmarks.js.map +1 -0
  444. package/dist/domains/factory/artifacts.d.ts +53 -0
  445. package/dist/domains/factory/artifacts.d.ts.map +1 -0
  446. package/dist/domains/factory/artifacts.js +8 -0
  447. package/dist/domains/factory/artifacts.js.map +1 -0
  448. package/dist/domains/factory/package.d.ts +7 -0
  449. package/dist/domains/factory/package.d.ts.map +1 -0
  450. package/dist/domains/factory/package.js +1511 -0
  451. package/dist/domains/factory/package.js.map +1 -0
  452. package/dist/domains/factory/types.d.ts +127 -0
  453. package/dist/domains/factory/types.d.ts.map +1 -0
  454. package/dist/domains/factory/types.js +2 -0
  455. package/dist/domains/factory/types.js.map +1 -0
  456. package/dist/{core → domains/integrations}/codegraph.d.ts +1 -1
  457. package/dist/domains/integrations/codegraph.d.ts.map +1 -0
  458. package/dist/{core → domains/integrations}/codegraph.js +1 -1
  459. package/dist/domains/integrations/codegraph.js.map +1 -0
  460. package/dist/domains/integrations/openspec.d.ts +18 -0
  461. package/dist/domains/integrations/openspec.d.ts.map +1 -0
  462. package/dist/{core → domains/integrations}/openspec.js +102 -25
  463. package/dist/domains/integrations/openspec.js.map +1 -0
  464. package/dist/{core → domains/integrations}/superpowers.d.ts +10 -2
  465. package/dist/domains/integrations/superpowers.d.ts.map +1 -0
  466. package/dist/{core → domains/integrations}/superpowers.js +59 -13
  467. package/dist/domains/integrations/superpowers.js.map +1 -0
  468. package/dist/domains/skill/discovery.d.ts +17 -0
  469. package/dist/domains/skill/discovery.d.ts.map +1 -0
  470. package/dist/domains/skill/discovery.js +80 -0
  471. package/dist/domains/skill/discovery.js.map +1 -0
  472. package/dist/domains/skill/find.d.ts +41 -0
  473. package/dist/domains/skill/find.d.ts.map +1 -0
  474. package/dist/domains/skill/find.js +251 -0
  475. package/dist/domains/skill/find.js.map +1 -0
  476. package/dist/domains/skill/install.d.ts +11 -0
  477. package/dist/domains/skill/install.d.ts.map +1 -0
  478. package/dist/domains/skill/install.js +82 -0
  479. package/dist/domains/skill/install.js.map +1 -0
  480. package/dist/domains/skill/inventory.d.ts +19 -0
  481. package/dist/domains/skill/inventory.d.ts.map +1 -0
  482. package/dist/domains/skill/inventory.js +64 -0
  483. package/dist/domains/skill/inventory.js.map +1 -0
  484. package/dist/domains/skill/languages.d.ts +19 -0
  485. package/dist/domains/skill/languages.d.ts.map +1 -0
  486. package/dist/domains/skill/languages.js +21 -0
  487. package/dist/domains/skill/languages.js.map +1 -0
  488. package/dist/domains/skill/load.d.ts +5 -0
  489. package/dist/domains/skill/load.d.ts.map +1 -0
  490. package/dist/domains/skill/load.js +313 -0
  491. package/dist/domains/skill/load.js.map +1 -0
  492. package/dist/domains/skill/platform-install.d.ts +79 -0
  493. package/dist/domains/skill/platform-install.d.ts.map +1 -0
  494. package/dist/{core/skills.js → domains/skill/platform-install.js} +311 -54
  495. package/dist/domains/skill/platform-install.js.map +1 -0
  496. package/dist/domains/skill/preferences.d.ts +42 -0
  497. package/dist/domains/skill/preferences.d.ts.map +1 -0
  498. package/dist/domains/skill/preferences.js +118 -0
  499. package/dist/domains/skill/preferences.js.map +1 -0
  500. package/dist/domains/skill/snapshot.d.ts +8 -0
  501. package/dist/domains/skill/snapshot.d.ts.map +1 -0
  502. package/dist/domains/skill/snapshot.js +184 -0
  503. package/dist/domains/skill/snapshot.js.map +1 -0
  504. package/dist/domains/skill/types.d.ts +85 -0
  505. package/dist/domains/skill/types.d.ts.map +1 -0
  506. package/dist/domains/skill/types.js +2 -0
  507. package/dist/{core → domains/skill}/types.js.map +1 -1
  508. package/dist/{core → domains/skill}/uninstall.d.ts +2 -18
  509. package/dist/domains/skill/uninstall.d.ts.map +1 -0
  510. package/dist/{core → domains/skill}/uninstall.js +15 -66
  511. package/dist/domains/skill/uninstall.js.map +1 -0
  512. package/dist/domains/skill/validate.d.ts +3 -0
  513. package/dist/domains/skill/validate.d.ts.map +1 -0
  514. package/dist/domains/skill/validate.js +81 -0
  515. package/dist/domains/skill/validate.js.map +1 -0
  516. package/dist/domains/workflow-contract/builtins.d.ts +8 -0
  517. package/dist/domains/workflow-contract/builtins.d.ts.map +1 -0
  518. package/dist/domains/workflow-contract/builtins.js +229 -0
  519. package/dist/domains/workflow-contract/builtins.js.map +1 -0
  520. package/dist/domains/workflow-contract/hash.d.ts +3 -0
  521. package/dist/domains/workflow-contract/hash.d.ts.map +1 -0
  522. package/dist/domains/workflow-contract/hash.js +16 -0
  523. package/dist/domains/workflow-contract/hash.js.map +1 -0
  524. package/dist/domains/workflow-contract/index.d.ts +6 -0
  525. package/dist/domains/workflow-contract/index.d.ts.map +1 -0
  526. package/dist/domains/workflow-contract/index.js +5 -0
  527. package/dist/domains/workflow-contract/index.js.map +1 -0
  528. package/dist/domains/workflow-contract/normalize.d.ts +3 -0
  529. package/dist/domains/workflow-contract/normalize.d.ts.map +1 -0
  530. package/dist/domains/workflow-contract/normalize.js +146 -0
  531. package/dist/domains/workflow-contract/normalize.js.map +1 -0
  532. package/dist/domains/workflow-contract/types.d.ts +128 -0
  533. package/dist/domains/workflow-contract/types.d.ts.map +1 -0
  534. package/dist/domains/workflow-contract/types.js +2 -0
  535. package/dist/domains/workflow-contract/types.js.map +1 -0
  536. package/dist/domains/workflow-contract/validation.d.ts +3 -0
  537. package/dist/domains/workflow-contract/validation.d.ts.map +1 -0
  538. package/dist/domains/workflow-contract/validation.js +180 -0
  539. package/dist/domains/workflow-contract/validation.js.map +1 -0
  540. package/dist/platform/fs/file-system.d.ts.map +1 -0
  541. package/dist/platform/fs/file-system.js.map +1 -0
  542. package/dist/platform/install/detect.d.ts.map +1 -0
  543. package/dist/{core → platform/install}/detect.js +4 -3
  544. package/dist/platform/install/detect.js.map +1 -0
  545. package/dist/platform/install/platforms.d.ts.map +1 -0
  546. package/dist/{core → platform/install}/platforms.js +41 -0
  547. package/dist/platform/install/platforms.js.map +1 -0
  548. package/dist/platform/install/types.d.ts +3 -0
  549. package/dist/platform/install/types.d.ts.map +1 -0
  550. package/dist/platform/install/types.js +2 -0
  551. package/dist/platform/install/types.js.map +1 -0
  552. package/dist/platform/paths/repository-layout.d.ts +22 -0
  553. package/dist/platform/paths/repository-layout.d.ts.map +1 -0
  554. package/dist/platform/paths/repository-layout.js +11 -0
  555. package/dist/platform/paths/repository-layout.js.map +1 -0
  556. package/dist/platform/process/command-error.d.ts.map +1 -0
  557. package/dist/platform/process/command-error.js.map +1 -0
  558. package/dist/platform/process/shell-quote.d.ts +22 -0
  559. package/dist/platform/process/shell-quote.d.ts.map +1 -0
  560. package/dist/platform/process/shell-quote.js +34 -0
  561. package/dist/platform/process/shell-quote.js.map +1 -0
  562. package/dist/platform/version/version.d.ts.map +1 -0
  563. package/dist/{core → platform/version}/version.js +16 -3
  564. package/dist/platform/version/version.js.map +1 -0
  565. package/package.json +41 -15
  566. package/assets/skills/comet/scripts/comet-archive.sh +0 -311
  567. package/assets/skills/comet/scripts/comet-env.sh +0 -110
  568. package/assets/skills/comet/scripts/comet-guard.sh +0 -778
  569. package/assets/skills/comet/scripts/comet-handoff.sh +0 -390
  570. package/assets/skills/comet/scripts/comet-hook-guard.sh +0 -336
  571. package/assets/skills/comet/scripts/comet-state.sh +0 -1338
  572. package/assets/skills/comet/scripts/comet-yaml-validate.sh +0 -225
  573. package/dist/cli/index.js +0 -84
  574. package/dist/cli/index.js.map +0 -1
  575. package/dist/commands/doctor.d.ts.map +0 -1
  576. package/dist/commands/doctor.js.map +0 -1
  577. package/dist/commands/i18n.d.ts +0 -4
  578. package/dist/commands/i18n.d.ts.map +0 -1
  579. package/dist/commands/i18n.js.map +0 -1
  580. package/dist/commands/init.d.ts.map +0 -1
  581. package/dist/commands/init.js.map +0 -1
  582. package/dist/commands/status.d.ts.map +0 -1
  583. package/dist/commands/status.js +0 -108
  584. package/dist/commands/status.js.map +0 -1
  585. package/dist/commands/uninstall.d.ts.map +0 -1
  586. package/dist/commands/uninstall.js.map +0 -1
  587. package/dist/commands/update.d.ts.map +0 -1
  588. package/dist/commands/update.js.map +0 -1
  589. package/dist/core/codegraph.d.ts.map +0 -1
  590. package/dist/core/codegraph.js.map +0 -1
  591. package/dist/core/command-error.d.ts.map +0 -1
  592. package/dist/core/command-error.js.map +0 -1
  593. package/dist/core/detect.d.ts.map +0 -1
  594. package/dist/core/detect.js.map +0 -1
  595. package/dist/core/openspec.d.ts +0 -11
  596. package/dist/core/openspec.d.ts.map +0 -1
  597. package/dist/core/openspec.js.map +0 -1
  598. package/dist/core/platforms.d.ts.map +0 -1
  599. package/dist/core/platforms.js.map +0 -1
  600. package/dist/core/skills.d.ts +0 -58
  601. package/dist/core/skills.d.ts.map +0 -1
  602. package/dist/core/skills.js.map +0 -1
  603. package/dist/core/superpowers.d.ts.map +0 -1
  604. package/dist/core/superpowers.js.map +0 -1
  605. package/dist/core/types.d.ts +0 -2
  606. package/dist/core/types.d.ts.map +0 -1
  607. package/dist/core/uninstall.d.ts.map +0 -1
  608. package/dist/core/uninstall.js.map +0 -1
  609. package/dist/core/version.d.ts.map +0 -1
  610. package/dist/core/version.js.map +0 -1
  611. package/dist/utils/file-system.d.ts.map +0 -1
  612. package/dist/utils/file-system.js.map +0 -1
  613. /package/dist/{cli → app/cli}/index.d.ts +0 -0
  614. /package/dist/{commands → app/commands}/status.d.ts +0 -0
  615. /package/dist/{core → domains/bundle}/types.js +0 -0
  616. /package/dist/{utils → platform/fs}/file-system.d.ts +0 -0
  617. /package/dist/{utils → platform/fs}/file-system.js +0 -0
  618. /package/dist/{core → platform/install}/detect.d.ts +0 -0
  619. /package/dist/{core → platform/install}/platforms.d.ts +0 -0
  620. /package/dist/{core → platform/process}/command-error.d.ts +0 -0
  621. /package/dist/{core → platform/process}/command-error.js +0 -0
  622. /package/dist/{core → platform/version}/version.d.ts +0 -0
  623. /package/scripts/{postinstall.js → install/postinstall.js} +0 -0
@@ -0,0 +1,83 @@
1
+ # Eval Evidence Reference
2
+
3
+ ## Eval choices
4
+
5
+ Before any verification action, show:
6
+
7
+ - `quick` estimated runs, covered components, and token workload.
8
+ - `full` estimated runs, covered components, and token workload.
9
+ - the three choices: `skip / quick / full eval`.
10
+
11
+ If eval is skipped, fails, or records stale-hash evidence, do not enter ready; do not publish or distribute.
12
+
13
+ For ordinary users, the verification path remains single-purpose: daily evaluation goes through
14
+ `comet eval`. `/comet-any` may internally record eval evidence, but must not present the internal
15
+ recording step as a replacement user-facing command.
16
+ For ordinary users, prefer the word "verify" when explaining; do not surface `Publish readiness:`
17
+ as a first-class concept.
18
+
19
+ ## Result recording
20
+
21
+ Eval evidence must produce structured JSON with at least:
22
+
23
+ - the current draft hash.
24
+ - covered entry Skill and internal Node Skills.
25
+ - `workflow-protocol.json` hash.
26
+ - quick or full choice, token workload, and result summary.
27
+ - Bundle compile, safety check, and capability evidence.
28
+
29
+ Only current draft hash eval evidence can advance state. Stale eval evidence may remain on disk for
30
+ audit, but cannot make the current draft ready.
31
+
32
+ ## Human review
33
+
34
+ Passing eval still requires human approval. The review summary must include at least:
35
+
36
+ First run `comet publish review <name> --platform <reference-platform> --json`, then use its
37
+ output to show:
38
+
39
+ - Bundle name, version, and hash.
40
+ - Multiple entry and internal Skill lists.
41
+ - `planHash`, `preferenceHash`, and `reference/resolved-skills.json` real Skill evidence,
42
+ including project-level preference mode, required Skills, `sourceSummaries`, and the composed
43
+ workflow summary.
44
+ - Recommended call order and `preferenceIndex`.
45
+ - Every item that deviates from the preferred order, plus the reason.
46
+ - Whether `.comet/skill-preferences.yaml` drifted after Factory initialization; `advisory` mode
47
+ warns, while `strict` mode blocks.
48
+ - Whether the stable composed Skill Bundle required capability set
49
+ `skills/scripts/rules/hooks/references` is complete, and whether `scripts/rules/hooks` remain
50
+ the required control plane.
51
+ - Whether `comet/skill.yaml`, `comet/guardrails.yaml`, `comet/checks.yaml`, and `comet/eval.yaml`
52
+ were generated.
53
+ - Whether `hooks/*.yaml` are treated only as portable hook descriptors until
54
+ `comet publish distribute` compiles them for the target platform.
55
+ - Capability gaps and executable disclosures.
56
+ - eval choice, token workload, and result summary.
57
+ - `Validate this Skill` and the next action so the user knows why the candidate can become ready
58
+ or is blocked.
59
+
60
+ Readiness blockers stop publishing. If missing current draft hash eval evidence, missing human
61
+ approval, required capability gaps, or unconfirmed executable disclosures remain, the flow must stop
62
+ in review and cannot continue to publish.
63
+
64
+ Only after explicit user approval may the agent run `comet publish approve` and publish.
65
+
66
+ ## Install preview
67
+
68
+ Before real distribution, preview is mandatory:
69
+
70
+ ```bash
71
+ comet publish distribute <name> --platform <id> --scope project --preview --json
72
+ ```
73
+
74
+ Preview is a required check, not an optional extra. It should show:
75
+
76
+ - `Install preview`
77
+ - planned files
78
+ - unsupported capability
79
+ - executable disclosures
80
+ - `No files were written`
81
+
82
+ Only after the user confirms the preview result may the Skill remove `--preview` and execute real
83
+ distribution.
@@ -0,0 +1,75 @@
1
+ # Pause Point Author Subagent
2
+
3
+ This file is a portable lane brief, not a platform-native custom agent. If you need a Claude Code custom agent, generate a separate platform agent resource with frontmatter.
4
+
5
+ ## Responsibilities
6
+
7
+ Design the places where the user must pause and choose, plus cross-device recovery. Pause points must be explicit user choices that cannot be bypassed by default recommendations, historical preferences, or automatic advancement.
8
+
9
+ Must cover:
10
+
11
+ - `reference/decision-points.md`
12
+ - `reference/recovery.md`
13
+
14
+ ## Inputs
15
+
16
+ Read the common input from the main session, especially:
17
+
18
+ - `confirm-generate`, `revise-proposal`, and `cancel` from the Skill Creator confirmation page.
19
+ - Eval workload choice: `skip / quick / full eval`.
20
+ - Human approval before installation.
21
+ - Blockers such as unresolved candidates, ambiguity, capability gaps, and executable disclosures.
22
+ - Runner recovery state and cross-device recovery entry.
23
+
24
+ Use file handoff: the main session provides paths instead of pasting large bodies of text. Do not inherit main-session history; use only this brief, common input, workflow protocol, and existing drafts.
25
+
26
+ ## Dispatch Template
27
+
28
+ Use the current platform's subagent mechanism. The shape should include:
29
+
30
+ ```text
31
+ description: "Design user pause points and recovery for <bundle-name>"
32
+ model: <must explicitly specify model>
33
+ prompt:
34
+ You are the pause point author subagent.
35
+ First read this brief, the common input path, workflow protocol path, Skill draft path, and report file path.
36
+ Start by asking questions: if user choices, blocker recovery, or cross-device state are unclear, return NEEDS_CONTEXT.
37
+ Do not guess or fill in missing pause points.
38
+ Only produce decision-points and recovery drafts; do not write Bundle state and do not execute candidate scripts.
39
+ Write the full pause point draft to the report file path and return only a status summary of 15 lines or fewer.
40
+ ```
41
+
42
+ ## Output Requirements
43
+
44
+ Return a pause point draft that explains:
45
+
46
+ - The trigger condition for every pause point.
47
+ - The choices available to the user.
48
+ - Which Node each choice enters.
49
+ - Where pause point evidence is written.
50
+ - During recovery, how to show current Node, blocking reason, suggested next step, and options.
51
+
52
+ Pause points must fit the current workflow protocol, not merely list original Comet pause points.
53
+
54
+ ## Self-Check
55
+
56
+ Before returning, check:
57
+
58
+ - Every user pause point has trigger condition, options, next Node, and evidence location.
59
+ - Default recommendations, historical preferences, and automatic advancement cannot bypass required pause points.
60
+ - The recovery summary can show current Node, blocking reason, suggested next step, and options.
61
+ - Cross-device recovery does not rely on current-session memory.
62
+ - Pause points fit the current composed Skill instead of copying original Comet pause points.
63
+
64
+ ## Required Claims
65
+
66
+ - `pause:decision-points`
67
+ - `pause:recovery`
68
+
69
+ Missing any claim must block Skill review.
70
+
71
+ ## Status Return
72
+
73
+ Status must be one of `DONE`, `DONE_WITH_CONCERNS`, `NEEDS_CONTEXT`, or `BLOCKED`.
74
+
75
+ Write the full report to the report file path. The summary returned to the main session must be 15 lines or fewer and include status, report path, claims, unresolved concerns, and recovery risks. If status is `BLOCKED` or `NEEDS_CONTEXT`, state exactly what context is missing, what was tried, and what the main session should do.
@@ -0,0 +1,77 @@
1
+ # Reference Author Subagent
2
+
3
+ This file is a portable lane brief, not a platform-native custom agent. If you need a Claude Code custom agent, generate a separate platform agent resource with frontmatter.
4
+
5
+ ## Responsibilities
6
+
7
+ Write and organize the generated Skill's reference layer so audit, recovery, review, and future maintenance have real evidence. The reference layer holds evidence; it does not stuff internal audit content into user-visible `SKILL.md`.
8
+
9
+ Must cover:
10
+
11
+ - `reference/workflow-protocol.json`
12
+ - `reference/resolved-skills.json`
13
+ - `reference/composition-report.md`
14
+ - `reference/authoring-lanes.json`
15
+
16
+ ## Inputs
17
+
18
+ Read the common input from the main session, especially:
19
+
20
+ - Resolved Skill name, source, description, hash, references, rules, scripts, and hooks.
21
+ - `sourceSummaries`, which must come from real `SKILL.md` bodies and direct references.
22
+ - Project preferences, missing or ambiguous candidate handling, deviation reasons, and executable disclosures.
23
+ - The five-phase Comet semantics preserved when users customize existing Comet Skills.
24
+
25
+ Use file handoff: the main session provides paths instead of pasting large bodies of text. Do not read main-session history, and do not copy entire source Skills into reference.
26
+
27
+ ## Dispatch Template
28
+
29
+ Use the current platform's subagent mechanism. The shape should include:
30
+
31
+ ```text
32
+ description: "Organize reference evidence for <bundle-name>"
33
+ model: <must explicitly specify model>
34
+ prompt:
35
+ You are the reference author subagent.
36
+ First read this brief, the common input path, resolved skills path, workflow protocol path, and report file path.
37
+ Start by asking questions: if source evidence, hashes, preference decisions, or executable disclosures are unclear, return NEEDS_CONTEXT.
38
+ Do not guess or fill in missing sources.
39
+ Only produce reference drafts and claims; do not write Bundle state and do not execute candidate scripts.
40
+ Write the full reference draft to the report file path and return only a status summary of 15 lines or fewer.
41
+ ```
42
+
43
+ ## Output Requirements
44
+
45
+ Return a reference draft that explains:
46
+
47
+ - Each workflow protocol Node's goal, guard, next-Node condition, and recovery point.
48
+ - How resolved Skill evidence supports the composed flow.
49
+ - Where composition matches user preferences, where it deviates, and why.
50
+ - Which content belongs in the user-visible flow and which content stays in the reference audit layer.
51
+
52
+ Do not turn reference into copied source Skill prose. Distill it into evidence and protocol that the composed Skill can use.
53
+
54
+ ## Self-Check
55
+
56
+ Before returning, check:
57
+
58
+ - Every source summary traces back to a real `SKILL.md` or direct reference.
59
+ - The workflow protocol explains Node goals, guards, automatic advancement, and recovery.
60
+ - Preferences, missing candidates, ambiguity, deviations, and executable disclosures are recorded.
61
+ - User-visible flow and internal audit content have a clear boundary.
62
+ - No source Skill body was copied wholesale into reference.
63
+
64
+ ## Required Claims
65
+
66
+ - `reference:workflow-protocol`
67
+ - `reference:resolved-skills`
68
+ - `reference:composition-report`
69
+ - `reference:authoring-lanes`
70
+
71
+ Missing any claim must block Skill review.
72
+
73
+ ## Status Return
74
+
75
+ Status must be one of `DONE`, `DONE_WITH_CONCERNS`, `NEEDS_CONTEXT`, or `BLOCKED`.
76
+
77
+ Write the full report to the report file path. The summary returned to the main session must be 15 lines or fewer and include status, report path, claims, evidence gaps, and concerns. If status is `BLOCKED` or `NEEDS_CONTEXT`, state exactly what source is missing, what was tried, and what the main session should do.
@@ -0,0 +1,81 @@
1
+ # Script Author Subagent
2
+
3
+ This file is a portable lane brief, not a platform-native custom agent. If you need a Claude Code custom agent, generate a separate platform agent resource with frontmatter.
4
+
5
+ ## Responsibilities
6
+
7
+ Design the generated Skill's script contract instead of copying Comet Classic scripts. Scripts must use the current workflow protocol, user-selected Node labels, and real composed Skill outputs to define automatic advancement, exit checks, recovery, and evidence recording.
8
+
9
+ Must cover:
10
+
11
+ - `scripts/workflow-state.mjs`
12
+ - `scripts/workflow-guard.mjs`
13
+ - `scripts/workflow-handoff.mjs`
14
+
15
+ The factory also deterministically generates `scripts/comet-plan.mjs`, `scripts/comet-check.mjs`, and `scripts/comet-hook-guard.mjs` from the same `workflow-protocol.json`. Do not duplicate or redesign those three; your contract is for the `workflow-*.mjs` scripts that the Skill core author and entry author reference.
16
+
17
+ ## Inputs
18
+
19
+ Read the common input from the main session, especially:
20
+
21
+ - `reference/workflow-protocol.json`
22
+ - `workflow.kind`, `workflow.nodes`, `engineMode`, and `runnerMode` from `plan.json`, plus the
23
+ derived internal `callChain` source inventory from Skill Creator metadata
24
+ - `reference/resolved-skills.json`
25
+ - Protected `.comet.yaml` semantics when users customize existing Comet Skills; `comet-five-phase-overlay` primary state comes only from `openspec/changes/<name>/.comet.yaml` and must not create `.comet/runs/<workflow>/state.json` as the Comet overlay primary state.
26
+
27
+ Use file handoff: the main session provides paths instead of pasting large bodies of text. Do not read main-session history or ask the user to restate content already written to artifacts.
28
+
29
+ ## Dispatch Template
30
+
31
+ Use the current platform's subagent mechanism. The shape should include:
32
+
33
+ ```text
34
+ description: "Write the script contract for <bundle-name>"
35
+ model: <must explicitly specify model>
36
+ prompt:
37
+ You are the script author subagent.
38
+ First read this brief, the common input path, workflow protocol path, resolved skills path, and report file path.
39
+ Start by asking questions: if script boundaries, Node completion conditions, state writes, or recovery semantics are unclear, return NEEDS_CONTEXT.
40
+ Do not guess or fill in missing protocol details.
41
+ Do not call comet bundle, comet publish, or comet skill, and do not execute candidate Skill scripts.
42
+ Write the full script contract to the report file path and return only a status summary of 15 lines or fewer.
43
+ ```
44
+
45
+ ## Output Requirements
46
+
47
+ Return a script contract draft that explains, for each script:
48
+
49
+ - Which state it reads.
50
+ - Which state and evidence it writes.
51
+ - How it decides whether the current Node goal is complete.
52
+ - How it outputs `NEXT:`, `SKILL:`, and blocking reasons.
53
+ - How it stays in the current Node when the Node is incomplete instead of forcing an exit.
54
+ - How it supports cross-device recovery.
55
+ - For `comet-five-phase-overlay`, how it blocks when there is no active change or multiple active changes and asks the user to choose.
56
+
57
+ Exit checks must come from the current workflow protocol and composed Skill goal, not copied Comet Classic scripts.
58
+
59
+ ## Self-Check
60
+
61
+ Before returning, check:
62
+
63
+ - Every script has inputs, outputs, state reads/writes, evidence writes, and failure behavior.
64
+ - Node completion conditions come from the workflow protocol, not fixed Node labels.
65
+ - `NEXT:` and `SKILL:` output conditions can be directly referenced by the Skill core author.
66
+ - Cross-device recovery does not rely on current-session memory.
67
+ - No candidate script was executed and no Bundle state was written.
68
+
69
+ ## Required Claims
70
+
71
+ - `script:workflow-state`
72
+ - `script:workflow-guard`
73
+ - `script:workflow-handoff`
74
+
75
+ Missing any claim must block Skill review.
76
+
77
+ ## Status Return
78
+
79
+ Status must be one of `DONE`, `DONE_WITH_CONCERNS`, `NEEDS_CONTEXT`, or `BLOCKED`.
80
+
81
+ Write the full report to the report file path. The summary returned to the main session must be 15 lines or fewer and include status, report path, claims, test/check notes, and concerns. If status is `BLOCKED` or `NEEDS_CONTEXT`, state exactly what context is missing, what was tried, and what the main session should do.
@@ -0,0 +1,129 @@
1
+ # Skill Core Author Subagent
2
+
3
+ This file is a portable lane brief, not a platform-native custom agent. If you need a Claude Code custom agent, generate a separate platform agent resource with frontmatter.
4
+
5
+ ## Responsibilities
6
+
7
+ Write the user-visible core content for internal Node Skills. The entry Skill is owned separately by the workflow entry author. The goal is a Comet-like multi-Node workflow, not a simple chain of source Skills or a copied source Skill body.
8
+
9
+ Must cover:
10
+
11
+ - Every internal Node Skill
12
+ - Node invocation semantics in `comet/skill.yaml`
13
+ - Every `node-skill:<skill-name>` claim
14
+
15
+ ## Authored Zone (what you write)
16
+
17
+ The generator composes each Node SKILL.md from a deterministic **Auto zone** (frontmatter, Node Goal, Entry Check, Skill Implementation, Required Skill Calls, Output Schemas, Evidence Record, Guardrails, Exit Check, Recovery) plus an **Authored zone** (`## Guidance`) that YOU write. You do NOT write the whole file — only the Guidance body. The main session records your output via `comet creator authoring-record <name> --lane skill-core --file <out.json>`; the artifact `content` for `../<node-skill>/SKILL.md` is the Guidance body.
18
+
19
+ Quality bar: a real Comet phase skill (e.g. `comet-build/SKILL.md`); see `reference/authored-zone-example.md` for a full sample at the expected level. Author decision content, not boilerplate. Use `###` subsections within Guidance so they nest under `## Guidance`:
20
+
21
+ - `### Prerequisites` — what must be true before this Node starts.
22
+ - `### Steps` — the ordered, domain-specific steps; reference the bound Skill by name and say when to call it (do not copy its body).
23
+ - `### Completion reasoning` — when the Node is genuinely done (beyond the mechanical Exit Check), and the judgment calls involved.
24
+ - `### Red flags` — the failure modes that look like progress but are not.
25
+
26
+ Here is a concrete excerpt showing the expected depth for a "Research" substance node. Notice: it is **decision content** (when to stop, what counts as enough, what to reject), not a restatement of the route table or output schema.
27
+
28
+ ```markdown
29
+ ### Prerequisites
30
+
31
+ - The entry Decision Core has confirmed the research topic and scope.
32
+ - `research-skill` is resolvable in the project Skill pool; if missing, stop and ask the user before improvising.
33
+
34
+ ### Steps
35
+
36
+ 1. Load `research-skill` and follow its discovery method for the confirmed topic. Do not substitute a generic web search when the project Skill defines a specific source order.
37
+ 2. Gather sources in priority order; for each source, capture origin, date, and the claim you will reuse. Reject sources that fail the project's credibility bar rather than noting them as "weak".
38
+ 3. Distill findings into note files under `notes/*.md` — one note per distinct claim, with a verbatim quote and the source pointer. Synthesis happens in the writer node, not here.
39
+ 4. Record the `research.notes.v1` `summary` evidence with a one-paragraph distillation and the count of notes produced.
40
+
41
+ ### Completion reasoning
42
+
43
+ This node is complete ONLY when both hold: (a) the `summary` evidence is recorded, and (b) at least one artifact matches `notes/*.md`. Do not exit merely because the step list is exhausted — if notes are sparse relative to the topic scope, continue researching rather than declaring done. The Exit Check script enforces the artifact + evidence requirement mechanically; your job is to judge whether the research is genuinely sufficient.
44
+
45
+ ### Red flags
46
+
47
+ - Exiting after recording `summary` but producing zero `notes/*.md` files (the guardrail will block this — do not attempt to bypass).
48
+ - Copying source text into notes without a quote marker or source pointer.
49
+ - Advancing to the Write node while a source is still "to be verified" — verification belongs in this node.
50
+ - Treating a single source as sufficient for a multi-perspective topic.
51
+ ```
52
+
53
+ Node mode (from the protocol):
54
+
55
+ - **substance** Node (workflow-kernel default): rich Guidance is mandatory. Without it the Node renders as `AUTHORING PENDING` and the Bundle cannot become ready.
56
+ - **delegates** Node (comet-five-phase-overlay, delegating to an installed rich Skill): a short Guidance note is acceptable — the delegate carries the richness; do not duplicate it.
57
+
58
+ ## Inputs
59
+
60
+ Read the common input from the main session, especially:
61
+
62
+ - User-confirmed Node labels and editable name fields.
63
+ - Node goals, `requiredSkillCalls`, and automatic advancement conditions from
64
+ `reference/workflow-protocol.json`.
65
+ - Real Skill summaries from `reference/resolved-skills.json`.
66
+ - The script author's `NEXT:`, `SKILL:`, guard, and recovery contracts.
67
+
68
+ Use file handoff: the main session provides paths instead of pasting large bodies of text. Do not inherit main-session history; use only this brief, common input, script contracts, and reference evidence.
69
+
70
+ ## Dispatch Template
71
+
72
+ Use the current platform's subagent mechanism. The shape should include:
73
+
74
+ ```text
75
+ description: "Write Skill core content for <bundle-name>"
76
+ model: <must explicitly specify model>
77
+ prompt:
78
+ You are the Skill core author subagent.
79
+ First read this brief, the common input path, script contract path, reference evidence path, and report file path.
80
+ Start by asking questions: if Node labels, required Skill calls, automatic advancement, or user pause points are unclear, return NEEDS_CONTEXT.
81
+ Do not guess or fill in missing flow details.
82
+ Only write internal Node Skill drafts; do not write entry Skill, Bundle state, or execute candidate scripts.
83
+ Write the full Skill draft to the report file path and return only a status summary of 15 lines or fewer.
84
+ ```
85
+
86
+ ## Output Requirements
87
+
88
+ Return internal Node Skill drafts that show:
89
+
90
+ - Internal Node Skills own a single-Node goal, required Skill calls, completion evidence, and script guards.
91
+ - If the protocol declares `requiredSkillCalls`, the matching Node must state the target Node,
92
+ required Skill, applies-to scope, and evidence requirement. Subagent cases must also tell the
93
+ implementation subagent prompt to load that Skill.
94
+ - If the Node goal is not complete, continue working instead of exiting because a checklist is exhausted.
95
+ - Automatic advancement must come from script outputs `NEXT:` and `SKILL:`, not agent guesses.
96
+ - Nested Skill calls use only Skill names, not provider prefixes.
97
+ - When users customize existing Comet Skills, preserve `open / design / build / verify / archive` and `.comet.yaml` semantics.
98
+ - For arbitrary Skill composition, organize the result as a Comet-like multi-Node workflow.
99
+
100
+ Forbidden:
101
+
102
+ - Copying full source Skill bodies.
103
+ - Provider prefixes such as `Superpowers writing-plans` or `OpenSpec openspec-propose`.
104
+ - Mixing Chinese process sentences into English Skills.
105
+ - Leaking audit reports, source hashes, or internal metadata into user-visible `SKILL.md`.
106
+
107
+ ## Self-Check
108
+
109
+ Before returning, check:
110
+
111
+ - Every Node explains required Skill calls, completion evidence, script guards, and recovery entry.
112
+ - Every `requiredSkillCalls` item has a clear load instruction and evidence requirement in the
113
+ matching Node Skill.
114
+ - Automatic advancement references script outputs `NEXT:` and `SKILL:`.
115
+ - Skill calls use only Skill names, not provider prefixes.
116
+ - User-visible English prose does not mix in Chinese process sentences.
117
+ - No source Skill body was copied wholesale.
118
+
119
+ ## Required Claims
120
+
121
+ - One `node-skill:<skill-name>` for every internal Node Skill
122
+
123
+ Missing any claim must block Skill review.
124
+
125
+ ## Status Return
126
+
127
+ Status must be one of `DONE`, `DONE_WITH_CONCERNS`, `NEEDS_CONTEXT`, or `BLOCKED`.
128
+
129
+ Write the full report to the report file path. The summary returned to the main session must be 15 lines or fewer and include status, report path, claims, unresolved concerns, and recommended rework. If status is `BLOCKED` or `NEEDS_CONTEXT`, state exactly what context is missing, what was tried, and what the main session should do.
@@ -0,0 +1,124 @@
1
+ # Skill Review Subagent
2
+
3
+ This file is a portable lane brief, not a platform-native custom agent. If you need a Claude Code custom agent, generate a separate platform agent resource with frontmatter.
4
+
5
+ ## Responsibilities
6
+
7
+ Review the other subagents' artifacts and claims, then decide whether the candidate Skill is usable like Comet. The review must give a clear conclusion: `Review passed` or blocking findings.
8
+
9
+ Must cover:
10
+
11
+ - `reference/skill-review.md`
12
+ - `reference/authoring-lanes.json`
13
+
14
+ ## Inputs
15
+
16
+ Read the common input from the main session, plus all artifacts, claims, and findings returned by the other five author roles.
17
+
18
+ Use file handoff: the main session provides paths instead of pasting large bodies of text. Read the overview, common input, five author report files, artifact paths, and claims. Do not use main-session history as a substitute for artifact evidence.
19
+
20
+ ## Dispatch Template
21
+
22
+ Use the current platform's subagent mechanism. The shape should include:
23
+
24
+ ```text
25
+ description: "Review the Comet-like Skill outputs for <bundle-name>"
26
+ model: <must explicitly specify model>
27
+ prompt:
28
+ You are the Skill review subagent.
29
+ First read this brief, the common input path, five author report paths, artifact paths, claim list, and report file path.
30
+ Do not trust author reports; author reports are claims that must be cross-checked against artifacts and claims.
31
+ Do not tell the reviewer not to flag an issue, and do not pre-classify any issue as Minor.
32
+ Review is read-only. Do not modify the working tree, index, HEAD, or branch state.
33
+ Write the full review to the report file path and return both verdicts.
34
+ ```
35
+
36
+ ## Review Method
37
+
38
+ Do not trust author reports. Inspect artifacts and claims first, then decide whether the authors' claims hold. Do not downgrade severity because "the author says this is intentional."
39
+
40
+ The review must provide two verdicts:
41
+
42
+ - Skill contract fit: whether the output satisfies the user-confirmed goal, workflow protocol,
43
+ `requiredSkillCalls`, claims, Node advancement, script guards, pause points, and recovery
44
+ requirements.
45
+ - Usability quality: whether it is as usable as Comet: clear, recoverable, auditable, and not overexposing internal metadata.
46
+
47
+ Evidence must cite artifact paths and claims. Do not write only "looks fine."
48
+
49
+ ## Blocking Conditions
50
+
51
+ Any of these must produce blocking findings:
52
+
53
+ - Missing `reference/skill-review.md`.
54
+ - Missing `reference/authoring-lanes.json`.
55
+ - Missing critical claims from the workflow entry author, script author, reference author, Skill core author, or pause point author.
56
+ - Entry Skill writes Node routes as multiple immediate Node Skill loads instead of routing only the current Node through state scripts.
57
+ - Missing `workflow-state.mjs`, `workflow-guard.mjs`, or `workflow-handoff.mjs` contract.
58
+ - Missing any of the six generated scripts (`workflow-state`, `workflow-guard`, `workflow-handoff`, `comet-plan`, `comet-check`, `comet-hook-guard`) in the package.
59
+ - Missing workflow entry, or Skill core has no internal Node Skill.
60
+ - Node advancement is not expressed through script outputs `NEXT:` and `SKILL:`.
61
+ - `requiredSkillCalls` declared by the workflow protocol are not clearly required in the matching
62
+ Node Skill, or a subagent handoff Node does not require the implementation subagent prompt to load that
63
+ Skill.
64
+ - User pause points are missing, or can be bypassed by defaults.
65
+ - English Skills mix in Chinese process sentences.
66
+ - Nested Skill calls use provider prefixes.
67
+ - User-visible `SKILL.md` leaks generated audit sections, source hashes, or internal metadata.
68
+ - Customizing existing Comet Skills replaces or removes `open / design / build / verify / archive`, `.comet.yaml`, decision point, verify-result-transition, or archive-delta-sync.
69
+ - Arbitrary Skill composition is missing automatic advancement, script guards, user pause points, recovery, or current draft hash eval evidence.
70
+
71
+ ## Severity
72
+
73
+ - Critical: makes the generated Skill unusable, unrecoverable, unauditable, or breaks protected `/comet` semantics.
74
+ - Important: makes the Node flow, script guards, pause points, Skill calls, or evidence chain untrustworthy; must be fixed before ready.
75
+ - Minor: clarity, naming, or maintainability improvements that do not block ready.
76
+
77
+ ## Output Requirements
78
+
79
+ Return:
80
+
81
+ - `reference/skill-review.md`
82
+ - `reference/authoring-lanes.json`
83
+ - `review:skill-review`
84
+ - Final `Review passed` or blocking findings.
85
+
86
+ Output must include:
87
+
88
+ - Two verdicts: Skill contract fit and usability quality.
89
+ - Strengths: concrete artifacts that work well.
90
+ - Issues grouped by Critical, Important, and Minor.
91
+ - For every finding: artifact path, claim, problem, impact, and recommended fix.
92
+ - `Review passed` or blocking findings.
93
+
94
+ If any Critical or Important issue exists, do not return `Review passed`. If an author status is `BLOCKED` or `NEEDS_CONTEXT`, return blocking findings; the main session must add context, split the task, switch to a stronger model, or ask the user, and must not continue assembly.
95
+
96
+ ## Multi-vote Review (depth-aware)
97
+
98
+ The skill-review lane is the DAG barrier and runs after every author lane. Its verdict is recorded with `comet creator authoring-record <name> --lane skill-review --file <review.json>` and becomes the real `skill-review.md` / `authoring-lanes.json` evidence — it is NOT a hardcoded approval.
99
+
100
+ - `depth: full` → dispatch N=3 independent reviewers, each holding exactly one lens (`contract-fit`, `usability`, `evidence-trace`, `self-consistency`), none seeing the others' conclusions. Cross-voter findings are de-duplicated, then a finding is confirmed only by majority. Repeat until `dryThreshold` consecutive rounds find no new Critical/Important (capped by `maxRounds`). `self-consistency` must cross-check that referenced commands resolve, the declared package matches the generated package, and no phantom command reference (a name that is not a registered command) remains.
101
+ - `depth: quick` → a single reviewer, single round.
102
+ - `passed` is `true` only when zero Critical/Important findings remain. Minor findings are recorded but do not block.
103
+
104
+ The recorded review object must match this shape (validated by `authoring-record`):
105
+
106
+ ```json
107
+ {
108
+ "lane": "skill-review",
109
+ "status": "DONE",
110
+ "review": {
111
+ "passed": true,
112
+ "evidenceSource": "llm-multivote",
113
+ "voters": 3,
114
+ "lenses": ["contract-fit", "usability", "evidence-trace", "self-consistency"],
115
+ "rounds": 2,
116
+ "findings": [
117
+ { "severity": "minor", "path": "SKILL.md", "problem": "Wording nit.", "fix": "Rephrase." }
118
+ ],
119
+ "reviewedAt": "2026-06-28T00:00:00.000Z"
120
+ }
121
+ }
122
+ ```
123
+
124
+ A `passed: false` review is a readiness blocker (publish cannot proceed); a missing review is a warning (the package still carries an honest `deterministic-check-only` placeholder, never a fabricated approval).