@rpamis/comet 0.4.0-beta.1 → 0.4.0-beta.11

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 (1297) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +279 -113
  3. package/assets/manifest.json +17 -5
  4. package/assets/skills/comet/SKILL.md +17 -256
  5. package/assets/skills/comet/reference/auto-transition.md +1 -1
  6. package/assets/skills/comet/reference/classic-layout.md +34 -0
  7. package/assets/skills/comet/reference/comet-yaml-fields.md +14 -8
  8. package/assets/skills/comet/reference/context-recovery.md +14 -4
  9. package/assets/skills/comet/reference/decision-point.md +11 -0
  10. package/assets/skills/comet/reference/file-structure.md +2 -2
  11. package/assets/skills/comet/reference/intent-frame.md +3 -3
  12. package/assets/skills/comet/reference/scripts.md +47 -15
  13. package/assets/skills/comet/reference/subagent-dispatch.md +8 -7
  14. package/assets/skills/comet/rules/comet-phase-guard.en.md +34 -31
  15. package/assets/skills/comet/rules/comet-phase-guard.md +34 -32
  16. package/assets/skills/comet/rules/comet-workflow-guard.en.md +32 -0
  17. package/assets/skills/comet/rules/comet-workflow-guard.md +32 -0
  18. package/assets/skills/comet/scripts/comet-entry-runtime.mjs +8074 -0
  19. package/assets/skills/comet/scripts/comet-hook-router.mjs +12086 -0
  20. package/assets/skills/comet/scripts/comet-resume-probe.mjs +3 -0
  21. package/assets/skills/comet/scripts/comet-runtime.mjs +10449 -4105
  22. package/assets/skills/comet-any/SKILL.md +5 -5
  23. package/assets/skills/comet-any/reference/authored-zone-example.md +10 -5
  24. package/assets/skills/comet-any/reference/authoring-subagents.md +1 -1
  25. package/assets/skills/comet-any/reference/bundle-authoring.md +2 -2
  26. package/assets/skills/comet-any/reference/subagents/pause-points-author.md +14 -11
  27. package/assets/skills/comet-any/reference/subagents/reference-author.md +1 -1
  28. package/assets/skills/comet-any/reference/subagents/script-author.md +1 -1
  29. package/assets/skills/comet-any/reference/subagents/skill-core-author.md +1 -1
  30. package/assets/skills/comet-any/reference/subagents/skill-reviewer.md +4 -2
  31. package/assets/skills/comet-any/reference/subagents/workflow-entry-author.md +8 -7
  32. package/assets/skills/comet-archive/SKILL.md +69 -26
  33. package/assets/skills/comet-build/SKILL.md +77 -58
  34. package/assets/skills/comet-classic/SKILL.md +295 -0
  35. package/assets/skills/comet-design/SKILL.md +40 -36
  36. package/assets/skills/comet-hotfix/SKILL.md +57 -35
  37. package/assets/skills/comet-native/SKILL.md +132 -0
  38. package/assets/skills/comet-native/reference/artifacts.md +141 -0
  39. package/assets/skills/comet-native/reference/clarification.md +54 -0
  40. package/assets/skills/comet-native/reference/commands.md +168 -0
  41. package/assets/skills/comet-native/reference/recovery.md +96 -0
  42. package/assets/skills/comet-native/scripts/comet-native-hook-guard.mjs +4 -0
  43. package/assets/skills/comet-native/scripts/comet-native-runtime.mjs +34165 -0
  44. package/assets/skills/comet-open/SKILL.md +119 -59
  45. package/assets/skills/comet-tweak/SKILL.md +52 -27
  46. package/assets/skills/comet-verify/SKILL.md +65 -73
  47. package/assets/skills-zh/comet/SKILL.md +17 -244
  48. package/assets/skills-zh/comet/reference/auto-transition.md +1 -1
  49. package/assets/skills-zh/comet/reference/classic-layout.md +34 -0
  50. package/assets/skills-zh/comet/reference/comet-yaml-fields.md +13 -8
  51. package/assets/skills-zh/comet/reference/context-recovery.md +14 -4
  52. package/assets/skills-zh/comet/reference/decision-point.md +11 -0
  53. package/assets/skills-zh/comet/reference/file-structure.md +2 -2
  54. package/assets/skills-zh/comet/reference/intent-frame.md +3 -3
  55. package/assets/skills-zh/comet/reference/scripts.md +47 -15
  56. package/assets/skills-zh/comet/reference/subagent-dispatch.md +8 -7
  57. package/assets/skills-zh/comet-any/SKILL.md +5 -5
  58. package/assets/skills-zh/comet-any/reference/authored-zone-example.md +10 -5
  59. package/assets/skills-zh/comet-any/reference/authoring-subagents.md +1 -1
  60. package/assets/skills-zh/comet-any/reference/bundle-authoring.md +2 -2
  61. package/assets/skills-zh/comet-any/reference/subagents/pause-points-author.md +14 -12
  62. package/assets/skills-zh/comet-any/reference/subagents/reference-author.md +1 -1
  63. package/assets/skills-zh/comet-any/reference/subagents/script-author.md +1 -1
  64. package/assets/skills-zh/comet-any/reference/subagents/skill-core-author.md +1 -1
  65. package/assets/skills-zh/comet-any/reference/subagents/skill-reviewer.md +4 -2
  66. package/assets/skills-zh/comet-any/reference/subagents/workflow-entry-author.md +8 -7
  67. package/assets/skills-zh/comet-archive/SKILL.md +69 -26
  68. package/assets/skills-zh/comet-build/SKILL.md +77 -58
  69. package/assets/skills-zh/comet-classic/SKILL.md +283 -0
  70. package/assets/skills-zh/comet-design/SKILL.md +40 -36
  71. package/assets/skills-zh/comet-hotfix/SKILL.md +56 -34
  72. package/assets/skills-zh/comet-native/SKILL.md +132 -0
  73. package/assets/skills-zh/comet-native/reference/artifacts.md +141 -0
  74. package/assets/skills-zh/comet-native/reference/clarification.md +54 -0
  75. package/assets/skills-zh/comet-native/reference/commands.md +168 -0
  76. package/assets/skills-zh/comet-native/reference/recovery.md +96 -0
  77. package/assets/skills-zh/comet-open/SKILL.md +118 -58
  78. package/assets/skills-zh/comet-tweak/SKILL.md +51 -26
  79. package/assets/skills-zh/comet-verify/SKILL.md +65 -73
  80. package/dist/app/cli/comet-banner.d.ts +25 -0
  81. package/dist/app/cli/comet-banner.d.ts.map +1 -0
  82. package/dist/app/cli/comet-banner.js +265 -0
  83. package/dist/app/cli/comet-banner.js.map +1 -0
  84. package/dist/app/cli/index.js +113 -16
  85. package/dist/app/cli/index.js.map +1 -1
  86. package/dist/app/commands/classic.d.ts +5 -0
  87. package/dist/app/commands/classic.d.ts.map +1 -0
  88. package/dist/app/commands/classic.js +32 -0
  89. package/dist/app/commands/classic.js.map +1 -0
  90. package/dist/app/commands/command-result.d.ts +6 -0
  91. package/dist/app/commands/command-result.d.ts.map +1 -0
  92. package/dist/app/commands/command-result.js +4 -0
  93. package/dist/app/commands/command-result.js.map +1 -0
  94. package/dist/app/commands/doctor.d.ts +4 -0
  95. package/dist/app/commands/doctor.d.ts.map +1 -1
  96. package/dist/app/commands/doctor.js +926 -95
  97. package/dist/app/commands/doctor.js.map +1 -1
  98. package/dist/app/commands/eval.d.ts +3 -1
  99. package/dist/app/commands/eval.d.ts.map +1 -1
  100. package/dist/app/commands/eval.js +80 -22
  101. package/dist/app/commands/eval.js.map +1 -1
  102. package/dist/app/commands/i18n.d.ts +1 -1
  103. package/dist/app/commands/i18n.d.ts.map +1 -1
  104. package/dist/app/commands/i18n.js +18 -6
  105. package/dist/app/commands/i18n.js.map +1 -1
  106. package/dist/app/commands/init.d.ts +13 -3
  107. package/dist/app/commands/init.d.ts.map +1 -1
  108. package/dist/app/commands/init.js +561 -72
  109. package/dist/app/commands/init.js.map +1 -1
  110. package/dist/app/commands/native.d.ts +2 -0
  111. package/dist/app/commands/native.d.ts.map +1 -0
  112. package/dist/app/commands/native.js +10 -0
  113. package/dist/app/commands/native.js.map +1 -0
  114. package/dist/app/commands/project-scope-selection.d.ts +13 -0
  115. package/dist/app/commands/project-scope-selection.d.ts.map +1 -0
  116. package/dist/app/commands/project-scope-selection.js +35 -0
  117. package/dist/app/commands/project-scope-selection.js.map +1 -0
  118. package/dist/app/commands/resume-probe.d.ts +12 -0
  119. package/dist/app/commands/resume-probe.d.ts.map +1 -0
  120. package/dist/app/commands/resume-probe.js +68 -0
  121. package/dist/app/commands/resume-probe.js.map +1 -0
  122. package/dist/app/commands/status.d.ts.map +1 -1
  123. package/dist/app/commands/status.js +70 -104
  124. package/dist/app/commands/status.js.map +1 -1
  125. package/dist/app/commands/uninstall.d.ts +5 -0
  126. package/dist/app/commands/uninstall.d.ts.map +1 -1
  127. package/dist/app/commands/uninstall.js +264 -53
  128. package/dist/app/commands/uninstall.js.map +1 -1
  129. package/dist/app/commands/update.d.ts +29 -5
  130. package/dist/app/commands/update.d.ts.map +1 -1
  131. package/dist/app/commands/update.js +1431 -127
  132. package/dist/app/commands/update.js.map +1 -1
  133. package/dist/app/commands/workflow.d.ts +6 -0
  134. package/dist/app/commands/workflow.d.ts.map +1 -0
  135. package/dist/app/commands/workflow.js +11 -0
  136. package/dist/app/commands/workflow.js.map +1 -0
  137. package/dist/config/repository-layout.json +29 -3
  138. package/dist/domains/bundle/bundle-platform.d.ts +1 -0
  139. package/dist/domains/bundle/bundle-platform.d.ts.map +1 -1
  140. package/dist/domains/bundle/bundle-platform.js +10 -4
  141. package/dist/domains/bundle/bundle-platform.js.map +1 -1
  142. package/dist/domains/bundle/eval-manifest-runtime.d.ts +8 -0
  143. package/dist/domains/bundle/eval-manifest-runtime.d.ts.map +1 -0
  144. package/dist/domains/bundle/eval-manifest-runtime.js +118 -0
  145. package/dist/domains/bundle/eval-manifest-runtime.js.map +1 -0
  146. package/dist/domains/bundle/eval-run-result.d.ts +22 -0
  147. package/dist/domains/bundle/eval-run-result.d.ts.map +1 -0
  148. package/dist/domains/bundle/eval-run-result.js +207 -0
  149. package/dist/domains/bundle/eval-run-result.js.map +1 -0
  150. package/dist/domains/bundle/eval.d.ts.map +1 -1
  151. package/dist/domains/bundle/eval.js +21 -24
  152. package/dist/domains/bundle/eval.js.map +1 -1
  153. package/dist/domains/bundle/factory.d.ts.map +1 -1
  154. package/dist/domains/bundle/factory.js +2 -9
  155. package/dist/domains/bundle/factory.js.map +1 -1
  156. package/dist/domains/bundle/review-summary.js +1 -1
  157. package/dist/domains/bundle/review-summary.js.map +1 -1
  158. package/dist/domains/bundle/state.d.ts.map +1 -1
  159. package/dist/domains/bundle/state.js +117 -2
  160. package/dist/domains/bundle/state.js.map +1 -1
  161. package/dist/domains/bundle/types.d.ts +1 -1
  162. package/dist/domains/bundle/types.d.ts.map +1 -1
  163. package/dist/domains/comet-classic/classic-archive-pointer.d.ts +8 -0
  164. package/dist/domains/comet-classic/classic-archive-pointer.d.ts.map +1 -0
  165. package/dist/domains/comet-classic/classic-archive-pointer.js +66 -0
  166. package/dist/domains/comet-classic/classic-archive-pointer.js.map +1 -0
  167. package/dist/domains/comet-classic/classic-archive.d.ts +1 -0
  168. package/dist/domains/comet-classic/classic-archive.d.ts.map +1 -1
  169. package/dist/domains/comet-classic/classic-archive.js +205 -114
  170. package/dist/domains/comet-classic/classic-archive.js.map +1 -1
  171. package/dist/domains/comet-classic/classic-branch-binding.d.ts +51 -0
  172. package/dist/domains/comet-classic/classic-branch-binding.d.ts.map +1 -0
  173. package/dist/domains/comet-classic/classic-branch-binding.js +107 -0
  174. package/dist/domains/comet-classic/classic-branch-binding.js.map +1 -0
  175. package/dist/domains/comet-classic/classic-cli.d.ts +3 -1
  176. package/dist/domains/comet-classic/classic-cli.d.ts.map +1 -1
  177. package/dist/domains/comet-classic/classic-cli.js +12 -3
  178. package/dist/domains/comet-classic/classic-cli.js.map +1 -1
  179. package/dist/domains/comet-classic/classic-command-checks.d.ts +20 -0
  180. package/dist/domains/comet-classic/classic-command-checks.d.ts.map +1 -0
  181. package/dist/domains/comet-classic/classic-command-checks.js +94 -0
  182. package/dist/domains/comet-classic/classic-command-checks.js.map +1 -0
  183. package/dist/domains/comet-classic/classic-command-context.d.ts +12 -0
  184. package/dist/domains/comet-classic/classic-command-context.d.ts.map +1 -0
  185. package/dist/domains/comet-classic/classic-command-context.js +42 -0
  186. package/dist/domains/comet-classic/classic-command-context.js.map +1 -0
  187. package/dist/domains/comet-classic/classic-current-change.d.ts +17 -0
  188. package/dist/domains/comet-classic/classic-current-change.d.ts.map +1 -0
  189. package/dist/domains/comet-classic/classic-current-change.js +112 -0
  190. package/dist/domains/comet-classic/classic-current-change.js.map +1 -0
  191. package/dist/domains/comet-classic/classic-diagnostics.d.ts +2 -1
  192. package/dist/domains/comet-classic/classic-diagnostics.d.ts.map +1 -1
  193. package/dist/domains/comet-classic/classic-diagnostics.js +54 -1
  194. package/dist/domains/comet-classic/classic-diagnostics.js.map +1 -1
  195. package/dist/domains/comet-classic/classic-evidence.d.ts +1 -0
  196. package/dist/domains/comet-classic/classic-evidence.d.ts.map +1 -1
  197. package/dist/domains/comet-classic/classic-evidence.js +101 -37
  198. package/dist/domains/comet-classic/classic-evidence.js.map +1 -1
  199. package/dist/domains/comet-classic/classic-guard.d.ts.map +1 -1
  200. package/dist/domains/comet-classic/classic-guard.js +229 -208
  201. package/dist/domains/comet-classic/classic-guard.js.map +1 -1
  202. package/dist/domains/comet-classic/classic-handoff.d.ts.map +1 -1
  203. package/dist/domains/comet-classic/classic-handoff.js +155 -107
  204. package/dist/domains/comet-classic/classic-handoff.js.map +1 -1
  205. package/dist/domains/comet-classic/classic-hook-guard.d.ts +9 -0
  206. package/dist/domains/comet-classic/classic-hook-guard.d.ts.map +1 -1
  207. package/dist/domains/comet-classic/classic-hook-guard.js +406 -54
  208. package/dist/domains/comet-classic/classic-hook-guard.js.map +1 -1
  209. package/dist/domains/comet-classic/classic-layout-initialization.d.ts +86 -0
  210. package/dist/domains/comet-classic/classic-layout-initialization.d.ts.map +1 -0
  211. package/dist/domains/comet-classic/classic-layout-initialization.js +813 -0
  212. package/dist/domains/comet-classic/classic-layout-initialization.js.map +1 -0
  213. package/dist/domains/comet-classic/classic-layout.d.ts +47 -0
  214. package/dist/domains/comet-classic/classic-layout.d.ts.map +1 -0
  215. package/dist/domains/comet-classic/classic-layout.js +227 -0
  216. package/dist/domains/comet-classic/classic-layout.js.map +1 -0
  217. package/dist/domains/comet-classic/classic-migrate.d.ts +4 -0
  218. package/dist/domains/comet-classic/classic-migrate.d.ts.map +1 -1
  219. package/dist/domains/comet-classic/classic-migrate.js +8 -12
  220. package/dist/domains/comet-classic/classic-migrate.js.map +1 -1
  221. package/dist/domains/comet-classic/classic-openspec-command.d.ts +4 -0
  222. package/dist/domains/comet-classic/classic-openspec-command.d.ts.map +1 -0
  223. package/dist/domains/comet-classic/classic-openspec-command.js +45 -0
  224. package/dist/domains/comet-classic/classic-openspec-command.js.map +1 -0
  225. package/dist/domains/comet-classic/classic-openspec-root.d.ts +13 -0
  226. package/dist/domains/comet-classic/classic-openspec-root.d.ts.map +1 -0
  227. package/dist/domains/comet-classic/classic-openspec-root.js +47 -0
  228. package/dist/domains/comet-classic/classic-openspec-root.js.map +1 -0
  229. package/dist/domains/comet-classic/classic-paths.d.ts +11 -1
  230. package/dist/domains/comet-classic/classic-paths.d.ts.map +1 -1
  231. package/dist/domains/comet-classic/classic-paths.js +87 -35
  232. package/dist/domains/comet-classic/classic-paths.js.map +1 -1
  233. package/dist/domains/comet-classic/classic-project-config.d.ts +16 -0
  234. package/dist/domains/comet-classic/classic-project-config.d.ts.map +1 -0
  235. package/dist/domains/comet-classic/classic-project-config.js +36 -0
  236. package/dist/domains/comet-classic/classic-project-config.js.map +1 -0
  237. package/dist/domains/comet-classic/classic-protected-path.d.ts +39 -0
  238. package/dist/domains/comet-classic/classic-protected-path.d.ts.map +1 -0
  239. package/dist/domains/comet-classic/classic-protected-path.js +69 -0
  240. package/dist/domains/comet-classic/classic-protected-path.js.map +1 -0
  241. package/dist/domains/comet-classic/classic-resolver.d.ts.map +1 -1
  242. package/dist/domains/comet-classic/classic-resolver.js +4 -4
  243. package/dist/domains/comet-classic/classic-resolver.js.map +1 -1
  244. package/dist/domains/comet-classic/classic-resume-probe-command.d.ts +3 -0
  245. package/dist/domains/comet-classic/classic-resume-probe-command.d.ts.map +1 -0
  246. package/dist/domains/comet-classic/classic-resume-probe-command.js +59 -0
  247. package/dist/domains/comet-classic/classic-resume-probe-command.js.map +1 -0
  248. package/dist/domains/comet-classic/classic-resume-probe-entry.d.ts +2 -0
  249. package/dist/domains/comet-classic/classic-resume-probe-entry.d.ts.map +1 -0
  250. package/dist/domains/comet-classic/classic-resume-probe-entry.js +4 -0
  251. package/dist/domains/comet-classic/classic-resume-probe-entry.js.map +1 -0
  252. package/dist/domains/comet-classic/classic-resume-probe.d.ts +29 -0
  253. package/dist/domains/comet-classic/classic-resume-probe.d.ts.map +1 -0
  254. package/dist/domains/comet-classic/classic-resume-probe.js +406 -0
  255. package/dist/domains/comet-classic/classic-resume-probe.js.map +1 -0
  256. package/dist/domains/comet-classic/classic-root-command.d.ts +5 -0
  257. package/dist/domains/comet-classic/classic-root-command.d.ts.map +1 -0
  258. package/dist/domains/comet-classic/classic-root-command.js +84 -0
  259. package/dist/domains/comet-classic/classic-root-command.js.map +1 -0
  260. package/dist/domains/comet-classic/classic-root-move.d.ts +119 -0
  261. package/dist/domains/comet-classic/classic-root-move.d.ts.map +1 -0
  262. package/dist/domains/comet-classic/classic-root-move.js +1737 -0
  263. package/dist/domains/comet-classic/classic-root-move.js.map +1 -0
  264. package/dist/domains/comet-classic/classic-runtime-run.d.ts +2 -1
  265. package/dist/domains/comet-classic/classic-runtime-run.d.ts.map +1 -1
  266. package/dist/domains/comet-classic/classic-runtime-run.js +278 -5
  267. package/dist/domains/comet-classic/classic-runtime-run.js.map +1 -1
  268. package/dist/domains/comet-classic/classic-state-command.d.ts.map +1 -1
  269. package/dist/domains/comet-classic/classic-state-command.js +342 -87
  270. package/dist/domains/comet-classic/classic-state-command.js.map +1 -1
  271. package/dist/domains/comet-classic/classic-state-events.d.ts +1 -1
  272. package/dist/domains/comet-classic/classic-state-events.d.ts.map +1 -1
  273. package/dist/domains/comet-classic/classic-state-events.js +3 -4
  274. package/dist/domains/comet-classic/classic-state-events.js.map +1 -1
  275. package/dist/domains/comet-classic/classic-state.d.ts +6 -4
  276. package/dist/domains/comet-classic/classic-state.d.ts.map +1 -1
  277. package/dist/domains/comet-classic/classic-state.js +20 -7
  278. package/dist/domains/comet-classic/classic-state.js.map +1 -1
  279. package/dist/domains/comet-classic/classic-store.d.ts +6 -1
  280. package/dist/domains/comet-classic/classic-store.d.ts.map +1 -1
  281. package/dist/domains/comet-classic/classic-store.js +36 -23
  282. package/dist/domains/comet-classic/classic-store.js.map +1 -1
  283. package/dist/domains/comet-classic/classic-transitions.d.ts +1 -1
  284. package/dist/domains/comet-classic/classic-transitions.d.ts.map +1 -1
  285. package/dist/domains/comet-classic/classic-transitions.js +37 -3
  286. package/dist/domains/comet-classic/classic-transitions.js.map +1 -1
  287. package/dist/domains/comet-classic/classic-validate-command.d.ts.map +1 -1
  288. package/dist/domains/comet-classic/classic-validate-command.js +40 -20
  289. package/dist/domains/comet-classic/classic-validate-command.js.map +1 -1
  290. package/dist/domains/comet-classic/index.d.ts +3 -0
  291. package/dist/domains/comet-classic/index.d.ts.map +1 -1
  292. package/dist/domains/comet-classic/index.js +3 -0
  293. package/dist/domains/comet-classic/index.js.map +1 -1
  294. package/dist/domains/comet-entry/current-selection-repair.d.ts +17 -0
  295. package/dist/domains/comet-entry/current-selection-repair.d.ts.map +1 -0
  296. package/dist/domains/comet-entry/current-selection-repair.js +19 -0
  297. package/dist/domains/comet-entry/current-selection-repair.js.map +1 -0
  298. package/dist/domains/comet-entry/current-selection.d.ts +28 -0
  299. package/dist/domains/comet-entry/current-selection.d.ts.map +1 -0
  300. package/dist/domains/comet-entry/current-selection.js +114 -0
  301. package/dist/domains/comet-entry/current-selection.js.map +1 -0
  302. package/dist/domains/comet-entry/entry-runtime-entry.d.ts +2 -0
  303. package/dist/domains/comet-entry/entry-runtime-entry.d.ts.map +1 -0
  304. package/dist/domains/comet-entry/entry-runtime-entry.js +3 -0
  305. package/dist/domains/comet-entry/entry-runtime-entry.js.map +1 -0
  306. package/dist/domains/comet-entry/entry-runtime.d.ts +7 -0
  307. package/dist/domains/comet-entry/entry-runtime.d.ts.map +1 -0
  308. package/dist/domains/comet-entry/entry-runtime.js +55 -0
  309. package/dist/domains/comet-entry/entry-runtime.js.map +1 -0
  310. package/dist/domains/comet-entry/hook-adapter.d.ts +6 -0
  311. package/dist/domains/comet-entry/hook-adapter.d.ts.map +1 -0
  312. package/dist/domains/comet-entry/hook-adapter.js +202 -0
  313. package/dist/domains/comet-entry/hook-adapter.js.map +1 -0
  314. package/dist/domains/comet-entry/hook-router-entry.d.ts +8 -0
  315. package/dist/domains/comet-entry/hook-router-entry.d.ts.map +1 -0
  316. package/dist/domains/comet-entry/hook-router-entry.js +88 -0
  317. package/dist/domains/comet-entry/hook-router-entry.js.map +1 -0
  318. package/dist/domains/comet-entry/hook-router.d.ts +32 -0
  319. package/dist/domains/comet-entry/hook-router.d.ts.map +1 -0
  320. package/dist/domains/comet-entry/hook-router.js +133 -0
  321. package/dist/domains/comet-entry/hook-router.js.map +1 -0
  322. package/dist/domains/comet-entry/hook-types.d.ts +20 -0
  323. package/dist/domains/comet-entry/hook-types.d.ts.map +1 -0
  324. package/dist/domains/comet-entry/hook-types.js +2 -0
  325. package/dist/domains/comet-entry/hook-types.js.map +1 -0
  326. package/dist/domains/comet-entry/init-workflow.d.ts +19 -0
  327. package/dist/domains/comet-entry/init-workflow.d.ts.map +1 -0
  328. package/dist/domains/comet-entry/init-workflow.js +132 -0
  329. package/dist/domains/comet-entry/init-workflow.js.map +1 -0
  330. package/dist/domains/comet-entry/project-status.d.ts +3 -0
  331. package/dist/domains/comet-entry/project-status.d.ts.map +1 -0
  332. package/dist/domains/comet-entry/project-status.js +291 -0
  333. package/dist/domains/comet-entry/project-status.js.map +1 -0
  334. package/dist/domains/comet-entry/resolve-entry.d.ts +3 -0
  335. package/dist/domains/comet-entry/resolve-entry.d.ts.map +1 -0
  336. package/dist/domains/comet-entry/resolve-entry.js +18 -0
  337. package/dist/domains/comet-entry/resolve-entry.js.map +1 -0
  338. package/dist/domains/comet-entry/resume-probe.d.ts +34 -0
  339. package/dist/domains/comet-entry/resume-probe.d.ts.map +1 -0
  340. package/dist/domains/comet-entry/resume-probe.js +462 -0
  341. package/dist/domains/comet-entry/resume-probe.js.map +1 -0
  342. package/dist/domains/comet-entry/types.d.ts +60 -0
  343. package/dist/domains/comet-entry/types.d.ts.map +1 -0
  344. package/dist/domains/comet-entry/types.js +2 -0
  345. package/dist/domains/comet-entry/types.js.map +1 -0
  346. package/dist/domains/comet-entry/workflow-resolution.d.ts +8 -0
  347. package/dist/domains/comet-entry/workflow-resolution.d.ts.map +1 -0
  348. package/dist/domains/comet-entry/workflow-resolution.js +16 -0
  349. package/dist/domains/comet-entry/workflow-resolution.js.map +1 -0
  350. package/dist/domains/comet-native/index.d.ts +35 -0
  351. package/dist/domains/comet-native/index.d.ts.map +1 -0
  352. package/dist/domains/comet-native/index.js +35 -0
  353. package/dist/domains/comet-native/index.js.map +1 -0
  354. package/dist/domains/comet-native/native-acceptance.d.ts +53 -0
  355. package/dist/domains/comet-native/native-acceptance.d.ts.map +1 -0
  356. package/dist/domains/comet-native/native-acceptance.js +658 -0
  357. package/dist/domains/comet-native/native-acceptance.js.map +1 -0
  358. package/dist/domains/comet-native/native-archive-content.d.ts +26 -0
  359. package/dist/domains/comet-native/native-archive-content.d.ts.map +1 -0
  360. package/dist/domains/comet-native/native-archive-content.js +159 -0
  361. package/dist/domains/comet-native/native-archive-content.js.map +1 -0
  362. package/dist/domains/comet-native/native-archive-inspection.d.ts +9 -0
  363. package/dist/domains/comet-native/native-archive-inspection.d.ts.map +1 -0
  364. package/dist/domains/comet-native/native-archive-inspection.js +97 -0
  365. package/dist/domains/comet-native/native-archive-inspection.js.map +1 -0
  366. package/dist/domains/comet-native/native-archive-preflight.d.ts +54 -0
  367. package/dist/domains/comet-native/native-archive-preflight.d.ts.map +1 -0
  368. package/dist/domains/comet-native/native-archive-preflight.js +222 -0
  369. package/dist/domains/comet-native/native-archive-preflight.js.map +1 -0
  370. package/dist/domains/comet-native/native-archive-transaction.d.ts +20 -0
  371. package/dist/domains/comet-native/native-archive-transaction.d.ts.map +1 -0
  372. package/dist/domains/comet-native/native-archive-transaction.js +1183 -0
  373. package/dist/domains/comet-native/native-archive-transaction.js.map +1 -0
  374. package/dist/domains/comet-native/native-archive.d.ts +36 -0
  375. package/dist/domains/comet-native/native-archive.d.ts.map +1 -0
  376. package/dist/domains/comet-native/native-archive.js +422 -0
  377. package/dist/domains/comet-native/native-archive.js.map +1 -0
  378. package/dist/domains/comet-native/native-artifacts.d.ts +10 -0
  379. package/dist/domains/comet-native/native-artifacts.d.ts.map +1 -0
  380. package/dist/domains/comet-native/native-artifacts.js +204 -0
  381. package/dist/domains/comet-native/native-artifacts.js.map +1 -0
  382. package/dist/domains/comet-native/native-atomic-file.d.ts +10 -0
  383. package/dist/domains/comet-native/native-atomic-file.d.ts.map +1 -0
  384. package/dist/domains/comet-native/native-atomic-file.js +179 -0
  385. package/dist/domains/comet-native/native-atomic-file.js.map +1 -0
  386. package/dist/domains/comet-native/native-bounded-file.d.ts +19 -0
  387. package/dist/domains/comet-native/native-bounded-file.d.ts.map +1 -0
  388. package/dist/domains/comet-native/native-bounded-file.js +184 -0
  389. package/dist/domains/comet-native/native-bounded-file.js.map +1 -0
  390. package/dist/domains/comet-native/native-build-evidence.d.ts +42 -0
  391. package/dist/domains/comet-native/native-build-evidence.d.ts.map +1 -0
  392. package/dist/domains/comet-native/native-build-evidence.js +257 -0
  393. package/dist/domains/comet-native/native-build-evidence.js.map +1 -0
  394. package/dist/domains/comet-native/native-canonical-hash.d.ts +10 -0
  395. package/dist/domains/comet-native/native-canonical-hash.d.ts.map +1 -0
  396. package/dist/domains/comet-native/native-canonical-hash.js +100 -0
  397. package/dist/domains/comet-native/native-canonical-hash.js.map +1 -0
  398. package/dist/domains/comet-native/native-change-recovery.d.ts +11 -0
  399. package/dist/domains/comet-native/native-change-recovery.d.ts.map +1 -0
  400. package/dist/domains/comet-native/native-change-recovery.js +15 -0
  401. package/dist/domains/comet-native/native-change-recovery.js.map +1 -0
  402. package/dist/domains/comet-native/native-change.d.ts +64 -0
  403. package/dist/domains/comet-native/native-change.d.ts.map +1 -0
  404. package/dist/domains/comet-native/native-change.js +738 -0
  405. package/dist/domains/comet-native/native-change.js.map +1 -0
  406. package/dist/domains/comet-native/native-check-receipt-model.d.ts +63 -0
  407. package/dist/domains/comet-native/native-check-receipt-model.d.ts.map +1 -0
  408. package/dist/domains/comet-native/native-check-receipt-model.js +352 -0
  409. package/dist/domains/comet-native/native-check-receipt-model.js.map +1 -0
  410. package/dist/domains/comet-native/native-check-receipt-storage.d.ts +10 -0
  411. package/dist/domains/comet-native/native-check-receipt-storage.d.ts.map +1 -0
  412. package/dist/domains/comet-native/native-check-receipt-storage.js +200 -0
  413. package/dist/domains/comet-native/native-check-receipt-storage.js.map +1 -0
  414. package/dist/domains/comet-native/native-check-receipt.d.ts +19 -0
  415. package/dist/domains/comet-native/native-check-receipt.d.ts.map +1 -0
  416. package/dist/domains/comet-native/native-check-receipt.js +453 -0
  417. package/dist/domains/comet-native/native-check-receipt.js.map +1 -0
  418. package/dist/domains/comet-native/native-check.d.ts +24 -0
  419. package/dist/domains/comet-native/native-check.d.ts.map +1 -0
  420. package/dist/domains/comet-native/native-check.js +38 -0
  421. package/dist/domains/comet-native/native-check.js.map +1 -0
  422. package/dist/domains/comet-native/native-checkpoint-journal.d.ts +13 -0
  423. package/dist/domains/comet-native/native-checkpoint-journal.d.ts.map +1 -0
  424. package/dist/domains/comet-native/native-checkpoint-journal.js +53 -0
  425. package/dist/domains/comet-native/native-checkpoint-journal.js.map +1 -0
  426. package/dist/domains/comet-native/native-checkpoint-storage.d.ts +43 -0
  427. package/dist/domains/comet-native/native-checkpoint-storage.d.ts.map +1 -0
  428. package/dist/domains/comet-native/native-checkpoint-storage.js +487 -0
  429. package/dist/domains/comet-native/native-checkpoint-storage.js.map +1 -0
  430. package/dist/domains/comet-native/native-cli-entry.d.ts +2 -0
  431. package/dist/domains/comet-native/native-cli-entry.d.ts.map +1 -0
  432. package/dist/domains/comet-native/native-cli-entry.js +18 -0
  433. package/dist/domains/comet-native/native-cli-entry.js.map +1 -0
  434. package/dist/domains/comet-native/native-cli.d.ts +7 -0
  435. package/dist/domains/comet-native/native-cli.d.ts.map +1 -0
  436. package/dist/domains/comet-native/native-cli.js +1256 -0
  437. package/dist/domains/comet-native/native-cli.js.map +1 -0
  438. package/dist/domains/comet-native/native-config.d.ts +23 -0
  439. package/dist/domains/comet-native/native-config.d.ts.map +1 -0
  440. package/dist/domains/comet-native/native-config.js +60 -0
  441. package/dist/domains/comet-native/native-config.js.map +1 -0
  442. package/dist/domains/comet-native/native-conflict-inspection.d.ts +17 -0
  443. package/dist/domains/comet-native/native-conflict-inspection.d.ts.map +1 -0
  444. package/dist/domains/comet-native/native-conflict-inspection.js +90 -0
  445. package/dist/domains/comet-native/native-conflict-inspection.js.map +1 -0
  446. package/dist/domains/comet-native/native-conflict-radar.d.ts +75 -0
  447. package/dist/domains/comet-native/native-conflict-radar.d.ts.map +1 -0
  448. package/dist/domains/comet-native/native-conflict-radar.js +326 -0
  449. package/dist/domains/comet-native/native-conflict-radar.js.map +1 -0
  450. package/dist/domains/comet-native/native-continuation.d.ts +12 -0
  451. package/dist/domains/comet-native/native-continuation.d.ts.map +1 -0
  452. package/dist/domains/comet-native/native-continuation.js +201 -0
  453. package/dist/domains/comet-native/native-continuation.js.map +1 -0
  454. package/dist/domains/comet-native/native-contract-files.d.ts +24 -0
  455. package/dist/domains/comet-native/native-contract-files.d.ts.map +1 -0
  456. package/dist/domains/comet-native/native-contract-files.js +66 -0
  457. package/dist/domains/comet-native/native-contract-files.js.map +1 -0
  458. package/dist/domains/comet-native/native-contract.d.ts +41 -0
  459. package/dist/domains/comet-native/native-contract.d.ts.map +1 -0
  460. package/dist/domains/comet-native/native-contract.js +142 -0
  461. package/dist/domains/comet-native/native-contract.js.map +1 -0
  462. package/dist/domains/comet-native/native-controller-trust.d.ts +21 -0
  463. package/dist/domains/comet-native/native-controller-trust.d.ts.map +1 -0
  464. package/dist/domains/comet-native/native-controller-trust.js +140 -0
  465. package/dist/domains/comet-native/native-controller-trust.js.map +1 -0
  466. package/dist/domains/comet-native/native-diagnostics.d.ts +25 -0
  467. package/dist/domains/comet-native/native-diagnostics.d.ts.map +1 -0
  468. package/dist/domains/comet-native/native-diagnostics.js +551 -0
  469. package/dist/domains/comet-native/native-diagnostics.js.map +1 -0
  470. package/dist/domains/comet-native/native-doctor.d.ts +12 -0
  471. package/dist/domains/comet-native/native-doctor.d.ts.map +1 -0
  472. package/dist/domains/comet-native/native-doctor.js +771 -0
  473. package/dist/domains/comet-native/native-doctor.js.map +1 -0
  474. package/dist/domains/comet-native/native-evidence-retention.d.ts +37 -0
  475. package/dist/domains/comet-native/native-evidence-retention.d.ts.map +1 -0
  476. package/dist/domains/comet-native/native-evidence-retention.js +916 -0
  477. package/dist/domains/comet-native/native-evidence-retention.js.map +1 -0
  478. package/dist/domains/comet-native/native-evidence-storage.d.ts +54 -0
  479. package/dist/domains/comet-native/native-evidence-storage.d.ts.map +1 -0
  480. package/dist/domains/comet-native/native-evidence-storage.js +401 -0
  481. package/dist/domains/comet-native/native-evidence-storage.js.map +1 -0
  482. package/dist/domains/comet-native/native-file-identity.d.ts +3 -0
  483. package/dist/domains/comet-native/native-file-identity.d.ts.map +1 -0
  484. package/dist/domains/comet-native/native-file-identity.js +2 -0
  485. package/dist/domains/comet-native/native-file-identity.js.map +1 -0
  486. package/dist/domains/comet-native/native-findings.d.ts +8 -0
  487. package/dist/domains/comet-native/native-findings.d.ts.map +1 -0
  488. package/dist/domains/comet-native/native-findings.js +254 -0
  489. package/dist/domains/comet-native/native-findings.js.map +1 -0
  490. package/dist/domains/comet-native/native-guards.d.ts +8 -0
  491. package/dist/domains/comet-native/native-guards.d.ts.map +1 -0
  492. package/dist/domains/comet-native/native-guards.js +140 -0
  493. package/dist/domains/comet-native/native-guards.js.map +1 -0
  494. package/dist/domains/comet-native/native-hash.d.ts +3 -0
  495. package/dist/domains/comet-native/native-hash.d.ts.map +1 -0
  496. package/dist/domains/comet-native/native-hash.js +12 -0
  497. package/dist/domains/comet-native/native-hash.js.map +1 -0
  498. package/dist/domains/comet-native/native-hook-guard.d.ts +17 -0
  499. package/dist/domains/comet-native/native-hook-guard.d.ts.map +1 -0
  500. package/dist/domains/comet-native/native-hook-guard.js +154 -0
  501. package/dist/domains/comet-native/native-hook-guard.js.map +1 -0
  502. package/dist/domains/comet-native/native-independent-review.d.ts +28 -0
  503. package/dist/domains/comet-native/native-independent-review.d.ts.map +1 -0
  504. package/dist/domains/comet-native/native-independent-review.js +134 -0
  505. package/dist/domains/comet-native/native-independent-review.js.map +1 -0
  506. package/dist/domains/comet-native/native-lock.d.ts +47 -0
  507. package/dist/domains/comet-native/native-lock.d.ts.map +1 -0
  508. package/dist/domains/comet-native/native-lock.js +390 -0
  509. package/dist/domains/comet-native/native-lock.js.map +1 -0
  510. package/dist/domains/comet-native/native-mutation-lock.d.ts +5 -0
  511. package/dist/domains/comet-native/native-mutation-lock.d.ts.map +1 -0
  512. package/dist/domains/comet-native/native-mutation-lock.js +66 -0
  513. package/dist/domains/comet-native/native-mutation-lock.js.map +1 -0
  514. package/dist/domains/comet-native/native-paths.d.ts +10 -0
  515. package/dist/domains/comet-native/native-paths.d.ts.map +1 -0
  516. package/dist/domains/comet-native/native-paths.js +160 -0
  517. package/dist/domains/comet-native/native-paths.js.map +1 -0
  518. package/dist/domains/comet-native/native-progress-checkpoint.d.ts +13 -0
  519. package/dist/domains/comet-native/native-progress-checkpoint.d.ts.map +1 -0
  520. package/dist/domains/comet-native/native-progress-checkpoint.js +104 -0
  521. package/dist/domains/comet-native/native-progress-checkpoint.js.map +1 -0
  522. package/dist/domains/comet-native/native-protected-file.d.ts +113 -0
  523. package/dist/domains/comet-native/native-protected-file.d.ts.map +1 -0
  524. package/dist/domains/comet-native/native-protected-file.js +510 -0
  525. package/dist/domains/comet-native/native-protected-file.js.map +1 -0
  526. package/dist/domains/comet-native/native-redaction.d.ts +2 -0
  527. package/dist/domains/comet-native/native-redaction.d.ts.map +1 -0
  528. package/dist/domains/comet-native/native-redaction.js +18 -0
  529. package/dist/domains/comet-native/native-redaction.js.map +1 -0
  530. package/dist/domains/comet-native/native-repair-integration.d.ts +46 -0
  531. package/dist/domains/comet-native/native-repair-integration.d.ts.map +1 -0
  532. package/dist/domains/comet-native/native-repair-integration.js +235 -0
  533. package/dist/domains/comet-native/native-repair-integration.js.map +1 -0
  534. package/dist/domains/comet-native/native-repair-runtime.d.ts +78 -0
  535. package/dist/domains/comet-native/native-repair-runtime.d.ts.map +1 -0
  536. package/dist/domains/comet-native/native-repair-runtime.js +593 -0
  537. package/dist/domains/comet-native/native-repair-runtime.js.map +1 -0
  538. package/dist/domains/comet-native/native-repair-stagnation.d.ts +89 -0
  539. package/dist/domains/comet-native/native-repair-stagnation.d.ts.map +1 -0
  540. package/dist/domains/comet-native/native-repair-stagnation.js +308 -0
  541. package/dist/domains/comet-native/native-repair-stagnation.js.map +1 -0
  542. package/dist/domains/comet-native/native-resume-view.d.ts +14 -0
  543. package/dist/domains/comet-native/native-resume-view.d.ts.map +1 -0
  544. package/dist/domains/comet-native/native-resume-view.js +105 -0
  545. package/dist/domains/comet-native/native-resume-view.js.map +1 -0
  546. package/dist/domains/comet-native/native-review-contract.d.ts +6 -0
  547. package/dist/domains/comet-native/native-review-contract.d.ts.map +1 -0
  548. package/dist/domains/comet-native/native-review-contract.js +6 -0
  549. package/dist/domains/comet-native/native-review-contract.js.map +1 -0
  550. package/dist/domains/comet-native/native-review-identity.d.ts +50 -0
  551. package/dist/domains/comet-native/native-review-identity.d.ts.map +1 -0
  552. package/dist/domains/comet-native/native-review-identity.js +209 -0
  553. package/dist/domains/comet-native/native-review-identity.js.map +1 -0
  554. package/dist/domains/comet-native/native-review-signer.d.ts +24 -0
  555. package/dist/domains/comet-native/native-review-signer.d.ts.map +1 -0
  556. package/dist/domains/comet-native/native-review-signer.js +125 -0
  557. package/dist/domains/comet-native/native-review-signer.js.map +1 -0
  558. package/dist/domains/comet-native/native-review-trust.d.ts +35 -0
  559. package/dist/domains/comet-native/native-review-trust.d.ts.map +1 -0
  560. package/dist/domains/comet-native/native-review-trust.js +176 -0
  561. package/dist/domains/comet-native/native-review-trust.js.map +1 -0
  562. package/dist/domains/comet-native/native-revision.d.ts +20 -0
  563. package/dist/domains/comet-native/native-revision.d.ts.map +1 -0
  564. package/dist/domains/comet-native/native-revision.js +32 -0
  565. package/dist/domains/comet-native/native-revision.js.map +1 -0
  566. package/dist/domains/comet-native/native-root-move.d.ts +20 -0
  567. package/dist/domains/comet-native/native-root-move.d.ts.map +1 -0
  568. package/dist/domains/comet-native/native-root-move.js +818 -0
  569. package/dist/domains/comet-native/native-root-move.js.map +1 -0
  570. package/dist/domains/comet-native/native-run-consistency.d.ts +3 -0
  571. package/dist/domains/comet-native/native-run-consistency.d.ts.map +1 -0
  572. package/dist/domains/comet-native/native-run-consistency.js +136 -0
  573. package/dist/domains/comet-native/native-run-consistency.js.map +1 -0
  574. package/dist/domains/comet-native/native-run-store.d.ts +41 -0
  575. package/dist/domains/comet-native/native-run-store.d.ts.map +1 -0
  576. package/dist/domains/comet-native/native-run-store.js +452 -0
  577. package/dist/domains/comet-native/native-run-store.js.map +1 -0
  578. package/dist/domains/comet-native/native-runtime-package.d.ts +16 -0
  579. package/dist/domains/comet-native/native-runtime-package.d.ts.map +1 -0
  580. package/dist/domains/comet-native/native-runtime-package.js +72 -0
  581. package/dist/domains/comet-native/native-runtime-package.js.map +1 -0
  582. package/dist/domains/comet-native/native-schema-migration.d.ts +11 -0
  583. package/dist/domains/comet-native/native-schema-migration.d.ts.map +1 -0
  584. package/dist/domains/comet-native/native-schema-migration.js +900 -0
  585. package/dist/domains/comet-native/native-schema-migration.js.map +1 -0
  586. package/dist/domains/comet-native/native-selection.d.ts +12 -0
  587. package/dist/domains/comet-native/native-selection.d.ts.map +1 -0
  588. package/dist/domains/comet-native/native-selection.js +52 -0
  589. package/dist/domains/comet-native/native-selection.js.map +1 -0
  590. package/dist/domains/comet-native/native-sensitive-paths.d.ts +7 -0
  591. package/dist/domains/comet-native/native-sensitive-paths.d.ts.map +1 -0
  592. package/dist/domains/comet-native/native-sensitive-paths.js +69 -0
  593. package/dist/domains/comet-native/native-sensitive-paths.js.map +1 -0
  594. package/dist/domains/comet-native/native-snapshot.d.ts +78 -0
  595. package/dist/domains/comet-native/native-snapshot.d.ts.map +1 -0
  596. package/dist/domains/comet-native/native-snapshot.js +2572 -0
  597. package/dist/domains/comet-native/native-snapshot.js.map +1 -0
  598. package/dist/domains/comet-native/native-specs.d.ts +12 -0
  599. package/dist/domains/comet-native/native-specs.d.ts.map +1 -0
  600. package/dist/domains/comet-native/native-specs.js +270 -0
  601. package/dist/domains/comet-native/native-specs.js.map +1 -0
  602. package/dist/domains/comet-native/native-trajectory-limits.d.ts +7 -0
  603. package/dist/domains/comet-native/native-trajectory-limits.d.ts.map +1 -0
  604. package/dist/domains/comet-native/native-trajectory-limits.js +13 -0
  605. package/dist/domains/comet-native/native-trajectory-limits.js.map +1 -0
  606. package/dist/domains/comet-native/native-trajectory-recovery.d.ts +37 -0
  607. package/dist/domains/comet-native/native-trajectory-recovery.d.ts.map +1 -0
  608. package/dist/domains/comet-native/native-trajectory-recovery.js +133 -0
  609. package/dist/domains/comet-native/native-trajectory-recovery.js.map +1 -0
  610. package/dist/domains/comet-native/native-trajectory.d.ts +16 -0
  611. package/dist/domains/comet-native/native-trajectory.d.ts.map +1 -0
  612. package/dist/domains/comet-native/native-trajectory.js +27 -0
  613. package/dist/domains/comet-native/native-trajectory.js.map +1 -0
  614. package/dist/domains/comet-native/native-transaction.d.ts +45 -0
  615. package/dist/domains/comet-native/native-transaction.d.ts.map +1 -0
  616. package/dist/domains/comet-native/native-transaction.js +846 -0
  617. package/dist/domains/comet-native/native-transaction.js.map +1 -0
  618. package/dist/domains/comet-native/native-transition-evidence.d.ts +4 -0
  619. package/dist/domains/comet-native/native-transition-evidence.d.ts.map +1 -0
  620. package/dist/domains/comet-native/native-transition-evidence.js +27 -0
  621. package/dist/domains/comet-native/native-transition-evidence.js.map +1 -0
  622. package/dist/domains/comet-native/native-transition-journal.d.ts +30 -0
  623. package/dist/domains/comet-native/native-transition-journal.d.ts.map +1 -0
  624. package/dist/domains/comet-native/native-transition-journal.js +819 -0
  625. package/dist/domains/comet-native/native-transition-journal.js.map +1 -0
  626. package/dist/domains/comet-native/native-transitions.d.ts +15 -0
  627. package/dist/domains/comet-native/native-transitions.d.ts.map +1 -0
  628. package/dist/domains/comet-native/native-transitions.js +683 -0
  629. package/dist/domains/comet-native/native-transitions.js.map +1 -0
  630. package/dist/domains/comet-native/native-types.d.ts +547 -0
  631. package/dist/domains/comet-native/native-types.d.ts.map +1 -0
  632. package/dist/domains/comet-native/native-types.js +8 -0
  633. package/dist/domains/comet-native/native-types.js.map +1 -0
  634. package/dist/domains/comet-native/native-verification-evidence.d.ts +136 -0
  635. package/dist/domains/comet-native/native-verification-evidence.d.ts.map +1 -0
  636. package/dist/domains/comet-native/native-verification-evidence.js +824 -0
  637. package/dist/domains/comet-native/native-verification-evidence.js.map +1 -0
  638. package/dist/domains/comet-native/native-verification-receipt-runtime.d.ts +188 -0
  639. package/dist/domains/comet-native/native-verification-receipt-runtime.d.ts.map +1 -0
  640. package/dist/domains/comet-native/native-verification-receipt-runtime.js +1129 -0
  641. package/dist/domains/comet-native/native-verification-receipt-runtime.js.map +1 -0
  642. package/dist/domains/comet-native/native-verification-receipt.d.ts +165 -0
  643. package/dist/domains/comet-native/native-verification-receipt.d.ts.map +1 -0
  644. package/dist/domains/comet-native/native-verification-receipt.js +636 -0
  645. package/dist/domains/comet-native/native-verification-receipt.js.map +1 -0
  646. package/dist/domains/comet-native/native-verification-runtime.d.ts +61 -0
  647. package/dist/domains/comet-native/native-verification-runtime.d.ts.map +1 -0
  648. package/dist/domains/comet-native/native-verification-runtime.js +609 -0
  649. package/dist/domains/comet-native/native-verification-runtime.js.map +1 -0
  650. package/dist/domains/comet-native/native-verification-scope.d.ts +118 -0
  651. package/dist/domains/comet-native/native-verification-scope.d.ts.map +1 -0
  652. package/dist/domains/comet-native/native-verification-scope.js +1045 -0
  653. package/dist/domains/comet-native/native-verification-scope.js.map +1 -0
  654. package/dist/domains/comet-native/native-workspace.d.ts +46 -0
  655. package/dist/domains/comet-native/native-workspace.d.ts.map +1 -0
  656. package/dist/domains/comet-native/native-workspace.js +276 -0
  657. package/dist/domains/comet-native/native-workspace.js.map +1 -0
  658. package/dist/domains/dashboard/collector.d.ts.map +1 -1
  659. package/dist/domains/dashboard/collector.js +182 -75
  660. package/dist/domains/dashboard/collector.js.map +1 -1
  661. package/dist/domains/dashboard/native-adapter.d.ts +157 -0
  662. package/dist/domains/dashboard/native-adapter.d.ts.map +1 -0
  663. package/dist/domains/dashboard/native-adapter.js +302 -0
  664. package/dist/domains/dashboard/native-adapter.js.map +1 -0
  665. package/dist/domains/dashboard/native-collector.d.ts +6 -0
  666. package/dist/domains/dashboard/native-collector.d.ts.map +1 -0
  667. package/dist/domains/dashboard/native-collector.js +289 -0
  668. package/dist/domains/dashboard/native-collector.js.map +1 -0
  669. package/dist/domains/dashboard/types.d.ts +10 -0
  670. package/dist/domains/dashboard/types.d.ts.map +1 -1
  671. package/dist/domains/dashboard/verify-parser.d.ts.map +1 -1
  672. package/dist/domains/dashboard/verify-parser.js +37 -31
  673. package/dist/domains/dashboard/verify-parser.js.map +1 -1
  674. package/dist/domains/dashboard/web/assets/_commonjsHelpers-CqkleIqs.js +1 -0
  675. package/dist/domains/dashboard/web/assets/arc-BXWNV2Qv.js +1 -0
  676. package/dist/domains/dashboard/web/assets/architectureDiagram-3BPJPVTR-CjVHPivo.js +36 -0
  677. package/dist/domains/dashboard/web/assets/blockDiagram-GPEHLZMM-P2PGImSM.js +132 -0
  678. package/dist/domains/dashboard/web/assets/c4Diagram-AAUBKEIU-fTj6Xhs1.js +10 -0
  679. package/dist/domains/dashboard/web/assets/channel--JtnhJr8.js +1 -0
  680. package/dist/domains/dashboard/web/assets/chunk-2J33WTMH-BjFDZ5yo.js +1 -0
  681. package/dist/domains/dashboard/web/assets/chunk-4BX2VUAB-BAUkbZdT.js +1 -0
  682. package/dist/domains/dashboard/web/assets/chunk-55IACEB6-DBmuiYme.js +1 -0
  683. package/dist/domains/dashboard/web/assets/chunk-727SXJPM-Do9ufCgY.js +206 -0
  684. package/dist/domains/dashboard/web/assets/chunk-AQP2D5EJ-qRQWlB5d.js +231 -0
  685. package/dist/domains/dashboard/web/assets/chunk-FMBD7UC4-BzDzeJ4_.js +15 -0
  686. package/dist/domains/dashboard/web/assets/chunk-ND2GUHAM-OQcAmIvL.js +1 -0
  687. package/dist/domains/dashboard/web/assets/chunk-QZHKN3VN-BiRfH4d2.js +1 -0
  688. package/dist/domains/dashboard/web/assets/classDiagram-4FO5ZUOK-BRGmx8Iz.js +1 -0
  689. package/dist/domains/dashboard/web/assets/classDiagram-v2-Q7XG4LA2-BRGmx8Iz.js +1 -0
  690. package/dist/domains/dashboard/web/assets/cose-bilkent-S5V4N54A-CZk37fGn.js +1 -0
  691. package/dist/domains/dashboard/web/assets/cynefin-VYW2F7L2-B3F-qRTJ.js +166 -0
  692. package/dist/domains/dashboard/web/assets/cytoscape.esm-D3_iZ_3b.js +321 -0
  693. package/dist/domains/dashboard/web/assets/dagre-BM42HDAG-D5BQ0eqN.js +4 -0
  694. package/dist/domains/dashboard/web/assets/defaultLocale-DX6XiGOO.js +1 -0
  695. package/dist/domains/dashboard/web/assets/demo-BuVau32v.js +25 -0
  696. package/dist/domains/dashboard/web/assets/diagram-2AECGRRQ-33mXstha.js +43 -0
  697. package/dist/domains/dashboard/web/assets/diagram-5GNKFQAL-BWHCMFvD.js +10 -0
  698. package/dist/domains/dashboard/web/assets/diagram-KO2AKTUF-DrPGimEt.js +3 -0
  699. package/dist/domains/dashboard/web/assets/diagram-LMA3HP47-BBlsg7jG.js +24 -0
  700. package/dist/domains/dashboard/web/assets/diagram-OG6HWLK6-CsaFSpHi.js +24 -0
  701. package/dist/domains/dashboard/web/assets/erDiagram-TEJ5UH35-CoB0mzhk.js +85 -0
  702. package/dist/domains/dashboard/web/assets/flowDiagram-I6XJVG4X-lT53XfSE.js +162 -0
  703. package/dist/domains/dashboard/web/assets/ganttDiagram-6RSMTGT7-D1SQ56fl.js +292 -0
  704. package/dist/domains/dashboard/web/assets/gitGraphDiagram-PVQCEYII-D4oDMS5x.js +106 -0
  705. package/dist/domains/dashboard/web/assets/graph--OzhPTMs.js +1 -0
  706. package/dist/domains/dashboard/web/assets/index-D-AGxvI4.css +1 -0
  707. package/dist/domains/dashboard/web/assets/index-DlSYK56b.js +139 -0
  708. package/dist/domains/dashboard/web/assets/index-Msce_H_q.js +24 -0
  709. package/dist/domains/dashboard/web/assets/index-QO0z6F4w.js +10 -0
  710. package/dist/domains/dashboard/web/assets/infoDiagram-5YYISTIA-BeICn98s.js +2 -0
  711. package/dist/domains/dashboard/web/assets/init-Gi6I4Gst.js +1 -0
  712. package/dist/domains/dashboard/web/assets/ishikawaDiagram-YF4QCWOH-Dkspu33d.js +70 -0
  713. package/dist/domains/dashboard/web/assets/journeyDiagram-JHISSGLW-C-EM1sZl.js +139 -0
  714. package/dist/domains/dashboard/web/assets/kanban-definition-UN3LZRKU-BTbB0IO2.js +89 -0
  715. package/dist/domains/dashboard/web/assets/katex-HP8lGamR.js +257 -0
  716. package/dist/domains/dashboard/web/assets/layout-SsrduOYp.js +1 -0
  717. package/dist/domains/dashboard/web/assets/linear-Cp0UrqDr.js +1 -0
  718. package/dist/domains/dashboard/web/assets/marked.esm-DECB3bxB.js +64 -0
  719. package/dist/domains/dashboard/web/assets/mermaid.core-CucmqsLW.js +301 -0
  720. package/dist/domains/dashboard/web/assets/mindmap-definition-RKZ34NQL-CjEshF1X.js +96 -0
  721. package/dist/domains/dashboard/web/assets/ordinal-Cboi1Yqb.js +1 -0
  722. package/dist/domains/dashboard/web/assets/pieDiagram-4H26LBE5-DrwFnX1b.js +30 -0
  723. package/dist/domains/dashboard/web/assets/purify.es-VaSPOPhr.js +3 -0
  724. package/dist/domains/dashboard/web/assets/quadrantDiagram-W4KKPZXB-CjG6pBR2.js +7 -0
  725. package/dist/domains/dashboard/web/assets/requirementDiagram-4Y6WPE33-BpUQVqCV.js +84 -0
  726. package/dist/domains/dashboard/web/assets/sankeyDiagram-5OEKKPKP-BeGkEvzR.js +40 -0
  727. package/dist/domains/dashboard/web/assets/sequenceDiagram-3UESZ5HK-sSTU3MCO.js +162 -0
  728. package/dist/domains/dashboard/web/assets/stateDiagram-AJRCARHV-CcFBc6qh.js +1 -0
  729. package/dist/domains/dashboard/web/assets/stateDiagram-v2-BHNVJYJU-D5zZYi4x.js +1 -0
  730. package/dist/domains/dashboard/web/assets/timeline-definition-PNZ67QCA-DCN7NjEs.js +120 -0
  731. package/dist/domains/dashboard/web/assets/vennDiagram-CIIHVFJN-DZAN1_rr.js +34 -0
  732. package/dist/domains/dashboard/web/assets/wardleyDiagram-YWT4CUSO-FfkJfr4C.js +78 -0
  733. package/dist/domains/dashboard/web/assets/xychartDiagram-2RQKCTM6-CD8B-EmR.js +7 -0
  734. package/dist/domains/dashboard/web/index.html +16 -16
  735. package/dist/domains/engine/protected-run-file.d.ts +15 -0
  736. package/dist/domains/engine/protected-run-file.d.ts.map +1 -0
  737. package/dist/domains/engine/protected-run-file.js +76 -0
  738. package/dist/domains/engine/protected-run-file.js.map +1 -0
  739. package/dist/domains/engine/run-store.d.ts +12 -11
  740. package/dist/domains/engine/run-store.d.ts.map +1 -1
  741. package/dist/domains/engine/run-store.js +46 -65
  742. package/dist/domains/engine/run-store.js.map +1 -1
  743. package/dist/domains/engine/state.d.ts +4 -3
  744. package/dist/domains/engine/state.d.ts.map +1 -1
  745. package/dist/domains/engine/state.js +10 -21
  746. package/dist/domains/engine/state.js.map +1 -1
  747. package/dist/domains/engine/storage-layout.d.ts +14 -0
  748. package/dist/domains/engine/storage-layout.d.ts.map +1 -0
  749. package/dist/domains/engine/storage-layout.js +32 -0
  750. package/dist/domains/engine/storage-layout.js.map +1 -0
  751. package/dist/domains/engine/storage-run.d.ts +9 -0
  752. package/dist/domains/engine/storage-run.d.ts.map +1 -0
  753. package/dist/domains/engine/storage-run.js +116 -0
  754. package/dist/domains/engine/storage-run.js.map +1 -0
  755. package/dist/domains/engine/types.d.ts +1 -1
  756. package/dist/domains/engine/types.d.ts.map +1 -1
  757. package/dist/domains/factory/package.d.ts.map +1 -1
  758. package/dist/domains/factory/package.js +562 -91
  759. package/dist/domains/factory/package.js.map +1 -1
  760. package/dist/domains/integrations/codegraph.d.ts +13 -2
  761. package/dist/domains/integrations/codegraph.d.ts.map +1 -1
  762. package/dist/domains/integrations/codegraph.js +160 -12
  763. package/dist/domains/integrations/codegraph.js.map +1 -1
  764. package/dist/domains/integrations/openspec.d.ts +12 -2
  765. package/dist/domains/integrations/openspec.d.ts.map +1 -1
  766. package/dist/domains/integrations/openspec.js +256 -47
  767. package/dist/domains/integrations/openspec.js.map +1 -1
  768. package/dist/domains/skill/find.js +8 -7
  769. package/dist/domains/skill/find.js.map +1 -1
  770. package/dist/domains/skill/json-object.d.ts +13 -0
  771. package/dist/domains/skill/json-object.d.ts.map +1 -0
  772. package/dist/domains/skill/json-object.js +24 -0
  773. package/dist/domains/skill/json-object.js.map +1 -0
  774. package/dist/domains/skill/languages.d.ts +2 -1
  775. package/dist/domains/skill/languages.d.ts.map +1 -1
  776. package/dist/domains/skill/languages.js +4 -1
  777. package/dist/domains/skill/languages.js.map +1 -1
  778. package/dist/domains/skill/managed-markdown.d.ts +14 -0
  779. package/dist/domains/skill/managed-markdown.d.ts.map +1 -0
  780. package/dist/domains/skill/managed-markdown.js +126 -0
  781. package/dist/domains/skill/managed-markdown.js.map +1 -0
  782. package/dist/domains/skill/platform-inspect.d.ts +13 -0
  783. package/dist/domains/skill/platform-inspect.d.ts.map +1 -0
  784. package/dist/domains/skill/platform-inspect.js +193 -0
  785. package/dist/domains/skill/platform-inspect.js.map +1 -0
  786. package/dist/domains/skill/platform-install.d.ts +38 -23
  787. package/dist/domains/skill/platform-install.d.ts.map +1 -1
  788. package/dist/domains/skill/platform-install.js +829 -230
  789. package/dist/domains/skill/platform-install.js.map +1 -1
  790. package/dist/domains/skill/project-instructions.d.ts +22 -0
  791. package/dist/domains/skill/project-instructions.d.ts.map +1 -0
  792. package/dist/domains/skill/project-instructions.js +69 -0
  793. package/dist/domains/skill/project-instructions.js.map +1 -0
  794. package/dist/domains/skill/uninstall.d.ts +9 -2
  795. package/dist/domains/skill/uninstall.d.ts.map +1 -1
  796. package/dist/domains/skill/uninstall.js +734 -158
  797. package/dist/domains/skill/uninstall.js.map +1 -1
  798. package/dist/domains/workflow-contract/builtins.d.ts +6 -0
  799. package/dist/domains/workflow-contract/builtins.d.ts.map +1 -1
  800. package/dist/domains/workflow-contract/builtins.js +149 -6
  801. package/dist/domains/workflow-contract/builtins.js.map +1 -1
  802. package/dist/domains/workflow-contract/contained-atomic-write.d.ts +21 -0
  803. package/dist/domains/workflow-contract/contained-atomic-write.d.ts.map +1 -0
  804. package/dist/domains/workflow-contract/contained-atomic-write.js +235 -0
  805. package/dist/domains/workflow-contract/contained-atomic-write.js.map +1 -0
  806. package/dist/domains/workflow-contract/index.d.ts +11 -1
  807. package/dist/domains/workflow-contract/index.d.ts.map +1 -1
  808. package/dist/domains/workflow-contract/index.js +7 -1
  809. package/dist/domains/workflow-contract/index.js.map +1 -1
  810. package/dist/domains/workflow-contract/normalize.d.ts.map +1 -1
  811. package/dist/domains/workflow-contract/normalize.js +30 -11
  812. package/dist/domains/workflow-contract/normalize.js.map +1 -1
  813. package/dist/domains/workflow-contract/project-config-reader.d.ts +24 -0
  814. package/dist/domains/workflow-contract/project-config-reader.d.ts.map +1 -0
  815. package/dist/domains/workflow-contract/project-config-reader.js +54 -0
  816. package/dist/domains/workflow-contract/project-config-reader.js.map +1 -0
  817. package/dist/domains/workflow-contract/project-config-transaction.d.ts +20 -0
  818. package/dist/domains/workflow-contract/project-config-transaction.d.ts.map +1 -0
  819. package/dist/domains/workflow-contract/project-config-transaction.js +293 -0
  820. package/dist/domains/workflow-contract/project-config-transaction.js.map +1 -0
  821. package/dist/domains/workflow-contract/project-config-writer.d.ts +13 -0
  822. package/dist/domains/workflow-contract/project-config-writer.d.ts.map +1 -0
  823. package/dist/domains/workflow-contract/project-config-writer.js +142 -0
  824. package/dist/domains/workflow-contract/project-config-writer.js.map +1 -0
  825. package/dist/domains/workflow-contract/project-config.d.ts +32 -0
  826. package/dist/domains/workflow-contract/project-config.d.ts.map +1 -0
  827. package/dist/domains/workflow-contract/project-config.js +1566 -0
  828. package/dist/domains/workflow-contract/project-config.js.map +1 -0
  829. package/dist/domains/workflow-contract/protected-project-path.d.ts +34 -0
  830. package/dist/domains/workflow-contract/protected-project-path.d.ts.map +1 -0
  831. package/dist/domains/workflow-contract/protected-project-path.js +162 -0
  832. package/dist/domains/workflow-contract/protected-project-path.js.map +1 -0
  833. package/dist/domains/workflow-contract/types.d.ts +67 -2
  834. package/dist/domains/workflow-contract/types.d.ts.map +1 -1
  835. package/dist/domains/workflow-contract/validation.d.ts.map +1 -1
  836. package/dist/domains/workflow-contract/validation.js +14 -5
  837. package/dist/domains/workflow-contract/validation.js.map +1 -1
  838. package/dist/platform/fs/file-identity.d.ts +9 -0
  839. package/dist/platform/fs/file-identity.d.ts.map +1 -0
  840. package/dist/platform/fs/file-identity.js +21 -0
  841. package/dist/platform/fs/file-identity.js.map +1 -0
  842. package/dist/platform/fs/file-system.d.ts +3 -3
  843. package/dist/platform/fs/file-system.d.ts.map +1 -1
  844. package/dist/platform/fs/file-system.js +31 -17
  845. package/dist/platform/fs/file-system.js.map +1 -1
  846. package/dist/platform/fs/race-safe-read.d.ts +47 -0
  847. package/dist/platform/fs/race-safe-read.d.ts.map +1 -0
  848. package/dist/platform/fs/race-safe-read.js +132 -0
  849. package/dist/platform/fs/race-safe-read.js.map +1 -0
  850. package/dist/platform/fs/trusted-readonly-file.d.ts +31 -0
  851. package/dist/platform/fs/trusted-readonly-file.d.ts.map +1 -0
  852. package/dist/platform/fs/trusted-readonly-file.js +107 -0
  853. package/dist/platform/fs/trusted-readonly-file.js.map +1 -0
  854. package/dist/platform/install/detect.d.ts +5 -2
  855. package/dist/platform/install/detect.d.ts.map +1 -1
  856. package/dist/platform/install/detect.js +14 -2
  857. package/dist/platform/install/detect.js.map +1 -1
  858. package/dist/platform/install/platform-targets.d.ts +8 -0
  859. package/dist/platform/install/platform-targets.d.ts.map +1 -0
  860. package/dist/platform/install/platform-targets.js +31 -0
  861. package/dist/platform/install/platform-targets.js.map +1 -0
  862. package/dist/platform/install/platforms.d.ts +10 -1
  863. package/dist/platform/install/platforms.d.ts.map +1 -1
  864. package/dist/platform/install/platforms.js +27 -4
  865. package/dist/platform/install/platforms.js.map +1 -1
  866. package/dist/platform/install/project-registry.d.ts +38 -0
  867. package/dist/platform/install/project-registry.d.ts.map +1 -0
  868. package/dist/platform/install/project-registry.js +213 -0
  869. package/dist/platform/install/project-registry.js.map +1 -0
  870. package/dist/platform/install/skill-root-owner.d.ts +15 -0
  871. package/dist/platform/install/skill-root-owner.d.ts.map +1 -0
  872. package/dist/platform/install/skill-root-owner.js +68 -0
  873. package/dist/platform/install/skill-root-owner.js.map +1 -0
  874. package/dist/platform/paths/git-worktree.d.ts +10 -0
  875. package/dist/platform/paths/git-worktree.d.ts.map +1 -0
  876. package/dist/platform/paths/git-worktree.js +43 -0
  877. package/dist/platform/paths/git-worktree.js.map +1 -0
  878. package/dist/platform/paths/repository-layout.d.ts +16 -0
  879. package/dist/platform/paths/repository-layout.d.ts.map +1 -1
  880. package/dist/platform/paths/repository-layout.js.map +1 -1
  881. package/dist/platform/process/terminate-process-tree.d.ts +3 -0
  882. package/dist/platform/process/terminate-process-tree.d.ts.map +1 -0
  883. package/dist/platform/process/terminate-process-tree.js +65 -0
  884. package/dist/platform/process/terminate-process-tree.js.map +1 -0
  885. package/eval/CLAUDE.md +43 -0
  886. package/eval/README.md +538 -0
  887. package/eval/langsmith/README.md +93 -0
  888. package/eval/langsmith/skills/README.md +5 -0
  889. package/eval/langsmith/tasks/README.md +5 -0
  890. package/eval/langsmith/tests/conftest.py +187 -0
  891. package/eval/langsmith/tests/tasks/test_tasks.py +287 -0
  892. package/eval/langsmith/treatments/README.md +5 -0
  893. package/eval/local/README.md +130 -0
  894. package/eval/local/regression_baseline.json +13 -0
  895. package/eval/local/report-style-demo-assets/quality_cost.en.svg +41 -0
  896. package/eval/local/report-style-demo-assets/quality_cost.zh.svg +41 -0
  897. package/eval/local/report-style-demo-assets/rubric_delta.en.svg +56 -0
  898. package/eval/local/report-style-demo-assets/rubric_delta.zh.svg +56 -0
  899. package/eval/local/report-style-demo-assets/task_outcomes.en.svg +46 -0
  900. package/eval/local/report-style-demo-assets/task_outcomes.zh.svg +46 -0
  901. package/eval/local/report-style-demo.html +867 -0
  902. package/eval/local/scripts/compare_baselines.py +1144 -0
  903. package/eval/local/scripts/generate_report_style_demo_charts.py +322 -0
  904. package/eval/local/scripts/regression_check.py +170 -0
  905. package/eval/local/scripts/render_readme_benchmark_figures.py +416 -0
  906. package/eval/local/scripts/rescore_rubric.py +120 -0
  907. package/eval/local/skills/benchmarks/039-release/comet-classic-039/SKILL.md +282 -0
  908. package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/auto-transition.md +27 -0
  909. package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/comet-yaml-fields.md +68 -0
  910. package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/context-recovery.md +35 -0
  911. package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/debug-gate.md +17 -0
  912. package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/decision-point.md +20 -0
  913. package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/dirty-worktree.md +59 -0
  914. package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/file-structure.md +28 -0
  915. package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/subagent-dispatch.md +113 -0
  916. package/eval/local/skills/benchmarks/039-release/comet-classic-039/rules/comet-phase-guard.md +125 -0
  917. package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-archive.sh +311 -0
  918. package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-env.sh +110 -0
  919. package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-guard.sh +778 -0
  920. package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-handoff.sh +390 -0
  921. package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-hook-guard.sh +336 -0
  922. package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-state.sh +1338 -0
  923. package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-yaml-validate.sh +225 -0
  924. package/eval/local/skills/benchmarks/039-release/comet-classic-039-archive/SKILL.md +100 -0
  925. package/eval/local/skills/benchmarks/039-release/comet-classic-039-build/SKILL.md +304 -0
  926. package/eval/local/skills/benchmarks/039-release/comet-classic-039-design/SKILL.md +263 -0
  927. package/eval/local/skills/benchmarks/039-release/comet-classic-039-hotfix/SKILL.md +204 -0
  928. package/eval/local/skills/benchmarks/039-release/comet-classic-039-open/SKILL.md +220 -0
  929. package/eval/local/skills/benchmarks/039-release/comet-classic-039-tweak/SKILL.md +180 -0
  930. package/eval/local/skills/benchmarks/039-release/comet-classic-039-verify/SKILL.md +234 -0
  931. package/eval/local/skills/benchmarks/040-beta/comet/SKILL.md +261 -0
  932. package/eval/local/skills/benchmarks/040-beta/comet/reference/auto-transition.md +27 -0
  933. package/eval/local/skills/benchmarks/040-beta/comet/reference/comet-yaml-fields.md +73 -0
  934. package/eval/local/skills/benchmarks/040-beta/comet/reference/context-recovery.md +45 -0
  935. package/eval/local/skills/benchmarks/040-beta/comet/reference/debug-gate.md +33 -0
  936. package/eval/local/skills/benchmarks/040-beta/comet/reference/decision-point.md +31 -0
  937. package/eval/local/skills/benchmarks/040-beta/comet/reference/dirty-worktree.md +59 -0
  938. package/eval/local/skills/benchmarks/040-beta/comet/reference/file-structure.md +28 -0
  939. package/eval/local/skills/benchmarks/040-beta/comet/reference/intent-frame.md +74 -0
  940. package/eval/local/skills/benchmarks/040-beta/comet/reference/scripts.md +69 -0
  941. package/eval/local/skills/benchmarks/040-beta/comet/reference/subagent-dispatch.md +169 -0
  942. package/eval/local/skills/benchmarks/040-beta/comet/rules/comet-phase-guard.md +130 -0
  943. package/eval/local/skills/benchmarks/040-beta/comet/runtime/classic/checks.yaml +6 -0
  944. package/eval/local/skills/benchmarks/040-beta/comet/runtime/classic/guardrails.yaml +13 -0
  945. package/eval/local/skills/benchmarks/040-beta/comet/runtime/classic/skill.yaml +122 -0
  946. package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-archive.mjs +9515 -0
  947. package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-env.mjs +15 -0
  948. package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-guard.mjs +10173 -0
  949. package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-handoff.mjs +9491 -0
  950. package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-hook-guard.mjs +9175 -0
  951. package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-intent.mjs +404 -0
  952. package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-state.mjs +9273 -0
  953. package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-yaml-validate.mjs +7627 -0
  954. package/eval/local/skills/benchmarks/040-beta/comet-archive/SKILL.md +110 -0
  955. package/eval/local/skills/benchmarks/040-beta/comet-build/SKILL.md +315 -0
  956. package/eval/local/skills/benchmarks/040-beta/comet-design/SKILL.md +260 -0
  957. package/eval/local/skills/benchmarks/040-beta/comet-hotfix/SKILL.md +190 -0
  958. package/eval/local/skills/benchmarks/040-beta/comet-open/SKILL.md +210 -0
  959. package/eval/local/skills/benchmarks/040-beta/comet-tweak/SKILL.md +183 -0
  960. package/eval/local/skills/benchmarks/040-beta/comet-verify/SKILL.md +230 -0
  961. package/eval/local/skills/benchmarks/dependency/claude-md/comet-workflow/CLAUDE.md +12 -0
  962. package/eval/local/skills/benchmarks/dependency/openspec/openspec-apply-change/SKILL.md +156 -0
  963. package/eval/local/skills/benchmarks/dependency/openspec/openspec-archive-change/SKILL.md +114 -0
  964. package/eval/local/skills/benchmarks/dependency/openspec/openspec-bulk-archive-change/SKILL.md +246 -0
  965. package/eval/local/skills/benchmarks/dependency/openspec/openspec-continue-change/SKILL.md +118 -0
  966. package/eval/local/skills/benchmarks/dependency/openspec/openspec-explore/SKILL.md +288 -0
  967. package/eval/local/skills/benchmarks/dependency/openspec/openspec-ff-change/SKILL.md +101 -0
  968. package/eval/local/skills/benchmarks/dependency/openspec/openspec-new-change/SKILL.md +74 -0
  969. package/eval/local/skills/benchmarks/dependency/openspec/openspec-onboard/SKILL.md +554 -0
  970. package/eval/local/skills/benchmarks/dependency/openspec/openspec-propose/SKILL.md +110 -0
  971. package/eval/local/skills/benchmarks/dependency/openspec/openspec-sync-specs/SKILL.md +138 -0
  972. package/eval/local/skills/benchmarks/dependency/openspec/openspec-verify-change/SKILL.md +168 -0
  973. package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/SKILL.md +159 -0
  974. package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/frame-template.html +213 -0
  975. package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/helper.js +167 -0
  976. package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/server.cjs +723 -0
  977. package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/start-server.sh +209 -0
  978. package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/stop-server.sh +120 -0
  979. package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/spec-document-reviewer-prompt.md +49 -0
  980. package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/visual-companion.md +291 -0
  981. package/eval/local/skills/benchmarks/dependency/superpowers/dispatching-parallel-agents/SKILL.md +185 -0
  982. package/eval/local/skills/benchmarks/dependency/superpowers/executing-plans/SKILL.md +70 -0
  983. package/eval/local/skills/benchmarks/dependency/superpowers/finishing-a-development-branch/SKILL.md +241 -0
  984. package/eval/local/skills/benchmarks/dependency/superpowers/receiving-code-review/SKILL.md +213 -0
  985. package/eval/local/skills/benchmarks/dependency/superpowers/requesting-code-review/SKILL.md +103 -0
  986. package/eval/local/skills/benchmarks/dependency/superpowers/requesting-code-review/code-reviewer.md +172 -0
  987. package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/SKILL.md +418 -0
  988. package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/implementer-prompt.md +139 -0
  989. package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/scripts/review-package +44 -0
  990. package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/scripts/sdd-workspace +22 -0
  991. package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/scripts/task-brief +40 -0
  992. package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/task-reviewer-prompt.md +188 -0
  993. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/CREATION-LOG.md +119 -0
  994. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/SKILL.md +296 -0
  995. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/condition-based-waiting-example.ts +158 -0
  996. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/condition-based-waiting.md +115 -0
  997. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/defense-in-depth.md +122 -0
  998. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/find-polluter.sh +63 -0
  999. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/root-cause-tracing.md +169 -0
  1000. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/test-academic.md +14 -0
  1001. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/test-pressure-1.md +58 -0
  1002. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/test-pressure-2.md +68 -0
  1003. package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/test-pressure-3.md +69 -0
  1004. package/eval/local/skills/benchmarks/dependency/superpowers/test-driven-development/SKILL.md +371 -0
  1005. package/eval/local/skills/benchmarks/dependency/superpowers/test-driven-development/testing-anti-patterns.md +299 -0
  1006. package/eval/local/skills/benchmarks/dependency/superpowers/using-git-worktrees/SKILL.md +202 -0
  1007. package/eval/local/skills/benchmarks/dependency/superpowers/verification-before-completion/SKILL.md +139 -0
  1008. package/eval/local/skills/benchmarks/dependency/superpowers/writing-plans/SKILL.md +174 -0
  1009. package/eval/local/skills/benchmarks/dependency/superpowers/writing-plans/plan-document-reviewer-prompt.md +49 -0
  1010. package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/SKILL.md +689 -0
  1011. package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/anthropic-best-practices.md +1150 -0
  1012. package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  1013. package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/graphviz-conventions.dot +172 -0
  1014. package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/persuasion-principles.md +187 -0
  1015. package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/render-graphs.js +168 -0
  1016. package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/testing-skills-with-subagents.md +384 -0
  1017. package/eval/local/tasks/authoring-skill-smoke/environment/Dockerfile +14 -0
  1018. package/eval/local/tasks/authoring-skill-smoke/instruction.md +4 -0
  1019. package/eval/local/tasks/authoring-skill-smoke/task.toml +21 -0
  1020. package/eval/local/tasks/authoring-skill-smoke/validation/test_authoring_skill_smoke.py +54 -0
  1021. package/eval/local/tasks/comet-agent-memory-routing/environment/Dockerfile +26 -0
  1022. package/eval/local/tasks/comet-agent-memory-routing/environment/agent_system.py +40 -0
  1023. package/eval/local/tasks/comet-agent-memory-routing/environment/test_agent_system.py +29 -0
  1024. package/eval/local/tasks/comet-agent-memory-routing/instruction.md +20 -0
  1025. package/eval/local/tasks/comet-agent-memory-routing/task.toml +24 -0
  1026. package/eval/local/tasks/comet-agent-memory-routing/validation/test_agent_memory_routing.py +24 -0
  1027. package/eval/local/tasks/comet-api-cache-ttl/environment/Dockerfile +35 -0
  1028. package/eval/local/tasks/comet-api-cache-ttl/environment/cache.py +39 -0
  1029. package/eval/local/tasks/comet-api-cache-ttl/environment/test_cache.py +81 -0
  1030. package/eval/local/tasks/comet-api-cache-ttl/instruction.md +33 -0
  1031. package/eval/local/tasks/comet-api-cache-ttl/task.toml +24 -0
  1032. package/eval/local/tasks/comet-api-cache-ttl/validation/test_api_cache_ttl.py +58 -0
  1033. package/eval/local/tasks/comet-classic-layout-lifecycle/environment/.include-current-comet-cli +1 -0
  1034. package/eval/local/tasks/comet-classic-layout-lifecycle/environment/Dockerfile +45 -0
  1035. package/eval/local/tasks/comet-classic-layout-lifecycle/environment/current-comet-package.json +18 -0
  1036. package/eval/local/tasks/comet-classic-layout-lifecycle/environment/current-comet.sh +14 -0
  1037. package/eval/local/tasks/comet-classic-layout-lifecycle/environment/test_wordcount.py +29 -0
  1038. package/eval/local/tasks/comet-classic-layout-lifecycle/environment/wordcount.py +40 -0
  1039. package/eval/local/tasks/comet-classic-layout-lifecycle/instruction.md +18 -0
  1040. package/eval/local/tasks/comet-classic-layout-lifecycle/task.toml +23 -0
  1041. package/eval/local/tasks/comet-classic-layout-lifecycle/validation/test_classic_layout_lifecycle.py +604 -0
  1042. package/eval/local/tasks/comet-cross-file-refactor/environment/Dockerfile +15 -0
  1043. package/eval/local/tasks/comet-cross-file-refactor/environment/cli.py +13 -0
  1044. package/eval/local/tasks/comet-cross-file-refactor/environment/counting.py +13 -0
  1045. package/eval/local/tasks/comet-cross-file-refactor/environment/test_textkit.py +21 -0
  1046. package/eval/local/tasks/comet-cross-file-refactor/instruction.md +16 -0
  1047. package/eval/local/tasks/comet-cross-file-refactor/task.toml +20 -0
  1048. package/eval/local/tasks/comet-cross-file-refactor/validation/test_cross_file_refactor.py +20 -0
  1049. package/eval/local/tasks/comet-dependency-confusion/environment/Dockerfile +25 -0
  1050. package/eval/local/tasks/comet-dependency-confusion/environment/app.py +8 -0
  1051. package/eval/local/tasks/comet-dependency-confusion/environment/settings_loader.py +14 -0
  1052. package/eval/local/tasks/comet-dependency-confusion/environment/test_settings_service.py +19 -0
  1053. package/eval/local/tasks/comet-dependency-confusion/instruction.md +18 -0
  1054. package/eval/local/tasks/comet-dependency-confusion/task.toml +24 -0
  1055. package/eval/local/tasks/comet-dependency-confusion/validation/test_dependency_confusion.py +24 -0
  1056. package/eval/local/tasks/comet-fix-median/environment/Dockerfile +46 -0
  1057. package/eval/local/tasks/comet-fix-median/environment/stats.py +54 -0
  1058. package/eval/local/tasks/comet-fix-median/environment/test_stats.py +68 -0
  1059. package/eval/local/tasks/comet-fix-median/instruction.md +25 -0
  1060. package/eval/local/tasks/comet-fix-median/task.toml +24 -0
  1061. package/eval/local/tasks/comet-fix-median/validation/test_fix_median.py +60 -0
  1062. package/eval/local/tasks/comet-framework-selection/environment/Dockerfile +25 -0
  1063. package/eval/local/tasks/comet-framework-selection/environment/architecture.py +12 -0
  1064. package/eval/local/tasks/comet-framework-selection/environment/test_architecture.py +30 -0
  1065. package/eval/local/tasks/comet-framework-selection/instruction.md +22 -0
  1066. package/eval/local/tasks/comet-framework-selection/task.toml +24 -0
  1067. package/eval/local/tasks/comet-framework-selection/validation/test_framework_selection.py +24 -0
  1068. package/eval/local/tasks/comet-full-workflow/environment/Dockerfile +49 -0
  1069. package/eval/local/tasks/comet-full-workflow/environment/test_wordcount.py +29 -0
  1070. package/eval/local/tasks/comet-full-workflow/environment/wordcount.py +40 -0
  1071. package/eval/local/tasks/comet-full-workflow/instruction.md +18 -0
  1072. package/eval/local/tasks/comet-full-workflow/task.toml +24 -0
  1073. package/eval/local/tasks/comet-full-workflow/validation/test_full_workflow.py +171 -0
  1074. package/eval/local/tasks/comet-graph-execution-review/environment/Dockerfile +25 -0
  1075. package/eval/local/tasks/comet-graph-execution-review/environment/pipeline.py +19 -0
  1076. package/eval/local/tasks/comet-graph-execution-review/environment/test_pipeline.py +53 -0
  1077. package/eval/local/tasks/comet-graph-execution-review/instruction.md +21 -0
  1078. package/eval/local/tasks/comet-graph-execution-review/task.toml +24 -0
  1079. package/eval/local/tasks/comet-graph-execution-review/validation/test_graph_execution_review.py +24 -0
  1080. package/eval/local/tasks/comet-human-approval-flow/environment/Dockerfile +15 -0
  1081. package/eval/local/tasks/comet-human-approval-flow/environment/approvals.py +17 -0
  1082. package/eval/local/tasks/comet-human-approval-flow/environment/test_approvals.py +30 -0
  1083. package/eval/local/tasks/comet-human-approval-flow/instruction.md +15 -0
  1084. package/eval/local/tasks/comet-human-approval-flow/task.toml +20 -0
  1085. package/eval/local/tasks/comet-human-approval-flow/validation/test_human_approval_flow.py +20 -0
  1086. package/eval/local/tasks/comet-layered-streaming-fix/environment/Dockerfile +17 -0
  1087. package/eval/local/tasks/comet-layered-streaming-fix/environment/chat_app.py +19 -0
  1088. package/eval/local/tasks/comet-layered-streaming-fix/environment/test_chat_app.py +15 -0
  1089. package/eval/local/tasks/comet-layered-streaming-fix/instruction.md +14 -0
  1090. package/eval/local/tasks/comet-layered-streaming-fix/task.toml +20 -0
  1091. package/eval/local/tasks/comet-layered-streaming-fix/validation/test_layered_streaming_fix.py +20 -0
  1092. package/eval/local/tasks/comet-native-clarification/environment/Dockerfile +25 -0
  1093. package/eval/local/tasks/comet-native-clarification/environment/test_wordcount.py +25 -0
  1094. package/eval/local/tasks/comet-native-clarification/environment/wordcount.py +36 -0
  1095. package/eval/local/tasks/comet-native-clarification/instruction.md +7 -0
  1096. package/eval/local/tasks/comet-native-clarification/task.toml +40 -0
  1097. package/eval/local/tasks/comet-native-clarification/validation/test_native_clarification.py +193 -0
  1098. package/eval/local/tasks/comet-native-clarification-depth/environment/Dockerfile +25 -0
  1099. package/eval/local/tasks/comet-native-clarification-depth/environment/test_wordcount.py +25 -0
  1100. package/eval/local/tasks/comet-native-clarification-depth/environment/wordcount.py +36 -0
  1101. package/eval/local/tasks/comet-native-clarification-depth/instruction.md +17 -0
  1102. package/eval/local/tasks/comet-native-clarification-depth/task.toml +47 -0
  1103. package/eval/local/tasks/comet-native-clarification-depth/validation/test_native_clarification_depth.py +618 -0
  1104. package/eval/local/tasks/comet-native-clarification-modes/environment/Dockerfile +25 -0
  1105. package/eval/local/tasks/comet-native-clarification-modes/environment/test_wordcount.py +25 -0
  1106. package/eval/local/tasks/comet-native-clarification-modes/environment/wordcount.py +36 -0
  1107. package/eval/local/tasks/comet-native-clarification-modes/instruction.md +13 -0
  1108. package/eval/local/tasks/comet-native-clarification-modes/task.toml +39 -0
  1109. package/eval/local/tasks/comet-native-clarification-modes/validation/test_native_clarification_modes.py +235 -0
  1110. package/eval/local/tasks/comet-native-interrupted-transition/environment/.comet/config.yaml +6 -0
  1111. package/eval/local/tasks/comet-native-interrupted-transition/environment/Dockerfile +26 -0
  1112. package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/brief.md +17 -0
  1113. package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/comet-state.yaml +12 -0
  1114. package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/runtime/transition.json +69 -0
  1115. package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/specs/character-counting/spec.md +3 -0
  1116. package/eval/local/tasks/comet-native-interrupted-transition/environment/test_wordcount.py +20 -0
  1117. package/eval/local/tasks/comet-native-interrupted-transition/environment/wordcount.py +27 -0
  1118. package/eval/local/tasks/comet-native-interrupted-transition/instruction.md +7 -0
  1119. package/eval/local/tasks/comet-native-interrupted-transition/task.toml +35 -0
  1120. package/eval/local/tasks/comet-native-interrupted-transition/validation/test_native_interrupted_transition.py +63 -0
  1121. package/eval/local/tasks/comet-native-repository-fact/environment/Dockerfile +24 -0
  1122. package/eval/local/tasks/comet-native-repository-fact/environment/PRODUCT_RULES.md +3 -0
  1123. package/eval/local/tasks/comet-native-repository-fact/environment/test_wordcount.py +20 -0
  1124. package/eval/local/tasks/comet-native-repository-fact/environment/wordcount.py +27 -0
  1125. package/eval/local/tasks/comet-native-repository-fact/instruction.md +7 -0
  1126. package/eval/local/tasks/comet-native-repository-fact/task.toml +35 -0
  1127. package/eval/local/tasks/comet-native-repository-fact/validation/test_native_repository_fact.py +53 -0
  1128. package/eval/local/tasks/comet-native-wave-b-decision-resume/environment/Dockerfile +25 -0
  1129. package/eval/local/tasks/comet-native-wave-b-decision-resume/environment/test_wordcount.py +27 -0
  1130. package/eval/local/tasks/comet-native-wave-b-decision-resume/environment/wordcount.py +36 -0
  1131. package/eval/local/tasks/comet-native-wave-b-decision-resume/instruction.md +9 -0
  1132. package/eval/local/tasks/comet-native-wave-b-decision-resume/task.toml +40 -0
  1133. package/eval/local/tasks/comet-native-wave-b-decision-resume/validation/test_native_wave_b_decision_resume.py +208 -0
  1134. package/eval/local/tasks/comet-native-wave-c-verification-integrity/environment/Dockerfile +25 -0
  1135. package/eval/local/tasks/comet-native-wave-c-verification-integrity/environment/test_wordcount.py +27 -0
  1136. package/eval/local/tasks/comet-native-wave-c-verification-integrity/environment/wordcount.py +36 -0
  1137. package/eval/local/tasks/comet-native-wave-c-verification-integrity/instruction.md +11 -0
  1138. package/eval/local/tasks/comet-native-wave-c-verification-integrity/task.toml +36 -0
  1139. package/eval/local/tasks/comet-native-wave-c-verification-integrity/validation/test_native_wave_c_verification_integrity.py +344 -0
  1140. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/environment/Dockerfile +25 -0
  1141. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/environment/test_wordcount.py +27 -0
  1142. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/environment/wordcount.py +36 -0
  1143. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/instruction.md +11 -0
  1144. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/task.toml +37 -0
  1145. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/validation/test_native_wave_d_stagnation_stop.py +284 -0
  1146. package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/.include-trusted-native-runtime +1 -0
  1147. package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/Dockerfile +25 -0
  1148. package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/test_wordcount.py +27 -0
  1149. package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/wordcount.py +36 -0
  1150. package/eval/local/tasks/comet-native-wave-e-parallel-safety/instruction.md +9 -0
  1151. package/eval/local/tasks/comet-native-wave-e-parallel-safety/task.toml +37 -0
  1152. package/eval/local/tasks/comet-native-wave-e-parallel-safety/validation/test_native_wave_e_parallel_safety.py +309 -0
  1153. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/.include-current-comet-cli +1 -0
  1154. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/Dockerfile +29 -0
  1155. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/current-comet-package.json +18 -0
  1156. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/current-comet.sh +14 -0
  1157. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/test_wordcount.py +27 -0
  1158. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/wordcount.py +36 -0
  1159. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/instruction.md +7 -0
  1160. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/task.toml +36 -0
  1161. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/validation/test_native_wave_f_dashboard_readonly.py +483 -0
  1162. package/eval/local/tasks/comet-native-workflow/environment/.include-trusted-native-review-fixture +1 -0
  1163. package/eval/local/tasks/comet-native-workflow/environment/.include-trusted-native-runtime +1 -0
  1164. package/eval/local/tasks/comet-native-workflow/environment/Dockerfile +26 -0
  1165. package/eval/local/tasks/comet-native-workflow/environment/test_wordcount.py +25 -0
  1166. package/eval/local/tasks/comet-native-workflow/environment/wordcount.py +36 -0
  1167. package/eval/local/tasks/comet-native-workflow/instruction.md +35 -0
  1168. package/eval/local/tasks/comet-native-workflow/task.toml +36 -0
  1169. package/eval/local/tasks/comet-native-workflow/validation/test_native_workflow.py +680 -0
  1170. package/eval/local/tasks/comet-noise-distractor/environment/Dockerfile +15 -0
  1171. package/eval/local/tasks/comet-noise-distractor/environment/distractor.md +4 -0
  1172. package/eval/local/tasks/comet-noise-distractor/environment/invoice.py +5 -0
  1173. package/eval/local/tasks/comet-noise-distractor/environment/test_invoice.py +18 -0
  1174. package/eval/local/tasks/comet-noise-distractor/instruction.md +17 -0
  1175. package/eval/local/tasks/comet-noise-distractor/task.toml +20 -0
  1176. package/eval/local/tasks/comet-noise-distractor/validation/test_noise_distractor.py +20 -0
  1177. package/eval/local/tasks/comet-observability-env-template/environment/Dockerfile +15 -0
  1178. package/eval/local/tasks/comet-observability-env-template/environment/env_writer.py +17 -0
  1179. package/eval/local/tasks/comet-observability-env-template/environment/test_env_writer.py +17 -0
  1180. package/eval/local/tasks/comet-observability-env-template/instruction.md +20 -0
  1181. package/eval/local/tasks/comet-observability-env-template/task.toml +20 -0
  1182. package/eval/local/tasks/comet-observability-env-template/validation/test_observability_env_template.py +46 -0
  1183. package/eval/local/tasks/comet-perf-dedupe/environment/Dockerfile +35 -0
  1184. package/eval/local/tasks/comet-perf-dedupe/environment/dedupe.py +22 -0
  1185. package/eval/local/tasks/comet-perf-dedupe/environment/test_dedupe.py +43 -0
  1186. package/eval/local/tasks/comet-perf-dedupe/instruction.md +25 -0
  1187. package/eval/local/tasks/comet-perf-dedupe/task.toml +24 -0
  1188. package/eval/local/tasks/comet-perf-dedupe/validation/test_perf_dedupe.py +40 -0
  1189. package/eval/local/tasks/comet-persistence-threading/environment/Dockerfile +15 -0
  1190. package/eval/local/tasks/comet-persistence-threading/environment/session_store.py +15 -0
  1191. package/eval/local/tasks/comet-persistence-threading/environment/test_session_store.py +21 -0
  1192. package/eval/local/tasks/comet-persistence-threading/instruction.md +14 -0
  1193. package/eval/local/tasks/comet-persistence-threading/task.toml +20 -0
  1194. package/eval/local/tasks/comet-persistence-threading/validation/test_persistence_threading.py +20 -0
  1195. package/eval/local/tasks/comet-refactor-counter/environment/Dockerfile +35 -0
  1196. package/eval/local/tasks/comet-refactor-counter/environment/test_text_processor.py +57 -0
  1197. package/eval/local/tasks/comet-refactor-counter/environment/text_processor.py +49 -0
  1198. package/eval/local/tasks/comet-refactor-counter/instruction.md +31 -0
  1199. package/eval/local/tasks/comet-refactor-counter/task.toml +24 -0
  1200. package/eval/local/tasks/comet-refactor-counter/validation/test_refactor_counter.py +75 -0
  1201. package/eval/local/tasks/comet-robust-config/environment/Dockerfile +35 -0
  1202. package/eval/local/tasks/comet-robust-config/environment/config_loader.py +56 -0
  1203. package/eval/local/tasks/comet-robust-config/environment/test_config_loader.py +72 -0
  1204. package/eval/local/tasks/comet-robust-config/instruction.md +30 -0
  1205. package/eval/local/tasks/comet-robust-config/task.toml +24 -0
  1206. package/eval/local/tasks/comet-robust-config/validation/test_robust_config.py +37 -0
  1207. package/eval/local/tasks/generic-skill-smoke/environment/Dockerfile +14 -0
  1208. package/eval/local/tasks/generic-skill-smoke/instruction.md +7 -0
  1209. package/eval/local/tasks/generic-skill-smoke/task.toml +21 -0
  1210. package/eval/local/tasks/generic-skill-smoke/validation/test_generic_skill_smoke.py +41 -0
  1211. package/eval/local/tasks/index.yaml +229 -0
  1212. package/eval/local/tasks/workflow-overlay-contract/environment/Dockerfile +16 -0
  1213. package/eval/local/tasks/workflow-overlay-contract/instruction.md +5 -0
  1214. package/eval/local/tasks/workflow-overlay-contract/task.toml +21 -0
  1215. package/eval/local/tasks/workflow-overlay-contract/validation/test_workflow_overlay_contract.py +235 -0
  1216. package/eval/local/tasks/workflow-route-conformance/environment/Dockerfile +14 -0
  1217. package/eval/local/tasks/workflow-route-conformance/instruction.md +5 -0
  1218. package/eval/local/tasks/workflow-route-conformance/task.toml +21 -0
  1219. package/eval/local/tasks/workflow-route-conformance/validation/test_workflow_route_conformance.py +84 -0
  1220. package/eval/local/tests/conftest.py +1921 -0
  1221. package/eval/local/tests/scaffold/test_aligned_comparison.py +1012 -0
  1222. package/eval/local/tests/scaffold/test_attribution.py +48 -0
  1223. package/eval/local/tests/scaffold/test_compare_baselines.py +999 -0
  1224. package/eval/local/tests/scaffold/test_conftest_helpers.py +980 -0
  1225. package/eval/local/tests/scaffold/test_evidence.py +15 -0
  1226. package/eval/local/tests/scaffold/test_langsmith_conftest.py +244 -0
  1227. package/eval/local/tests/scaffold/test_logging.py +377 -0
  1228. package/eval/local/tests/scaffold/test_manifests.py +134 -0
  1229. package/eval/local/tests/scaffold/test_native_aligned_eval.py +353 -0
  1230. package/eval/local/tests/scaffold/test_native_wave_evaluations.py +2168 -0
  1231. package/eval/local/tests/scaffold/test_profiles.py +1149 -0
  1232. package/eval/local/tests/scaffold/test_regression_check.py +19 -0
  1233. package/eval/local/tests/scaffold/test_report_style_demo_charts.py +45 -0
  1234. package/eval/local/tests/scaffold/test_sample_quality.py +268 -0
  1235. package/eval/local/tests/scaffold/test_tasks.py +1013 -0
  1236. package/eval/local/tests/scaffold/test_treatments.py +353 -0
  1237. package/eval/local/tests/scaffold/test_utils.py +561 -0
  1238. package/eval/local/tests/tasks/__init__.py +1 -0
  1239. package/eval/local/tests/tasks/test_tasks.py +474 -0
  1240. package/eval/local/tests/tasks/test_validation_scripts.py +787 -0
  1241. package/eval/local/treatments/comet/comet_classic_docs_layout.yaml +121 -0
  1242. package/eval/local/treatments/comet/comet_full_039.yaml +141 -0
  1243. package/eval/local/treatments/comet/comet_full_040_beta.yaml +140 -0
  1244. package/eval/local/treatments/comet/comet_native_phase1.yaml +66 -0
  1245. package/eval/local/treatments/common/control.yaml +4 -0
  1246. package/eval/pyproject.toml +41 -0
  1247. package/eval/report-html-config.json +6 -0
  1248. package/eval/scaffold/__init__.py +67 -0
  1249. package/eval/scaffold/python/__init__.py +95 -0
  1250. package/eval/scaffold/python/aligned_comparison.py +1632 -0
  1251. package/eval/scaffold/python/attribution.py +43 -0
  1252. package/eval/scaffold/python/evidence.py +38 -0
  1253. package/eval/scaffold/python/external_data_handler.py +18 -0
  1254. package/eval/scaffold/python/generic_llm_judge.py +237 -0
  1255. package/eval/scaffold/python/judge_config.py +168 -0
  1256. package/eval/scaffold/python/llm_judge.py +188 -0
  1257. package/eval/scaffold/python/logging.py +804 -0
  1258. package/eval/scaffold/python/manifests.py +131 -0
  1259. package/eval/scaffold/python/native_eval.py +143 -0
  1260. package/eval/scaffold/python/paper_charts.py +25 -0
  1261. package/eval/scaffold/python/pass_at_k.py +106 -0
  1262. package/eval/scaffold/python/paths.py +56 -0
  1263. package/eval/scaffold/python/profiles.py +127 -0
  1264. package/eval/scaffold/python/report_outputs.py +1573 -0
  1265. package/eval/scaffold/python/sample_quality.py +382 -0
  1266. package/eval/scaffold/python/schema.py +39 -0
  1267. package/eval/scaffold/python/skill_parser.py +469 -0
  1268. package/eval/scaffold/python/tasks.py +343 -0
  1269. package/eval/scaffold/python/treatments.py +271 -0
  1270. package/eval/scaffold/python/utils.py +460 -0
  1271. package/eval/scaffold/python/validation/__init__.py +31 -0
  1272. package/eval/scaffold/python/validation/authoring_rubric.py +328 -0
  1273. package/eval/scaffold/python/validation/comet_workflow.py +227 -0
  1274. package/eval/scaffold/python/validation/core.py +264 -0
  1275. package/eval/scaffold/python/validation/dataset.py +337 -0
  1276. package/eval/scaffold/python/validation/docker.py +106 -0
  1277. package/eval/scaffold/python/validation/evaluator.py +549 -0
  1278. package/eval/scaffold/python/validation/generic_rubric.py +198 -0
  1279. package/eval/scaffold/python/validation/native_wave.py +2154 -0
  1280. package/eval/scaffold/python/validation/native_workflow.py +252 -0
  1281. package/eval/scaffold/python/validation/rubric.py +780 -0
  1282. package/eval/scaffold/python/validation/runner.py +237 -0
  1283. package/eval/scaffold/python/validation/scripts.py +58 -0
  1284. package/eval/scaffold/python/validation/tracing.py +313 -0
  1285. package/eval/scaffold/shell/common.sh +126 -0
  1286. package/eval/scaffold/shell/completion-point.sh +18 -0
  1287. package/eval/scaffold/shell/decision-point.sh +35 -0
  1288. package/eval/scaffold/shell/docker.sh +716 -0
  1289. package/eval/scaffold/shell/native-review-signer-daemon.mjs +144 -0
  1290. package/eval/scaffold/shell/native-review-verifier-daemon.mjs +178 -0
  1291. package/eval/scaffold/shell/run-claude-loop.sh +234 -0
  1292. package/eval/scaffold/shell/setup.sh +259 -0
  1293. package/eval/simulator-instruction.md +9 -0
  1294. package/package.json +64 -10
  1295. package/dist/domains/dashboard/web/assets/demo-DQyfozbi.js +0 -1
  1296. package/dist/domains/dashboard/web/assets/index-BcO3_QlT.css +0 -1
  1297. package/dist/domains/dashboard/web/assets/index-CjU3VXVu.js +0 -22
