@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
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: comet-hotfix
3
- description: "Comet preset path: Bug fix / hotfix. Skip brainstorming, directly open build verify archive. Applicable for behavior fixes, scenarios not involving new capability design."
3
+ description: "Use when the user wants to fix an existing behavior bug without adding capability or needing full design; also use when resuming hotfix workflow."
4
4
  ---
5
5
 
6
6
  # Comet Preset Path: Hotfix
@@ -10,9 +10,9 @@ Quick bug fix workflow: open → build → verify → archive. Skip brainstormin
10
10
  **Applicable conditions** (all must be met):
11
11
  1. Fix bugs in existing functionality, no new capability
12
12
  2. No interface changes or architecture adjustments
13
- 3. Change scope is predictable (usually 2 files)
13
+ 3. Change scope is predictable (file count is a hint only, not a hard upgrade condition; see Upgrade Assessment below)
14
14
 
15
- **Not applicable**: If fix process discovers need for architecture adjustments, should upgrade to full `/comet` workflow.
15
+ **Not applicable**: If the fix process hits a qualitative-change signal (see "Upgrade Assessment" section), the user decides whether to upgrade to the full `/comet` workflow.
16
16
 
17
17
  ---
18
18
 
@@ -20,20 +20,11 @@ Quick bug fix workflow: open → build → verify → archive. Skip brainstormin
20
20
 
21
21
  ### 0. Output Language Constraint
22
22
 
23
- Streamlined OpenSpec artifacts must use the language of the user request that triggered this workflow.
23
+ Streamlined OpenSpec artifacts must use the configured Comet artifact language. Read `language` from `.comet/config.yaml` before `.comet.yaml` exists, then use `"$COMET_BASH" "$COMET_STATE" get <name> language` after initialization.
24
24
 
25
25
  Execution chain: open → build → root cause check → verify → archive. Hotfix provides default decisions for each phase: streamlined open, direct build, root cause confirmation, scale-based verification, and final archive confirmation after verification passes.
26
26
 
27
- Locate Comet scripts before starting:
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
- ```
27
+ Before starting, locate Comet scripts via `comet/reference/scripts.md`. When resuming from any entry point, first use `comet/reference/context-recovery.md` to confirm phase/workflow.
37
28
 
38
29
  ### 1. Quick Open (preset open)
39
30
 
@@ -50,25 +41,25 @@ After the skill loads, follow its guidance to create streamlined artifacts:
50
41
  Initialize Comet state file:
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
  Verify initialized state:
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
  Run phase guard to transition 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
  Check `auto_transition` to decide whether to continue:
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` → continue to Step 2
@@ -76,9 +67,9 @@ Check `auto_transition` to decide whether to continue:
76
67
 
77
68
  ### 2. Direct Build (preset build)
78
69
 
