@rpamis/comet 0.3.8 → 0.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (627) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +381 -234
  3. package/assets/manifest.json +33 -12
  4. package/assets/skills/comet/SKILL.md +87 -102
  5. package/assets/skills/comet/reference/auto-transition.md +1 -1
  6. package/assets/skills/comet/reference/comet-yaml-fields.md +11 -4
  7. package/assets/skills/comet/reference/context-recovery.md +12 -2
  8. package/assets/skills/comet/reference/debug-gate.md +17 -1
  9. package/assets/skills/comet/reference/decision-point.md +13 -2
  10. package/assets/skills/comet/reference/dirty-worktree.md +59 -59
  11. package/assets/skills/comet/reference/intent-frame.md +74 -0
  12. package/assets/skills/comet/reference/scripts.md +69 -0
  13. package/assets/skills/comet/reference/subagent-dispatch.md +79 -23
  14. package/assets/skills/comet/rules/comet-phase-guard.en.md +43 -11
  15. package/assets/skills/comet/rules/comet-phase-guard.md +44 -11
  16. package/assets/skills/comet/runtime/classic/checks.yaml +6 -0
  17. package/assets/skills/comet/runtime/classic/guardrails.yaml +13 -0
  18. package/assets/skills/comet/runtime/classic/skill.yaml +122 -0
  19. package/assets/skills/comet/scripts/comet-archive.mjs +3 -0
  20. package/assets/skills/comet/scripts/comet-env.mjs +15 -0
  21. package/assets/skills/comet/scripts/comet-guard.mjs +3 -0
  22. package/assets/skills/comet/scripts/comet-handoff.mjs +3 -0
  23. package/assets/skills/comet/scripts/comet-hook-guard.mjs +3 -0
  24. package/assets/skills/comet/scripts/comet-intent.mjs +3 -0
  25. package/assets/skills/comet/scripts/comet-runtime.mjs +12857 -0
  26. package/assets/skills/comet/scripts/comet-state.mjs +3 -0
  27. package/assets/skills/comet/scripts/comet-yaml-validate.mjs +3 -0
  28. package/assets/skills/comet-any/SKILL.md +118 -0
  29. package/assets/skills/comet-any/reference/authored-zone-example.md +100 -0
  30. package/assets/skills/comet-any/reference/authoring-protocol.json +91 -0
  31. package/assets/skills/comet-any/reference/authoring-subagents.md +102 -0
  32. package/assets/skills/comet-any/reference/bundle-authoring.md +166 -0
  33. package/assets/skills/comet-any/reference/eval-provider.md +83 -0
  34. package/assets/skills/comet-any/reference/subagents/pause-points-author.md +75 -0
  35. package/assets/skills/comet-any/reference/subagents/reference-author.md +77 -0
  36. package/assets/skills/comet-any/reference/subagents/script-author.md +81 -0
  37. package/assets/skills/comet-any/reference/subagents/skill-core-author.md +129 -0
  38. package/assets/skills/comet-any/reference/subagents/skill-reviewer.md +124 -0
  39. package/assets/skills/comet-any/reference/subagents/workflow-entry-author.md +100 -0
  40. package/assets/skills/comet-archive/SKILL.md +25 -15
  41. package/assets/skills/comet-build/SKILL.md +51 -40
  42. package/assets/skills/comet-design/SKILL.md +14 -18
  43. package/assets/skills/comet-hotfix/SKILL.md +33 -43
  44. package/assets/skills/comet-open/SKILL.md +28 -21
  45. package/assets/skills/comet-tweak/SKILL.md +71 -65
  46. package/assets/skills/comet-verify/SKILL.md +31 -35
  47. package/assets/skills-zh/comet/SKILL.md +88 -102
  48. package/assets/skills-zh/comet/reference/auto-transition.md +3 -3
  49. package/assets/skills-zh/comet/reference/comet-yaml-fields.md +11 -4
  50. package/assets/skills-zh/comet/reference/context-recovery.md +12 -2
  51. package/assets/skills-zh/comet/reference/debug-gate.md +19 -3
  52. package/assets/skills-zh/comet/reference/decision-point.md +13 -2
  53. package/assets/skills-zh/comet/reference/dirty-worktree.md +59 -59
  54. package/assets/skills-zh/comet/reference/intent-frame.md +74 -0
  55. package/assets/skills-zh/comet/reference/scripts.md +69 -0
  56. package/assets/skills-zh/comet/reference/subagent-dispatch.md +79 -23
  57. package/assets/skills-zh/comet/runtime/classic/checks.yaml +6 -0
  58. package/assets/skills-zh/comet/runtime/classic/guardrails.yaml +13 -0
  59. package/assets/skills-zh/comet/runtime/classic/skill.yaml +122 -0
  60. package/assets/skills-zh/comet-any/SKILL.md +118 -0
  61. package/assets/skills-zh/comet-any/reference/authored-zone-example.md +100 -0
  62. package/assets/skills-zh/comet-any/reference/authoring-protocol.json +91 -0
  63. package/assets/skills-zh/comet-any/reference/authoring-subagents.md +107 -0
  64. package/assets/skills-zh/comet-any/reference/bundle-authoring.md +166 -0
  65. package/assets/skills-zh/comet-any/reference/eval-provider.md +66 -0
  66. package/assets/skills-zh/comet-any/reference/subagents/pause-points-author.md +79 -0
  67. package/assets/skills-zh/comet-any/reference/subagents/reference-author.md +81 -0
  68. package/assets/skills-zh/comet-any/reference/subagents/script-author.md +84 -0
  69. package/assets/skills-zh/comet-any/reference/subagents/skill-core-author.md +129 -0
  70. package/assets/skills-zh/comet-any/reference/subagents/skill-reviewer.md +124 -0
  71. package/assets/skills-zh/comet-any/reference/subagents/workflow-entry-author.md +98 -0
  72. package/assets/skills-zh/comet-archive/SKILL.md +25 -15
  73. package/assets/skills-zh/comet-build/SKILL.md +54 -43
  74. package/assets/skills-zh/comet-design/SKILL.md +16 -20
  75. package/assets/skills-zh/comet-hotfix/SKILL.md +37 -47
  76. package/assets/skills-zh/comet-open/SKILL.md +30 -23
  77. package/assets/skills-zh/comet-tweak/SKILL.md +70 -63
  78. package/assets/skills-zh/comet-verify/SKILL.md +30 -32
  79. package/bin/comet.js +1 -1
  80. package/dist/{cli → app/cli}/index.d.ts.map +1 -1
  81. package/dist/app/cli/index.js +430 -0
  82. package/dist/app/cli/index.js.map +1 -0
  83. package/dist/app/commands/bundle.d.ts +51 -0
  84. package/dist/app/commands/bundle.d.ts.map +1 -0
  85. package/dist/app/commands/bundle.js +387 -0
  86. package/dist/app/commands/bundle.js.map +1 -0
  87. package/dist/app/commands/creator.d.ts +14 -0
  88. package/dist/app/commands/creator.d.ts.map +1 -0
  89. package/dist/app/commands/creator.js +82 -0
  90. package/dist/app/commands/creator.js.map +1 -0
  91. package/dist/app/commands/dashboard.d.ts +16 -0
  92. package/dist/app/commands/dashboard.d.ts.map +1 -0
  93. package/dist/app/commands/dashboard.js +53 -0
  94. package/dist/app/commands/dashboard.js.map +1 -0
  95. package/dist/{commands → app/commands}/doctor.d.ts +1 -1
  96. package/dist/app/commands/doctor.d.ts.map +1 -0
  97. package/dist/{commands → app/commands}/doctor.js +114 -60
  98. package/dist/app/commands/doctor.js.map +1 -0
  99. package/dist/app/commands/eval.d.ts +17 -0
  100. package/dist/app/commands/eval.d.ts.map +1 -0
  101. package/dist/app/commands/eval.js +169 -0
  102. package/dist/app/commands/eval.js.map +1 -0
  103. package/dist/app/commands/i18n.d.ts +4 -0
  104. package/dist/app/commands/i18n.d.ts.map +1 -0
  105. package/dist/app/commands/i18n.js +174 -0
  106. package/dist/app/commands/i18n.js.map +1 -0
  107. package/dist/{commands → app/commands}/init.d.ts +6 -1
  108. package/dist/app/commands/init.d.ts.map +1 -0
  109. package/dist/app/commands/init.js +402 -0
  110. package/dist/app/commands/init.js.map +1 -0
  111. package/dist/app/commands/platform-select-prompt.d.ts +38 -0
  112. package/dist/app/commands/platform-select-prompt.d.ts.map +1 -0
  113. package/dist/app/commands/platform-select-prompt.js +141 -0
  114. package/dist/app/commands/platform-select-prompt.js.map +1 -0
  115. package/dist/app/commands/publish.d.ts +7 -0
  116. package/dist/app/commands/publish.d.ts.map +1 -0
  117. package/dist/app/commands/publish.js +14 -0
  118. package/dist/app/commands/publish.js.map +1 -0
  119. package/dist/app/commands/skill.d.ts +23 -0
  120. package/dist/app/commands/skill.d.ts.map +1 -0
  121. package/dist/app/commands/skill.js +208 -0
  122. package/dist/app/commands/skill.js.map +1 -0
  123. package/dist/app/commands/status.d.ts.map +1 -0
  124. package/dist/app/commands/status.js +159 -0
  125. package/dist/app/commands/status.js.map +1 -0
  126. package/dist/{commands → app/commands}/uninstall.d.ts +1 -1
  127. package/dist/app/commands/uninstall.d.ts.map +1 -0
  128. package/dist/{commands → app/commands}/uninstall.js +37 -18
  129. package/dist/app/commands/uninstall.js.map +1 -0
  130. package/dist/{commands → app/commands}/update.d.ts +6 -4
  131. package/dist/app/commands/update.d.ts.map +1 -0
  132. package/dist/{commands → app/commands}/update.js +77 -46
  133. package/dist/app/commands/update.js.map +1 -0
  134. package/dist/config/repository-layout.json +98 -0
  135. package/dist/domains/bundle/authoring.d.ts +82 -0
  136. package/dist/domains/bundle/authoring.d.ts.map +1 -0
  137. package/dist/domains/bundle/authoring.js +185 -0
  138. package/dist/domains/bundle/authoring.js.map +1 -0
  139. package/dist/domains/bundle/bundle-platform.d.ts +39 -0
  140. package/dist/domains/bundle/bundle-platform.d.ts.map +1 -0
  141. package/dist/domains/bundle/bundle-platform.js +287 -0
  142. package/dist/domains/bundle/bundle-platform.js.map +1 -0
  143. package/dist/domains/bundle/candidates.d.ts +29 -0
  144. package/dist/domains/bundle/candidates.d.ts.map +1 -0
  145. package/dist/domains/bundle/candidates.js +37 -0
  146. package/dist/domains/bundle/candidates.js.map +1 -0
  147. package/dist/domains/bundle/compatibility-benchmark.d.ts +12 -0
  148. package/dist/domains/bundle/compatibility-benchmark.d.ts.map +1 -0
  149. package/dist/domains/bundle/compatibility-benchmark.js +224 -0
  150. package/dist/domains/bundle/compatibility-benchmark.js.map +1 -0
  151. package/dist/domains/bundle/compiler.d.ts +5 -0
  152. package/dist/domains/bundle/compiler.d.ts.map +1 -0
  153. package/dist/domains/bundle/compiler.js +106 -0
  154. package/dist/domains/bundle/compiler.js.map +1 -0
  155. package/dist/domains/bundle/distribute.d.ts +33 -0
  156. package/dist/domains/bundle/distribute.d.ts.map +1 -0
  157. package/dist/domains/bundle/distribute.js +166 -0
  158. package/dist/domains/bundle/distribute.js.map +1 -0
  159. package/dist/domains/bundle/draft.d.ts +19 -0
  160. package/dist/domains/bundle/draft.d.ts.map +1 -0
  161. package/dist/domains/bundle/draft.js +82 -0
  162. package/dist/domains/bundle/draft.js.map +1 -0
  163. package/dist/domains/bundle/eval.d.ts +36 -0
  164. package/dist/domains/bundle/eval.d.ts.map +1 -0
  165. package/dist/domains/bundle/eval.js +501 -0
  166. package/dist/domains/bundle/eval.js.map +1 -0
  167. package/dist/domains/bundle/factory-compose.d.ts +12 -0
  168. package/dist/domains/bundle/factory-compose.d.ts.map +1 -0
  169. package/dist/domains/bundle/factory-compose.js +309 -0
  170. package/dist/domains/bundle/factory-compose.js.map +1 -0
  171. package/dist/domains/bundle/factory-guide.d.ts +37 -0
  172. package/dist/domains/bundle/factory-guide.d.ts.map +1 -0
  173. package/dist/domains/bundle/factory-guide.js +96 -0
  174. package/dist/domains/bundle/factory-guide.js.map +1 -0
  175. package/dist/domains/bundle/factory-plan.d.ts +48 -0
  176. package/dist/domains/bundle/factory-plan.d.ts.map +1 -0
  177. package/dist/domains/bundle/factory-plan.js +172 -0
  178. package/dist/domains/bundle/factory-plan.js.map +1 -0
  179. package/dist/domains/bundle/factory-proposal.d.ts +31 -0
  180. package/dist/domains/bundle/factory-proposal.d.ts.map +1 -0
  181. package/dist/domains/bundle/factory-proposal.js +225 -0
  182. package/dist/domains/bundle/factory-proposal.js.map +1 -0
  183. package/dist/domains/bundle/factory-resolve.d.ts +11 -0
  184. package/dist/domains/bundle/factory-resolve.d.ts.map +1 -0
  185. package/dist/domains/bundle/factory-resolve.js +121 -0
  186. package/dist/domains/bundle/factory-resolve.js.map +1 -0
  187. package/dist/domains/bundle/factory.d.ts +17 -0
  188. package/dist/domains/bundle/factory.d.ts.map +1 -0
  189. package/dist/domains/bundle/factory.js +511 -0
  190. package/dist/domains/bundle/factory.js.map +1 -0
  191. package/dist/domains/bundle/hash.d.ts +3 -0
  192. package/dist/domains/bundle/hash.d.ts.map +1 -0
  193. package/dist/domains/bundle/hash.js +72 -0
  194. package/dist/domains/bundle/hash.js.map +1 -0
  195. package/dist/domains/bundle/load.d.ts +4 -0
  196. package/dist/domains/bundle/load.d.ts.map +1 -0
  197. package/dist/domains/bundle/load.js +355 -0
  198. package/dist/domains/bundle/load.js.map +1 -0
  199. package/dist/domains/bundle/next-action.d.ts +37 -0
  200. package/dist/domains/bundle/next-action.d.ts.map +1 -0
  201. package/dist/domains/bundle/next-action.js +185 -0
  202. package/dist/domains/bundle/next-action.js.map +1 -0
  203. package/dist/domains/bundle/platform.d.ts +21 -0
  204. package/dist/domains/bundle/platform.d.ts.map +1 -0
  205. package/dist/domains/bundle/platform.js +170 -0
  206. package/dist/domains/bundle/platform.js.map +1 -0
  207. package/dist/domains/bundle/preferences.d.ts +11 -0
  208. package/dist/domains/bundle/preferences.d.ts.map +1 -0
  209. package/dist/domains/bundle/preferences.js +17 -0
  210. package/dist/domains/bundle/preferences.js.map +1 -0
  211. package/dist/domains/bundle/publish.d.ts +14 -0
  212. package/dist/domains/bundle/publish.d.ts.map +1 -0
  213. package/dist/domains/bundle/publish.js +159 -0
  214. package/dist/domains/bundle/publish.js.map +1 -0
  215. package/dist/domains/bundle/readiness-user-summary.d.ts +25 -0
  216. package/dist/domains/bundle/readiness-user-summary.d.ts.map +1 -0
  217. package/dist/domains/bundle/readiness-user-summary.js +186 -0
  218. package/dist/domains/bundle/readiness-user-summary.js.map +1 -0
  219. package/dist/domains/bundle/review-summary.d.ts +36 -0
  220. package/dist/domains/bundle/review-summary.d.ts.map +1 -0
  221. package/dist/domains/bundle/review-summary.js +348 -0
  222. package/dist/domains/bundle/review-summary.js.map +1 -0
  223. package/dist/domains/bundle/state.d.ts +7 -0
  224. package/dist/domains/bundle/state.d.ts.map +1 -0
  225. package/dist/domains/bundle/state.js +132 -0
  226. package/dist/domains/bundle/state.js.map +1 -0
  227. package/dist/domains/bundle/types.d.ts +347 -0
  228. package/dist/domains/bundle/types.d.ts.map +1 -0
  229. package/dist/domains/bundle/types.js.map +1 -0
  230. package/dist/domains/bundle/user-facing.d.ts +48 -0
  231. package/dist/domains/bundle/user-facing.d.ts.map +1 -0
  232. package/dist/domains/bundle/user-facing.js +73 -0
  233. package/dist/domains/bundle/user-facing.js.map +1 -0
  234. package/dist/domains/bundle/validate.d.ts +5 -0
  235. package/dist/domains/bundle/validate.d.ts.map +1 -0
  236. package/dist/domains/bundle/validate.js +292 -0
  237. package/dist/domains/bundle/validate.js.map +1 -0
  238. package/dist/domains/comet-classic/classic-archive-entry.d.ts +2 -0
  239. package/dist/domains/comet-classic/classic-archive-entry.d.ts.map +1 -0
  240. package/dist/domains/comet-classic/classic-archive-entry.js +4 -0
  241. package/dist/domains/comet-classic/classic-archive-entry.js.map +1 -0
  242. package/dist/domains/comet-classic/classic-archive.d.ts +3 -0
  243. package/dist/domains/comet-classic/classic-archive.d.ts.map +1 -0
  244. package/dist/domains/comet-classic/classic-archive.js +392 -0
  245. package/dist/domains/comet-classic/classic-archive.js.map +1 -0
  246. package/dist/domains/comet-classic/classic-cli.d.ts +15 -0
  247. package/dist/domains/comet-classic/classic-cli.d.ts.map +1 -0
  248. package/dist/domains/comet-classic/classic-cli.js +94 -0
  249. package/dist/domains/comet-classic/classic-cli.js.map +1 -0
  250. package/dist/domains/comet-classic/classic-diagnostics.d.ts +16 -0
  251. package/dist/domains/comet-classic/classic-diagnostics.d.ts.map +1 -0
  252. package/dist/domains/comet-classic/classic-diagnostics.js +57 -0
  253. package/dist/domains/comet-classic/classic-diagnostics.js.map +1 -0
  254. package/dist/domains/comet-classic/classic-evidence.d.ts +10 -0
  255. package/dist/domains/comet-classic/classic-evidence.d.ts.map +1 -0
  256. package/dist/domains/comet-classic/classic-evidence.js +114 -0
  257. package/dist/domains/comet-classic/classic-evidence.js.map +1 -0
  258. package/dist/domains/comet-classic/classic-guard-entry.d.ts +2 -0
  259. package/dist/domains/comet-classic/classic-guard-entry.d.ts.map +1 -0
  260. package/dist/domains/comet-classic/classic-guard-entry.js +4 -0
  261. package/dist/domains/comet-classic/classic-guard-entry.js.map +1 -0
  262. package/dist/domains/comet-classic/classic-guard.d.ts +3 -0
  263. package/dist/domains/comet-classic/classic-guard.d.ts.map +1 -0
  264. package/dist/domains/comet-classic/classic-guard.js +833 -0
  265. package/dist/domains/comet-classic/classic-guard.js.map +1 -0
  266. package/dist/domains/comet-classic/classic-handoff-entry.d.ts +2 -0
  267. package/dist/domains/comet-classic/classic-handoff-entry.d.ts.map +1 -0
  268. package/dist/domains/comet-classic/classic-handoff-entry.js +4 -0
  269. package/dist/domains/comet-classic/classic-handoff-entry.js.map +1 -0
  270. package/dist/domains/comet-classic/classic-handoff.d.ts +3 -0
  271. package/dist/domains/comet-classic/classic-handoff.d.ts.map +1 -0
  272. package/dist/domains/comet-classic/classic-handoff.js +478 -0
  273. package/dist/domains/comet-classic/classic-handoff.js.map +1 -0
  274. package/dist/domains/comet-classic/classic-hook-guard-entry.d.ts +2 -0
  275. package/dist/domains/comet-classic/classic-hook-guard-entry.d.ts.map +1 -0
  276. package/dist/domains/comet-classic/classic-hook-guard-entry.js +4 -0
  277. package/dist/domains/comet-classic/classic-hook-guard-entry.js.map +1 -0
  278. package/dist/domains/comet-classic/classic-hook-guard.d.ts +3 -0
  279. package/dist/domains/comet-classic/classic-hook-guard.d.ts.map +1 -0
  280. package/dist/domains/comet-classic/classic-hook-guard.js +302 -0
  281. package/dist/domains/comet-classic/classic-hook-guard.js.map +1 -0
  282. package/dist/domains/comet-classic/classic-intent-command.d.ts +3 -0
  283. package/dist/domains/comet-classic/classic-intent-command.d.ts.map +1 -0
  284. package/dist/domains/comet-classic/classic-intent-command.js +40 -0
  285. package/dist/domains/comet-classic/classic-intent-command.js.map +1 -0
  286. package/dist/domains/comet-classic/classic-intent-entry.d.ts +2 -0
  287. package/dist/domains/comet-classic/classic-intent-entry.d.ts.map +1 -0
  288. package/dist/domains/comet-classic/classic-intent-entry.js +4 -0
  289. package/dist/domains/comet-classic/classic-intent-entry.js.map +1 -0
  290. package/dist/domains/comet-classic/classic-intent.d.ts +79 -0
  291. package/dist/domains/comet-classic/classic-intent.d.ts.map +1 -0
  292. package/dist/domains/comet-classic/classic-intent.js +307 -0
  293. package/dist/domains/comet-classic/classic-intent.js.map +1 -0
  294. package/dist/domains/comet-classic/classic-migrate.d.ts +18 -0
  295. package/dist/domains/comet-classic/classic-migrate.d.ts.map +1 -0
  296. package/dist/domains/comet-classic/classic-migrate.js +184 -0
  297. package/dist/domains/comet-classic/classic-migrate.js.map +1 -0
  298. package/dist/domains/comet-classic/classic-paths.d.ts +8 -0
  299. package/dist/domains/comet-classic/classic-paths.d.ts.map +1 -0
  300. package/dist/domains/comet-classic/classic-paths.js +61 -0
  301. package/dist/domains/comet-classic/classic-paths.js.map +1 -0
  302. package/dist/domains/comet-classic/classic-resolver.d.ts +10 -0
  303. package/dist/domains/comet-classic/classic-resolver.d.ts.map +1 -0
  304. package/dist/domains/comet-classic/classic-resolver.js +89 -0
  305. package/dist/domains/comet-classic/classic-resolver.js.map +1 -0
  306. package/dist/domains/comet-classic/classic-runtime-evals.d.ts +9 -0
  307. package/dist/domains/comet-classic/classic-runtime-evals.d.ts.map +1 -0
  308. package/dist/domains/comet-classic/classic-runtime-evals.js +45 -0
  309. package/dist/domains/comet-classic/classic-runtime-evals.js.map +1 -0
  310. package/dist/domains/comet-classic/classic-runtime-run.d.ts +7 -0
  311. package/dist/domains/comet-classic/classic-runtime-run.d.ts.map +1 -0
  312. package/dist/domains/comet-classic/classic-runtime-run.js +105 -0
  313. package/dist/domains/comet-classic/classic-runtime-run.js.map +1 -0
  314. package/dist/domains/comet-classic/classic-script-entry.d.ts +3 -0
  315. package/dist/domains/comet-classic/classic-script-entry.d.ts.map +1 -0
  316. package/dist/domains/comet-classic/classic-script-entry.js +31 -0
  317. package/dist/domains/comet-classic/classic-script-entry.js.map +1 -0
  318. package/dist/domains/comet-classic/classic-state-command.d.ts +3 -0
  319. package/dist/domains/comet-classic/classic-state-command.d.ts.map +1 -0
  320. package/dist/domains/comet-classic/classic-state-command.js +984 -0
  321. package/dist/domains/comet-classic/classic-state-command.js.map +1 -0
  322. package/dist/domains/comet-classic/classic-state-entry.d.ts +2 -0
  323. package/dist/domains/comet-classic/classic-state-entry.d.ts.map +1 -0
  324. package/dist/domains/comet-classic/classic-state-entry.js +4 -0
  325. package/dist/domains/comet-classic/classic-state-entry.js.map +1 -0
  326. package/dist/domains/comet-classic/classic-state-events.d.ts +18 -0
  327. package/dist/domains/comet-classic/classic-state-events.d.ts.map +1 -0
  328. package/dist/domains/comet-classic/classic-state-events.js +15 -0
  329. package/dist/domains/comet-classic/classic-state-events.js.map +1 -0
  330. package/dist/domains/comet-classic/classic-state.d.ts +69 -0
  331. package/dist/domains/comet-classic/classic-state.d.ts.map +1 -0
  332. package/dist/domains/comet-classic/classic-state.js +238 -0
  333. package/dist/domains/comet-classic/classic-state.js.map +1 -0
  334. package/dist/domains/comet-classic/classic-store.d.ts +7 -0
  335. package/dist/domains/comet-classic/classic-store.d.ts.map +1 -0
  336. package/dist/domains/comet-classic/classic-store.js +127 -0
  337. package/dist/domains/comet-classic/classic-store.js.map +1 -0
  338. package/dist/domains/comet-classic/classic-transitions.d.ts +24 -0
  339. package/dist/domains/comet-classic/classic-transitions.d.ts.map +1 -0
  340. package/dist/domains/comet-classic/classic-transitions.js +124 -0
  341. package/dist/domains/comet-classic/classic-transitions.js.map +1 -0
  342. package/dist/domains/comet-classic/classic-validate-command.d.ts +3 -0
  343. package/dist/domains/comet-classic/classic-validate-command.d.ts.map +1 -0
  344. package/dist/domains/comet-classic/classic-validate-command.js +154 -0
  345. package/dist/domains/comet-classic/classic-validate-command.js.map +1 -0
  346. package/dist/domains/comet-classic/classic-validate-entry.d.ts +2 -0
  347. package/dist/domains/comet-classic/classic-validate-entry.d.ts.map +1 -0
  348. package/dist/domains/comet-classic/classic-validate-entry.js +4 -0
  349. package/dist/domains/comet-classic/classic-validate-entry.js.map +1 -0
  350. package/dist/domains/comet-classic/index.d.ts +20 -0
  351. package/dist/domains/comet-classic/index.d.ts.map +1 -0
  352. package/dist/domains/comet-classic/index.js +20 -0
  353. package/dist/domains/comet-classic/index.js.map +1 -0
  354. package/dist/domains/dashboard/collector.d.ts +12 -0
  355. package/dist/domains/dashboard/collector.d.ts.map +1 -0
  356. package/dist/domains/dashboard/collector.js +475 -0
  357. package/dist/domains/dashboard/collector.js.map +1 -0
  358. package/dist/domains/dashboard/git.d.ts +8 -0
  359. package/dist/domains/dashboard/git.d.ts.map +1 -0
  360. package/dist/domains/dashboard/git.js +69 -0
  361. package/dist/domains/dashboard/git.js.map +1 -0
  362. package/dist/domains/dashboard/next-action.d.ts +17 -0
  363. package/dist/domains/dashboard/next-action.d.ts.map +1 -0
  364. package/dist/domains/dashboard/next-action.js +83 -0
  365. package/dist/domains/dashboard/next-action.js.map +1 -0
  366. package/dist/domains/dashboard/open-browser.d.ts +9 -0
  367. package/dist/domains/dashboard/open-browser.d.ts.map +1 -0
  368. package/dist/domains/dashboard/open-browser.js +40 -0
  369. package/dist/domains/dashboard/open-browser.js.map +1 -0
  370. package/dist/domains/dashboard/risk.d.ts +24 -0
  371. package/dist/domains/dashboard/risk.d.ts.map +1 -0
  372. package/dist/domains/dashboard/risk.js +97 -0
  373. package/dist/domains/dashboard/risk.js.map +1 -0
  374. package/dist/domains/dashboard/server.d.ts +21 -0
  375. package/dist/domains/dashboard/server.d.ts.map +1 -0
  376. package/dist/domains/dashboard/server.js +149 -0
  377. package/dist/domains/dashboard/server.js.map +1 -0
  378. package/dist/domains/dashboard/task-parser.d.ts +13 -0
  379. package/dist/domains/dashboard/task-parser.d.ts.map +1 -0
  380. package/dist/domains/dashboard/task-parser.js +82 -0
  381. package/dist/domains/dashboard/task-parser.js.map +1 -0
  382. package/dist/domains/dashboard/types.d.ts +122 -0
  383. package/dist/domains/dashboard/types.d.ts.map +1 -0
  384. package/dist/domains/dashboard/types.js +10 -0
  385. package/dist/domains/dashboard/types.js.map +1 -0
  386. package/dist/domains/dashboard/verify-parser.d.ts +18 -0
  387. package/dist/domains/dashboard/verify-parser.d.ts.map +1 -0
  388. package/dist/domains/dashboard/verify-parser.js +94 -0
  389. package/dist/domains/dashboard/verify-parser.js.map +1 -0
  390. package/dist/domains/dashboard/web/assets/demo-DQyfozbi.js +1 -0
  391. package/dist/domains/dashboard/web/assets/index-BcO3_QlT.css +1 -0
  392. package/dist/domains/dashboard/web/assets/index-CjU3VXVu.js +22 -0
  393. package/dist/domains/dashboard/web/favicon.png +0 -0
  394. package/dist/domains/dashboard/web/index.html +16 -0
  395. package/dist/domains/dashboard/yaml.d.ts +13 -0
  396. package/dist/domains/dashboard/yaml.d.ts.map +1 -0
  397. package/dist/domains/dashboard/yaml.js +61 -0
  398. package/dist/domains/dashboard/yaml.js.map +1 -0
  399. package/dist/domains/engine/evals.d.ts +4 -0
  400. package/dist/domains/engine/evals.d.ts.map +1 -0
  401. package/dist/domains/engine/evals.js +25 -0
  402. package/dist/domains/engine/evals.js.map +1 -0
  403. package/dist/domains/engine/guardrails.d.ts +10 -0
  404. package/dist/domains/engine/guardrails.d.ts.map +1 -0
  405. package/dist/domains/engine/guardrails.js +25 -0
  406. package/dist/domains/engine/guardrails.js.map +1 -0
  407. package/dist/domains/engine/loop.d.ts +15 -0
  408. package/dist/domains/engine/loop.d.ts.map +1 -0
  409. package/dist/domains/engine/loop.js +126 -0
  410. package/dist/domains/engine/loop.js.map +1 -0
  411. package/dist/domains/engine/manual-run.d.ts +30 -0
  412. package/dist/domains/engine/manual-run.d.ts.map +1 -0
  413. package/dist/domains/engine/manual-run.js +184 -0
  414. package/dist/domains/engine/manual-run.js.map +1 -0
  415. package/dist/domains/engine/resolver.d.ts +20 -0
  416. package/dist/domains/engine/resolver.d.ts.map +1 -0
  417. package/dist/domains/engine/resolver.js +36 -0
  418. package/dist/domains/engine/resolver.js.map +1 -0
  419. package/dist/domains/engine/run-store.d.ts +13 -0
  420. package/dist/domains/engine/run-store.d.ts.map +1 -0
  421. package/dist/domains/engine/run-store.js +100 -0
  422. package/dist/domains/engine/run-store.js.map +1 -0
  423. package/dist/domains/engine/runtime-types.d.ts +11 -0
  424. package/dist/domains/engine/runtime-types.d.ts.map +1 -0
  425. package/dist/domains/engine/runtime-types.js +2 -0
  426. package/dist/domains/engine/runtime-types.js.map +1 -0
  427. package/dist/domains/engine/standalone-run.d.ts +13 -0
  428. package/dist/domains/engine/standalone-run.d.ts.map +1 -0
  429. package/dist/domains/engine/standalone-run.js +27 -0
  430. package/dist/domains/engine/standalone-run.js.map +1 -0
  431. package/dist/domains/engine/state.d.ts +10 -0
  432. package/dist/domains/engine/state.d.ts.map +1 -0
  433. package/dist/domains/engine/state.js +160 -0
  434. package/dist/domains/engine/state.js.map +1 -0
  435. package/dist/domains/engine/types.d.ts +51 -0
  436. package/dist/domains/engine/types.d.ts.map +1 -0
  437. package/dist/domains/engine/types.js +2 -0
  438. package/dist/domains/engine/types.js.map +1 -0
  439. package/dist/domains/eval/index.d.ts +7 -0
  440. package/dist/domains/eval/index.d.ts.map +1 -0
  441. package/dist/domains/eval/index.js +11 -0
  442. package/dist/domains/eval/index.js.map +1 -0
  443. package/dist/domains/eval/repository-benchmarks.d.ts +6 -0
  444. package/dist/domains/eval/repository-benchmarks.d.ts.map +1 -0
  445. package/dist/domains/eval/repository-benchmarks.js +10 -0
  446. package/dist/domains/eval/repository-benchmarks.js.map +1 -0
  447. package/dist/domains/factory/artifacts.d.ts +53 -0
  448. package/dist/domains/factory/artifacts.d.ts.map +1 -0
  449. package/dist/domains/factory/artifacts.js +8 -0
  450. package/dist/domains/factory/artifacts.js.map +1 -0
  451. package/dist/domains/factory/package.d.ts +7 -0
  452. package/dist/domains/factory/package.d.ts.map +1 -0
  453. package/dist/domains/factory/package.js +1511 -0
  454. package/dist/domains/factory/package.js.map +1 -0
  455. package/dist/domains/factory/types.d.ts +127 -0
  456. package/dist/domains/factory/types.d.ts.map +1 -0
  457. package/dist/domains/factory/types.js +2 -0
  458. package/dist/domains/factory/types.js.map +1 -0
  459. package/dist/domains/integrations/codegraph.d.ts +6 -0
  460. package/dist/domains/integrations/codegraph.d.ts.map +1 -0
  461. package/dist/domains/integrations/codegraph.js +118 -0
  462. package/dist/domains/integrations/codegraph.js.map +1 -0
  463. package/dist/domains/integrations/openspec.d.ts +18 -0
  464. package/dist/domains/integrations/openspec.d.ts.map +1 -0
  465. package/dist/{core → domains/integrations}/openspec.js +114 -31
  466. package/dist/domains/integrations/openspec.js.map +1 -0
  467. package/dist/domains/integrations/superpowers.d.ts +21 -0
  468. package/dist/domains/integrations/superpowers.d.ts.map +1 -0
  469. package/dist/{core → domains/integrations}/superpowers.js +63 -14
  470. package/dist/domains/integrations/superpowers.js.map +1 -0
  471. package/dist/domains/skill/discovery.d.ts +17 -0
  472. package/dist/domains/skill/discovery.d.ts.map +1 -0
  473. package/dist/domains/skill/discovery.js +80 -0
  474. package/dist/domains/skill/discovery.js.map +1 -0
  475. package/dist/domains/skill/find.d.ts +41 -0
  476. package/dist/domains/skill/find.d.ts.map +1 -0
  477. package/dist/domains/skill/find.js +251 -0
  478. package/dist/domains/skill/find.js.map +1 -0
  479. package/dist/domains/skill/install.d.ts +11 -0
  480. package/dist/domains/skill/install.d.ts.map +1 -0
  481. package/dist/domains/skill/install.js +82 -0
  482. package/dist/domains/skill/install.js.map +1 -0
  483. package/dist/domains/skill/inventory.d.ts +19 -0
  484. package/dist/domains/skill/inventory.d.ts.map +1 -0
  485. package/dist/domains/skill/inventory.js +64 -0
  486. package/dist/domains/skill/inventory.js.map +1 -0
  487. package/dist/domains/skill/languages.d.ts +19 -0
  488. package/dist/domains/skill/languages.d.ts.map +1 -0
  489. package/dist/domains/skill/languages.js +21 -0
  490. package/dist/domains/skill/languages.js.map +1 -0
  491. package/dist/domains/skill/load.d.ts +5 -0
  492. package/dist/domains/skill/load.d.ts.map +1 -0
  493. package/dist/domains/skill/load.js +313 -0
  494. package/dist/domains/skill/load.js.map +1 -0
  495. package/dist/domains/skill/platform-install.d.ts +87 -0
  496. package/dist/domains/skill/platform-install.d.ts.map +1 -0
  497. package/dist/{core/skills.js → domains/skill/platform-install.js} +242 -42
  498. package/dist/domains/skill/platform-install.js.map +1 -0
  499. package/dist/domains/skill/preferences.d.ts +42 -0
  500. package/dist/domains/skill/preferences.d.ts.map +1 -0
  501. package/dist/domains/skill/preferences.js +118 -0
  502. package/dist/domains/skill/preferences.js.map +1 -0
  503. package/dist/domains/skill/snapshot.d.ts +8 -0
  504. package/dist/domains/skill/snapshot.d.ts.map +1 -0
  505. package/dist/domains/skill/snapshot.js +184 -0
  506. package/dist/domains/skill/snapshot.js.map +1 -0
  507. package/dist/domains/skill/types.d.ts +85 -0
  508. package/dist/domains/skill/types.d.ts.map +1 -0
  509. package/dist/domains/skill/types.js +2 -0
  510. package/dist/{core → domains/skill}/types.js.map +1 -1
  511. package/dist/{core → domains/skill}/uninstall.d.ts +2 -18
  512. package/dist/domains/skill/uninstall.d.ts.map +1 -0
  513. package/dist/{core → domains/skill}/uninstall.js +15 -66
  514. package/dist/domains/skill/uninstall.js.map +1 -0
  515. package/dist/domains/skill/validate.d.ts +3 -0
  516. package/dist/domains/skill/validate.d.ts.map +1 -0
  517. package/dist/domains/skill/validate.js +81 -0
  518. package/dist/domains/skill/validate.js.map +1 -0
  519. package/dist/domains/workflow-contract/builtins.d.ts +8 -0
  520. package/dist/domains/workflow-contract/builtins.d.ts.map +1 -0
  521. package/dist/domains/workflow-contract/builtins.js +229 -0
  522. package/dist/domains/workflow-contract/builtins.js.map +1 -0
  523. package/dist/domains/workflow-contract/hash.d.ts +3 -0
  524. package/dist/domains/workflow-contract/hash.d.ts.map +1 -0
  525. package/dist/domains/workflow-contract/hash.js +16 -0
  526. package/dist/domains/workflow-contract/hash.js.map +1 -0
  527. package/dist/domains/workflow-contract/index.d.ts +6 -0
  528. package/dist/domains/workflow-contract/index.d.ts.map +1 -0
  529. package/dist/domains/workflow-contract/index.js +5 -0
  530. package/dist/domains/workflow-contract/index.js.map +1 -0
  531. package/dist/domains/workflow-contract/normalize.d.ts +3 -0
  532. package/dist/domains/workflow-contract/normalize.d.ts.map +1 -0
  533. package/dist/domains/workflow-contract/normalize.js +146 -0
  534. package/dist/domains/workflow-contract/normalize.js.map +1 -0
  535. package/dist/domains/workflow-contract/types.d.ts +128 -0
  536. package/dist/domains/workflow-contract/types.d.ts.map +1 -0
  537. package/dist/domains/workflow-contract/types.js +2 -0
  538. package/dist/domains/workflow-contract/types.js.map +1 -0
  539. package/dist/domains/workflow-contract/validation.d.ts +3 -0
  540. package/dist/domains/workflow-contract/validation.d.ts.map +1 -0
  541. package/dist/domains/workflow-contract/validation.js +180 -0
  542. package/dist/domains/workflow-contract/validation.js.map +1 -0
  543. package/dist/platform/fs/file-system.d.ts.map +1 -0
  544. package/dist/platform/fs/file-system.js.map +1 -0
  545. package/dist/{core → platform/install}/detect.d.ts +6 -1
  546. package/dist/platform/install/detect.d.ts.map +1 -0
  547. package/dist/{core → platform/install}/detect.js +32 -14
  548. package/dist/platform/install/detect.js.map +1 -0
  549. package/dist/platform/install/platforms.d.ts.map +1 -0
  550. package/dist/{core → platform/install}/platforms.js +41 -0
  551. package/dist/platform/install/platforms.js.map +1 -0
  552. package/dist/platform/install/types.d.ts +3 -0
  553. package/dist/platform/install/types.d.ts.map +1 -0
  554. package/dist/platform/install/types.js +2 -0
  555. package/dist/platform/install/types.js.map +1 -0
  556. package/dist/platform/paths/repository-layout.d.ts +22 -0
  557. package/dist/platform/paths/repository-layout.d.ts.map +1 -0
  558. package/dist/platform/paths/repository-layout.js +11 -0
  559. package/dist/platform/paths/repository-layout.js.map +1 -0
  560. package/dist/platform/process/command-error.d.ts.map +1 -0
  561. package/dist/platform/process/command-error.js.map +1 -0
  562. package/dist/platform/process/shell-quote.d.ts +22 -0
  563. package/dist/platform/process/shell-quote.d.ts.map +1 -0
  564. package/dist/platform/process/shell-quote.js +34 -0
  565. package/dist/platform/process/shell-quote.js.map +1 -0
  566. package/dist/platform/version/version.d.ts.map +1 -0
  567. package/dist/{core → platform/version}/version.js +16 -3
  568. package/dist/platform/version/version.js.map +1 -0
  569. package/package.json +40 -14
  570. package/assets/skills/comet/scripts/comet-archive.sh +0 -311
  571. package/assets/skills/comet/scripts/comet-env.sh +0 -110
  572. package/assets/skills/comet/scripts/comet-guard.sh +0 -752
  573. package/assets/skills/comet/scripts/comet-handoff.sh +0 -390
  574. package/assets/skills/comet/scripts/comet-hook-guard.sh +0 -260
  575. package/assets/skills/comet/scripts/comet-state.sh +0 -1245
  576. package/assets/skills/comet/scripts/comet-yaml-validate.sh +0 -223
  577. package/dist/cli/index.js +0 -83
  578. package/dist/cli/index.js.map +0 -1
  579. package/dist/commands/doctor.d.ts.map +0 -1
  580. package/dist/commands/doctor.js.map +0 -1
  581. package/dist/commands/init.d.ts.map +0 -1
  582. package/dist/commands/init.js +0 -300
  583. package/dist/commands/init.js.map +0 -1
  584. package/dist/commands/status.d.ts.map +0 -1
  585. package/dist/commands/status.js +0 -108
  586. package/dist/commands/status.js.map +0 -1
  587. package/dist/commands/uninstall.d.ts.map +0 -1
  588. package/dist/commands/uninstall.js.map +0 -1
  589. package/dist/commands/update.d.ts.map +0 -1
  590. package/dist/commands/update.js.map +0 -1
  591. package/dist/core/codegraph.d.ts +0 -4
  592. package/dist/core/codegraph.d.ts.map +0 -1
  593. package/dist/core/codegraph.js +0 -63
  594. package/dist/core/codegraph.js.map +0 -1
  595. package/dist/core/command-error.d.ts.map +0 -1
  596. package/dist/core/command-error.js.map +0 -1
  597. package/dist/core/detect.d.ts.map +0 -1
  598. package/dist/core/detect.js.map +0 -1
  599. package/dist/core/openspec.d.ts +0 -11
  600. package/dist/core/openspec.d.ts.map +0 -1
  601. package/dist/core/openspec.js.map +0 -1
  602. package/dist/core/platforms.d.ts.map +0 -1
  603. package/dist/core/platforms.js.map +0 -1
  604. package/dist/core/skills.d.ts +0 -58
  605. package/dist/core/skills.d.ts.map +0 -1
  606. package/dist/core/skills.js.map +0 -1
  607. package/dist/core/superpowers.d.ts +0 -13
  608. package/dist/core/superpowers.d.ts.map +0 -1
  609. package/dist/core/superpowers.js.map +0 -1
  610. package/dist/core/types.d.ts +0 -2
  611. package/dist/core/types.d.ts.map +0 -1
  612. package/dist/core/uninstall.d.ts.map +0 -1
  613. package/dist/core/uninstall.js.map +0 -1
  614. package/dist/core/version.d.ts.map +0 -1
  615. package/dist/core/version.js.map +0 -1
  616. package/dist/utils/file-system.d.ts.map +0 -1
  617. package/dist/utils/file-system.js.map +0 -1
  618. /package/dist/{cli → app/cli}/index.d.ts +0 -0
  619. /package/dist/{commands → app/commands}/status.d.ts +0 -0
  620. /package/dist/{core → domains/bundle}/types.js +0 -0
  621. /package/dist/{utils → platform/fs}/file-system.d.ts +0 -0
  622. /package/dist/{utils → platform/fs}/file-system.js +0 -0
  623. /package/dist/{core → platform/install}/platforms.d.ts +0 -0
  624. /package/dist/{core → platform/process}/command-error.d.ts +0 -0
  625. /package/dist/{core → platform/process}/command-error.js +0 -0
  626. /package/dist/{core → platform/version}/version.d.ts +0 -0
  627. /package/scripts/{postinstall.js → install/postinstall.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: comet-design
3
- description: "Comet 阶段 2:深度设计。用 /comet-design 调用。通过 brainstorming 产出 Design Doc delta spec。"
3
+ description: "Use when full Comet change 已完成 open 阶段但缺少 Superpowers Design Doc,或 design 阶段需要从 OpenSpec 交接包恢复。"
4
4
  ---
5
5
 
6
6
  # Comet 阶段 2:深度设计(Design)
@@ -10,20 +10,16 @@ description: "Comet 阶段 2:深度设计。用 /comet-design 调用。通过
10
10
  - 活跃 change 已存在(proposal.md、design.md、tasks.md)
11
11
  - 无 Design Doc(`docs/superpowers/specs/` 下无对应文件)
12
12
 
13
+ > 职责边界:open 阶段的 `design.md` 给出**高层方案框架**(架构决策方向、方案选型、数据流);design 阶段的 Design Doc 是对它的**深度技术细化**(详细实现设计、技术风险、测试策略、边界条件),是深化而非替代或重写。
14
+
13
15
  ## 步骤
14
16
 
15
17
  ### 0. 入口状态验证(Entry Check)
16
18
 
17
- 执行入口验证:
19
+ 按 `comet/reference/scripts.md` 定位脚本(定位 `comet-env.mjs`),然后执行入口验证;从任意入口恢复时先按 `comet/reference/context-recovery.md` 运行恢复检查:
18
20
 
19
21
  ```bash
20
- COMET_ENV="${COMET_ENV:-$(find . "$HOME"/.*/skills "$HOME/.config" "$HOME/.gemini" -path '*/comet/scripts/comet-env.sh' -type f -print -quit 2>/dev/null)}"
21
- if [ -z "$COMET_ENV" ]; then
22
- echo "ERROR: comet-env.sh not found. Ensure the comet skill is installed." >&2
23
- return 1
24
- fi
25
- . "$COMET_ENV"
26
- "$COMET_BASH" "$COMET_STATE" check <name> design
22
+ node "$COMET_STATE" check <name> design
27
23
  ```
28
24
 
29
25
  验证通过后继续 Step 1。验证失败时脚本会输出具体失败原因。
@@ -35,7 +31,7 @@ fi
35
31
  **必须由脚本生成,不允许 agent 临场手写 summary 代替。**
36
32
 
37
33
  ```bash
38
- "$COMET_BASH" "$COMET_HANDOFF" <change-name> design --write
34
+ node "$COMET_HANDOFF" <change-name> design --write
39
35
  ```
40
36
 
41
37
  脚本会根据 change `.comet.yaml` 的 `context_compression` 快照生成并记录交接包。
@@ -74,7 +70,7 @@ beta 交接包是 **结构化 spec projection**,用于减少 OpenSpec 原文 t
74
70
  如确实需要全文上下文,可显式运行:
75
71
 
76
72
  ```bash
77
- "$COMET_BASH" "$COMET_HANDOFF" <change-name> design --write --full
73
+ node "$COMET_HANDOFF" <change-name> design --write --full
78
74
  ```
79
75
 
80
76
  交接包来源来自 OpenSpec open 阶段产物:
@@ -90,7 +86,7 @@ beta 交接包是 **结构化 spec projection**,用于减少 OpenSpec 原文 t
90
86
  技能加载时,ARGUMENTS 必须包含:
91
87
 
92
88
  ```text
93
- Language: 使用触发本次工作流的用户请求语言输出
89
+ Language: 使用 `"$COMET_BASH" "$COMET_STATE" get <name> language` 读取到的 Comet 配置产物语言输出
94
90
  ```
95
91
 
96
92
  技能加载后,按其指引使用以下上下文:
@@ -184,9 +180,9 @@ mkdir -p openspec/changes/<name>/.comet/handoff
184
180
  - `openspec/changes/<name>/.comet/handoff/design-context.md`(或 beta 模式的 `spec-context.md`)
185
181
  - `openspec/changes/<name>/.comet/handoff/design-context.json`(或 beta 模式的 `spec-context.json`)
186
182
 
187
- ### 1e. 主动上下文压缩门
183
+ ### 1e. 主动式上下文压缩
188
184
 
189
- 完成 Step 1d 并确认 `brainstorm-summary.md` 已写入后,进入 Design Doc 创建前的主动压缩门。此时 OpenSpec 交接包、brainstorming 决策和待确认项都已落盘,应主动释放前面读取 Spec 和 brainstorming 消耗的上下文,为 Step 2 及后续 Build 阶段保留窗口。
185
+ 完成 Step 1d 并确认 `brainstorm-summary.md` 已写入后,进入 Design Doc 创建前的主动式上下文压缩。此时 OpenSpec 交接包、brainstorming 决策和待确认项都已落盘,应主动释放前面读取 Spec 和 brainstorming 消耗的上下文,为 Step 2 及后续 Build 阶段保留窗口。
190
186
 
191
187
  执行规则:
192
188
  - 如果当前平台提供原生上下文压缩/清理机制(例如宿主 Agent 的 compact/compaction 命令、工具或 UI 操作),必须在这里触发一次主动压缩;不要尝试用 shell 脚本伪造压缩命令。
@@ -218,13 +214,13 @@ canonical_spec: openspec
218
214
 
219
215
  ```bash
220
216
  # 记录 design_doc 路径
221
- "$COMET_BASH" "$COMET_STATE" set <name> design_doc docs/superpowers/specs/YYYY-MM-DD-topic-design.md
217
+ node "$COMET_STATE" set <name> design_doc docs/superpowers/specs/YYYY-MM-DD-topic-design.md
222
218
 
223
219
  # 如有 delta spec 变更,重新生成 handoff(更新 hash)
224
- "$COMET_BASH" "$COMET_HANDOFF" <change-name> design --write
220
+ node "$COMET_HANDOFF" <change-name> design --write
225
221
 
226
222
  # 阶段守卫推进 phase 到下一阶段
227
- "$COMET_BASH" "$COMET_GUARD" <change-name> design --apply
223
+ node "$COMET_GUARD" <change-name> design --apply
228
224
  ```
229
225
 
230
226
  如果没有 delta spec 变更,跳过 handoff 重新生成步骤。状态文件自动更新,无需手动编辑其他字段。
@@ -239,12 +235,12 @@ canonical_spec: openspec
239
235
  - beta 模式下,`spec-context.json` 必须结构合法且引用当前源文件(由 guard 强制校验)
240
236
  - 如有新能力或补充验收场景,OpenSpec delta spec 已创建/更新
241
237
  - `design_doc` 已写入 `.comet.yaml`
242
- - **阶段守卫**:运行 `"$COMET_BASH" "$COMET_GUARD" <change-name> design --apply`,全部 PASS 后由守卫推进到 `phase: build`(此步骤更新 `phase` 字段,与 `auto_transition` 无关)
238
+ - **阶段守卫**:运行 `node "$COMET_GUARD" <change-name> design --apply`,全部 PASS 后由守卫推进到 `phase: build`(此步骤更新 `phase` 字段,与 `auto_transition` 无关)
243
239
 
244
240
  退出前必须使用 `--apply`:
245
241
 
246
242
  ```bash
247
- "$COMET_BASH" "$COMET_GUARD" <change-name> design --apply
243
+ node "$COMET_GUARD" <change-name> design --apply
248
244
  ```
249
245
 
250
246
  ## 上下文压缩恢复
@@ -256,7 +252,7 @@ canonical_spec: openspec
256
252
  按 `comet/reference/auto-transition.md` 执行。关键命令:
257
253
 
258
254
  ```bash
259
- "$COMET_BASH" "$COMET_STATE" next <change-name>
255
+ node "$COMET_STATE" next <change-name>
260
256
  ```
261
257
 
262
258
  - `NEXT: auto` → 调用 `SKILL` 指向的 skill 进入下一阶段
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: comet-hotfix
3
- description: "Comet 预设路径:Bug fix / 热修复。跳过 brainstorming,直接 open → build → verify → archive。适用于行为修复、不涉及新 capability 设计的场景。"
3
+ description: "Use when 用户要修复已有行为 bug,且不新增 capability、不需要完整设计;也用于恢复 hotfix workflow。"
4
4
  ---
5
5
 
6
6
  # Comet 预设路径:Hotfix
@@ -10,32 +10,23 @@ description: "Comet 预设路径:Bug fix / 热修复。跳过 brainstorming,
10
10
  **适用条件**(必须全部满足):
11
11
  1. 修复已有功能的 bug,不新增 capability
12
12
  2. 不涉及接口变更或架构调整
13
- 3. 改动范围可预估(通常 ≤ 2 个文件)
13
+ 3. 改动范围可预估(文件数仅作提示,不作为硬性升级条件,见下方升级判定)
14
14
 
15
- **不适用**:如修复过程发现需要架构调整,应升级为完整 `/comet` 流程。
15
+ **不适用**:如修复过程命中质变信号(见「升级判定」章节),由用户决定是否升级为完整 `/comet` 流程。
16
16
 
17
17
  ---
18
18
 
19
- ## 流程(preset workflow,6 步)
19
+ ## 流程(预设流程,6 步)
20
20
 
21
21
  ### 0. 输出语言约束
22
22
 
23
- 精简版 OpenSpec 产物必须使用触发本次工作流的用户请求语言。
23
+ 精简版 OpenSpec 产物必须使用 Comet 配置产物语言。`.comet.yaml` 尚不存在时读取 `.comet/config.yaml` 的 `language`,初始化后使用 `"$COMET_BASH" "$COMET_STATE" get <name> language` 读取。
24
24
 
25
25
  执行链路:open → build → verify → archive。Hotfix 为每个阶段提供默认决策:精简开启、直接构建、按规模验证、验证通过后进入归档前最终确认。
26
26
 
27
- 开始前先定位 Comet 脚本:
27
+ 开始前按 `comet/reference/scripts.md` 定位 Comet 脚本(定位 `comet-env.mjs`);从任意入口恢复时先按 `comet/reference/context-recovery.md` 确认 phase/workflow。
28
28
 
29
- ```bash
30
- COMET_ENV="${COMET_ENV:-$(find . "$HOME"/.*/skills "$HOME/.config" "$HOME/.gemini" -path '*/comet/scripts/comet-env.sh' -type f -print -quit 2>/dev/null)}"
31
- if [ -z "$COMET_ENV" ]; then
32
- echo "ERROR: comet-env.sh not found. Ensure the comet skill is installed." >&2
33
- return 1
34
- fi
35
- . "$COMET_ENV"
36
- ```
37
-
38
- ### 1. 快速开启(preset open)
29
+ ### 1. 快速开启(预设 open)
39
30
 
40
31
  复用 Comet open 能力创建 change,但使用 hotfix 默认值:不执行 `openspec-explore` 长探索,直接进入精简 change 创建。
41
32
 
@@ -50,35 +41,35 @@ fi
50
41
  初始化 Comet 状态文件:
51
42
 
52
43
  ```bash
53
- "$COMET_BASH" "$COMET_STATE" init <name> hotfix
44
+ node "$COMET_STATE" init <name> hotfix
54
45
  ```
55
46
 
56
47
  初始化后验证状态:
57
48
 
58
49
  ```bash
59
- "$COMET_BASH" "$COMET_STATE" check <name> open
50
+ node "$COMET_STATE" check <name> open
60
51
  ```
61
52
 
62
53
  阶段守卫完成 open → build 过渡:
63
54
 
64
55
  ```bash
65
- "$COMET_BASH" "$COMET_GUARD" <change-name> open --apply
56
+ node "$COMET_GUARD" <change-name> open --apply
66
57
  ```
67
58
 
68
59
  检查 `auto_transition` 决定是否继续:
69
60
 
70
61
  ```bash
71
- "$COMET_BASH" "$COMET_STATE" next <name>
62
+ node "$COMET_STATE" next <name>
72
63
  ```
73
64
 
74
65
  - `NEXT: auto` → 继续 Step 2
75
66
  - `NEXT: manual` → 暂停,按 `HINT` 提示用户手动运行 `/<SKILL>`
76
67
 
77
- ### 2. 直接构建(preset build)
68
+ ### 2. 直接构建(预设 build)
78
69
 
79
- 使用 hotfix 默认值:`build_mode: direct`。跳过 Superpowers `brainstorming` 和 `writing-plans`(除非任务 > 3 个;若超过 3 个任务,转入 `/comet-build` 的计划与执行方式选择——注意这不触发 full workflow 升级,仅切换执行方式)。
70
+ 使用 hotfix 默认值:`build_mode: direct`,`review_mode: off`(hotfix/tweak 跳过 review_mode 选择——guard 不要求预设工作流选择此项)。跳过 Superpowers `brainstorming` 和 `writing-plans`(除非任务 > 3 个;若超过 3 个任务,转入 `/comet-build` 的计划与执行方式选择——注意这不触发 full workflow 升级,仅切换执行方式)。
80
71
 
81
- 继续或开始修改前,按 `comet/reference/dirty-worktree.md` 协议处理未提交改动。若归因后发现修复范围超出 hotfix,按本文件“升级条件”处理。
72
+ 继续或开始修改前,按 `comet/reference/dirty-worktree.md` 协议处理未提交改动。若归因后发现修复命中质变信号或文件数 tripwire,按本文件「升级判定」处理。
82
73
 
83
74
  **立即执行:** 按 tasks.md 逐个执行任务:
84
75
 
@@ -107,29 +98,29 @@ fi
107
98
  2. 搜索验证问题代码不再存在
108
99
  3. 如根因未消除,回到 Step 2 继续修复(此时仍在 build 阶段,无需状态回退)
109
100
 
110
- **升级条件**:
111
- - 根因消除检查发现深层架构问题 → 停止 hotfix,按升级条件阻塞确认处理
112
- - 修复需要额外接口变更 → 停止 hotfix,按升级条件阻塞确认处理
101
+ **升级判定信号**:
102
+ - 根因消除检查发现深层架构问题 → 命中质变信号,按「升级判定」章节暂停交用户决定
103
+ - 修复需要额外接口变更 → 命中质变信号(引入新的 public API),按「升级判定」章节暂停交用户决定
113
104
 
114
105
  根因确认消除后,运行阶段守卫完成 build → verify 过渡:
115
106
 
116
107
  ```bash
117
- "$COMET_BASH" "$COMET_GUARD" <change-name> build --apply
108
+ node "$COMET_GUARD" <change-name> build --apply
118
109
  ```
119
110
 
120
111
  状态文件自动更新为 `phase: verify`、`verify_result: pending`,然后进入验证。
121
112
 
122
- ### 4. 验证(preset verify)
113
+ ### 4. 验证(预设 verify)
123
114
 
124
115
  复用 `/comet-verify`,由 comet-verify 的规模评估决定轻量或完整验证。
125
116
 
126
117
  **立即执行:** 使用 Skill 工具加载 `comet-verify` 技能。禁止跳过此步骤。
127
118
 
128
- 无 delta spec 的小范围 hotfix 通常满足轻量验证条件(≤ 3 tasks、≤ 2 files),comet-verify 的规模评估会选择轻量验证路径(6 项快速检查,包含简化代码审查)。若 hotfix 创建了 delta spec,则根据 comet-verify 的规模评估规则进入完整验证路径。
119
+ 无 delta spec 的小范围 hotfix 通常满足轻量验证条件(≤ 3 tasks、改动文件数低于 scale 阈值),comet-verify 的规模评估会选择轻量验证路径(6 项快速检查;默认 `review_mode: off` 时不自动派发代码审查)。若用户希望增加审查,可在验证前运行 `node "$COMET_STATE" set <name> review_mode standard` 或 `thorough`。若 hotfix 创建了 delta spec,则根据 comet-verify 的规模评估规则进入完整验证路径。
129
120
 
130
121
  验证通过后,按 `/comet-verify` 的规则将 `.comet.yaml` 的 `verify_result` 记录为 `pass`,归档前不得跳过该状态。验证通过后仍必须进入 `/comet-archive` 的归档前最终确认,不得自动运行归档脚本。
131
122
 
132
- ### 5. 归档(preset archive)
123
+ ### 5. 归档(预设 archive)
133
124
 
134
125
  复用 `/comet-archive`。归档前必须满足 `.comet.yaml` 中 `verify_result: pass`,并等待 `/comet-archive` 的归档前最终确认。
135
126
 
@@ -143,7 +134,7 @@ fi
143
134
  <IMPORTANT>
144
135
  Hotfix 流程默认 **一次性连续执行**。调用 `/comet-hotfix` 后,agent 在 hotfix 自有步骤间自动推进,不主动停顿。**例外**:若 `auto_transition: false`,则在每个 phase 边界(build/verify/archive 之间)停下,由用户手动运行下一阶段命令——此时连续执行降级为逐阶段手动推进,详见下方「自动衔接下一阶段」。但无论 `auto_transition` 取何值,以下情况都必须暂停等待用户确认:
145
136
 
146
- 1. 遇到升级条件(见"升级条件"章节),**必须使用当前平台可用的用户输入/确认机制暂停并等待用户明确确认**升级为完整流程
137
+ 1. 遇到升级判定信号(见「升级判定」章节),**必须使用当前平台可用的用户输入/确认机制暂停并等待用户明确选择**:继续 hotfix 流程,还是升级为完整 `/comet` 流程
147
138
  2. 任务超过 3 个转入 `/comet-build` 时的工作区隔离和执行方式选择
148
139
  3. 验证阶段(comet-verify)的验证失败决策和分支处理决策
149
140
  4. 归档前最终确认(comet-archive 执行归档脚本前)
@@ -155,28 +146,27 @@ Hotfix 流程默认 **一次性连续执行**。调用 `/comet-hotfix` 后,age
155
146
 
156
147
  ---
157
148
 
158
- ## 升级条件
149
+ ## 升级判定
159
150
 
160
- 满足以下**任一**条件时,停止 hotfix 流程,升级为完整 `/comet`:
151
+ hotfix 的升级判定只决定是否从预设流程转为 full;文件数不自动升级,`comet-state scale` 只决定验证轻重。
161
152
 
162
- | 条件 | 说明 |
163
- |------|------|
164
- | 改动涉及 **3+ 文件** | 超出单点修复范围 |
165
- | 架构变更 | 新模块、新接口、新依赖 |
166
- | 数据库 schema 变更 | 结构性调整 |
167
- | 引入新的 public API | 修复产生了新的对外接口 |
168
- | 修复范围超出单一函数/模块 | 需要多处协调修改 |
153
+ 若由 `/comet` 入口传入 intent frame,hotfix 在 build 前只复核 `risk_signal` 和升级信号:新增 capability、public API、schema 变更、跨模块协调或深层架构问题。命中时进入现有升级决策点;不得重新实现入口意图识别。
169
154
 
170
- 满足升级条件时**必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户明确确认**升级为完整 `/comet` 流程。不得直接进入 `/comet-design`,不得自动补充 Design Doc。
155
+ 持续检查以下质变信号:跨模块协调修改、需要新增 capability、数据库 schema 变更、引入新的 public API、触及深层架构问题(hotfix 语境下多在根因消除检查时暴露)。命中任一信号时,agent **不得自行升级或自行判定可继续**。
171
156
 
172
- 用户确认升级后,**必须先更新 workflow phase 字段**再进入完整流程:
157
+ 文件数 tripwire 仅作提示:改动文件数超过提示阈值(如 > 4 个文件)时,也交给用户决定继续 hotfix 还是升级 full;文件数多不等于质变。bug 修复通常聚焦在 1-3 个文件,超过阈值说明改动面偏大、值得让用户复核是否仍属预设范围。
158
+
159
+ 命中质变信号或文件数 tripwire 时,**必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户明确选择**。不得直接进入 `/comet-design`,不得自动补充 Design Doc。
160
+
161
+ 用户选择升级(选项 B)后,使用状态机合法的升级通道,单条命令完成预设流程 → full 转换并回退到 design 阶段:
173
162
 
174
163
  ```bash
175
- "$COMET_BASH" "$COMET_STATE" set <name> workflow full
176
- "$COMET_BASH" "$COMET_STATE" set <name> phase design
164
+ node "$COMET_STATE" transition <name> preset-escalate
177
165
  ```
178
166
 
179
- 然后在当前 change 基础上补充 Design Doc:**立即使用 Skill 工具加载 `comet-design` skill**,后续正常走完整流程。若用户不确认升级,停止 hotfix 并报告当前变更已超出 hotfix 适用范围。
167
+ 该命令原子地把 `workflow`/`classic_profile` 置为 `full`、`phase` 回退到 `design`、清空 `design_doc`(满足 comet-design 入口要求)。然后在当前 change 基础上补充 Design Doc:**立即使用 Skill 工具加载 `comet-design` skill**,后续正常走完整流程。
168
+
169
+ 用户选择继续(选项 A)时,继续 hotfix 流程,并记录用户确认继续的原因。
180
170
 
181
171
  ---
182
172
 
@@ -185,14 +175,14 @@ Hotfix 流程默认 **一次性连续执行**。调用 `/comet-hotfix` 后,age
185
175
  - Bug 已修复,测试通过
186
176
  - change 已归档
187
177
  - 如有 spec 变更,已同步到 main spec
188
- - **阶段守卫**:build → verify 前运行 `"$COMET_BASH" "$COMET_GUARD" <change-name> build --apply`,verify → archive 前按 `/comet-verify` 规则运行 `"$COMET_BASH" "$COMET_GUARD" <change-name> verify --apply`
178
+ - **阶段守卫**:build → verify 前运行 `node "$COMET_GUARD" <change-name> build --apply`,verify → archive 前按 `/comet-verify` 规则运行 `node "$COMET_GUARD" <change-name> verify --apply`
189
179
 
190
180
  ## 自动衔接下一阶段
191
181
 
192
182
  按 `comet/reference/auto-transition.md` 执行。关键命令:
193
183
 
194
184
  ```bash
195
- "$COMET_BASH" "$COMET_STATE" next <name>
185
+ node "$COMET_STATE" next <name>
196
186
  ```
197
187
 
198
188
  - `NEXT: auto` → 调用 `SKILL` 指向的 skill 继续 hotfix 流程(`phase: build` 返回 `comet-hotfix`,`verify` 返回 `comet-verify`,`archive` 返回 `comet-archive`)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: comet-open
3
- description: "Comet 阶段 1:开启。用 /comet-open 调用。通过 OpenSpec 探索想法、确认需求澄清,再创建 change 结构(proposal + design + tasks)。"
3
+ description: "Use when Comet 需要创建新的 OpenSpec change,或 active change 缺少 proposal/design/tasks/.comet.yaml 初始化产物。"
4
4
  ---
5
5
 
6
6
  # Comet 阶段 1:开启(Open)
@@ -13,7 +13,7 @@ description: "Comet 阶段 1:开启。用 /comet-open 调用。通过 OpenSpec
13
13
 
14
14
  ### 0. 输出语言约束
15
15
 
16
- 传递给 OpenSpec 的所有提问和产物要求都必须包含输出语言约束:使用触发本次工作流的用户请求语言。恢复已有 change 且产物已有明确主语言时,除非用户明确要求切换,否则保持该语言。
16
+ 传递给 OpenSpec 的所有提问和产物要求都必须包含解析后的 Comet 产物语言,并使用 `en`、`zh-CN` 这类规范化 ID。`.comet.yaml` 尚不存在时读取 `.comet/config.yaml` 的 `language`;change 初始化后使用 `"$COMET_BASH" "$COMET_STATE" get <name> language` 读取。没有配置语言时才回退到当前用户请求语言。生成的 `proposal.md`、`design.md`、`tasks.md` 必须以该语言为主语言。
17
17
 
18
18
  ### 1. 探索想法与需求澄清
19
19
 
@@ -71,6 +71,23 @@ description: "Comet 阶段 1:开启。用 /comet-open 调用。通过 OpenSpec
71
71
 
72
72
  不得在用户确认需求澄清完成前创建 proposal.md、design.md 或 tasks.md,也不得使用 Skill 工具加载 `openspec-propose` 技能一次性生成全部 artifacts。
73
73
 
74
+ ### 1c. Change 名称确认(阻塞点)
75
+
76
+ 创建 change 目录(`openspec new change`)前,必须按 `comet/reference/decision-point.md` 的协议暂停,让用户决定 change 名称。不得自动生成或静默推断 change 名称。
77
+
78
+ OpenSpec change 名称必须是 **kebab-case 英文**(小写字母、数字、连字符;如 `refine-requirements-doc`)。中文或其他不合规名称无效。
79
+
80
+ 暂停时必须展示:
81
+ - 基于已确认澄清摘要派生的 **2-3 个推荐 kebab-case 英文名**,每个附一行说明其隐含范围
82
+ - 一个让用户 **自行输入名称** 的明确选项
83
+ - 提示:**若用户输入中文(或任何非 kebab-case 文本),会被转换为合规的 kebab-case 英文名**,转换结果必须回显给用户确认后才能使用
84
+
85
+ 决策选项必须包含:
86
+ - 选择某个推荐名称
87
+ - 「自行输入名称」——接收用户输入;若已是合规 kebab-case 英文则直接使用;若为中文或其他不合规形式,则转换为合规 kebab-case 英文并回显转换后的名称,确认后再继续
88
+
89
+ 不得在用户确认最终 change 名称前运行 `openspec new change` 或创建 `.comet.yaml`。若选定/转换后的名称与已有 change 冲突,必须报告冲突并请用户另选名称。
90
+
74
91
  ### 2. 创建 Change 结构 + 初始化状态
75
92
 
76
93
  **立即执行:** 使用 Skill 工具加载 `openspec-new-change` 技能。禁止跳过此步骤。
@@ -105,7 +122,7 @@ change 骨架创建后,按以下标准产物循环逐个生成 `proposal`、`d
105
122
 
106
123
  **失败处理**:如果 `openspec instructions` 失败、返回无效 JSON、报告未满足的 `dependencies`、或未提供可用的 `resolvedOutputPath`,必须立即停止 artifact 创建并报告 OpenSpec 错误。不得回退为硬编码文档结构,因为那样会绕过项目规则。
107
124
 
108
- **命名与范围守卫**:change name 必须使用用户指定或通过当前平台可用的用户输入/确认机制确认的名称,不得自动生成或推断。变更范围必须与用户描述一致,不得自行扩大或缩小。
125
+ **命名与范围守卫**:change name 必须使用 Step 1c 中用户确认的 kebab-case 英文名,不得自动生成、推断或使用非 kebab-case(如中文)名称。变更范围必须与用户描述一致,不得自行扩大或缩小。
109
126
 
110
127
  确认以下产物已创建:
111
128
 
@@ -114,26 +131,16 @@ openspec/changes/<name>/
114
131
  ├── .openspec.yaml
115
132
  ├── .comet.yaml
116
133
  ├── proposal.md # Why + What:问题、目标、范围
117
- ├── design.md # How(高层):架构决策、方案选型
134
+ ├── design.md # How(高层框架):架构决策、方案选型(深度技术设计在 design 阶段 Design Doc 细化)
118
135
  └── tasks.md # 任务清单(勾选框)
119
136
  ```
120
137
 
121
138
  创建 `.comet.yaml` 状态文件:
122
139
 
140
+ 先按 `comet/reference/scripts.md` 定位脚本(定位 `comet-env.mjs`),然后初始化状态:
141
+
123
142
  ```bash
124
- COMET_ENV="${COMET_ENV:-$(find . "$HOME"/.*/skills "$HOME/.config" "$HOME/.gemini" -path '*/comet/scripts/comet-env.sh' -type f -print -quit 2>/dev/null)}"
125
- if [ -z "$COMET_ENV" ]; then
126
- echo "ERROR: comet-env.sh not found. Ensure the comet skill is installed." >&2
127
- return 1
128
- fi
129
- . "$COMET_ENV"
130
-
131
- if [ -z "$COMET_STATE" ] || [ -z "$COMET_GUARD" ]; then
132
- echo "ERROR: Comet scripts not found. Ensure the comet skill is installed." >&2
133
- return 1
134
- fi
135
-
136
- "$COMET_BASH" "$COMET_STATE" init <name> full
143
+ node "$COMET_STATE" init <name> full
137
144
  ```
138
145
 
139
146
  ### 3. 入口状态验证
@@ -141,7 +148,7 @@ fi
141
148
  验证状态机已正确初始化:
142
149
 
143
150
  ```bash
144
- "$COMET_BASH" "$COMET_STATE" check <name> open
151
+ node "$COMET_STATE" check <name> open
145
152
  ```
146
153
 
147
154
  验证通过后继续 Step 4。验证失败时脚本会输出具体失败原因。
@@ -178,26 +185,26 @@ fi
178
185
 
179
186
  - proposal.md、design.md、tasks.md 均已创建且内容完整
180
187
  - **用户已确认** proposal、design、tasks 内容符合预期
181
- - **阶段守卫**:运行 `"$COMET_BASH" "$COMET_GUARD" <change-name> open --apply`,全部 PASS 后由守卫推进到下一阶段(此步骤更新 `phase` 字段,与 `auto_transition` 无关)
188
+ - **阶段守卫**:运行 `node "$COMET_GUARD" <change-name> open --apply`,全部 PASS 后由守卫推进到下一阶段(此步骤更新 `phase` 字段,与 `auto_transition` 无关)
182
189
 
183
190
  退出前必须使用 `--apply`,否则 `.comet.yaml` 仍停留在 `phase: open`,下一阶段入口检查会失败。
184
191
 
185
192
  ```bash
186
- "$COMET_BASH" "$COMET_GUARD" <change-name> open --apply
193
+ node "$COMET_GUARD" <change-name> open --apply
187
194
  ```
188
195
 
189
- 完整流程会自动更新为 `phase: design`;hotfix/tweak preset 会自动更新为 `phase: build`。
196
+ 完整流程会自动更新为 `phase: design`;hotfix/tweak 预设会自动更新为 `phase: build`。
190
197
 
191
198
  ## 自动衔接下一阶段
192
199
 
193
200
  按 `comet/reference/auto-transition.md` 执行。关键命令:
194
201
 
195
202
  ```bash
196
- "$COMET_BASH" "$COMET_STATE" next <change-name>
203
+ node "$COMET_STATE" next <change-name>
197
204
  ```
198
205
 
199
206
  - `NEXT: auto` → 调用 `SKILL` 指向的 skill 进入下一阶段
200
207
  - `NEXT: manual` → 不要调用下一 skill,按 `HINT` 提示用户手动运行 `/<SKILL>`
201
208
  - `NEXT: done` → 流程已完成,无需继续
202
209
 
203
- hotfix/tweak preset 由对应 preset skill 控制后续流转(phase 直接进入 build),其 `next` 会返回对应 preset skill
210
+ hotfix/tweak 预设由对应预设 Skill 控制后续流转(phase 直接进入 build),其 `next` 会返回对应预设 Skill