@@ -1,18 +1,24 @@
1
1
  import { spawnSync } from 'child_process';
2
- import { randomUUID } from 'crypto';
3
- import { existsSync, promises as fs } from 'fs';
2
+ import { promises as fs } from 'fs';
4
3
  import path from 'path';
5
4
  import { Document, parseDocument } from 'yaml';
5
+ import { clearCurrentChange, resolveCurrentChange, selectCurrentChange, } from './classic-current-change.js';
6
+ import { driftBlockedMessage, evaluateBranchBinding, healBoundBranch, isGitWorkTree, liveGitBranch, requiresBranchBinding, resolveBranchBinding, unboundDetachedMessage, } from './classic-branch-binding.js';
6
7
  import { collectClassicEvidence } from './classic-evidence.js';
7
- import { openSpecChangeNameError, resolveClassicChangeDirectory } from './classic-paths.js';
8
+ import { ensureClassicActiveChangeDirectory, openSpecChangeNameError, resolveClassicChangeDirectory, } from './classic-paths.js';
9
+ import { assertClassicLayoutWritable, assertClassicLayoutReadable } from './classic-layout.js';
10
+ import { classicCommandInvocationCwd, classicCommandProjectRoot, withClassicCommandContext, } from './classic-command-context.js';
8
11
  import { resolveClassicStepId } from './classic-resolver.js';