79
- Use hotfix defaults: `build_mode: direct`. Skip Superpowers `brainstorming` and `writing-plans` (unless tasks > 3; if exceeds 3 tasks, transfer to `/comet-build`'s plan and execution method selection — note this does NOT trigger full workflow upgrade, only switches execution method).
70
+ Use hotfix defaults: `build_mode: direct`, `review_mode: off` (hotfix/tweak skip review_mode selection — the guard does not require it for preset workflows). Skip Superpowers `brainstorming` and `writing-plans` (unless tasks > 3; if exceeds 3 tasks, transfer to `/comet-build`'s plan and execution method selection — note this does NOT trigger full workflow upgrade, only switches execution method).
80
71
 
81
- Before continuing or starting changes, handle uncommitted changes through `comet/reference/dirty-worktree.md`. If attribution shows the fix scope exceeds hotfix, handle it through this file's "Upgrade Conditions".
72
+ Before continuing or starting changes, handle uncommitted changes through `comet/reference/dirty-worktree.md`. If attribution shows a qualitative-change signal or file-count tripwire is hit, handle it through this file's "Upgrade Assessment".
82
73
 
83
74
  **Immediately execute:** Execute tasks one by one according to tasks.md:
84
75
 
@@ -107,14 +98,14 @@ For specific investigation, minimal failing test, fix verification, and keeping
107
98
  2. Search and verify problem code no longer exists
108
99
  3. If root cause not eliminated, return to Step 2 to continue fix (still in build phase, no state transition needed)
109
100
 
110
- **Upgrade conditions**:
111
- - Root cause check reveals deep architecture issues → Stop hotfix, handle per "Upgrade Conditions" section
112
- - Fix requires additional interface changes → Stop hotfix, handle per "Upgrade Conditions" section
101
+ **Upgrade assessment signals**:
102
+ - Root cause check reveals deep architecture issues → Hits a qualitative-change signal; pause per the "Upgrade Assessment" section and let the user decide
103
+ - Fix requires additional interface changes → Hits a qualitative-change signal (introduces new public API); pause per the "Upgrade Assessment" section and let the user decide
113
104
 
114
105
  After root cause is confirmed eliminated, run phase guard to transition 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
  State automatically updates to `phase: verify`, `verify_result: pending`, then enter verification.
@@ -125,7 +116,7 @@ Reuse `/comet-verify`, with comet-verify's scale assessment deciding lightweight
125
116
 
126
117
  **Immediately execute:** Use the Skill tool to load the `comet-verify` skill. Skipping this step is prohibited.
127
118
 
128
- Small-scale hotfixes without delta spec usually meet lightweight verification conditions (≤ 3 tasks, 2 files), comet-verify's scale assessment will select the lightweight verification path (6 quick checks, including lightweight code review). If hotfix created delta spec, enter full verification path according to comet-verify's scale assessment rules.
119
+ Small-scale hotfixes without delta spec usually meet lightweight verification conditions (≤ 3 tasks, changed files below the scale threshold), comet-verify's scale assessment will select the lightweight verification path (6 quick checks; default `review_mode: off` does not dispatch automatic code review). If the user wants to increase review, they can run `node "$COMET_STATE" set <name> review_mode standard` or `thorough` before verification. If hotfix created delta spec, enter full verification path according to comet-verify's scale assessment rules.
129
120
 
130
121
  After verification passes, record `.comet.yaml` `verify_result` as `pass` according to `/comet-verify` rules, must not skip this status before archiving. After verification passes, still enter `/comet-archive`'s final archive confirmation; do not automatically run the archive script.
131
122
 
@@ -143,11 +134,11 @@ If there is delta spec, sync to main spec according to comet-archive rules, and
143
134
  <IMPORTANT>
144
135
  Hotfix workflow is **one-time continuous execution**. After invoking `/comet-hotfix`, agent must automatically advance through hotfix steps, without pausing to wait for user input mid-way.
145
136
 
146
- Exception: when `.comet.yaml` has `auto_transition: false`, after each phase guard advances `phase`, do not auto-invoke the next skill. In this case, use `"$COMET_BASH" "$COMET_STATE" next <name>` output and pause for manual continuation as instructed.
137
+ Exception: when `.comet.yaml` has `auto_transition: false`, after each phase guard advances `phase`, do not auto-invoke the next skill. In this case, use `node "$COMET_STATE" next <name>` output and pause for manual continuation as instructed.
147
138
 
148
139
  The following situations must also pause and wait for user confirmation:
149
140
 
150
- 1. Encountering upgrade conditions (see "Upgrade Conditions" section). **Must use the current platform's available user input/confirmation mechanism to pause and wait for the user to explicitly confirm** upgrading to full workflow
141
+ 1. Encountering an upgrade-assessment signal (see "Upgrade Assessment" section). **Must use the current platform's available user input/confirmation mechanism to pause and wait for the user to explicitly choose**: continue the hotfix flow, or upgrade to the full `/comet` workflow
151
142
  2. workspace isolation and execution-method selection when tasks exceed 3 and transfer to `/comet-build`
152
143
  3. verify phase (comet-verify) verification-failure and branch-handling decisions
153
144
  4. Final archive confirmation (before comet-archive runs the archive script)
@@ -159,28 +150,27 @@ After each step completes, immediately enter next step. Within each phase, must
159
150
 
160
151
  ---
161
152
 
162
- ## Upgrade Conditions
153
+ ## Upgrade Assessment
163
154
 
164
- Upgrade to full `/comet` when **any** of the following conditions are met:
155
+ Hotfix upgrade assessment only decides whether to move from the preset workflow to full; file count never upgrades automatically, and `comet-state scale` only decides verification weight.
165
156
 
166
- | Condition | Explanation |
167
- |-----------|-------------|
168
- | Change involves **3+ files** | Exceeds single-point fix scope |
169
- | Architecture changes | New modules, new interfaces, new dependencies |
170
- | Database schema changes | Structural adjustments |
171
- | Introduces new public API | Fix creates new external interface |
172
- | Fix scope exceeds single function/module | Requires coordinated changes |
157
+ If `/comet` passes an intent frame from the entry, hotfix must recheck `risk_signal` and escalation signals only before build: new capability, public API, schema change, cross-module coordination, or deep architecture work. When any signal matches, enter the existing escalation decision point; do not reimplement entry intent recognition.
173
158
 
174
- When upgrade conditions are met, **must follow the `comet/reference/decision-point.md` protocol to pause and wait for the user to explicitly confirm** upgrading to the full `/comet` workflow. Do not directly enter `/comet-design`, and do not automatically supplement Design Doc.
159
+ Continuously check these qualitative-change signals: cross-module coordination, needing a new capability, database schema changes, introducing a new public API, or touching a deep architecture problem (in hotfix context this often surfaces during the root-cause elimination check). If any signal appears, the agent **must not self-upgrade or self-decide to continue**.
175
160
 
176
- After user confirms upgrade, **must first update the workflow and phase fields** before entering full flow:
161
+ The file-count tripwire is only a prompt: when changed files exceed the hint threshold (for example > 4 files), ask the user whether to continue hotfix or upgrade full. More files do not necessarily mean qualitative change. A bug fix is usually focused on 1-3 files, so exceeding the threshold means the change surface is larger and is worth having the user confirm it still fits the preset scope.
162
+
163
+ When a qualitative-change signal or file-count tripwire is hit, **must pause under the `comet/reference/decision-point.md` protocol and wait for the user's explicit choice**. Do not directly enter `/comet-design`; do not automatically add a Design Doc.
164
+
165
+ After the user chooses upgrade (option B), use the legal state-machine upgrade channel, a single command that converts the preset workflow to full and rolls back to design:
177
166
 
178
167
  ```bash
179
- "$COMET_BASH" "$COMET_STATE" set <name> workflow full
180
- "$COMET_BASH" "$COMET_STATE" set <name> phase design
168
+ node "$COMET_STATE" transition <name> preset-escalate
181
169
  ```
182
170
 
183
- Then on current change basis, supplement Design Doc: **Immediately use the Skill tool to load the `comet-design` skill**, proceed normally with full workflow. If user does not confirm upgrade, stop hotfix and report that current change has exceeded hotfix scope.
171
+ This command atomically sets `workflow`/`classic_profile` to `full`, rolls `phase` back to `design`, and clears `design_doc` (satisfying comet-design entry requirements). Then add the Design Doc on the current change: **immediately use the Skill tool to load the `comet-design` skill**, then proceed through the normal full workflow.
172
+
173
+ When the user chooses continue (option A), continue the hotfix workflow and record the user's reason for continuing.
184
174
 
185
175
  ---
186
176
 
@@ -189,14 +179,14 @@ Then on current change basis, supplement Design Doc: **Immediately use the Skill
189
179
  - Bug fixed, tests pass
190
180
  - Change archived
191
181
  - If spec changes, synced to main spec
192
- - **Phase guard**: Before build → verify run `"$COMET_BASH" "$COMET_GUARD" <change-name> build --apply`; before verify → archive follow `/comet-verify` and run `"$COMET_BASH" "$COMET_GUARD" <change-name> verify --apply`
182
+ - **Phase guard**: Before build → verify run `node "$COMET_GUARD" <change-name> build --apply`; before verify → archive follow `/comet-verify` and run `node "$COMET_GUARD" <change-name> verify --apply`
193
183
 
194
184
  ## Automatic Handoff to Next Phase
195
185
 
196
186
  Follow `comet/reference/auto-transition.md`. Key command:
197
187
 
198
188
  ```bash
199
- "$COMET_BASH" "$COMET_STATE" next <name>
189
+ node "$COMET_STATE" next <name>
200
190
  ```
201
191
 
202
192
  - `NEXT: auto` → invoke the skill pointed to by `SKILL` to continue hotfix workflow (`phase: build` returns `comet-hotfix`, `verify` returns `comet-verify`, `archive` returns `comet-archive`)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: comet-open
3
- description: "Comet Phase 1: Open. Invoke with /comet-open. Explore ideas through OpenSpec, confirm requirements clarification, then create change structure (proposal + design + tasks)."
3
+ description: "Use when Comet needs to create a new OpenSpec change, or an active change is missing proposal/design/tasks/.comet.yaml initialization artifacts."
4
4
  ---
5
5
 
6
6
  # Comet Phase 1: Open
@@ -13,7 +13,7 @@ description: "Comet Phase 1: Open. Invoke with /comet-open. Explore ideas throug
13
13
 
14
14
  ### 0. Output Language Constraint
15
15
 
16
- Every prompt and artifact request passed to OpenSpec must include the output-language constraint: use the language of the user request that triggered this workflow. When resuming an existing change with a clear dominant artifact language, preserve that language unless the user explicitly asks to switch.
16
+ Every prompt and artifact request passed to OpenSpec must include the resolved Comet artifact language, using normalized ids such as `en` or `zh-CN`. Before `.comet.yaml` exists, read `language` from `.comet/config.yaml`; after the change is initialized, use `"$COMET_BASH" "$COMET_STATE" get <name> language`. If no configured language exists, fall back to the current user request language. The generated `proposal.md`, `design.md`, and `tasks.md` must use that language as their main language.
17
17
 
18
18
  ### 1. Explore Ideas and Clarify Requirements
19
19
 
@@ -131,26 +131,16 @@ openspec/changes/<name>/
131
131
  ├── .openspec.yaml
132
132
  ├── .comet.yaml
133
133
  ├── proposal.md # Why + What: problem, goals, scope
134
- ├── design.md # How (high-level): architecture decisions, approach selection
134
+ ├── design.md # How (high-level framework): architecture decisions, approach selection (deep technical design is refined in the design phase Design Doc)
135
135
  └── tasks.md # Task checklist (checkboxes)
136
136
  ```
137
137
 
138
138
  Create `.comet.yaml` state file:
139
139
 
140
+ First locate scripts via `comet/reference/scripts.md`, then initialize state:
141
+
140
142
  ```bash
141
- COMET_ENV="${COMET_ENV:-$(find . "$HOME"/.*/skills "$HOME/.config" "$HOME/.gemini" -path '*/comet/scripts/comet-env.sh' -type f -print -quit 2>/dev/null)}"
142
- if [ -z "$COMET_ENV" ]; then
143
- echo "ERROR: comet-env.sh not found. Ensure the comet skill is installed." >&2
144
- return 1
145
- fi
146
- . "$COMET_ENV"
147
-
148
- if [ -z "$COMET_STATE" ] || [ -z "$COMET_GUARD" ]; then
149
- echo "ERROR: Comet scripts not found. Ensure the comet skill is installed." >&2
150
- return 1
151
- fi
152
-
153
- "$COMET_BASH" "$COMET_STATE" init <name> full
143
+ node "$COMET_STATE" init <name> full
154
144
  ```
155
145
 
156
146
  ### 3. Entry State Verification
@@ -158,7 +148,7 @@ fi
158
148
  Verify state machine has been correctly initialized:
159
149
 
160
150
  ```bash
161
- "$COMET_BASH" "$COMET_STATE" check <name> open
151
+ node "$COMET_STATE" check <name> open
162
152
  ```
163
153
 
164
154
  Proceed to Step 4 after verification passes. The script outputs specific failure reasons when verification fails.
@@ -195,12 +185,12 @@ After user selects "Confirm", proceed to exit conditions. When user selects "Nee
195
185
 
196
186
  - proposal.md, design.md, tasks.md all created with complete content
197
187
  - **User has confirmed** proposal, design, tasks content meets expectations
198
- - **Phase guard**: Run `"$COMET_BASH" "$COMET_GUARD" <change-name> open --apply`; after all PASS, auto-transitions to next phase
188
+ - **Phase guard**: Run `node "$COMET_GUARD" <change-name> open --apply`; after all PASS, auto-transitions to next phase
199
189
 
200
190
  Must use `--apply` before exit, otherwise `.comet.yaml` remains at `phase: open` and the next phase entry check will fail.
201
191
 
202
192
  ```bash
203
- "$COMET_BASH" "$COMET_GUARD" <change-name> open --apply
193
+ node "$COMET_GUARD" <change-name> open --apply
204
194
  ```
205
195
 
206
196
  Full workflow auto-transitions to `phase: design`; hotfix/tweak presets auto-transition to `phase: build`.
@@ -210,7 +200,7 @@ Full workflow auto-transitions to `phase: design`; hotfix/tweak presets auto-tra
210
200
  Follow `comet/reference/auto-transition.md`. Key command:
211
201
 
212
202
  ```bash
213
- "$COMET_BASH" "$COMET_STATE" next <change-name>
203
+ node "$COMET_STATE" next <change-name>
214
204
  ```
215
205
 
216
206
  - `NEXT: auto` → invoke the skill pointed to by `SKILL` to enter the next phase
@@ -1,21 +1,21 @@
1
1
  ---
2
2
  name: comet-tweak
3
- description: "Comet preset path: Non-bug small changes (tweak). Skip brainstorming and full plan, directly open lightweight build light verify archive. Applicable for copy, configuration, documentation or prompt local optimization."
3
+ description: "Use when the user wants a lightweight or medium change that fits a single OpenSpec change and does not need full design; also use when resuming tweak workflow."
4
4
  ---
5
5
 
6
6
  # Comet Preset Path: Tweak
7
7
 
8
- Tweak is a preset workflow of Comet's five-phase capabilities, not an independent parallel process. It reuses open, build, verify, archive capabilities, only skipping brainstorming and full plan.
8
+ Tweak is a preset workflow of Comet's five-phase capabilities, not an independent parallel process. It chains OpenSpec's core flow, reusing open, build, verify, archive capabilities, only skipping Superpowers brainstorming and full plan.
9
9
 
10
- Applicable for non-bug small scope changes, such as copy adjustment, configuration adjustment, documentation or prompt local optimization.
10
+ Applicable for OpenSpec-chained lightweight changes, such as configuration adjustments, documentation or prompt optimization, and spec-driven (including delta spec) medium changes that do not need the full `/comet` deep design workflow. Delta spec is a first-class normal artifact in tweak; needing delta spec alone does not constitute an upgrade reason.
11
11
 
12
12
  **Applicable conditions** (all must be met):
13
- 1. No new capability
14
- 2. No architecture changes
15
- 3. No interface changes
16
- 4. Typically no more than 3 tasks (file count constraint see upgrade conditions below)
13
+ 1. Can fit a **single OpenSpec change**
14
+ 2. Does not need a Superpowers Design Doc and full plan to clarify the approach
15
+ 3. Does not involve cross-module or cross-layer architecture coordination
16
+ 4. Task scope is estimable (file count and task count are hints only, not hard upgrade conditions; see Upgrade Assessment below)
17
17
 
18
- **Not applicable**: If change process discovers need for capability, architecture or interface adjustments, should upgrade to full `/comet` workflow.
18
+ **Not applicable**: If the change process hits a qualitative-change signal (see "Upgrade Assessment" section), the user decides whether to upgrade to the full `/comet` workflow.
19
19
 
20
20
  ---
21
21
 
@@ -23,20 +23,11 @@ Applicable for non-bug small scope changes, such as copy adjustment, configurati
23
23
 
24
24
  ### 0. Output Language Constraint
25
25
 
26
- Streamlined OpenSpec artifacts must use the language of the user request that triggered this workflow.
26
+ Streamlined OpenSpec artifacts must use the configured Comet artifact language. Read `language` from `.comet/config.yaml` before `.comet.yaml` exists, then use `"$COMET_BASH" "$COMET_STATE" get <name> language` after initialization.
27
27
 
28
- Execution chain: open → lightweight buildlight verify → archive. Tweak provides default decisions for each phase: streamlined open, lightweight build, lightweight verification, and final archive confirmation after verification passes.
28
+ Execution chain: open → OpenSpec apply → verify → archive. Tweak provides default decisions for each phase: streamlined open, direct build through OpenSpec apply, scale- and delta-spec-driven verification weight, and final archive confirmation after verification passes.
29
29
 
30
- Locate Comet scripts before starting:
31
-
32
- ```bash
33
- COMET_ENV="${COMET_ENV:-$(find . "$HOME"/.*/skills "$HOME/.config" "$HOME/.gemini" -path '*/comet/scripts/comet-env.sh' -type f -print -quit 2>/dev/null)}"
34
- if [ -z "$COMET_ENV" ]; then
35
- echo "ERROR: comet-env.sh not found. Ensure the comet skill is installed." >&2
36
- return 1
37
- fi
38
- . "$COMET_ENV"
39
- ```
30
+ Before starting, locate Comet scripts via `comet/reference/scripts.md`. When resuming from any entry point, first use `comet/reference/context-recovery.md` to confirm phase/workflow.
40
31
 
41
32
  ### 1. Quick Open (preset open)
42
33
 
@@ -47,62 +38,79 @@ Reuse Comet open capability to create change, but use tweak defaults: do not exe
47
38
  After the skill loads, follow its guidance to create streamlined artifacts:
48
39
  - `proposal.md` — change motivation + goals + scope
49
40
  - `design.md` — brief implementation description (no solution comparison needed)
50
- - `tasks.md` — no more than 3 tasks
51
- - **No delta spec needed** (unless change modifies existing spec acceptance scenarios; once delta spec is needed, upgrade to full `/comet`)
41
+ - `tasks.md` — task list (keep to a reasonable size; count itself does not trigger upgrade, see "Upgrade Assessment")
42
+ - `delta spec` (optional) — if the change affects existing spec acceptance scenarios, create it as a normal artifact (only `## MODIFIED Requirements` or `## ADDED Requirements`). Delta spec is the core artifact of OpenSpec brownfield changes; needing delta spec alone does not constitute an upgrade reason
52
43
 
53
44
  Initialize Comet state file:
54
45
 
55
46
  ```bash
56
- "$COMET_BASH" "$COMET_STATE" init <name> tweak
47
+ node "$COMET_STATE" init <name> tweak
57
48
  ```
58
49
 
59
50
  Verify initialized state:
60
51
 
61
52
  ```bash
62
- "$COMET_BASH" "$COMET_STATE" check <name> open
53
+ node "$COMET_STATE" check <name> open
63
54
  ```
64
55
 
65
56
  Run phase guard to transition open → build:
66
57
 
67
58
  ```bash
68
- "$COMET_BASH" "$COMET_GUARD" <change-name> open --apply
59
+ node "$COMET_GUARD" <change-name> open --apply
69
60
  ```
70
61
 
71
- ### 2. Lightweight Build (preset build)
62
+ ### 2. OpenSpec Apply Build (tweak-only preset build)
72
63
 
73
- Use tweak defaults: `build_mode: direct`. Skip Superpowers `brainstorming` and `writing-plans`.
64
+ Use tweak defaults: `build_mode: direct`. Skip Superpowers `brainstorming` and `writing-plans`, and let OpenSpec's apply action execute the current change's tasks.
65
+
66
+ <IMPORTANT>
67
+ This apply path belongs only to tweak. Full `/comet` or `workflow: full` must not use tweak's `openspec-apply-change` build path; full must still generate a Design Doc through `/comet-design`, then let `/comet-build` use Superpowers `writing-plans`, execution-method selection, and the corresponding execution skill to build.
68
+ </IMPORTANT>
74
69
 
75
- Before continuing or starting changes, handle uncommitted changes through `comet/reference/dirty-worktree.md`. If attribution shows scope exceeds tweak, handle it through this file's "Upgrade Conditions".
70
+ Before continuing or starting changes, handle uncommitted changes through `comet/reference/dirty-worktree.md`. If attribution shows a qualitative-change signal or file-count tripwire is hit, handle it through this file's "Upgrade Assessment".
76
71
 
77
- **Immediately execute:** Execute tasks one by one according to tasks.md:
72
+ **Immediately execute:** Use the Skill tool to load the `openspec-apply-change` skill. Skipping this step is prohibited.
78
73
 
79
- 1. Read `openspec/changes/<name>/tasks.md`, get incomplete task list
80
- 2. For each incomplete task:
81
- - Modify target files according to task description
82
- - Run project formatter (e.g., `mvn spotless:apply`, `npm run format`)
74
+ After the skill loads, use the current `<change-name>` as input and follow `openspec-apply-change` to execute the OpenSpec apply flow:
75
+
76
+ 1. Run or follow `openspec status --change "<name>" --json` to confirm the schema and task artifact
77
+ 2. Run or follow `openspec instructions apply --change "<name>" --json` to read OpenSpec's apply instructions, `contextFiles`, task progress, and dynamic instruction
78
+ 3. Read every context file listed by the apply instructions; do not implement from stale conversation context or a handwritten tasks loop alone
79
+ 4. Complete unchecked tasks one by one according to the apply instructions, keeping changes minimal and focused
80
+ 5. After each completed task:
81
+ - Run the project formatter (e.g., `mvn spotless:apply`, `npm run format`)
83
82
  - Run related tests to confirm pass
84
- - Check corresponding `- [ ]` to `- [x]` in tasks.md
83
+ - Mark the corresponding task complete according to `openspec-apply-change`
85
84
  - Commit code, commit message format: `tweak: <brief change description>`
86
- 3. After all tasks complete, explicitly run relevant project tests and build commands
87
- 4. Run phase guard to transition build → verify:
85
+ 6. After all tasks complete, explicitly run relevant project tests and build commands
86
+
87
+ During tweak execution, whenever running programs, tests, builds, or manual verification results in crashes, abnormal behavior, test failures, or build failures, you must use the Skill tool to load the Superpowers `systematic-debugging` skill. Do not propose or implement source code fixes before completing root cause investigation.
88
+
89
+ For specific investigation, minimal failing test, fix verification, and keeping the current change verification loop, follow `comet/reference/debug-gate.md`.
90
+
91
+ **Upgrade assessment check**: Continuously judge throughout build, and do a consolidated re-check before running the build→verify guard. Assessment uses a three-layer division of labor (see "Upgrade Assessment" section): qualitative-change signals rely on agent semantic recognition, file count is only a hint delegated to the user, and the scale script only governs verification weight. When a qualitative-change signal or file-count tripwire is hit, **do not upgrade on your own or decide to continue on your own** — must pause per `comet/reference/decision-point.md` and delegate the decision to the user: continue the tweak lightweight flow, or upgrade to the full `/comet`.
92
+
93
+ 7. Run phase guard to transition build → verify:
88
94
 
89
95
  ```bash
90
- "$COMET_BASH" "$COMET_GUARD" <change-name> build --apply
96
+ node "$COMET_GUARD" <change-name> build --apply
91
97
  ```
92
98
 
93
99
  State automatically updates to `phase: verify`, `verify_result: pending`, then enter verification.
94
100
 
95
- During tweak execution, whenever running programs, tests, builds, or manual verification results in crashes, abnormal behavior, test failures, or build failures, you must use the Skill tool to load the Superpowers `systematic-debugging` skill. Do not propose or implement source code fixes before completing root cause investigation.
101
+ ### 3. Verification (preset verify)
96
102
 
97
- For specific investigation, minimal failing test, fix verification, and keeping the current change verification loop, follow `comet/reference/debug-gate.md`.
103
+ Reuse `/comet-verify`; let comet-verify's scale assessment decide lightweight or full verification.
98
104
 
99
- ### 3. Lightweight Verification (preset verify)
105
+ **Immediately execute:** Use the Skill tool to load the `comet-verify` skill. Skipping this step is prohibited.
100
106
 
101
- Reuse `/comet-verify`. Tweak must maintain lightweight verification conditions: 3 tasks, 4 files, no delta spec, no new capability.
107
+ **Delta-spec verification routing**: tweak accepts delta spec as a normal artifact. If this change created a delta spec, explicitly set full verification mode before entering comet-verify, to run OpenSpec-native verification (`openspec-verify-change`) covering delta-spec consistency:
102
108
 
103
- **Immediately execute:** Use the Skill tool to load the `comet-verify` skill. Skipping this step is prohibited.
109
+ ```bash
110
+ node "$COMET_STATE" set <change-name> verify_mode full
111
+ ```
104
112
 
105
- If scale assessment enters full verification path, stop tweak, handle per upgrade conditions blocking confirmation.
113
+ A tweak without delta spec usually meets lightweight verification conditions (≤ 3 tasks, changed files below the scale threshold); comet-verify's scale assessment selects the lightweight verification path (6 quick checks). If the user wants to add review, run `node "$COMET_STATE" set <name> review_mode standard` or `thorough` before verification.
106
114
 
107
115
  After verification passes, record `.comet.yaml` `verify_result` as `pass` according to `/comet-verify` rules, must not skip this status before archiving. After verification passes, still enter `/comet-archive`'s final archive confirmation; do not automatically run the archive script.
108
116
 
@@ -119,60 +127,58 @@ Reuse `/comet-archive`. Must satisfy `verify_result: pass` in `.comet.yaml` befo
119
127
  <IMPORTANT>
120
128
  Tweak workflow is **one-time continuous execution**. After invoking `/comet-tweak`, agent must automatically advance through tweak steps, without pausing to wait for user input mid-way.
121
129
 
122
- Exception: when `.comet.yaml` has `auto_transition: false`, after each phase guard advances `phase`, do not auto-invoke the next skill. In this case, use `"$COMET_BASH" "$COMET_STATE" next <name>` output and pause for manual continuation as instructed.
130
+ Exception: when `.comet.yaml` has `auto_transition: false`, after each phase guard advances `phase`, do not auto-invoke the next skill. In this case, use `node "$COMET_STATE" next <name>` output and pause for manual continuation as instructed.
123
131
 
124
132
  The following situations must pause and wait for user confirmation:
125
133
 
126
- 1. Encountering upgrade conditions (see "Upgrade Conditions" section). **Must use the current platform's available user input/confirmation mechanism to pause and wait for the user to explicitly confirm** upgrading to full workflow
134
+ 1. Encountering an upgrade-assessment signal (see "Upgrade Assessment" section). **Must use the current platform's available user input/confirmation mechanism to pause and wait for the user to explicitly choose**: continue the tweak lightweight flow, or upgrade to the full `/comet` workflow
127
135
  2. verify phase (comet-verify) verification-failure and branch-handling decisions
128
136
  3. Final archive confirmation (before comet-archive runs the archive script)
129
137
 
130
- Execution order: quick open → lightweight build → lightweight verification → archive → complete
138
+ Execution order: quick open → build (with upgrade assessment) → verification → archive → complete
131
139
 
132
140
  After each phase completes, immediately enter next phase. Within each phase, must still call corresponding Comet/OpenSpec/Superpowers skill according to above requirements; if the called skill has its own user decision points, follow that skill's rules.
133
141
  </IMPORTANT>
134
142
 
135
143
  ---
136
144
 
137
- ## Upgrade Conditions
145
+ ## Upgrade Assessment
146
+
147
+ Tweak upgrade assessment only decides whether to move from the lightweight preset to full; delta spec alone is not an upgrade reason, file count never upgrades automatically, and `comet-state scale` only decides verification weight.
138
148
 
139
- Upgrade to full `/comet` when **any** of the following conditions are met:
149
+ If `/comet` passes an intent frame from the entry, tweak must recheck `risk_signal` and escalation signals only before build: new capability, public API, schema change, cross-module coordination, or deep architecture work. When any signal matches, enter the existing escalation decision point. Delta spec remains a normal tweak artifact and must not trigger escalation by itself; do not reimplement entry intent recognition.
140
150
 
141
- | Condition | Explanation |
142
- |-----------|-------------|
143
- | Change involves **5+ files** | Exceeds small change scope |
144
- | Cross-module coordination required | Requires cross-component coordination |
145
- | **5+** new test cases needed | Change complexity rising |
146
- | Config item additions or deletions | Config changes beyond value modifications |
147
- | New capability needed | Exceeds local optimization |
148
- | Delta spec needed | Affects existing specs |
151
+ Continuously check these qualitative-change signals: cross-module coordination, needing a new capability, database schema changes, introducing a new public API, or touching a deep architecture problem; plus the tweak-specific signal: needing to split into multiple OpenSpec changes. If any signal appears, the agent **must not self-upgrade or self-decide to continue**.
149
152
 
150
- When upgrade conditions are met, **must follow the `comet/reference/decision-point.md` protocol to pause and wait for the user to explicitly confirm** upgrading to the full `/comet` workflow. Do not directly enter `/comet-design`, and do not automatically supplement Design Doc.
153
+ The file-count tripwire is only a prompt: when changed files exceed the hint threshold (for example > 6 files), ask the user whether to continue tweak or upgrade full. More files do not necessarily mean qualitative change. Tweaks often come with delta spec or config changes, so their reach is naturally wider than a bug fix, hence the higher threshold than hotfix.
151
154
 
152
- After user confirms upgrade, **must first update the workflow and phase fields** before entering full flow:
155
+ When a qualitative-change signal or file-count tripwire is hit, **must pause under the `comet/reference/decision-point.md` protocol and wait for the user's explicit choice**. Do not directly enter `/comet-design`; do not automatically add a Design Doc.
156
+
157
+ After the user chooses upgrade (option B), use the legal state-machine upgrade channel, a single command that converts the preset workflow to full and rolls back to design:
153
158
 
154
159
  ```bash
155
- "$COMET_BASH" "$COMET_STATE" set <name> workflow full
156
- "$COMET_BASH" "$COMET_STATE" set <name> phase design
160
+ node "$COMET_STATE" transition <name> preset-escalate
157
161
  ```
158
162
 
159
- Then on current change basis, supplement Design Doc: **Immediately use the Skill tool to load the `comet-design` skill**, proceed normally with full workflow. If user does not confirm upgrade, stop tweak and report that current change has exceeded tweak scope.
163
+ This command atomically sets `workflow`/`classic_profile` to `full`, rolls `phase` back to `design`, and clears `design_doc` (satisfying comet-design entry requirements). Then add the Design Doc on the current change: **immediately use the Skill tool to load the `comet-design` skill**, then proceed through the normal full workflow.
164
+
165
+ When the user chooses continue (option A), continue the tweak workflow and record the user's reason for continuing.
160
166
 
161
167
  ---
162
168
 
163
169
  ## Exit Conditions
164
170
 
165
- - Small change completed, tests pass
171
+ - Change completed, tests pass
166
172
  - Change archived
167
- - No new capability, architecture adjustments or interface changes
168
- - **Phase guard**: Before build → verify run `"$COMET_BASH" "$COMET_GUARD" <change-name> build --apply`; before verify → archive follow `/comet-verify` and run `"$COMET_BASH" "$COMET_GUARD" <change-name> verify --apply`
173
+ - If spec changed, synced to main spec
174
+ - **Phase guard**: Before build → verify run `node "$COMET_GUARD" <change-name> build --apply`; before verify → archive follow `/comet-verify` and run `node "$COMET_GUARD" <change-name> verify --apply`
169
175
 
170
176
  ## Automatic Handoff to Next Phase
171
177
 
172
178
  Follow `comet/reference/auto-transition.md`. Key command:
173
179
 
174
180
  ```bash
175
- "$COMET_BASH" "$COMET_STATE" next <name>
181
+ node "$COMET_STATE" next <name>
176
182
  ```
177
183
 
178
184
  - `NEXT: auto` → invoke the skill pointed to by `SKILL` to continue tweak workflow (`phase: build` returns `comet-tweak`, `verify` returns `comet-verify`, `archive` returns `comet-archive`)