9
- import { transitionClassicRuntimeRun } from './classic-runtime-run.js';
12
+ import { transitionClassicRuntimeRun, validateClassicRuntimeRun } from './classic-runtime-run.js';
10
13
  import { appendClassicStateEvent } from './classic-state-events.js';
11
14
  import { CLASSIC_WIRE_KEYS, RUN_WIRE_KEYS, parseClassicStateDocument, } from './classic-state.js';
12
15
  import { readClassicState, writeClassicState } from './classic-store.js';
13
16
  import { CLASSIC_TRANSITION_EVENTS, applyClassicTransition, } from './classic-transitions.js';
14
17
  import { readRunState } from '../../domains/engine/state.js';
15
18
  import { appendTrajectory, readTrajectory } from '../../domains/engine/run-store.js';
19
+ import { recordCommandCheck } from './classic-command-checks.js';
20
+ import { readClassicConfigValue } from './classic-project-config.js';
21
+ import { classicProjectFileNonempty, classicProjectTargetExists, inspectClassicProjectTarget, readClassicProjectFile, writeClassicProjectText, } from './classic-protected-path.js';
16
22
  const GREEN = '\u001b[32m';
17
23
  const RED = '\u001b[31m';
18
24
  const YELLOW = '\u001b[33m';
@@ -23,8 +29,11 @@ const ARTIFACT_LANGUAGES = ['en', 'zh-CN'];
23
29
  const EVENTS = CLASSIC_TRANSITION_EVENTS;
24
30
  const MACHINE_OWNED_FIELDS = new Set([
25
31
  ...RUN_WIRE_KEYS,
32
+ 'archive_confirmation',
33
+ 'verify_failures',
26
34
  'classic_profile',
27
35
  'classic_migration',
36
+ 'bound_branch',
28
37
  ]);
29
38
  const SETTABLE_FIELDS = new Set(CLASSIC_WIRE_KEYS.filter((field) => !MACHINE_OWNED_FIELDS.has(field)));
30
39
  const FIELD_ENUMS = {
@@ -36,11 +45,12 @@ const FIELD_ENUMS = {
36
45
  subagent_dispatch: ['null', 'confirmed'],
37
46
  tdd_mode: ['tdd', 'direct'],
38
47
  review_mode: ['off', 'standard', 'thorough'],
39
- isolation: ['branch', 'worktree'],
48
+ isolation: ['current', 'branch', 'worktree'],
40
49
  verify_mode: ['light', 'full'],
41
50
  auto_transition: ['true', 'false'],
42
51
  verify_result: ['pending', 'pass', 'fail'],
43
52
  branch_status: ['pending', 'handled'],
53
+ archive_confirmation: ['pending', 'confirmed'],
44
54
  archived: ['true', 'false'],
45
55
  direct_override: ['true', 'false'],
46
56
  classic_profile: PROFILES,
@@ -56,7 +66,9 @@ const CLASSIC_FIELD_WIRE_NAMES = {
56
66
  phase: 'phase',
57
67
  verificationReport: 'verification_report',
58
68
  verifiedAt: 'verified_at',
69
+ archiveConfirmation: 'archive_confirmation',
59
70
  verifyResult: 'verify_result',
71
+ verifyFailures: 'verify_failures',
60
72
  workflow: 'workflow',
61
73
  };
62
74
  class CommandFailure extends Error {
@@ -116,37 +128,29 @@ function validateRelativePath(value, field) {
116
128
  }
117
129
  }
118
130
  async function exists(file) {
119
- try {
120
- await fs.access(file);
121
- return true;
122
- }
123
- catch (error) {
124
- if (error.code === 'ENOENT')
125
- return false;
126
- throw error;
127
- }
131
+ const projectRoot = classicCommandProjectRoot();
132
+ return classicProjectTargetExists(projectRoot, file, {
133
+ label: `Classic project path ${path.relative(projectRoot, path.resolve(projectRoot, file)).replaceAll('\\', '/')}`,
134
+ });
128
135
  }
129
136
  async function nonempty(file) {
130
- try {
131
- return (await fs.stat(file)).size > 0;
132
- }
133
- catch (error) {
134
- if (error.code === 'ENOENT')
135
- return false;
136
- throw error;
137
- }
137
+ const projectRoot = classicCommandProjectRoot();
138
+ return classicProjectFileNonempty(projectRoot, file, `Classic project file ${path.relative(projectRoot, path.resolve(projectRoot, file)).replaceAll('\\', '/')}`);
138
139
  }
139
140
  async function changeDirectory(name) {
140
- return resolveClassicChangeDirectory(name);
141
+ return resolveClassicChangeDirectory(name, classicCommandProjectRoot());
141
142
  }
142
143
  async function readDocument(file) {
143
144
  let source;
145
+ const projectRoot = classicCommandProjectRoot();
144
146
  try {
145
- source = await fs.readFile(file, 'utf8');
147
+ source = await readClassicProjectFile(projectRoot, file, {
148
+ label: `Classic state ${path.relative(projectRoot, file).replaceAll('\\', '/')}`,
149
+ });
146
150
  }
147
151
  catch (error) {
148
152
  if (error.code === 'ENOENT') {
149
- fail(`ERROR: .comet.yaml not found at ${path.relative(process.cwd(), file).replaceAll('\\', '/')}`);
153
+ fail(`ERROR: .comet.yaml not found at ${path.relative(projectRoot, file).replaceAll('\\', '/')}`);
150
154
  }
151
155
  throw error;
152
156
  }
@@ -156,16 +160,9 @@ async function readDocument(file) {
156
160
  return document;
157
161
  }
158
162
  async function atomicWrite(file, content) {
159
- await fs.mkdir(path.dirname(file), { recursive: true });
160
- const temporary = `${file}.${randomUUID()}.tmp`;
161
- try {
162
- await fs.writeFile(temporary, content, 'utf8');
163
- await fs.rename(temporary, file);
164
- }
165
- catch (error) {
166
- await fs.rm(temporary, { force: true });
167
- throw error;
168
- }
163
+ await writeClassicProjectText(classicCommandProjectRoot(), file, content, {
164
+ label: 'Classic state write target',
165
+ });
169
166
  }
170
167
  function scalar(value) {
171
168
  if (value === null)
@@ -206,6 +203,10 @@ function nullableRecordBoolean(record, field) {
206
203
  return false;
207
204
  return null;
208
205
  }
206
+ function nonNegativeRecordInteger(record, field, fallback = 0) {
207
+ const value = record[field];
208
+ return typeof value === 'number' && Number.isInteger(value) && value >= 0 ? value : fallback;
209
+ }
209
210
  function sparseClassicState(record) {
210
211
  const workflow = enumRecordValue(record, 'workflow', PROFILES, 'full');
211
212
  return {
@@ -218,21 +219,22 @@ function sparseClassicState(record) {
218
219
  subagentDispatch: enumRecordValue(record, 'subagent_dispatch', ['confirmed'], null),
219
220
  tddMode: enumRecordValue(record, 'tdd_mode', ['tdd', 'direct'], null),
220
221
  reviewMode: enumRecordValue(record, 'review_mode', ['off', 'standard', 'thorough'], null),
221
- isolation: enumRecordValue(record, 'isolation', ['branch', 'worktree'], null),
222
+ isolation: enumRecordValue(record, 'isolation', ['current', 'branch', 'worktree'], null),
223
+ boundBranch: nullableRecordString(record, 'bound_branch'),
222
224
  verifyMode: enumRecordValue(record, 'verify_mode', ['light', 'full'], null),
223
225
  autoTransition: nullableRecordBoolean(record, 'auto_transition'),
224
226
  baseRef: nullableRecordString(record, 'base_ref'),
225
227
  designDoc: nullableRecordString(record, 'design_doc'),
226
228
  plan: nullableRecordString(record, 'plan'),
227
229
  verifyResult: enumRecordValue(record, 'verify_result', ['pending', 'pass', 'fail'], 'pending'),
230
+ verifyFailures: nonNegativeRecordInteger(record, 'verify_failures'),
228
231
  verificationReport: nullableRecordString(record, 'verification_report'),
229
232
  branchStatus: enumRecordValue(record, 'branch_status', ['pending', 'handled'], null),
230
233
  createdAt: nullableRecordString(record, 'created_at'),
231
234
  verifiedAt: nullableRecordString(record, 'verified_at'),
235
+ archiveConfirmation: enumRecordValue(record, 'archive_confirmation', ['pending', 'confirmed'], null),
232
236
  archived: nullableRecordBoolean(record, 'archived') ?? false,
233
237
  directOverride: nullableRecordBoolean(record, 'direct_override'),
234
- buildCommand: nullableRecordString(record, 'build_command'),
235
- verifyCommand: nullableRecordString(record, 'verify_command'),
236
238
  handoffContext: nullableRecordString(record, 'handoff_context'),
237
239
  handoffHash: nullableRecordString(record, 'handoff_hash'),
238
240
  classicProfile: enumRecordValue(record, 'classic_profile', PROFILES, workflow),
@@ -240,19 +242,16 @@ function sparseClassicState(record) {
240
242
  };
241
243
  }
242
244
  async function projectConfigValue(field) {
243
- const file = path.resolve('.comet', 'config.yaml');
244
- if (!(await exists(file)))
245
- return null;
246
- const document = await readDocument(file);
247
- const value = document.get(field);
248
- return value === null || value === undefined ? null : scalar(value);
245
+ return (await readClassicConfigValue(field, { cwd: classicCommandProjectRoot() }))?.value ?? null;
249
246
  }
250
247
  async function projectLanguageDefault() {
251
248
  if (process.env.COMET_LANGUAGE)
252
249
  return validateLanguage(process.env.COMET_LANGUAGE, 'COMET_LANGUAGE');
253
- const value = await projectConfigValue('language');
254
- if (value)
255
- return validateLanguage(value, '.comet/config.yaml');
250
+ const configured = await readClassicConfigValue('language', {
251
+ cwd: classicCommandProjectRoot(),
252
+ });
253
+ if (configured)
254
+ return validateLanguage(configured.value, configured.source);
256
255
  return 'en';
257
256
  }
258
257
  async function contextCompression() {
@@ -284,6 +283,10 @@ function gitOutput(args) {
284
283
  }
285
284
  async function stateFile(name) {
286
285
  const change = await changeDirectory(name);
286
+ await inspectClassicProjectTarget(classicCommandProjectRoot(), path.join(change.directory, '.comet'), {
287
+ label: `Classic runtime directory for ${name}`,
288
+ expected: 'directory',
289
+ });
287
290
  return {
288
291
  ...change,
289
292
  file: path.join(change.directory, '.comet.yaml'),
@@ -314,7 +317,7 @@ function parsedValue(field, value) {
314
317
  fail(`ERROR: Invalid value: '${value}'`);
315
318
  return document.get(field);
316
319
  }
317
- function validateSetValue(field, value) {
320
+ async function validateSetValue(field, value) {
318
321
  if (field === 'language') {
319
322
  validateLanguage(value, 'language');
320
323
  return;
@@ -322,8 +325,15 @@ function validateSetValue(field, value) {
322
325
  const enumValues = FIELD_ENUMS[field];
323
326
  if (enumValues)
324
327
  validateEnum(value, enumValues);
325
- if (PATH_FIELDS.has(field))
328
+ if (PATH_FIELDS.has(field)) {
326
329
  validateRelativePath(value, field);
330
+ if (value && value !== 'null') {
331
+ await inspectClassicProjectTarget(classicCommandProjectRoot(), value, {
332
+ label: `${field} artifact pointer`,
333
+ expected: 'file',
334
+ });
335
+ }
336
+ }
327
337
  if ((field === 'skill_hash' || field === 'handoff_hash') && !/^[a-f0-9]{64}$/u.test(value)) {
328
338
  fail(`ERROR: ${field} must be a sha256 hex digest`);
329
339
  }
@@ -333,7 +343,7 @@ function validateSetValue(field, value) {
333
343
  }
334
344
  async function setField(output, name, field, value, options = {}) {
335
345
  if (MACHINE_OWNED_FIELDS.has(field) && !options.machineOwned) {
336
- fail(`ERROR: '${field}' is a machine-owned Run field and cannot be set directly`);
346
+ fail(`ERROR: '${field}' is a machine-owned field and cannot be set directly`);
337
347
  }
338
348
  if (!SETTABLE_FIELDS.has(field) && !MACHINE_OWNED_FIELDS.has(field)) {
339
349
  fail(`ERROR: Unknown field: '${field}'`);
@@ -343,10 +353,43 @@ async function setField(output, name, field, value, options = {}) {
343
353
  ' Use: comet-state.mjs transition <change-name> <event>\n' +
344
354
  ' Repair-only escape hatch: COMET_FORCE_PHASE=1 comet-state.mjs set <change-name> phase <value>');
345
355
  }
346
- validateSetValue(field, value);
356
+ await validateSetValue(field, value);
347
357
  const { file, directory } = await stateFile(name);
348
358
  const document = await readDocument(file);
359
+ const previousRecord = (document.toJS() ?? {});
349
360
  document.set(field, parsedValue(field, value));
361
+ if (field === 'isolation') {
362
+ if (requiresBranchBinding(value)) {
363
+ const previousIsolation = typeof previousRecord.isolation === 'string' ? previousRecord.isolation : null;
364
+ const existing = previousRecord.bound_branch;
365
+ const alreadyBound = typeof existing === 'string' && existing !== '';
366
+ // Switching between workspace modes is an explicit new workspace
367
+ // decision and re-points the binding; repeating the same mode keeps
368
+ // the sticky binding that drift checks rely on.
369
+ if (!alreadyBound || previousIsolation !== value) {
370
+ const invocationCwd = classicCommandInvocationCwd();
371
+ const currentBranch = liveGitBranch(invocationCwd);
372
+ const verdict = evaluateBranchBinding({
373
+ isolation: value,
374
+ boundBranch: null,
375
+ currentBranch,
376
+ gitWorkTree: currentBranch === null ? isGitWorkTree(invocationCwd) : true,
377
+ });
378
+ if (verdict.status === 'needs-heal') {
379
+ document.set('bound_branch', verdict.branch);
380
+ }
381
+ else if (verdict.status === 'unbound-detached') {
382
+ fail(`ERROR: cannot bind isolation=${value} while HEAD is detached; checkout a branch first`);
383
+ }
384
+ else {
385
+ document.set('bound_branch', null);
386
+ }
387
+ }
388
+ }
389
+ else {
390
+ document.set('bound_branch', null);
391
+ }
392
+ }
350
393
  const run = await readRunState(directory);
351
394
  const projection = parseClassicStateDocument(document.toJS(), run);
352
395
  if (projection.run) {
@@ -393,10 +436,11 @@ async function setField(output, name, field, value, options = {}) {
393
436
  async function init(output, name, workflow) {
394
437
  validateChangeName(name);
395
438
  validateEnum(workflow, PROFILES);
396
- const { file, label, directory } = await stateFile(name);
439
+ const change = await ensureClassicActiveChangeDirectory(name, classicCommandProjectRoot());
440
+ const { label, directory } = change;
441
+ const file = path.join(directory, '.comet.yaml');
397
442
  if (await exists(file))
398
443
  fail(`ERROR: .comet.yaml already exists at ${label}/.comet.yaml`);
399
- await fs.mkdir(directory, { recursive: true });
400
444
  const preset = workflow !== 'full';
401
445
  const reviewMode = preset ? 'off' : await reviewModeDefault();
402
446
  const document = new Document({
@@ -409,21 +453,23 @@ async function init(output, name, workflow) {
409
453
  subagent_dispatch: null,
410
454
  tdd_mode: preset ? 'direct' : null,
411
455
  review_mode: reviewMode,
412
- isolation: preset ? 'branch' : null,
456
+ isolation: null,
413
457
  verify_mode: preset ? 'light' : null,
414
458
  auto_transition: (await autoTransition()) === 'true',
415
459
  base_ref: gitOutput(['rev-parse', '--verify', 'HEAD']),
416
460
  design_doc: null,
417
461
  plan: null,
418
462
  verify_result: 'pending',
463
+ verify_failures: 0,
419
464
  verification_report: null,
420
465
  branch_status: 'pending',
421
466
  created_at: new Date().toISOString().slice(0, 10),
422
467
  verified_at: null,
468
+ archive_confirmation: null,
423
469
  archived: false,
424
470
  });
425
471
  await atomicWrite(file, document.toString());
426
- output.stderr.push(green(`Initialized: ${label}/.comet.yaml (workflow=${workflow})`));
472
+ output.stdout.push(green(`Initialized: ${label}/.comet.yaml (workflow=${workflow})`));
427
473
  }
428
474
  async function requirePhase(name, expected) {
429
475
  const actual = await readField(name, 'phase');
@@ -439,8 +485,9 @@ async function requireBuildDecisions(name) {
439
485
  const subagentDispatch = await readField(name, 'subagent_dispatch');
440
486
  const tddMode = await readField(name, 'tdd_mode');
441
487
  const reviewMode = await readField(name, 'review_mode');
442
- if (!['branch', 'worktree'].includes(isolation)) {
443
- fail(`ERROR: Cannot transition '${name}': isolation must be branch or worktree, got '${isolation || 'null'}'`);
488
+ const allowedIsolation = ['current', 'branch', 'worktree'];
489
+ if (!allowedIsolation.includes(isolation)) {
490
+ fail(`ERROR: Cannot transition '${name}': isolation must be current, branch, or worktree, got '${isolation || 'null'}'`);
444
491
  }
445
492
  if (!['subagent-driven-development', 'executing-plans', 'direct'].includes(buildMode)) {
446
493
  fail(`ERROR: Cannot transition '${name}': build_mode must be selected before leaving build, got '${buildMode || 'null'}'`);
@@ -550,13 +597,19 @@ async function transition(output, name, event) {
550
597
  if (!report || !(await exists(path.resolve(report)))) {
551
598
  fail(`ERROR: Cannot transition '${name}': verification_report must point to an existing report file`);
552
599
  }
553
- if ((await readField(name, 'branch_status')) !== 'handled') {
554
- fail(`ERROR: Cannot transition '${name}': branch_status must be handled`);
555
- }
556
600
  }
557
601
  else if (event === 'verify-fail') {
558
602
  await requirePhase(name, 'verify');
559
603
  }
604
+ else if (event === 'archive-confirm') {
605
+ await requirePhase(name, 'archive');
606
+ if ((await readField(name, 'verify_result')) !== 'pass') {
607
+ fail(`ERROR: Cannot transition '${name}': verify_result must be pass before archiving`);
608
+ }
609
+ if ((await readField(name, 'archived')) === 'true') {
610
+ fail(`ERROR: Cannot transition '${name}': already archived`);
611
+ }
612
+ }
560
613
  else if (event === 'preset-escalate') {
561
614
  // preset (hotfix/tweak) → full: rewind phase to design so the agent can
562
615
  // supplement a Design Doc before continuing. Unlike verify-fail /
@@ -581,6 +634,9 @@ async function transition(output, name, event) {
581
634
  if ((await readField(name, 'verify_result')) !== 'pass') {
582
635
  fail(`ERROR: Cannot transition '${name}': verify_result must be pass before archiving`);
583
636
  }
637
+ if ((await readField(name, 'archive_confirmation')) !== 'confirmed') {
638
+ fail(`ERROR: Cannot transition '${name}': archive_confirmation must be confirmed before archiving`);
639
+ }
584
640
  }
585
641
  await applyTransitionEvent(output, name, event);
586
642
  }
@@ -623,10 +679,12 @@ async function taskCheckoff(output, taskFile, taskText) {
623
679
  validateRelativePath(taskFile, 'task file');
624
680
  if (!taskText)
625
681
  fail('ERROR: Task text cannot be empty');
626
- const file = path.resolve(taskFile);
682
+ const file = path.resolve(classicCommandProjectRoot(), taskFile);
627
683
  if (!(await exists(file)))
628
684
  fail(`ERROR: Task file not found: ${taskFile}`);
629
- const lines = (await fs.readFile(file, 'utf8')).split(/\r?\n/u);
685
+ const lines = (await readClassicProjectFile(classicCommandProjectRoot(), file, {
686
+ label: 'Classic task-checkoff file',
687
+ })).split(/\r?\n/u);
630
688
  const matches = lines.filter((line) => [`- [ ] ${taskText}`, `- [x] ${taskText}`, `- [X] ${taskText}`].includes(line));
631
689
  const checked = matches.filter((line) => /^- \[[xX]\] /u.test(line));
632
690
  if (matches.length !== 1) {
@@ -687,6 +745,32 @@ async function check(output, name, phase) {
687
745
  const archived = await readField(name, 'archived');
688
746
  (archived !== 'true' ? pass : reject)(`archived=${archived} (expected: not true)`);
689
747
  }
748
+ const binding = await resolveBranchBinding(directory, {
749
+ heal: true,
750
+ cwd: classicCommandInvocationCwd(),
751
+ });
752
+ if (binding.bindingRequired) {
753
+ switch (binding.status) {
754
+ case 'drift':
755
+ reject(driftBlockedMessage(name, binding.boundBranch, binding.currentBranch));
756
+ break;
757
+ case 'unbound-detached':
758
+ reject(unboundDetachedMessage(name));
759
+ break;
760
+ case 'healed':
761
+ pass(`bound_branch lazily set to ${binding.branch}`);
762
+ break;
763
+ case 'needs-heal':
764
+ case 'ok':
765
+ case 'not-applicable':
766
+ pass('bound_branch matches current branch');
767
+ break;
768
+ default: {
769
+ const exhaustive = binding;
770
+ throw new Error(`unhandled branch binding status: ${JSON.stringify(exhaustive)}`);
771
+ }
772
+ }
773
+ }
690
774
  output.stdout.push('');
691
775
  if (blocked) {
692
776
  output.stderr.push(red('BLOCKED — fix failing checks before proceeding'));
@@ -694,10 +778,10 @@ async function check(output, name, phase) {
694
778
  }
695
779
  output.stderr.push(green('ALL CHECKS PASSED — ready to proceed'));
696
780
  }
697
- function fieldStatus(field, value, file) {
781
+ async function fieldStatus(field, value, file) {
698
782
  if (!value || value === 'null')
699
783
  return ` - ${field}: PENDING`;
700
- if (file && !existsSync(path.resolve(file))) {
784
+ if (file && !(await exists(path.resolve(file)))) {
701
785
  return ` - ${field}: BROKEN (path ${value} does not exist)`;
702
786
  }
703
787
  return ` - ${field}: DONE (${value})`;
@@ -725,7 +809,7 @@ async function recoverDesign(output, name, directory) {
725
809
  const handoff = await readField(name, 'handoff_context');
726
810
  const hash = await readField(name, 'handoff_hash');
727
811
  const design = await readField(name, 'design_doc');
728
- output.stdout.push('', ' Design progress:', fieldStatus('handoff_context', handoff, handoff), fieldStatus('handoff_hash', hash), fieldStatus('design_doc', design, design), '');
812
+ output.stdout.push('', ' Design progress:', await fieldStatus('handoff_context', handoff, handoff), await fieldStatus('handoff_hash', hash), await fieldStatus('design_doc', design, design), '');
729
813
  if (design && design !== 'null' && (await exists(path.resolve(design)))) {
730
814
  output.stdout.push('Recovery action: Design Doc already created and linked. Run guard to transition to build.');
731
815
  }
@@ -746,30 +830,34 @@ async function recoverBuild(output, name, directory, workflow) {
746
830
  const plan = await readField(name, 'plan');
747
831
  const decisions = [
748
832
  ' Build decisions:',
749
- fieldStatus('isolation', isolation),
750
- fieldStatus('build_mode', buildMode),
751
- fieldStatus('build_pause', pause),
752
- fieldStatus('tdd_mode', tdd),
753
- fieldStatus('review_mode', review),
833
+ await fieldStatus('isolation', isolation),
834
+ await fieldStatus('build_mode', buildMode),
835
+ await fieldStatus('build_pause', pause),
836
+ await fieldStatus('tdd_mode', tdd),
837
+ await fieldStatus('review_mode', review),
754
838
  ];
755
839
  if (buildMode === 'subagent-driven-development' ||
756
840
  (subagentDispatch && subagentDispatch !== 'null')) {
757
- decisions.push(fieldStatus('subagent_dispatch', subagentDispatch));
841
+ decisions.push(await fieldStatus('subagent_dispatch', subagentDispatch));
758
842
  }
759
- output.stdout.push(...decisions, '', ' Plan:', fieldStatus('plan', plan, plan), '');
843
+ output.stdout.push(...decisions, '', ' Plan:', await fieldStatus('plan', plan, plan), '');
760
844
  const tasks = path.join(directory, 'tasks.md');
761
845
  if (!(await exists(tasks))) {
762
846
  output.stdout.push(' Tasks: tasks.md MISSING', '', 'Recovery action: tasks.md missing. Verify change directory integrity.');
763
847
  return;
764
848
  }
765
- const lines = (await fs.readFile(tasks, 'utf8')).split(/\r?\n/u);
849
+ const lines = (await readClassicProjectFile(classicCommandProjectRoot(), tasks, {
850
+ label: 'Classic change tasks',
851
+ })).split(/\r?\n/u);
766
852
  const total = lines.filter((line) => /^\s*- \[[ xX]\] /u.test(line)).length;
767
853
  const done = lines.filter((line) => /^\s*- \[[xX]\] /u.test(line)).length;
768
854
  const pending = total - done;
769
855
  let planTotal = 0;
770
856
  let planDone = 0;
771
- if (plan && plan !== 'null' && (await exists(path.resolve(plan)))) {
772
- const planLines = (await fs.readFile(path.resolve(plan), 'utf8')).split(/\r?\n/u);
857
+ if (plan && plan !== 'null' && (await exists(plan))) {
858
+ const planLines = (await readClassicProjectFile(classicCommandProjectRoot(), plan, {
859
+ label: 'Classic build plan',
860
+ })).split(/\r?\n/u);
773
861
  planTotal = planLines.filter((line) => /^\s*- \[[ xX]\] /u.test(line)).length;
774
862
  planDone = planLines.filter((line) => /^\s*- \[[xX]\] /u.test(line)).length;
775
863
  }
@@ -802,7 +890,7 @@ function resolveBuildRecoveryAction(workflow, isolation, buildMode, pause, subag
802
890
  if (buildMode === 'subagent-driven-development' && (pending > 0 || planPending > 0)) {
803
891
  return subagentDispatch === 'confirmed'
804
892
  ? 'Recovery action: Plan-ready pause is stale because build decisions are already selected. Clear build_pause to null, then inspect the first unchecked task (OpenSpec or plan additions) against recent git history/diff. If implemented, check it off; otherwise dispatch a real background subagent. Do not execute the pending task directly in the main window.'
805
- : 'Recovery action: Plan-ready pause is stale and subagent dispatch is not confirmed. Confirm a real background subagent/Task/multi-agent dispatcher and set subagent_dispatch to confirmed, or set build_mode to executing-plans before continuing.';
893
+ : 'Recovery action: Plan-ready pause is stale and subagent dispatch is not confirmed. Return to /comet-build Step 2 capability preflight. Confirm a real background subagent/Task/multi-agent dispatcher and set subagent_dispatch to confirmed, or remove the unavailable mode and set build_mode to executing-plans before continuing.';
806
894
  }
807
895
  if (pending > 0 || planPending > 0) {
808
896
  return 'Recovery action: Plan-ready pause is stale because build decisions are already selected. Clear build_pause to null, then continue from the first unchecked task.';
@@ -825,7 +913,7 @@ function resolveBuildRecoveryAction(workflow, isolation, buildMode, pause, subag
825
913
  if (buildMode === 'subagent-driven-development') {
826
914
  return subagentDispatch === 'confirmed'
827
915
  ? 'Recovery action: Read tasks.md and the Superpowers plan (which may include additions beyond OpenSpec), then inspect the first unchecked task against recent git history/diff. If implemented, check it off; otherwise dispatch a real background subagent. Do not execute the pending task directly in the main window.'
828
- : 'Recovery action: Subagent dispatch is not confirmed. Confirm a real background subagent/Task/multi-agent dispatcher and set subagent_dispatch to confirmed, or set build_mode to executing-plans before continuing.';
916
+ : 'Recovery action: Subagent dispatch is not confirmed. Return to /comet-build Step 2 capability preflight. Confirm a real background subagent/Task/multi-agent dispatcher and set subagent_dispatch to confirmed, or remove the unavailable mode and set build_mode to executing-plans before continuing.';
829
917
  }
830
918
  return 'Recovery action: Read tasks.md and continue from first unchecked task.';
831
919
  }
@@ -833,7 +921,7 @@ function resolveBuildRecoveryAction(workflow, isolation, buildMode, pause, subag
833
921
  if (buildMode === 'subagent-driven-development') {
834
922
  return subagentDispatch === 'confirmed'
835
923
  ? 'Recovery action: Read the Superpowers plan, then inspect the first unchecked Superpowers plan task against recent git history/diff. If implemented, check it off; otherwise dispatch a real background subagent. Do not execute the pending task directly in the main window.'
836
- : 'Recovery action: Subagent dispatch is not confirmed. Confirm a real background subagent/Task/multi-agent dispatcher and set subagent_dispatch to confirmed, or set build_mode to executing-plans before continuing.';
924
+ : 'Recovery action: Subagent dispatch is not confirmed. Return to /comet-build Step 2 capability preflight. Confirm a real background subagent/Task/multi-agent dispatcher and set subagent_dispatch to confirmed, or remove the unavailable mode and set build_mode to executing-plans before continuing.';
837
925
  }
838
926
  return 'Recovery action: Read the Superpowers plan and continue from the first unchecked plan task.';
839
927
  }
@@ -841,17 +929,23 @@ function resolveBuildRecoveryAction(workflow, isolation, buildMode, pause, subag
841
929
  }
842
930
  async function recoverVerify(output, name) {
843
931
  const result = await readField(name, 'verify_result');
932
+ const failures = await readField(name, 'verify_failures');
844
933
  const mode = await readField(name, 'verify_mode');
845
934
  const report = await readField(name, 'verification_report');
846
935
  const branch = await readField(name, 'branch_status');
847
- output.stdout.push(' Verification:', fieldStatus('verify_result', result), fieldStatus('verify_mode', mode), fieldStatus('verification_report', report, report), fieldStatus('branch_status', branch), '', result === 'pass' && branch === 'handled'
848
- ? 'Recovery action: Verification complete. Run guard to transition to archive.'
936
+ output.stdout.push(' Verification:', await fieldStatus('verify_result', result), ` - verify_failures: ${failures || '0'}`, await fieldStatus('verify_mode', mode), await fieldStatus('verification_report', report, report), branch === 'handled'
937
+ ? ' - branch_status: LEGACY (handled before archive; archive still owns final closure)'
938
+ : ' - branch_status: DEFERRED (handled after the archive commit)', '', result === 'pass'
939
+ ? 'Recovery action: Verification complete. Continue to archive; branch handling happens after archive changes are committed.'
849
940
  : result === 'fail'
850
941
  ? 'Recovery action: Verification failed and rolled back to build. Resume from /comet-build.'
851
942
  : 'Recovery action: Verification not yet started or in progress. Run scale assessment then verify.');
852
943
  }
853
944
  async function recoverArchive(output, name) {
854
- output.stdout.push(' Archive:', fieldStatus('verify_result', await readField(name, 'verify_result')), fieldStatus('archived', await readField(name, 'archived')), '', 'Recovery action: Run /comet-archive to complete archiving.');
945
+ const archiveConfirmation = await readField(name, 'archive_confirmation');
946
+ output.stdout.push(' Archive:', await fieldStatus('verify_result', await readField(name, 'verify_result')), await fieldStatus('archive_confirmation', archiveConfirmation), await fieldStatus('archived', await readField(name, 'archived')), '', archiveConfirmation === 'confirmed'
947
+ ? 'Recovery action: Archive is confirmed. Run /comet-archive to complete archiving.'
948
+ : 'Recovery action: Ask for final archive confirmation in /comet-archive before running the archive command.');
855
949
  }
856
950
  async function recover(output, name) {
857
951
  validateChangeName(name);
@@ -888,8 +982,11 @@ async function scale(output, name) {
888
982
  fail(`ERROR: .comet.yaml not found at ${label}/.comet.yaml`);
889
983
  const tasksFile = path.join(directory, 'tasks.md');
890
984
  const taskCount = (await exists(tasksFile))
891
- ? (await fs.readFile(tasksFile, 'utf8')).split(/\r?\n/u).filter((line) => /^- \[/u.test(line))
892
- .length
985
+ ? (await readClassicProjectFile(classicCommandProjectRoot(), tasksFile, {
986
+ label: 'Classic scale task file',
987
+ }))
988
+ .split(/\r?\n/u)
989
+ .filter((line) => /^- \[/u.test(line)).length
893
990
  : 0;
894
991
  const specs = path.join(directory, 'specs');
895
992
  let deltaSpecs = 0;
@@ -901,8 +998,10 @@ async function scale(output, name) {
901
998
  }
902
999
  const plan = await readField(name, 'plan');
903
1000
  let baseRef = '';
904
- if (plan && plan !== 'null' && (await exists(path.resolve(plan)))) {
905
- const match = (await fs.readFile(path.resolve(plan), 'utf8')).match(/^base-ref:\s*(.+)$/mu);
1001
+ if (plan && plan !== 'null' && (await exists(plan))) {
1002
+ const match = (await readClassicProjectFile(classicCommandProjectRoot(), plan, {
1003
+ label: 'Classic scale plan',
1004
+ })).match(/^base-ref:\s*(.+)$/mu);
906
1005
  baseRef = match?.[1].trim() ?? '';
907
1006
  }
908
1007
  if (!baseRef)
@@ -917,14 +1016,150 @@ async function scale(output, name) {
917
1016
  await setField(new CommandOutput(), name, 'verify_mode', result);
918
1017
  output.stderr.push(`=== Scale Assessment: ${name} ===`, ` Tasks: ${taskCount} (threshold: 3)`, ` Delta specs: ${deltaSpecs} capabilities (threshold: 1)`, ` Changed files: ${changedFiles} (threshold: 8)`, ` → Result: ${result}`, green(`[SCALE] verify_mode=${result}`));
919
1018
  }
1019
+ function parseRecordCheckOptions(args) {
1020
+ let command;
1021
+ let exitCodeText;
1022
+ let cwd;
1023
+ for (let index = 0; index < args.length; index += 2) {
1024
+ const option = args[index];
1025
+ if (!['--command', '--exit-code', '--cwd'].includes(option)) {
1026
+ fail(`ERROR: Unknown option: ${option}`);
1027
+ }
1028
+ const value = args[index + 1];
1029
+ if (value === undefined)
1030
+ fail(`ERROR: Missing value for option: ${option}`);
1031
+ if (option === '--command')
1032
+ command = value;
1033
+ else if (option === '--exit-code')
1034
+ exitCodeText = value;
1035
+ else
1036
+ cwd = value;
1037
+ }
1038
+ if (command === undefined)
1039
+ fail('ERROR: Missing option: --command');
1040
+ if (exitCodeText === undefined)
1041
+ fail('ERROR: Missing option: --exit-code');
1042
+ if (!/^-?\d+$/u.test(exitCodeText))
1043
+ fail('ERROR: --exit-code must be an integer');
1044
+ return { command, exitCode: Number(exitCodeText), ...(cwd === undefined ? {} : { cwd }) };
1045
+ }
1046
+ async function recordCheck(output, name, scopeText, args) {
1047
+ validateChangeName(name);
1048
+ if (scopeText !== 'build' && scopeText !== 'verify') {
1049
+ fail(`ERROR: Invalid command check scope: '${scopeText}'`);
1050
+ }
1051
+ const options = parseRecordCheckOptions(args);
1052
+ const { directory, file } = await stateFile(name);
1053
+ const projectRoot = classicCommandProjectRoot();
1054
+ const activeChangesDir = (await assertClassicLayoutReadable(projectRoot)).changesDir;
1055
+ if (path.dirname(directory) !== activeChangesDir || !(await exists(file))) {
1056
+ fail(`ERROR: command checks require an active change: ${name}`);
1057
+ }
1058
+ try {
1059
+ const projection = await readClassicState(directory, { migrate: false });
1060
+ if (!projection.classic || !projection.run) {
1061
+ throw new Error('command checks require an existing synchronized Classic Run');
1062
+ }
1063
+ const { run } = await validateClassicRuntimeRun(directory, projection);
1064
+ const recorded = await recordCommandCheck(projectRoot, directory, run, {
1065
+ scope: scopeText,
1066
+ ...options,
1067
+ cwd: options.cwd ??
1068
+ (path.relative(projectRoot, classicCommandInvocationCwd()).replaceAll('\\', '/') || '.'),
1069
+ });
1070
+ output.stderr.push(green(`[RECORDED] ${recorded.scope} exit=${recorded.exitCode} cwd=${recorded.cwd} command=${recorded.command}`));
1071
+ }
1072
+ catch (error) {
1073
+ fail(`ERROR: ${error.message}`);
1074
+ }
1075
+ }
920
1076
  function required(args, count, usage) {
921
1077
  if (args.length < count)
922
1078
  fail(usage);
923
1079
  }
924
- export const classicStateCommand = async (args) => {
1080
+ function requiredExact(args, count, usage) {
1081
+ if (args.length !== count)
1082
+ fail(usage);
1083
+ }
1084
+ const MUTATING_STATE_COMMANDS = new Set([
1085
+ 'init',
1086
+ 'set',
1087
+ 'transition',
1088
+ 'check',
1089
+ 'scale',
1090
+ 'record-check',
1091
+ 'rebind',
1092
+ 'select',
1093
+ 'clear-selection',
1094
+ ]);
1095
+ async function assertStateCommandWritable(subcommand) {
1096
+ if (!subcommand || !MUTATING_STATE_COMMANDS.has(subcommand))
1097
+ return;
1098
+ try {
1099
+ await assertClassicLayoutWritable(classicCommandProjectRoot());
1100
+ }
1101
+ catch (error) {
1102
+ fail(`ERROR: ${error instanceof Error ? error.message : String(error)}`);
1103
+ }
1104
+ }
1105
+ async function selectChange(output, name) {
1106
+ validateChangeName(name);
1107
+ try {
1108
+ const selection = await selectCurrentChange(classicCommandProjectRoot(), name);
1109
+ const boundBranch = await readField(name, 'bound_branch');
1110
+ const bound = boundBranch && boundBranch !== 'null' ? boundBranch : null;
1111
+ output.stderr.push(green(`[SELECTED] current change: ${selection.change}${bound ? ` (branch: ${bound})` : ''}`));
1112
+ }
1113
+ catch (error) {
1114
+ fail(`ERROR: ${error instanceof Error ? error.message : String(error)}`);
1115
+ }
1116
+ }
1117
+ async function rebind(output, name) {
1118
+ validateChangeName(name);
1119
+ const { directory } = await stateFile(name);
1120
+ const boundBranch = await readField(name, 'bound_branch');
1121
+ if (!boundBranch || boundBranch === 'null') {
1122
+ fail(`ERROR: '${name}' is not yet bound; use 'comet state set ${name} isolation <current|branch|worktree>' to establish the first binding`);
1123
+ }
1124
+ const branch = liveGitBranch(classicCommandInvocationCwd());
1125
+ if (branch === null) {
1126
+ fail('ERROR: cannot rebind while HEAD is detached; checkout a branch first');
1127
+ }
1128
+ const before = await readClassicState(directory);
1129
+ if (!before.classic)
1130
+ fail('ERROR: Classic state projection is missing');
1131
+ await healBoundBranch(directory, branch);
1132
+ const after = { ...before.classic, boundBranch: branch };
1133
+ await appendClassicStateEvent(directory, {
1134
+ change: name,
1135
+ event: 'rebind',
1136
+ source: 'comet-state',
1137
+ from: before.classic,
1138
+ to: after,
1139
+ effects: [{ field: 'boundBranch', from: boundBranch, to: branch }],
1140
+ });
1141
+ output.stderr.push(green(`[REBIND] bound_branch: ${boundBranch} → ${branch}`));
1142
+ }
1143
+ async function currentChange(output) {
1144
+ const resolution = await resolveCurrentChange(classicCommandProjectRoot());
1145
+ if (resolution.status === 'selected') {
1146
+ output.stdout.push(resolution.selection.change);
1147
+ return;
1148
+ }
1149
+ if (resolution.status === 'missing') {
1150
+ fail('ERROR: no current change selected\nUse: comet-state.mjs select <change-name>');
1151
+ }
1152
+ fail(`ERROR: current change selection is stale: ${resolution.reason}\nUse: comet-state.mjs select <change-name>`);
1153
+ }
1154
+ async function clearSelection(output) {
1155
+ await clearCurrentChange(classicCommandProjectRoot());
1156
+ output.stderr.push(green('[CLEARED] current change selection'));
1157
+ }
1158
+ export const classicStateCommand = async (args, options) => withClassicCommandContext(options, async () => {
925
1159
  const output = new CommandOutput();
926
1160
  try {
927
1161
  const [subcommand, ...rest] = args;
1162
+ await assertStateCommandWritable(subcommand);
928
1163
  if (subcommand === 'init') {
929
1164
  required(rest, 2, 'Usage: comet-state.mjs init <change-name> <workflow>');
930
1165
  await init(output, rest[0], rest[1]);
@@ -954,10 +1189,30 @@ export const classicStateCommand = async (args) => {
954
1189
  required(rest, 1, 'Usage: comet-state.mjs scale <change-name>');
955
1190
  await scale(output, rest[0]);
956
1191
  }
1192
+ else if (subcommand === 'record-check') {
1193
+ required(rest, 2, 'Usage: comet state record-check <change> <build|verify> --command <text> --exit-code <int> [--cwd <path>]');
1194
+ await recordCheck(output, rest[0], rest[1], rest.slice(2));
1195
+ }
957
1196
  else if (subcommand === 'task-checkoff') {
958
1197
  required(rest, 2, 'Usage: comet-state.mjs task-checkoff <file> <task-text>');
959
1198
  await taskCheckoff(output, rest[0], rest[1]);
960
1199
  }
1200
+ else if (subcommand === 'rebind') {
1201
+ requiredExact(rest, 1, 'Usage: comet-state.mjs rebind <change-name>');
1202
+ await rebind(output, rest[0]);
1203
+ }
1204
+ else if (subcommand === 'select') {
1205
+ requiredExact(rest, 1, 'Usage: comet-state.mjs select <change-name>');
1206
+ await selectChange(output, rest[0]);
1207
+ }
1208
+ else if (subcommand === 'current') {
1209
+ requiredExact(rest, 0, 'Usage: comet-state.mjs current');
1210
+ await currentChange(output);
1211
+ }
1212
+ else if (subcommand === 'clear-selection') {
1213
+ requiredExact(rest, 0, 'Usage: comet-state.mjs clear-selection');
1214
+ await clearSelection(output);
1215
+ }
961
1216
  else if (subcommand === 'next') {
962
1217
  required(rest, 1, 'Usage: comet-state.mjs next <change-name>');
963
1218
  await next(output, rest[0]);
@@ -980,5 +1235,5 @@ export const classicStateCommand = async (args) => {
980
1235
  }
981
1236
  return output.result(error.exitCode);
982
1237
  }
983
- };
1238
+ });
984
1239
  //# sourceMappingURL=classic-state-command.js.map