@rpamis/comet 0.4.0-beta.5 → 0.4.0-beta.7

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 (714) hide show
  1. package/README.md +215 -77
  2. package/assets/manifest.json +14 -5
  3. package/assets/skills/comet/SKILL.md +17 -282
  4. package/assets/skills/comet/reference/comet-yaml-fields.md +5 -3
  5. package/assets/skills/comet/reference/context-recovery.md +3 -3
  6. package/assets/skills/comet/reference/intent-frame.md +2 -2
  7. package/assets/skills/comet/reference/scripts.md +2 -2
  8. package/assets/skills/comet/rules/comet-workflow-guard.en.md +32 -0
  9. package/assets/skills/comet/rules/comet-workflow-guard.md +32 -0
  10. package/assets/skills/comet/scripts/comet-entry-runtime.mjs +7834 -0
  11. package/assets/skills/comet/scripts/comet-hook-router.mjs +10307 -0
  12. package/assets/skills/comet/scripts/comet-runtime.mjs +782 -425
  13. package/assets/skills/comet-any/SKILL.md +4 -4
  14. package/assets/skills/comet-any/reference/authoring-subagents.md +1 -1
  15. package/assets/skills/comet-any/reference/bundle-authoring.md +1 -1
  16. package/assets/skills/comet-any/reference/subagents/reference-author.md +1 -1
  17. package/assets/skills/comet-any/reference/subagents/script-author.md +1 -1
  18. package/assets/skills/comet-any/reference/subagents/skill-core-author.md +1 -1
  19. package/assets/skills/comet-any/reference/subagents/skill-reviewer.md +2 -2
  20. package/assets/skills/comet-any/reference/subagents/workflow-entry-author.md +3 -3
  21. package/assets/skills/comet-archive/SKILL.md +7 -9
  22. package/assets/skills/comet-build/SKILL.md +17 -11
  23. package/assets/skills/comet-classic/SKILL.md +293 -0
  24. package/assets/skills/comet-design/SKILL.md +1 -1
  25. package/assets/skills/comet-hotfix/SKILL.md +20 -6
  26. package/assets/skills/comet-native/SKILL.md +257 -0
  27. package/assets/skills/comet-native/reference/artifacts.md +204 -0
  28. package/assets/skills/comet-native/reference/commands.md +118 -0
  29. package/assets/skills/comet-native/reference/recovery.md +143 -0
  30. package/assets/skills/comet-native/scripts/comet-native-hook-guard.mjs +4 -0
  31. package/assets/skills/comet-native/scripts/comet-native-runtime.mjs +28898 -0
  32. package/assets/skills/comet-open/SKILL.md +4 -4
  33. package/assets/skills/comet-tweak/SKILL.md +22 -10
  34. package/assets/skills/comet-verify/SKILL.md +2 -0
  35. package/assets/skills-zh/comet/SKILL.md +17 -270
  36. package/assets/skills-zh/comet/reference/comet-yaml-fields.md +5 -3
  37. package/assets/skills-zh/comet/reference/context-recovery.md +3 -3
  38. package/assets/skills-zh/comet/reference/intent-frame.md +2 -2
  39. package/assets/skills-zh/comet/reference/scripts.md +2 -2
  40. package/assets/skills-zh/comet-any/SKILL.md +4 -4
  41. package/assets/skills-zh/comet-any/reference/authoring-subagents.md +1 -1
  42. package/assets/skills-zh/comet-any/reference/bundle-authoring.md +1 -1
  43. package/assets/skills-zh/comet-any/reference/subagents/reference-author.md +1 -1
  44. package/assets/skills-zh/comet-any/reference/subagents/script-author.md +1 -1
  45. package/assets/skills-zh/comet-any/reference/subagents/skill-core-author.md +1 -1
  46. package/assets/skills-zh/comet-any/reference/subagents/skill-reviewer.md +2 -2
  47. package/assets/skills-zh/comet-any/reference/subagents/workflow-entry-author.md +3 -3
  48. package/assets/skills-zh/comet-archive/SKILL.md +7 -9
  49. package/assets/skills-zh/comet-build/SKILL.md +17 -11
  50. package/assets/skills-zh/comet-classic/SKILL.md +281 -0
  51. package/assets/skills-zh/comet-design/SKILL.md +1 -1
  52. package/assets/skills-zh/comet-hotfix/SKILL.md +20 -6
  53. package/assets/skills-zh/comet-native/SKILL.md +257 -0
  54. package/assets/skills-zh/comet-native/reference/artifacts.md +206 -0
  55. package/assets/skills-zh/comet-native/reference/commands.md +118 -0
  56. package/assets/skills-zh/comet-native/reference/recovery.md +143 -0
  57. package/assets/skills-zh/comet-open/SKILL.md +4 -4
  58. package/assets/skills-zh/comet-tweak/SKILL.md +22 -10
  59. package/assets/skills-zh/comet-verify/SKILL.md +2 -0
  60. package/dist/app/cli/index.js +59 -13
  61. package/dist/app/cli/index.js.map +1 -1
  62. package/dist/app/commands/command-result.d.ts +6 -0
  63. package/dist/app/commands/command-result.d.ts.map +1 -0
  64. package/dist/app/commands/command-result.js +4 -0
  65. package/dist/app/commands/command-result.js.map +1 -0
  66. package/dist/app/commands/doctor.d.ts +1 -0
  67. package/dist/app/commands/doctor.d.ts.map +1 -1
  68. package/dist/app/commands/doctor.js +201 -26
  69. package/dist/app/commands/doctor.js.map +1 -1
  70. package/dist/app/commands/eval.d.ts +3 -1
  71. package/dist/app/commands/eval.d.ts.map +1 -1
  72. package/dist/app/commands/eval.js +17 -7
  73. package/dist/app/commands/eval.js.map +1 -1
  74. package/dist/app/commands/i18n.d.ts +1 -1
  75. package/dist/app/commands/i18n.d.ts.map +1 -1
  76. package/dist/app/commands/i18n.js +6 -2
  77. package/dist/app/commands/i18n.js.map +1 -1
  78. package/dist/app/commands/init.d.ts +10 -2
  79. package/dist/app/commands/init.d.ts.map +1 -1
  80. package/dist/app/commands/init.js +331 -50
  81. package/dist/app/commands/init.js.map +1 -1
  82. package/dist/app/commands/native.d.ts +2 -0
  83. package/dist/app/commands/native.d.ts.map +1 -0
  84. package/dist/app/commands/native.js +10 -0
  85. package/dist/app/commands/native.js.map +1 -0
  86. package/dist/app/commands/project-scope-selection.d.ts.map +1 -1
  87. package/dist/app/commands/project-scope-selection.js +2 -0
  88. package/dist/app/commands/project-scope-selection.js.map +1 -1
  89. package/dist/app/commands/resume-probe.d.ts.map +1 -1
  90. package/dist/app/commands/resume-probe.js +8 -2
  91. package/dist/app/commands/resume-probe.js.map +1 -1
  92. package/dist/app/commands/status.d.ts +0 -31
  93. package/dist/app/commands/status.d.ts.map +1 -1
  94. package/dist/app/commands/status.js +49 -172
  95. package/dist/app/commands/status.js.map +1 -1
  96. package/dist/app/commands/update.d.ts +20 -4
  97. package/dist/app/commands/update.d.ts.map +1 -1
  98. package/dist/app/commands/update.js +698 -90
  99. package/dist/app/commands/update.js.map +1 -1
  100. package/dist/app/commands/workflow.d.ts +6 -0
  101. package/dist/app/commands/workflow.d.ts.map +1 -0
  102. package/dist/app/commands/workflow.js +11 -0
  103. package/dist/app/commands/workflow.js.map +1 -0
  104. package/dist/config/repository-layout.json +21 -1
  105. package/dist/domains/comet-classic/classic-archive.d.ts.map +1 -1
  106. package/dist/domains/comet-classic/classic-archive.js +3 -0
  107. package/dist/domains/comet-classic/classic-archive.js.map +1 -1
  108. package/dist/domains/comet-classic/classic-branch-binding.d.ts +51 -0
  109. package/dist/domains/comet-classic/classic-branch-binding.d.ts.map +1 -0
  110. package/dist/domains/comet-classic/classic-branch-binding.js +107 -0
  111. package/dist/domains/comet-classic/classic-branch-binding.js.map +1 -0
  112. package/dist/domains/comet-classic/classic-current-change.d.ts +3 -5
  113. package/dist/domains/comet-classic/classic-current-change.d.ts.map +1 -1
  114. package/dist/domains/comet-classic/classic-current-change.js +59 -68
  115. package/dist/domains/comet-classic/classic-current-change.js.map +1 -1
  116. package/dist/domains/comet-classic/classic-guard.d.ts.map +1 -1
  117. package/dist/domains/comet-classic/classic-guard.js +40 -10
  118. package/dist/domains/comet-classic/classic-guard.js.map +1 -1
  119. package/dist/domains/comet-classic/classic-hook-guard.d.ts +9 -0
  120. package/dist/domains/comet-classic/classic-hook-guard.d.ts.map +1 -1
  121. package/dist/domains/comet-classic/classic-hook-guard.js +109 -13
  122. package/dist/domains/comet-classic/classic-hook-guard.js.map +1 -1
  123. package/dist/domains/comet-classic/classic-project-config.d.ts.map +1 -1
  124. package/dist/domains/comet-classic/classic-project-config.js +12 -8
  125. package/dist/domains/comet-classic/classic-project-config.js.map +1 -1
  126. package/dist/domains/comet-classic/classic-runtime-run.d.ts.map +1 -1
  127. package/dist/domains/comet-classic/classic-runtime-run.js +9 -1
  128. package/dist/domains/comet-classic/classic-runtime-run.js.map +1 -1
  129. package/dist/domains/comet-classic/classic-state-command.d.ts.map +1 -1
  130. package/dist/domains/comet-classic/classic-state-command.js +94 -4
  131. package/dist/domains/comet-classic/classic-state-command.js.map +1 -1
  132. package/dist/domains/comet-classic/classic-state-events.d.ts +1 -1
  133. package/dist/domains/comet-classic/classic-state-events.d.ts.map +1 -1
  134. package/dist/domains/comet-classic/classic-state.d.ts +2 -1
  135. package/dist/domains/comet-classic/classic-state.d.ts.map +1 -1
  136. package/dist/domains/comet-classic/classic-state.js +3 -0
  137. package/dist/domains/comet-classic/classic-state.js.map +1 -1
  138. package/dist/domains/comet-classic/classic-transitions.d.ts.map +1 -1
  139. package/dist/domains/comet-classic/classic-transitions.js +1 -0
  140. package/dist/domains/comet-classic/classic-transitions.js.map +1 -1
  141. package/dist/domains/comet-classic/classic-validate-command.d.ts.map +1 -1
  142. package/dist/domains/comet-classic/classic-validate-command.js +6 -0
  143. package/dist/domains/comet-classic/classic-validate-command.js.map +1 -1
  144. package/dist/domains/comet-entry/current-selection-repair.d.ts +17 -0
  145. package/dist/domains/comet-entry/current-selection-repair.d.ts.map +1 -0
  146. package/dist/domains/comet-entry/current-selection-repair.js +19 -0
  147. package/dist/domains/comet-entry/current-selection-repair.js.map +1 -0
  148. package/dist/domains/comet-entry/current-selection.d.ts +28 -0
  149. package/dist/domains/comet-entry/current-selection.d.ts.map +1 -0
  150. package/dist/domains/comet-entry/current-selection.js +116 -0
  151. package/dist/domains/comet-entry/current-selection.js.map +1 -0
  152. package/dist/domains/comet-entry/entry-runtime-entry.d.ts +2 -0
  153. package/dist/domains/comet-entry/entry-runtime-entry.d.ts.map +1 -0
  154. package/dist/domains/comet-entry/entry-runtime-entry.js +3 -0
  155. package/dist/domains/comet-entry/entry-runtime-entry.js.map +1 -0
  156. package/dist/domains/comet-entry/entry-runtime.d.ts +7 -0
  157. package/dist/domains/comet-entry/entry-runtime.d.ts.map +1 -0
  158. package/dist/domains/comet-entry/entry-runtime.js +55 -0
  159. package/dist/domains/comet-entry/entry-runtime.js.map +1 -0
  160. package/dist/domains/comet-entry/hook-adapter.d.ts +6 -0
  161. package/dist/domains/comet-entry/hook-adapter.d.ts.map +1 -0
  162. package/dist/domains/comet-entry/hook-adapter.js +202 -0
  163. package/dist/domains/comet-entry/hook-adapter.js.map +1 -0
  164. package/dist/domains/comet-entry/hook-router-entry.d.ts +8 -0
  165. package/dist/domains/comet-entry/hook-router-entry.d.ts.map +1 -0
  166. package/dist/domains/comet-entry/hook-router-entry.js +92 -0
  167. package/dist/domains/comet-entry/hook-router-entry.js.map +1 -0
  168. package/dist/domains/comet-entry/hook-router.d.ts +32 -0
  169. package/dist/domains/comet-entry/hook-router.d.ts.map +1 -0
  170. package/dist/domains/comet-entry/hook-router.js +133 -0
  171. package/dist/domains/comet-entry/hook-router.js.map +1 -0
  172. package/dist/domains/comet-entry/hook-types.d.ts +20 -0
  173. package/dist/domains/comet-entry/hook-types.d.ts.map +1 -0
  174. package/dist/domains/comet-entry/hook-types.js +2 -0
  175. package/dist/domains/comet-entry/hook-types.js.map +1 -0
  176. package/dist/domains/comet-entry/init-workflow.d.ts +16 -0
  177. package/dist/domains/comet-entry/init-workflow.d.ts.map +1 -0
  178. package/dist/domains/comet-entry/init-workflow.js +103 -0
  179. package/dist/domains/comet-entry/init-workflow.js.map +1 -0
  180. package/dist/domains/comet-entry/project-status.d.ts +3 -0
  181. package/dist/domains/comet-entry/project-status.d.ts.map +1 -0
  182. package/dist/domains/comet-entry/project-status.js +222 -0
  183. package/dist/domains/comet-entry/project-status.js.map +1 -0
  184. package/dist/domains/comet-entry/resolve-entry.d.ts +3 -0
  185. package/dist/domains/comet-entry/resolve-entry.d.ts.map +1 -0
  186. package/dist/domains/comet-entry/resolve-entry.js +22 -0
  187. package/dist/domains/comet-entry/resolve-entry.js.map +1 -0
  188. package/dist/domains/comet-entry/resume-probe.d.ts +34 -0
  189. package/dist/domains/comet-entry/resume-probe.d.ts.map +1 -0
  190. package/dist/domains/comet-entry/resume-probe.js +458 -0
  191. package/dist/domains/comet-entry/resume-probe.js.map +1 -0
  192. package/dist/domains/comet-entry/types.d.ts +59 -0
  193. package/dist/domains/comet-entry/types.d.ts.map +1 -0
  194. package/dist/domains/comet-entry/types.js +2 -0
  195. package/dist/domains/comet-entry/types.js.map +1 -0
  196. package/dist/domains/comet-entry/workflow-resolution.d.ts +8 -0
  197. package/dist/domains/comet-entry/workflow-resolution.d.ts.map +1 -0
  198. package/dist/domains/comet-entry/workflow-resolution.js +16 -0
  199. package/dist/domains/comet-entry/workflow-resolution.js.map +1 -0
  200. package/dist/domains/comet-native/index.d.ts +35 -0
  201. package/dist/domains/comet-native/index.d.ts.map +1 -0
  202. package/dist/domains/comet-native/index.js +35 -0
  203. package/dist/domains/comet-native/index.js.map +1 -0
  204. package/dist/domains/comet-native/native-acceptance.d.ts +42 -0
  205. package/dist/domains/comet-native/native-acceptance.d.ts.map +1 -0
  206. package/dist/domains/comet-native/native-acceptance.js +503 -0
  207. package/dist/domains/comet-native/native-acceptance.js.map +1 -0
  208. package/dist/domains/comet-native/native-archive-content.d.ts +26 -0
  209. package/dist/domains/comet-native/native-archive-content.d.ts.map +1 -0
  210. package/dist/domains/comet-native/native-archive-content.js +159 -0
  211. package/dist/domains/comet-native/native-archive-content.js.map +1 -0
  212. package/dist/domains/comet-native/native-archive-inspection.d.ts +9 -0
  213. package/dist/domains/comet-native/native-archive-inspection.d.ts.map +1 -0
  214. package/dist/domains/comet-native/native-archive-inspection.js +94 -0
  215. package/dist/domains/comet-native/native-archive-inspection.js.map +1 -0
  216. package/dist/domains/comet-native/native-archive-preflight.d.ts +52 -0
  217. package/dist/domains/comet-native/native-archive-preflight.d.ts.map +1 -0
  218. package/dist/domains/comet-native/native-archive-preflight.js +214 -0
  219. package/dist/domains/comet-native/native-archive-preflight.js.map +1 -0
  220. package/dist/domains/comet-native/native-archive-transaction.d.ts +19 -0
  221. package/dist/domains/comet-native/native-archive-transaction.d.ts.map +1 -0
  222. package/dist/domains/comet-native/native-archive-transaction.js +1181 -0
  223. package/dist/domains/comet-native/native-archive-transaction.js.map +1 -0
  224. package/dist/domains/comet-native/native-archive.d.ts +36 -0
  225. package/dist/domains/comet-native/native-archive.d.ts.map +1 -0
  226. package/dist/domains/comet-native/native-archive.js +403 -0
  227. package/dist/domains/comet-native/native-archive.js.map +1 -0
  228. package/dist/domains/comet-native/native-artifacts.d.ts +10 -0
  229. package/dist/domains/comet-native/native-artifacts.d.ts.map +1 -0
  230. package/dist/domains/comet-native/native-artifacts.js +204 -0
  231. package/dist/domains/comet-native/native-artifacts.js.map +1 -0
  232. package/dist/domains/comet-native/native-atomic-file.d.ts +10 -0
  233. package/dist/domains/comet-native/native-atomic-file.d.ts.map +1 -0
  234. package/dist/domains/comet-native/native-atomic-file.js +175 -0
  235. package/dist/domains/comet-native/native-atomic-file.js.map +1 -0
  236. package/dist/domains/comet-native/native-bounded-file.d.ts +19 -0
  237. package/dist/domains/comet-native/native-bounded-file.d.ts.map +1 -0
  238. package/dist/domains/comet-native/native-bounded-file.js +180 -0
  239. package/dist/domains/comet-native/native-bounded-file.js.map +1 -0
  240. package/dist/domains/comet-native/native-build-evidence.d.ts +42 -0
  241. package/dist/domains/comet-native/native-build-evidence.d.ts.map +1 -0
  242. package/dist/domains/comet-native/native-build-evidence.js +257 -0
  243. package/dist/domains/comet-native/native-build-evidence.js.map +1 -0
  244. package/dist/domains/comet-native/native-canonical-hash.d.ts +10 -0
  245. package/dist/domains/comet-native/native-canonical-hash.d.ts.map +1 -0
  246. package/dist/domains/comet-native/native-canonical-hash.js +100 -0
  247. package/dist/domains/comet-native/native-canonical-hash.js.map +1 -0
  248. package/dist/domains/comet-native/native-change-recovery.d.ts +11 -0
  249. package/dist/domains/comet-native/native-change-recovery.d.ts.map +1 -0
  250. package/dist/domains/comet-native/native-change-recovery.js +15 -0
  251. package/dist/domains/comet-native/native-change-recovery.js.map +1 -0
  252. package/dist/domains/comet-native/native-change.d.ts +61 -0
  253. package/dist/domains/comet-native/native-change.d.ts.map +1 -0
  254. package/dist/domains/comet-native/native-change.js +696 -0
  255. package/dist/domains/comet-native/native-change.js.map +1 -0
  256. package/dist/domains/comet-native/native-check-receipt-model.d.ts +63 -0
  257. package/dist/domains/comet-native/native-check-receipt-model.d.ts.map +1 -0
  258. package/dist/domains/comet-native/native-check-receipt-model.js +347 -0
  259. package/dist/domains/comet-native/native-check-receipt-model.js.map +1 -0
  260. package/dist/domains/comet-native/native-check-receipt-storage.d.ts +10 -0
  261. package/dist/domains/comet-native/native-check-receipt-storage.d.ts.map +1 -0
  262. package/dist/domains/comet-native/native-check-receipt-storage.js +196 -0
  263. package/dist/domains/comet-native/native-check-receipt-storage.js.map +1 -0
  264. package/dist/domains/comet-native/native-check-receipt.d.ts +19 -0
  265. package/dist/domains/comet-native/native-check-receipt.d.ts.map +1 -0
  266. package/dist/domains/comet-native/native-check-receipt.js +446 -0
  267. package/dist/domains/comet-native/native-check-receipt.js.map +1 -0
  268. package/dist/domains/comet-native/native-check.d.ts +18 -0
  269. package/dist/domains/comet-native/native-check.d.ts.map +1 -0
  270. package/dist/domains/comet-native/native-check.js +29 -0
  271. package/dist/domains/comet-native/native-check.js.map +1 -0
  272. package/dist/domains/comet-native/native-checkpoint-journal.d.ts +13 -0
  273. package/dist/domains/comet-native/native-checkpoint-journal.d.ts.map +1 -0
  274. package/dist/domains/comet-native/native-checkpoint-journal.js +53 -0
  275. package/dist/domains/comet-native/native-checkpoint-journal.js.map +1 -0
  276. package/dist/domains/comet-native/native-checkpoint-storage.d.ts +43 -0
  277. package/dist/domains/comet-native/native-checkpoint-storage.d.ts.map +1 -0
  278. package/dist/domains/comet-native/native-checkpoint-storage.js +487 -0
  279. package/dist/domains/comet-native/native-checkpoint-storage.js.map +1 -0
  280. package/dist/domains/comet-native/native-cli-entry.d.ts +2 -0
  281. package/dist/domains/comet-native/native-cli-entry.d.ts.map +1 -0
  282. package/dist/domains/comet-native/native-cli-entry.js +18 -0
  283. package/dist/domains/comet-native/native-cli-entry.js.map +1 -0
  284. package/dist/domains/comet-native/native-cli.d.ts +7 -0
  285. package/dist/domains/comet-native/native-cli.d.ts.map +1 -0
  286. package/dist/domains/comet-native/native-cli.js +642 -0
  287. package/dist/domains/comet-native/native-cli.js.map +1 -0
  288. package/dist/domains/comet-native/native-config.d.ts +15 -0
  289. package/dist/domains/comet-native/native-config.d.ts.map +1 -0
  290. package/dist/domains/comet-native/native-config.js +281 -0
  291. package/dist/domains/comet-native/native-config.js.map +1 -0
  292. package/dist/domains/comet-native/native-conflict-inspection.d.ts +17 -0
  293. package/dist/domains/comet-native/native-conflict-inspection.d.ts.map +1 -0
  294. package/dist/domains/comet-native/native-conflict-inspection.js +90 -0
  295. package/dist/domains/comet-native/native-conflict-inspection.js.map +1 -0
  296. package/dist/domains/comet-native/native-conflict-radar.d.ts +75 -0
  297. package/dist/domains/comet-native/native-conflict-radar.d.ts.map +1 -0
  298. package/dist/domains/comet-native/native-conflict-radar.js +326 -0
  299. package/dist/domains/comet-native/native-conflict-radar.js.map +1 -0
  300. package/dist/domains/comet-native/native-continuation.d.ts +9 -0
  301. package/dist/domains/comet-native/native-continuation.d.ts.map +1 -0
  302. package/dist/domains/comet-native/native-continuation.js +146 -0
  303. package/dist/domains/comet-native/native-continuation.js.map +1 -0
  304. package/dist/domains/comet-native/native-contract-files.d.ts +24 -0
  305. package/dist/domains/comet-native/native-contract-files.d.ts.map +1 -0
  306. package/dist/domains/comet-native/native-contract-files.js +66 -0
  307. package/dist/domains/comet-native/native-contract-files.js.map +1 -0
  308. package/dist/domains/comet-native/native-contract.d.ts +41 -0
  309. package/dist/domains/comet-native/native-contract.d.ts.map +1 -0
  310. package/dist/domains/comet-native/native-contract.js +141 -0
  311. package/dist/domains/comet-native/native-contract.js.map +1 -0
  312. package/dist/domains/comet-native/native-diagnostics.d.ts +18 -0
  313. package/dist/domains/comet-native/native-diagnostics.d.ts.map +1 -0
  314. package/dist/domains/comet-native/native-diagnostics.js +522 -0
  315. package/dist/domains/comet-native/native-diagnostics.js.map +1 -0
  316. package/dist/domains/comet-native/native-doctor.d.ts +12 -0
  317. package/dist/domains/comet-native/native-doctor.d.ts.map +1 -0
  318. package/dist/domains/comet-native/native-doctor.js +768 -0
  319. package/dist/domains/comet-native/native-doctor.js.map +1 -0
  320. package/dist/domains/comet-native/native-evidence-retention.d.ts +37 -0
  321. package/dist/domains/comet-native/native-evidence-retention.d.ts.map +1 -0
  322. package/dist/domains/comet-native/native-evidence-retention.js +885 -0
  323. package/dist/domains/comet-native/native-evidence-retention.js.map +1 -0
  324. package/dist/domains/comet-native/native-evidence-storage.d.ts +41 -0
  325. package/dist/domains/comet-native/native-evidence-storage.d.ts.map +1 -0
  326. package/dist/domains/comet-native/native-evidence-storage.js +351 -0
  327. package/dist/domains/comet-native/native-evidence-storage.js.map +1 -0
  328. package/dist/domains/comet-native/native-findings.d.ts +8 -0
  329. package/dist/domains/comet-native/native-findings.d.ts.map +1 -0
  330. package/dist/domains/comet-native/native-findings.js +238 -0
  331. package/dist/domains/comet-native/native-findings.js.map +1 -0
  332. package/dist/domains/comet-native/native-guards.d.ts +7 -0
  333. package/dist/domains/comet-native/native-guards.d.ts.map +1 -0
  334. package/dist/domains/comet-native/native-guards.js +126 -0
  335. package/dist/domains/comet-native/native-guards.js.map +1 -0
  336. package/dist/domains/comet-native/native-hash.d.ts +3 -0
  337. package/dist/domains/comet-native/native-hash.d.ts.map +1 -0
  338. package/dist/domains/comet-native/native-hash.js +12 -0
  339. package/dist/domains/comet-native/native-hash.js.map +1 -0
  340. package/dist/domains/comet-native/native-hook-guard.d.ts +17 -0
  341. package/dist/domains/comet-native/native-hook-guard.d.ts.map +1 -0
  342. package/dist/domains/comet-native/native-hook-guard.js +154 -0
  343. package/dist/domains/comet-native/native-hook-guard.js.map +1 -0
  344. package/dist/domains/comet-native/native-lock.d.ts +47 -0
  345. package/dist/domains/comet-native/native-lock.d.ts.map +1 -0
  346. package/dist/domains/comet-native/native-lock.js +395 -0
  347. package/dist/domains/comet-native/native-lock.js.map +1 -0
  348. package/dist/domains/comet-native/native-mutation-lock.d.ts +5 -0
  349. package/dist/domains/comet-native/native-mutation-lock.d.ts.map +1 -0
  350. package/dist/domains/comet-native/native-mutation-lock.js +66 -0
  351. package/dist/domains/comet-native/native-mutation-lock.js.map +1 -0
  352. package/dist/domains/comet-native/native-paths.d.ts +10 -0
  353. package/dist/domains/comet-native/native-paths.d.ts.map +1 -0
  354. package/dist/domains/comet-native/native-paths.js +171 -0
  355. package/dist/domains/comet-native/native-paths.js.map +1 -0
  356. package/dist/domains/comet-native/native-progress-checkpoint.d.ts +13 -0
  357. package/dist/domains/comet-native/native-progress-checkpoint.d.ts.map +1 -0
  358. package/dist/domains/comet-native/native-progress-checkpoint.js +104 -0
  359. package/dist/domains/comet-native/native-progress-checkpoint.js.map +1 -0
  360. package/dist/domains/comet-native/native-protected-file.d.ts +113 -0
  361. package/dist/domains/comet-native/native-protected-file.d.ts.map +1 -0
  362. package/dist/domains/comet-native/native-protected-file.js +509 -0
  363. package/dist/domains/comet-native/native-protected-file.js.map +1 -0
  364. package/dist/domains/comet-native/native-redaction.d.ts +2 -0
  365. package/dist/domains/comet-native/native-redaction.d.ts.map +1 -0
  366. package/dist/domains/comet-native/native-redaction.js +18 -0
  367. package/dist/domains/comet-native/native-redaction.js.map +1 -0
  368. package/dist/domains/comet-native/native-repair-integration.d.ts +42 -0
  369. package/dist/domains/comet-native/native-repair-integration.d.ts.map +1 -0
  370. package/dist/domains/comet-native/native-repair-integration.js +184 -0
  371. package/dist/domains/comet-native/native-repair-integration.js.map +1 -0
  372. package/dist/domains/comet-native/native-repair-runtime.d.ts +73 -0
  373. package/dist/domains/comet-native/native-repair-runtime.d.ts.map +1 -0
  374. package/dist/domains/comet-native/native-repair-runtime.js +509 -0
  375. package/dist/domains/comet-native/native-repair-runtime.js.map +1 -0
  376. package/dist/domains/comet-native/native-repair-stagnation.d.ts +85 -0
  377. package/dist/domains/comet-native/native-repair-stagnation.d.ts.map +1 -0
  378. package/dist/domains/comet-native/native-repair-stagnation.js +256 -0
  379. package/dist/domains/comet-native/native-repair-stagnation.js.map +1 -0
  380. package/dist/domains/comet-native/native-resume-view.d.ts +14 -0
  381. package/dist/domains/comet-native/native-resume-view.d.ts.map +1 -0
  382. package/dist/domains/comet-native/native-resume-view.js +105 -0
  383. package/dist/domains/comet-native/native-resume-view.js.map +1 -0
  384. package/dist/domains/comet-native/native-revision.d.ts +20 -0
  385. package/dist/domains/comet-native/native-revision.d.ts.map +1 -0
  386. package/dist/domains/comet-native/native-revision.js +32 -0
  387. package/dist/domains/comet-native/native-revision.js.map +1 -0
  388. package/dist/domains/comet-native/native-root-move.d.ts +20 -0
  389. package/dist/domains/comet-native/native-root-move.d.ts.map +1 -0
  390. package/dist/domains/comet-native/native-root-move.js +812 -0
  391. package/dist/domains/comet-native/native-root-move.js.map +1 -0
  392. package/dist/domains/comet-native/native-run-consistency.d.ts +3 -0
  393. package/dist/domains/comet-native/native-run-consistency.d.ts.map +1 -0
  394. package/dist/domains/comet-native/native-run-consistency.js +136 -0
  395. package/dist/domains/comet-native/native-run-consistency.js.map +1 -0
  396. package/dist/domains/comet-native/native-run-store.d.ts +41 -0
  397. package/dist/domains/comet-native/native-run-store.d.ts.map +1 -0
  398. package/dist/domains/comet-native/native-run-store.js +451 -0
  399. package/dist/domains/comet-native/native-run-store.js.map +1 -0
  400. package/dist/domains/comet-native/native-runtime-package.d.ts +16 -0
  401. package/dist/domains/comet-native/native-runtime-package.d.ts.map +1 -0
  402. package/dist/domains/comet-native/native-runtime-package.js +72 -0
  403. package/dist/domains/comet-native/native-runtime-package.js.map +1 -0
  404. package/dist/domains/comet-native/native-schema-migration.d.ts +11 -0
  405. package/dist/domains/comet-native/native-schema-migration.d.ts.map +1 -0
  406. package/dist/domains/comet-native/native-schema-migration.js +899 -0
  407. package/dist/domains/comet-native/native-schema-migration.js.map +1 -0
  408. package/dist/domains/comet-native/native-selection.d.ts +12 -0
  409. package/dist/domains/comet-native/native-selection.d.ts.map +1 -0
  410. package/dist/domains/comet-native/native-selection.js +52 -0
  411. package/dist/domains/comet-native/native-selection.js.map +1 -0
  412. package/dist/domains/comet-native/native-sensitive-paths.d.ts +7 -0
  413. package/dist/domains/comet-native/native-sensitive-paths.d.ts.map +1 -0
  414. package/dist/domains/comet-native/native-sensitive-paths.js +69 -0
  415. package/dist/domains/comet-native/native-sensitive-paths.js.map +1 -0
  416. package/dist/domains/comet-native/native-snapshot.d.ts +74 -0
  417. package/dist/domains/comet-native/native-snapshot.d.ts.map +1 -0
  418. package/dist/domains/comet-native/native-snapshot.js +2308 -0
  419. package/dist/domains/comet-native/native-snapshot.js.map +1 -0
  420. package/dist/domains/comet-native/native-specs.d.ts +12 -0
  421. package/dist/domains/comet-native/native-specs.d.ts.map +1 -0
  422. package/dist/domains/comet-native/native-specs.js +270 -0
  423. package/dist/domains/comet-native/native-specs.js.map +1 -0
  424. package/dist/domains/comet-native/native-trajectory-limits.d.ts +7 -0
  425. package/dist/domains/comet-native/native-trajectory-limits.d.ts.map +1 -0
  426. package/dist/domains/comet-native/native-trajectory-limits.js +13 -0
  427. package/dist/domains/comet-native/native-trajectory-limits.js.map +1 -0
  428. package/dist/domains/comet-native/native-trajectory-recovery.d.ts +37 -0
  429. package/dist/domains/comet-native/native-trajectory-recovery.d.ts.map +1 -0
  430. package/dist/domains/comet-native/native-trajectory-recovery.js +133 -0
  431. package/dist/domains/comet-native/native-trajectory-recovery.js.map +1 -0
  432. package/dist/domains/comet-native/native-trajectory.d.ts +16 -0
  433. package/dist/domains/comet-native/native-trajectory.d.ts.map +1 -0
  434. package/dist/domains/comet-native/native-trajectory.js +27 -0
  435. package/dist/domains/comet-native/native-trajectory.js.map +1 -0
  436. package/dist/domains/comet-native/native-transaction.d.ts +45 -0
  437. package/dist/domains/comet-native/native-transaction.d.ts.map +1 -0
  438. package/dist/domains/comet-native/native-transaction.js +846 -0
  439. package/dist/domains/comet-native/native-transaction.js.map +1 -0
  440. package/dist/domains/comet-native/native-transition-evidence.d.ts +4 -0
  441. package/dist/domains/comet-native/native-transition-evidence.d.ts.map +1 -0
  442. package/dist/domains/comet-native/native-transition-evidence.js +20 -0
  443. package/dist/domains/comet-native/native-transition-evidence.js.map +1 -0
  444. package/dist/domains/comet-native/native-transition-journal.d.ts +30 -0
  445. package/dist/domains/comet-native/native-transition-journal.d.ts.map +1 -0
  446. package/dist/domains/comet-native/native-transition-journal.js +819 -0
  447. package/dist/domains/comet-native/native-transition-journal.js.map +1 -0
  448. package/dist/domains/comet-native/native-transitions.d.ts +13 -0
  449. package/dist/domains/comet-native/native-transitions.d.ts.map +1 -0
  450. package/dist/domains/comet-native/native-transitions.js +632 -0
  451. package/dist/domains/comet-native/native-transitions.js.map +1 -0
  452. package/dist/domains/comet-native/native-types.d.ts +547 -0
  453. package/dist/domains/comet-native/native-types.d.ts.map +1 -0
  454. package/dist/domains/comet-native/native-types.js +8 -0
  455. package/dist/domains/comet-native/native-types.js.map +1 -0
  456. package/dist/domains/comet-native/native-verification-evidence.d.ts +86 -0
  457. package/dist/domains/comet-native/native-verification-evidence.d.ts.map +1 -0
  458. package/dist/domains/comet-native/native-verification-evidence.js +480 -0
  459. package/dist/domains/comet-native/native-verification-evidence.js.map +1 -0
  460. package/dist/domains/comet-native/native-verification-runtime.d.ts +58 -0
  461. package/dist/domains/comet-native/native-verification-runtime.d.ts.map +1 -0
  462. package/dist/domains/comet-native/native-verification-runtime.js +321 -0
  463. package/dist/domains/comet-native/native-verification-runtime.js.map +1 -0
  464. package/dist/domains/comet-native/native-verification-scope.d.ts +117 -0
  465. package/dist/domains/comet-native/native-verification-scope.d.ts.map +1 -0
  466. package/dist/domains/comet-native/native-verification-scope.js +1040 -0
  467. package/dist/domains/comet-native/native-verification-scope.js.map +1 -0
  468. package/dist/domains/comet-native/native-workspace.d.ts +46 -0
  469. package/dist/domains/comet-native/native-workspace.d.ts.map +1 -0
  470. package/dist/domains/comet-native/native-workspace.js +276 -0
  471. package/dist/domains/comet-native/native-workspace.js.map +1 -0
  472. package/dist/domains/dashboard/collector.d.ts.map +1 -1
  473. package/dist/domains/dashboard/collector.js +9 -1
  474. package/dist/domains/dashboard/collector.js.map +1 -1
  475. package/dist/domains/dashboard/native-adapter.d.ts +157 -0
  476. package/dist/domains/dashboard/native-adapter.d.ts.map +1 -0
  477. package/dist/domains/dashboard/native-adapter.js +302 -0
  478. package/dist/domains/dashboard/native-adapter.js.map +1 -0
  479. package/dist/domains/dashboard/native-collector.d.ts +6 -0
  480. package/dist/domains/dashboard/native-collector.d.ts.map +1 -0
  481. package/dist/domains/dashboard/native-collector.js +285 -0
  482. package/dist/domains/dashboard/native-collector.js.map +1 -0
  483. package/dist/domains/dashboard/types.d.ts +5 -0
  484. package/dist/domains/dashboard/types.d.ts.map +1 -1
  485. package/dist/domains/dashboard/web/assets/{arc-TGVUG2WN.js → arc-CxdiLJ50.js} +1 -1
  486. package/dist/domains/dashboard/web/assets/{architectureDiagram-3BPJPVTR-ASHmiHoP.js → architectureDiagram-3BPJPVTR-D5YCQu4e.js} +1 -1
  487. package/dist/domains/dashboard/web/assets/{blockDiagram-GPEHLZMM-CwASxBKe.js → blockDiagram-GPEHLZMM-8NfdCOQ8.js} +1 -1
  488. package/dist/domains/dashboard/web/assets/{c4Diagram-AAUBKEIU-BU8z_WNk.js → c4Diagram-AAUBKEIU-B3cFnNT7.js} +1 -1
  489. package/dist/domains/dashboard/web/assets/channel-B6AFly29.js +1 -0
  490. package/dist/domains/dashboard/web/assets/{chunk-2J33WTMH-CBGlUx4_.js → chunk-2J33WTMH-CBNfW-Dr.js} +1 -1
  491. package/dist/domains/dashboard/web/assets/{chunk-4BX2VUAB-CS-iGcFz.js → chunk-4BX2VUAB-vWyemRBr.js} +1 -1
  492. package/dist/domains/dashboard/web/assets/{chunk-55IACEB6-BUtCVJat.js → chunk-55IACEB6-H6haOo2C.js} +1 -1
  493. package/dist/domains/dashboard/web/assets/{chunk-727SXJPM-C94tj_pf.js → chunk-727SXJPM-D02UjGND.js} +1 -1
  494. package/dist/domains/dashboard/web/assets/{chunk-AQP2D5EJ-BFOKcpdG.js → chunk-AQP2D5EJ-wKsbOw_T.js} +1 -1
  495. package/dist/domains/dashboard/web/assets/{chunk-FMBD7UC4-Dmx8B-st.js → chunk-FMBD7UC4-eYFEZimP.js} +1 -1
  496. package/dist/domains/dashboard/web/assets/{chunk-ND2GUHAM-DYV00CNn.js → chunk-ND2GUHAM-fMaIDDI2.js} +1 -1
  497. package/dist/domains/dashboard/web/assets/{chunk-QZHKN3VN-DMJJyQnw.js → chunk-QZHKN3VN-C9rhF6Hm.js} +1 -1
  498. package/dist/domains/dashboard/web/assets/classDiagram-4FO5ZUOK-BcnrxOTt.js +1 -0
  499. package/dist/domains/dashboard/web/assets/classDiagram-v2-Q7XG4LA2-BcnrxOTt.js +1 -0
  500. package/dist/domains/dashboard/web/assets/{cose-bilkent-S5V4N54A-P4nE2rea.js → cose-bilkent-S5V4N54A-CbaShPub.js} +1 -1
  501. package/dist/domains/dashboard/web/assets/{cynefin-VYW2F7L2-C-R1HXDv.js → cynefin-VYW2F7L2-DN4emAQv.js} +1 -1
  502. package/dist/domains/dashboard/web/assets/{dagre-BM42HDAG-BH8d-C9z.js → dagre-BM42HDAG-BpSzbk_V.js} +1 -1
  503. package/dist/domains/dashboard/web/assets/demo-BuVau32v.js +25 -0
  504. package/dist/domains/dashboard/web/assets/{diagram-2AECGRRQ-DpXTgQIH.js → diagram-2AECGRRQ-CfXwGGpQ.js} +1 -1
  505. package/dist/domains/dashboard/web/assets/{diagram-5GNKFQAL-DSiFJzSw.js → diagram-5GNKFQAL-DMp0Zmot.js} +1 -1
  506. package/dist/domains/dashboard/web/assets/{diagram-KO2AKTUF-DULMkben.js → diagram-KO2AKTUF-C7ZvofsM.js} +1 -1
  507. package/dist/domains/dashboard/web/assets/{diagram-LMA3HP47-Pi8m_NO9.js → diagram-LMA3HP47-BjmxFnap.js} +1 -1
  508. package/dist/domains/dashboard/web/assets/{diagram-OG6HWLK6-BSe6bCWm.js → diagram-OG6HWLK6-DFBG1Iqy.js} +1 -1
  509. package/dist/domains/dashboard/web/assets/{erDiagram-TEJ5UH35-zb-FEcbq.js → erDiagram-TEJ5UH35-MpNT7dzt.js} +1 -1
  510. package/dist/domains/dashboard/web/assets/{flowDiagram-I6XJVG4X-Dr-Gk0z2.js → flowDiagram-I6XJVG4X-_1wAR6c1.js} +1 -1
  511. package/dist/domains/dashboard/web/assets/{ganttDiagram-6RSMTGT7-qs6Zb2A6.js → ganttDiagram-6RSMTGT7-DJKjDeWl.js} +1 -1
  512. package/dist/domains/dashboard/web/assets/{gitGraphDiagram-PVQCEYII-BQ314orT.js → gitGraphDiagram-PVQCEYII-BL7yUEn-.js} +1 -1
  513. package/dist/domains/dashboard/web/assets/index-CjE9mHGb.js +24 -0
  514. package/dist/domains/dashboard/web/assets/index-D-AGxvI4.css +1 -0
  515. package/dist/domains/dashboard/web/assets/{infoDiagram-5YYISTIA-O0bQp98A.js → infoDiagram-5YYISTIA-Bt5fqrOd.js} +1 -1
  516. package/dist/domains/dashboard/web/assets/{ishikawaDiagram-YF4QCWOH-BPC7wbKh.js → ishikawaDiagram-YF4QCWOH-COCMcjBM.js} +1 -1
  517. package/dist/domains/dashboard/web/assets/{journeyDiagram-JHISSGLW-ohViOd4b.js → journeyDiagram-JHISSGLW-DGcpcWny.js} +1 -1
  518. package/dist/domains/dashboard/web/assets/{kanban-definition-UN3LZRKU-CHleNdbG.js → kanban-definition-UN3LZRKU-QSBNsWMP.js} +1 -1
  519. package/dist/domains/dashboard/web/assets/{linear-CyqiW--Q.js → linear-9uyeeBZf.js} +1 -1
  520. package/dist/domains/dashboard/web/assets/{mermaid.core-qS9XvtaK.js → mermaid.core-CkNdB471.js} +4 -4
  521. package/dist/domains/dashboard/web/assets/{mindmap-definition-RKZ34NQL-oaGkqO9l.js → mindmap-definition-RKZ34NQL-CiNxI0gP.js} +1 -1
  522. package/dist/domains/dashboard/web/assets/{pieDiagram-4H26LBE5-CPcB-AFh.js → pieDiagram-4H26LBE5-BLJ6QnRO.js} +1 -1
  523. package/dist/domains/dashboard/web/assets/{quadrantDiagram-W4KKPZXB-LFy52Qtj.js → quadrantDiagram-W4KKPZXB-CflW-eFH.js} +1 -1
  524. package/dist/domains/dashboard/web/assets/{requirementDiagram-4Y6WPE33-BdjeaYP_.js → requirementDiagram-4Y6WPE33-B9HLmRWH.js} +1 -1
  525. package/dist/domains/dashboard/web/assets/{sankeyDiagram-5OEKKPKP-DDJ4styL.js → sankeyDiagram-5OEKKPKP-6xnco5k5.js} +1 -1
  526. package/dist/domains/dashboard/web/assets/{sequenceDiagram-3UESZ5HK-BL5bFNoz.js → sequenceDiagram-3UESZ5HK-Dp1rujNZ.js} +1 -1
  527. package/dist/domains/dashboard/web/assets/{stateDiagram-AJRCARHV-BNUfikui.js → stateDiagram-AJRCARHV-C1Xc90ek.js} +1 -1
  528. package/dist/domains/dashboard/web/assets/stateDiagram-v2-BHNVJYJU-p-qmzXyE.js +1 -0
  529. package/dist/domains/dashboard/web/assets/{timeline-definition-PNZ67QCA--ps2uu6L.js → timeline-definition-PNZ67QCA-g9s-m5Z4.js} +1 -1
  530. package/dist/domains/dashboard/web/assets/{vennDiagram-CIIHVFJN-C2q8q26c.js → vennDiagram-CIIHVFJN-rkEyhyCc.js} +1 -1
  531. package/dist/domains/dashboard/web/assets/{wardleyDiagram-YWT4CUSO-BUH9gXqd.js → wardleyDiagram-YWT4CUSO-CJLrWGXc.js} +1 -1
  532. package/dist/domains/dashboard/web/assets/{xychartDiagram-2RQKCTM6-B-DielEy.js → xychartDiagram-2RQKCTM6-BxJvPNqo.js} +1 -1
  533. package/dist/domains/dashboard/web/index.html +2 -2
  534. package/dist/domains/engine/storage-layout.d.ts +14 -0
  535. package/dist/domains/engine/storage-layout.d.ts.map +1 -0
  536. package/dist/domains/engine/storage-layout.js +32 -0
  537. package/dist/domains/engine/storage-layout.js.map +1 -0
  538. package/dist/domains/engine/storage-run.d.ts +9 -0
  539. package/dist/domains/engine/storage-run.d.ts.map +1 -0
  540. package/dist/domains/engine/storage-run.js +116 -0
  541. package/dist/domains/engine/storage-run.js.map +1 -0
  542. package/dist/domains/factory/package.d.ts.map +1 -1
  543. package/dist/domains/factory/package.js +5 -3
  544. package/dist/domains/factory/package.js.map +1 -1
  545. package/dist/domains/integrations/openspec.d.ts.map +1 -1
  546. package/dist/domains/integrations/openspec.js +8 -6
  547. package/dist/domains/integrations/openspec.js.map +1 -1
  548. package/dist/domains/skill/find.d.ts.map +1 -1
  549. package/dist/domains/skill/find.js +7 -1
  550. package/dist/domains/skill/find.js.map +1 -1
  551. package/dist/domains/skill/platform-inspect.d.ts +6 -2
  552. package/dist/domains/skill/platform-inspect.d.ts.map +1 -1
  553. package/dist/domains/skill/platform-inspect.js +52 -8
  554. package/dist/domains/skill/platform-inspect.js.map +1 -1
  555. package/dist/domains/skill/platform-install.d.ts +18 -7
  556. package/dist/domains/skill/platform-install.d.ts.map +1 -1
  557. package/dist/domains/skill/platform-install.js +338 -71
  558. package/dist/domains/skill/platform-install.js.map +1 -1
  559. package/dist/domains/skill/project-instructions.d.ts.map +1 -1
  560. package/dist/domains/skill/project-instructions.js +12 -6
  561. package/dist/domains/skill/project-instructions.js.map +1 -1
  562. package/dist/domains/skill/uninstall.d.ts.map +1 -1
  563. package/dist/domains/skill/uninstall.js +15 -3
  564. package/dist/domains/skill/uninstall.js.map +1 -1
  565. package/dist/domains/workflow-contract/builtins.d.ts +6 -0
  566. package/dist/domains/workflow-contract/builtins.d.ts.map +1 -1
  567. package/dist/domains/workflow-contract/builtins.js +137 -0
  568. package/dist/domains/workflow-contract/builtins.js.map +1 -1
  569. package/dist/domains/workflow-contract/index.d.ts +3 -1
  570. package/dist/domains/workflow-contract/index.d.ts.map +1 -1
  571. package/dist/domains/workflow-contract/index.js +2 -1
  572. package/dist/domains/workflow-contract/index.js.map +1 -1
  573. package/dist/domains/workflow-contract/normalize.d.ts.map +1 -1
  574. package/dist/domains/workflow-contract/normalize.js +28 -10
  575. package/dist/domains/workflow-contract/normalize.js.map +1 -1
  576. package/dist/domains/workflow-contract/project-config.d.ts +7 -0
  577. package/dist/domains/workflow-contract/project-config.d.ts.map +1 -0
  578. package/dist/domains/workflow-contract/project-config.js +110 -0
  579. package/dist/domains/workflow-contract/project-config.js.map +1 -0
  580. package/dist/domains/workflow-contract/types.d.ts +4 -2
  581. package/dist/domains/workflow-contract/types.d.ts.map +1 -1
  582. package/dist/domains/workflow-contract/validation.d.ts.map +1 -1
  583. package/dist/domains/workflow-contract/validation.js +14 -5
  584. package/dist/domains/workflow-contract/validation.js.map +1 -1
  585. package/dist/platform/install/detect.d.ts +3 -1
  586. package/dist/platform/install/detect.d.ts.map +1 -1
  587. package/dist/platform/install/detect.js +4 -1
  588. package/dist/platform/install/detect.js.map +1 -1
  589. package/dist/platform/install/project-registry.js +2 -2
  590. package/dist/platform/install/project-registry.js.map +1 -1
  591. package/dist/platform/paths/repository-layout.d.ts +16 -0
  592. package/dist/platform/paths/repository-layout.d.ts.map +1 -1
  593. package/dist/platform/paths/repository-layout.js.map +1 -1
  594. package/eval/local/README.md +50 -0
  595. package/eval/local/scripts/compare_baselines.py +127 -1
  596. package/eval/local/scripts/regression_check.py +3 -4
  597. package/eval/local/tasks/comet-native-clarification/environment/Dockerfile +27 -0
  598. package/eval/local/tasks/comet-native-clarification/environment/test_wordcount.py +25 -0
  599. package/eval/local/tasks/comet-native-clarification/environment/wordcount.py +36 -0
  600. package/eval/local/tasks/comet-native-clarification/instruction.md +7 -0
  601. package/eval/local/tasks/comet-native-clarification/task.toml +40 -0
  602. package/eval/local/tasks/comet-native-clarification/validation/test_native_clarification.py +193 -0
  603. package/eval/local/tasks/comet-native-clarification-modes/environment/Dockerfile +27 -0
  604. package/eval/local/tasks/comet-native-clarification-modes/environment/test_wordcount.py +25 -0
  605. package/eval/local/tasks/comet-native-clarification-modes/environment/wordcount.py +36 -0
  606. package/eval/local/tasks/comet-native-clarification-modes/instruction.md +13 -0
  607. package/eval/local/tasks/comet-native-clarification-modes/task.toml +39 -0
  608. package/eval/local/tasks/comet-native-clarification-modes/validation/test_native_clarification_modes.py +235 -0
  609. package/eval/local/tasks/comet-native-interrupted-transition/environment/.comet/config.yaml +6 -0
  610. package/eval/local/tasks/comet-native-interrupted-transition/environment/Dockerfile +28 -0
  611. package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/brief.md +17 -0
  612. package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/comet-state.yaml +12 -0
  613. package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/runtime/transition.json +69 -0
  614. package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/specs/character-counting/spec.md +3 -0
  615. package/eval/local/tasks/comet-native-interrupted-transition/environment/test_wordcount.py +20 -0
  616. package/eval/local/tasks/comet-native-interrupted-transition/environment/wordcount.py +27 -0
  617. package/eval/local/tasks/comet-native-interrupted-transition/instruction.md +7 -0
  618. package/eval/local/tasks/comet-native-interrupted-transition/task.toml +35 -0
  619. package/eval/local/tasks/comet-native-interrupted-transition/validation/test_native_interrupted_transition.py +63 -0
  620. package/eval/local/tasks/comet-native-repository-fact/environment/Dockerfile +26 -0
  621. package/eval/local/tasks/comet-native-repository-fact/environment/PRODUCT_RULES.md +3 -0
  622. package/eval/local/tasks/comet-native-repository-fact/environment/test_wordcount.py +20 -0
  623. package/eval/local/tasks/comet-native-repository-fact/environment/wordcount.py +27 -0
  624. package/eval/local/tasks/comet-native-repository-fact/instruction.md +7 -0
  625. package/eval/local/tasks/comet-native-repository-fact/task.toml +35 -0
  626. package/eval/local/tasks/comet-native-repository-fact/validation/test_native_repository_fact.py +53 -0
  627. package/eval/local/tasks/comet-native-wave-b-decision-resume/environment/Dockerfile +27 -0
  628. package/eval/local/tasks/comet-native-wave-b-decision-resume/environment/test_wordcount.py +27 -0
  629. package/eval/local/tasks/comet-native-wave-b-decision-resume/environment/wordcount.py +36 -0
  630. package/eval/local/tasks/comet-native-wave-b-decision-resume/instruction.md +9 -0
  631. package/eval/local/tasks/comet-native-wave-b-decision-resume/task.toml +40 -0
  632. package/eval/local/tasks/comet-native-wave-b-decision-resume/validation/test_native_wave_b_decision_resume.py +208 -0
  633. package/eval/local/tasks/comet-native-wave-c-verification-integrity/environment/Dockerfile +27 -0
  634. package/eval/local/tasks/comet-native-wave-c-verification-integrity/environment/test_wordcount.py +27 -0
  635. package/eval/local/tasks/comet-native-wave-c-verification-integrity/environment/wordcount.py +36 -0
  636. package/eval/local/tasks/comet-native-wave-c-verification-integrity/instruction.md +11 -0
  637. package/eval/local/tasks/comet-native-wave-c-verification-integrity/task.toml +36 -0
  638. package/eval/local/tasks/comet-native-wave-c-verification-integrity/validation/test_native_wave_c_verification_integrity.py +344 -0
  639. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/environment/Dockerfile +27 -0
  640. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/environment/test_wordcount.py +27 -0
  641. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/environment/wordcount.py +36 -0
  642. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/instruction.md +11 -0
  643. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/task.toml +37 -0
  644. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/validation/test_native_wave_d_stagnation_stop.py +284 -0
  645. package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/.include-trusted-native-runtime +1 -0
  646. package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/Dockerfile +27 -0
  647. package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/test_wordcount.py +27 -0
  648. package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/wordcount.py +36 -0
  649. package/eval/local/tasks/comet-native-wave-e-parallel-safety/instruction.md +9 -0
  650. package/eval/local/tasks/comet-native-wave-e-parallel-safety/task.toml +37 -0
  651. package/eval/local/tasks/comet-native-wave-e-parallel-safety/validation/test_native_wave_e_parallel_safety.py +309 -0
  652. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/.include-current-comet-cli +1 -0
  653. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/Dockerfile +31 -0
  654. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/current-comet-package.json +18 -0
  655. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/current-comet.sh +14 -0
  656. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/test_wordcount.py +27 -0
  657. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/wordcount.py +36 -0
  658. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/instruction.md +7 -0
  659. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/task.toml +36 -0
  660. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/validation/test_native_wave_f_dashboard_readonly.py +469 -0
  661. package/eval/local/tasks/comet-native-workflow/environment/Dockerfile +27 -0
  662. package/eval/local/tasks/comet-native-workflow/environment/test_wordcount.py +25 -0
  663. package/eval/local/tasks/comet-native-workflow/environment/wordcount.py +36 -0
  664. package/eval/local/tasks/comet-native-workflow/instruction.md +14 -0
  665. package/eval/local/tasks/comet-native-workflow/task.toml +36 -0
  666. package/eval/local/tasks/comet-native-workflow/validation/test_native_workflow.py +149 -0
  667. package/eval/local/tasks/index.yaml +61 -0
  668. package/eval/local/tests/conftest.py +407 -22
  669. package/eval/local/tests/scaffold/test_aligned_comparison.py +1012 -0
  670. package/eval/local/tests/scaffold/test_conftest_helpers.py +187 -7
  671. package/eval/local/tests/scaffold/test_logging.py +135 -1
  672. package/eval/local/tests/scaffold/test_manifests.py +2 -0
  673. package/eval/local/tests/scaffold/test_native_aligned_eval.py +346 -0
  674. package/eval/local/tests/scaffold/test_native_wave_evaluations.py +1889 -0
  675. package/eval/local/tests/scaffold/test_profiles.py +33 -0
  676. package/eval/local/tests/scaffold/test_sample_quality.py +57 -0
  677. package/eval/local/tests/scaffold/test_tasks.py +377 -1
  678. package/eval/local/tests/scaffold/test_treatments.py +59 -13
  679. package/eval/local/tests/scaffold/test_utils.py +277 -4
  680. package/eval/local/tests/tasks/__init__.py +1 -0
  681. package/eval/local/tests/tasks/test_tasks.py +104 -78
  682. package/eval/local/tests/tasks/test_validation_scripts.py +37 -0
  683. package/eval/local/treatments/comet/comet_native_phase1.yaml +66 -0
  684. package/eval/scaffold/python/aligned_comparison.py +1631 -0
  685. package/eval/scaffold/python/generic_llm_judge.py +3 -1
  686. package/eval/scaffold/python/llm_judge.py +0 -3
  687. package/eval/scaffold/python/logging.py +115 -16
  688. package/eval/scaffold/python/manifests.py +2 -0
  689. package/eval/scaffold/python/native_eval.py +138 -0
  690. package/eval/scaffold/python/pass_at_k.py +0 -1
  691. package/eval/scaffold/python/report_outputs.py +226 -44
  692. package/eval/scaffold/python/sample_quality.py +45 -2
  693. package/eval/scaffold/python/tasks.py +11 -0
  694. package/eval/scaffold/python/utils.py +108 -20
  695. package/eval/scaffold/python/validation/__init__.py +15 -5
  696. package/eval/scaffold/python/validation/comet_workflow.py +10 -5
  697. package/eval/scaffold/python/validation/generic_rubric.py +1 -2
  698. package/eval/scaffold/python/validation/native_wave.py +2154 -0
  699. package/eval/scaffold/python/validation/native_workflow.py +252 -0
  700. package/eval/scaffold/python/validation/rubric.py +0 -2
  701. package/eval/scaffold/shell/completion-point.sh +18 -0
  702. package/eval/scaffold/shell/decision-point.sh +35 -0
  703. package/eval/scaffold/shell/docker.sh +150 -9
  704. package/eval/scaffold/shell/run-claude-loop.sh +57 -27
  705. package/package.json +19 -5
  706. package/dist/domains/dashboard/web/assets/channel-kp6Ng2JJ.js +0 -1
  707. package/dist/domains/dashboard/web/assets/classDiagram-4FO5ZUOK-yBDjgMY_.js +0 -1
  708. package/dist/domains/dashboard/web/assets/classDiagram-v2-Q7XG4LA2-yBDjgMY_.js +0 -1
  709. package/dist/domains/dashboard/web/assets/demo-DQyfozbi.js +0 -1
  710. package/dist/domains/dashboard/web/assets/index-BLAfkNTu.css +0 -1
  711. package/dist/domains/dashboard/web/assets/index-DtLUOcAW.js +0 -24
  712. package/dist/domains/dashboard/web/assets/stateDiagram-v2-BHNVJYJU-DGrsmWts.js +0 -1
  713. package/eval/.env.example +0 -52
  714. package/eval/langsmith/.env.example +0 -16
@@ -0,0 +1,696 @@
1
+ import { promises as fs } from 'fs';
2
+ import path from 'path';
3
+ import { parseDocument, stringify } from 'yaml';
4
+ import { readNativeBoundedTextFile } from './native-bounded-file.js';
5
+ import { atomicWriteText } from './native-atomic-file.js';
6
+ import { assertNoPendingNativeRootMove } from './native-config.js';
7
+ import { withNativeMutationLock } from './native-mutation-lock.js';
8
+ import { isInsidePath, resolveContainedNativePath } from './native-paths.js';
9
+ import { readNativeProtectedDirectory } from './native-protected-file.js';
10
+ import { compareAndSwapNativeRevision } from './native-revision.js';
11
+ import { createNativeContentSnapshot, inspectNativeContentSnapshotHealth, writeNativeBaselineManifest, } from './native-snapshot.js';
12
+ import { assertNativeTrajectoryHealthy } from './native-trajectory-recovery.js';
13
+ import { writeNativeWorkspaceIdentity } from './native-workspace.js';
14
+ import { NATIVE_CHANGE_SCHEMA, NATIVE_LEGACY_CHANGE_SCHEMA, NATIVE_RUNTIME_PROTOCOL_VERSION, NATIVE_V2_CHANGE_SCHEMA, } from './native-types.js';
15
+ const CHANGE_KEYS = [
16
+ 'schema',
17
+ 'name',
18
+ 'language',
19
+ 'phase',
20
+ 'brief',
21
+ 'approval',
22
+ 'spec_changes',
23
+ 'verification_result',
24
+ 'verification_report',
25
+ 'archived',
26
+ 'created_at',
27
+ 'run_id',
28
+ ];
29
+ const LEGACY_CHANGE_KEYS = new Set(CHANGE_KEYS);
30
+ const V2_CHANGE_KEYS = new Set([...CHANGE_KEYS, 'minimum_runtime_version', 'revision']);
31
+ const CURRENT_CHANGE_KEYS = new Set([
32
+ ...V2_CHANGE_KEYS,
33
+ 'approved_contract_hash',
34
+ 'implementation_scope',
35
+ 'verification_evidence',
36
+ 'partial_allowance',
37
+ ]);
38
+ const SPEC_CHANGE_KEYS = new Set(['capability', 'operation', 'source', 'base_hash']);
39
+ const PHASES = new Set(['shape', 'build', 'verify', 'archive']);
40
+ const APPROVALS = new Set(['implicit', 'confirmed']);
41
+ const VERIFY_RESULTS = new Set(['pending', 'pass', 'fail']);
42
+ export const NATIVE_CHANGE_STATE_FILE = 'comet-state.yaml';
43
+ const HASH_PATTERN = /^[a-f0-9]{64}$/u;
44
+ const NAME_PATTERN = /^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/u;
45
+ const CONTENT_ADDRESSED_REF_PATTERN = /^runtime\/evidence\/(scopes|allowances|verifications)\/([a-f0-9]{64})\.json$/u;
46
+ export class NativeSchemaMigrationRequiredError extends Error {
47
+ change;
48
+ schema;
49
+ code = 'native-schema-migration-required';
50
+ constructor(change, schema) {
51
+ super(`Native change ${change} uses ${schema}; run comet native doctor ${change} --repair before mutating it`);
52
+ this.change = change;
53
+ this.schema = schema;
54
+ this.name = 'NativeSchemaMigrationRequiredError';
55
+ }
56
+ }
57
+ export class NativeRuntimeCompatibilityError extends Error {
58
+ schema;
59
+ minimumRuntimeVersion;
60
+ code = 'native-runtime-incompatible';
61
+ constructor(schema, minimumRuntimeVersion) {
62
+ super(schema !== NATIVE_CHANGE_SCHEMA || minimumRuntimeVersion === null
63
+ ? `Unsupported Native change schema ${schema} for runtime protocol ${NATIVE_RUNTIME_PROTOCOL_VERSION}`
64
+ : `Native change ${schema} requires runtime protocol ${minimumRuntimeVersion}; current protocol is ${NATIVE_RUNTIME_PROTOCOL_VERSION}`);
65
+ this.schema = schema;
66
+ this.minimumRuntimeVersion = minimumRuntimeVersion;
67
+ this.name = 'NativeRuntimeCompatibilityError';
68
+ }
69
+ }
70
+ export class NativeChangeRevisionConflictError extends Error {
71
+ change;
72
+ expectedRevision;
73
+ actualRevision;
74
+ code = 'native-change-revision-conflict';
75
+ constructor(change, expectedRevision, actualRevision) {
76
+ super(`Native change ${change} revision conflict: expected ${expectedRevision}, actual ${actualRevision}`);
77
+ this.change = change;
78
+ this.expectedRevision = expectedRevision;
79
+ this.actualRevision = actualRevision;
80
+ this.name = 'NativeChangeRevisionConflictError';
81
+ }
82
+ }
83
+ export class NativeBaselineIncompleteError extends Error {
84
+ change;
85
+ omittedCount;
86
+ omittedByReason;
87
+ samplePaths;
88
+ sampleTruncated;
89
+ code = 'native-baseline-incomplete';
90
+ constructor(change, omittedCount, omittedByReason, samplePaths, sampleTruncated) {
91
+ super(`Native change ${change} baseline is incomplete (${omittedCount} omitted entr${omittedCount === 1 ? 'y' : 'ies'})`);
92
+ this.change = change;
93
+ this.omittedCount = omittedCount;
94
+ this.omittedByReason = omittedByReason;
95
+ this.samplePaths = samplePaths;
96
+ this.sampleTruncated = sampleTruncated;
97
+ this.name = 'NativeBaselineIncompleteError';
98
+ }
99
+ }
100
+ export const NATIVE_BRIEF_TEMPLATE = [
101
+ '# Outcome',
102
+ '',
103
+ '# Scope',
104
+ '',
105
+ '# Non-goals',
106
+ '',
107
+ '# Acceptance examples',
108
+ '',
109
+ '# Constraints and invariants',
110
+ '',
111
+ '# Decisions',
112
+ '',
113
+ '# Open questions',
114
+ '',
115
+ '# Verification expectations',
116
+ '',
117
+ ].join('\n');
118
+ function record(value, label) {
119
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
120
+ throw new Error(`${label} must be a mapping`);
121
+ }
122
+ return value;
123
+ }
124
+ function rejectUnknown(value, known, label) {
125
+ const unknown = Object.keys(value).filter((key) => !known.has(key));
126
+ if (unknown.length > 0)
127
+ throw new Error(`${label} has unknown field(s): ${unknown.join(', ')}`);
128
+ }
129
+ export function assertNativeName(value) {
130
+ if (!NAME_PATTERN.test(value))
131
+ throw new Error(`Invalid Native change name: ${value}`);
132
+ }
133
+ export function assertCapabilityId(value) {
134
+ if (!NAME_PATTERN.test(value))
135
+ throw new Error(`Invalid Native capability id: ${value}`);
136
+ }
137
+ function assertRelativeRef(value, label) {
138
+ if (value.length === 0 ||
139
+ path.isAbsolute(value) ||
140
+ /^(?:[A-Za-z]:|~|[\\/])/u.test(value) ||
141
+ value.split(/[\\/]/u).includes('..')) {
142
+ throw new Error(`${label} must stay inside the Native change`);
143
+ }
144
+ }
145
+ function parseSpecChange(value, index) {
146
+ const item = record(value, `spec_changes[${index}]`);
147
+ rejectUnknown(item, SPEC_CHANGE_KEYS, `spec_changes[${index}]`);
148
+ if (typeof item.capability !== 'string')
149
+ throw new Error('spec change capability is required');
150
+ assertCapabilityId(item.capability);
151
+ if (item.operation !== 'create' && item.operation !== 'replace' && item.operation !== 'remove') {
152
+ throw new Error(`Invalid spec operation for ${item.capability}`);
153
+ }
154
+ const source = item.source;
155
+ const baseHash = item.base_hash;
156
+ if (source !== undefined && typeof source !== 'string') {
157
+ throw new Error(`Spec source for ${item.capability} must be a string`);
158
+ }
159
+ if (typeof source === 'string')
160
+ assertRelativeRef(source, `Spec source for ${item.capability}`);
161
+ if (item.operation === 'create') {
162
+ if (!source)
163
+ throw new Error(`Create spec ${item.capability} requires source`);
164
+ if (baseHash !== null)
165
+ throw new Error(`Create spec ${item.capability} requires null base_hash`);
166
+ }
167
+ else if (item.operation === 'replace') {
168
+ if (!source)
169
+ throw new Error(`Replace spec ${item.capability} requires source`);
170
+ if (typeof baseHash !== 'string' || !HASH_PATTERN.test(baseHash)) {
171
+ throw new Error(`Replace spec ${item.capability} requires a SHA-256 base_hash`);
172
+ }
173
+ }
174
+ else {
175
+ if (source !== undefined)
176
+ throw new Error(`Remove spec ${item.capability} forbids source`);
177
+ if (typeof baseHash !== 'string' || !HASH_PATTERN.test(baseHash)) {
178
+ throw new Error(`Remove spec ${item.capability} requires a SHA-256 base_hash`);
179
+ }
180
+ }
181
+ return {
182
+ capability: item.capability,
183
+ operation: item.operation,
184
+ ...(typeof source === 'string' ? { source } : {}),
185
+ base_hash: baseHash,
186
+ };
187
+ }
188
+ function validDate(value) {
189
+ if (!/^\d{4}-\d{2}-\d{2}$/u.test(value))
190
+ return false;
191
+ return new Date(`${value}T00:00:00.000Z`).toISOString().slice(0, 10) === value;
192
+ }
193
+ function parseChangeFields(root, knownKeys) {
194
+ rejectUnknown(root, knownKeys, NATIVE_CHANGE_STATE_FILE);
195
+ if (typeof root.name !== 'string')
196
+ throw new Error('Native change name is required');
197
+ assertNativeName(root.name);
198
+ if (root.language !== 'en' && root.language !== 'zh-CN') {
199
+ throw new Error('Native change language must be en or zh-CN');
200
+ }
201
+ if (typeof root.phase !== 'string' || !PHASES.has(root.phase)) {
202
+ throw new Error('Native change phase is invalid');
203
+ }
204
+ if (root.brief !== 'brief.md')
205
+ throw new Error('Native change brief must be brief.md');
206
+ if (root.approval !== null && !APPROVALS.has(root.approval)) {
207
+ throw new Error('Native change approval is invalid');
208
+ }
209
+ if (!Array.isArray(root.spec_changes))
210
+ throw new Error('Native spec_changes must be an array');
211
+ const specChanges = root.spec_changes.map(parseSpecChange);
212
+ const duplicates = specChanges
213
+ .map((change) => change.capability)
214
+ .filter((capability, index, all) => all.indexOf(capability) !== index);
215
+ if (duplicates.length > 0) {
216
+ throw new Error(`Duplicate Native capability operation: ${[...new Set(duplicates)].join(', ')}`);
217
+ }
218
+ if (typeof root.verification_result !== 'string' ||
219
+ !VERIFY_RESULTS.has(root.verification_result)) {
220
+ throw new Error('Native verification_result is invalid');
221
+ }
222
+ if (root.verification_report !== null && typeof root.verification_report !== 'string') {
223
+ throw new Error('Native verification_report must be a string or null');
224
+ }
225
+ if (typeof root.verification_report === 'string') {
226
+ assertRelativeRef(root.verification_report, 'Native verification_report');
227
+ }
228
+ if (typeof root.archived !== 'boolean')
229
+ throw new Error('Native archived must be boolean');
230
+ if (typeof root.created_at !== 'string' || !validDate(root.created_at)) {
231
+ throw new Error('Native created_at must be a valid YYYY-MM-DD date');
232
+ }
233
+ if (root.run_id !== null && (typeof root.run_id !== 'string' || root.run_id.length === 0)) {
234
+ throw new Error('Native run_id must be a non-empty string or null');
235
+ }
236
+ return {
237
+ name: root.name,
238
+ language: root.language,
239
+ phase: root.phase,
240
+ brief: 'brief.md',
241
+ approval: root.approval,
242
+ spec_changes: specChanges,
243
+ verification_result: root.verification_result,
244
+ verification_report: root.verification_report,
245
+ archived: root.archived,
246
+ created_at: root.created_at,
247
+ run_id: root.run_id,
248
+ };
249
+ }
250
+ export function parseLegacyNativeChangeValue(value) {
251
+ const root = record(value, NATIVE_CHANGE_STATE_FILE);
252
+ if (root.schema !== NATIVE_LEGACY_CHANGE_SCHEMA) {
253
+ throw new Error(`Expected ${NATIVE_LEGACY_CHANGE_SCHEMA}`);
254
+ }
255
+ return {
256
+ schema: NATIVE_LEGACY_CHANGE_SCHEMA,
257
+ ...parseChangeFields(root, LEGACY_CHANGE_KEYS),
258
+ };
259
+ }
260
+ function positiveInteger(value, label) {
261
+ if (!Number.isSafeInteger(value) || value < 1) {
262
+ throw new Error(`${label} must be a positive integer`);
263
+ }
264
+ return value;
265
+ }
266
+ function contentAddressedRef(value, label, kind) {
267
+ if (value === null)
268
+ return null;
269
+ const match = typeof value === 'string' ? CONTENT_ADDRESSED_REF_PATTERN.exec(value) : null;
270
+ if (!match || match[1] !== kind) {
271
+ throw new Error(`${label} must be null or runtime/evidence/${kind}/<sha256>.json relative to the Native change`);
272
+ }
273
+ return value;
274
+ }
275
+ function approvedContractHash(value) {
276
+ // Early v3 files predate approval binding. Treat the absent field as an
277
+ // unbound approval so status/transition guards can require confirmation.
278
+ if (value === undefined || value === null)
279
+ return null;
280
+ if (typeof value !== 'string' || !HASH_PATTERN.test(value)) {
281
+ throw new Error('Native approved_contract_hash must be null or a SHA-256 hash');
282
+ }
283
+ return value;
284
+ }
285
+ export function parseV2NativeChangeValue(value) {
286
+ const root = record(value, NATIVE_CHANGE_STATE_FILE);
287
+ if (root.schema !== NATIVE_V2_CHANGE_SCHEMA) {
288
+ throw new Error(`Expected ${NATIVE_V2_CHANGE_SCHEMA}`);
289
+ }
290
+ const minimumRuntimeVersion = positiveInteger(root.minimum_runtime_version, 'Native v2 minimum_runtime_version');
291
+ if (minimumRuntimeVersion !== 2) {
292
+ throw new Error(`Native ${NATIVE_V2_CHANGE_SCHEMA} minimum_runtime_version must be 2`);
293
+ }
294
+ return {
295
+ schema: NATIVE_V2_CHANGE_SCHEMA,
296
+ minimum_runtime_version: 2,
297
+ revision: positiveInteger(root.revision, 'Native v2 revision'),
298
+ ...parseChangeFields(root, V2_CHANGE_KEYS),
299
+ };
300
+ }
301
+ export function parseNativeChangeValue(value) {
302
+ const root = record(value, NATIVE_CHANGE_STATE_FILE);
303
+ if (root.schema !== NATIVE_CHANGE_SCHEMA) {
304
+ if (root.schema === NATIVE_LEGACY_CHANGE_SCHEMA || root.schema === NATIVE_V2_CHANGE_SCHEMA) {
305
+ const previous = root.schema === NATIVE_LEGACY_CHANGE_SCHEMA
306
+ ? parseLegacyNativeChangeValue(root)
307
+ : parseV2NativeChangeValue(root);
308
+ throw new NativeSchemaMigrationRequiredError(previous.name, previous.schema);
309
+ }
310
+ throw new NativeRuntimeCompatibilityError(typeof root.schema === 'string' ? root.schema : '(missing)', typeof root.minimum_runtime_version === 'number' ? root.minimum_runtime_version : null);
311
+ }
312
+ const minimumRuntimeVersion = positiveInteger(root.minimum_runtime_version, 'Native minimum_runtime_version');
313
+ if (minimumRuntimeVersion > NATIVE_RUNTIME_PROTOCOL_VERSION) {
314
+ throw new NativeRuntimeCompatibilityError(root.schema, minimumRuntimeVersion);
315
+ }
316
+ if (minimumRuntimeVersion !== NATIVE_RUNTIME_PROTOCOL_VERSION) {
317
+ throw new Error(`Native ${root.schema} minimum_runtime_version must be ${NATIVE_RUNTIME_PROTOCOL_VERSION}`);
318
+ }
319
+ const revision = positiveInteger(root.revision, 'Native revision');
320
+ const fields = parseChangeFields(root, CURRENT_CHANGE_KEYS);
321
+ const approvalHash = approvedContractHash(root.approved_contract_hash);
322
+ if (fields.approval === null && approvalHash !== null) {
323
+ throw new Error('Native approved_contract_hash requires an approval');
324
+ }
325
+ return {
326
+ schema: NATIVE_CHANGE_SCHEMA,
327
+ minimum_runtime_version: NATIVE_RUNTIME_PROTOCOL_VERSION,
328
+ revision,
329
+ ...fields,
330
+ approved_contract_hash: approvalHash,
331
+ implementation_scope: contentAddressedRef(root.implementation_scope, 'Native implementation_scope', 'scopes'),
332
+ verification_evidence: contentAddressedRef(root.verification_evidence, 'Native verification_evidence', 'verifications'),
333
+ partial_allowance: contentAddressedRef(root.partial_allowance, 'Native partial_allowance', 'allowances'),
334
+ };
335
+ }
336
+ export function inspectNativeChangeValue(value) {
337
+ const root = record(value, NATIVE_CHANGE_STATE_FILE);
338
+ if (root.schema === NATIVE_LEGACY_CHANGE_SCHEMA) {
339
+ const state = parseLegacyNativeChangeValue(root);
340
+ return {
341
+ status: 'migration-required',
342
+ schema: state.schema,
343
+ minimumRuntimeVersion: 1,
344
+ state,
345
+ message: `Native change ${state.name} requires migration to ${NATIVE_CHANGE_SCHEMA}`,
346
+ };
347
+ }
348
+ if (root.schema === NATIVE_V2_CHANGE_SCHEMA) {
349
+ const state = parseV2NativeChangeValue(root);
350
+ return {
351
+ status: 'migration-required',
352
+ schema: state.schema,
353
+ minimumRuntimeVersion: state.minimum_runtime_version,
354
+ state,
355
+ message: `Native change ${state.name} requires migration to ${NATIVE_CHANGE_SCHEMA}`,
356
+ };
357
+ }
358
+ if (root.schema !== NATIVE_CHANGE_SCHEMA) {
359
+ const minimumRuntimeVersion = typeof root.minimum_runtime_version === 'number' &&
360
+ Number.isSafeInteger(root.minimum_runtime_version)
361
+ ? root.minimum_runtime_version
362
+ : null;
363
+ return {
364
+ status: 'runtime-incompatible',
365
+ schema: typeof root.schema === 'string' ? root.schema : '(missing)',
366
+ minimumRuntimeVersion,
367
+ state: null,
368
+ message: new NativeRuntimeCompatibilityError(typeof root.schema === 'string' ? root.schema : '(missing)', minimumRuntimeVersion).message,
369
+ };
370
+ }
371
+ const minimumRuntimeVersion = positiveInteger(root.minimum_runtime_version, 'Native minimum_runtime_version');
372
+ if (minimumRuntimeVersion > NATIVE_RUNTIME_PROTOCOL_VERSION) {
373
+ return {
374
+ status: 'runtime-incompatible',
375
+ schema: root.schema,
376
+ minimumRuntimeVersion,
377
+ state: null,
378
+ message: new NativeRuntimeCompatibilityError(root.schema, minimumRuntimeVersion).message,
379
+ };
380
+ }
381
+ const state = parseNativeChangeValue(root);
382
+ return {
383
+ status: 'current',
384
+ schema: state.schema,
385
+ minimumRuntimeVersion: state.minimum_runtime_version,
386
+ state,
387
+ };
388
+ }
389
+ export function nativeChangeDocument(state) {
390
+ const parsed = parseNativeChangeValue(state);
391
+ return {
392
+ schema: parsed.schema,
393
+ minimum_runtime_version: parsed.minimum_runtime_version,
394
+ revision: parsed.revision,
395
+ name: parsed.name,
396
+ language: parsed.language,
397
+ phase: parsed.phase,
398
+ brief: parsed.brief,
399
+ approval: parsed.approval,
400
+ approved_contract_hash: parsed.approved_contract_hash ?? null,
401
+ spec_changes: parsed.spec_changes.map((change) => ({
402
+ capability: change.capability,
403
+ operation: change.operation,
404
+ ...(change.source ? { source: change.source } : {}),
405
+ base_hash: change.base_hash,
406
+ })),
407
+ verification_result: parsed.verification_result,
408
+ verification_report: parsed.verification_report,
409
+ implementation_scope: parsed.implementation_scope,
410
+ verification_evidence: parsed.verification_evidence,
411
+ partial_allowance: parsed.partial_allowance,
412
+ archived: parsed.archived,
413
+ created_at: parsed.created_at,
414
+ run_id: parsed.run_id,
415
+ };
416
+ }
417
+ export function nativeV2ChangeDocument(state) {
418
+ const parsed = parseV2NativeChangeValue(state);
419
+ return {
420
+ schema: parsed.schema,
421
+ minimum_runtime_version: parsed.minimum_runtime_version,
422
+ revision: parsed.revision,
423
+ name: parsed.name,
424
+ language: parsed.language,
425
+ phase: parsed.phase,
426
+ brief: parsed.brief,
427
+ approval: parsed.approval,
428
+ spec_changes: parsed.spec_changes.map((change) => ({
429
+ capability: change.capability,
430
+ operation: change.operation,
431
+ ...(change.source ? { source: change.source } : {}),
432
+ base_hash: change.base_hash,
433
+ })),
434
+ verification_result: parsed.verification_result,
435
+ verification_report: parsed.verification_report,
436
+ archived: parsed.archived,
437
+ created_at: parsed.created_at,
438
+ run_id: parsed.run_id,
439
+ };
440
+ }
441
+ export function nativeChangeDir(paths, name) {
442
+ assertNativeName(name);
443
+ const target = path.join(paths.changesDir, name);
444
+ if (!isInsidePath(paths.changesDir, target))
445
+ throw new Error('Native change path escaped');
446
+ return target;
447
+ }
448
+ export async function hasPendingNativeSchemaMigration(paths, name) {
449
+ const file = path.join(nativeChangeDir(paths, name), 'runtime', 'schema-migration.json');
450
+ await resolveContainedNativePath(paths.nativeRoot, file);
451
+ try {
452
+ await fs.lstat(file);
453
+ return true;
454
+ }
455
+ catch (error) {
456
+ if (error.code === 'ENOENT')
457
+ return false;
458
+ throw error;
459
+ }
460
+ }
461
+ export async function hasPendingNativeCheckpointRecovery(paths, name) {
462
+ const file = path.join(nativeChangeDir(paths, name), 'runtime', 'checkpoint-journal.json');
463
+ await resolveContainedNativePath(paths.nativeRoot, file);
464
+ try {
465
+ await fs.lstat(file);
466
+ return true;
467
+ }
468
+ catch (error) {
469
+ if (error.code === 'ENOENT')
470
+ return false;
471
+ throw error;
472
+ }
473
+ }
474
+ export async function createNativeChange(options) {
475
+ return withNativeMutationLock(options.paths, `create change ${options.name}`, () => createNativeChangeLocked(options));
476
+ }
477
+ async function createNativeChangeLocked(options) {
478
+ assertNativeName(options.name);
479
+ const changeDir = nativeChangeDir(options.paths, options.name);
480
+ await resolveContainedNativePath(options.paths.nativeRoot, changeDir);
481
+ let createdChangeDir = false;
482
+ try {
483
+ try {
484
+ await fs.mkdir(changeDir, { recursive: false });
485
+ createdChangeDir = true;
486
+ }
487
+ catch (error) {
488
+ if (error.code === 'ENOENT') {
489
+ await fs.mkdir(options.paths.changesDir, { recursive: true });
490
+ try {
491
+ await fs.mkdir(changeDir, { recursive: false });
492
+ createdChangeDir = true;
493
+ }
494
+ catch (retryError) {
495
+ if (retryError.code === 'EEXIST') {
496
+ throw new Error(`Native change already exists: ${options.name}`, {
497
+ cause: retryError,
498
+ });
499
+ }
500
+ throw retryError;
501
+ }
502
+ }
503
+ else if (error.code === 'EEXIST') {
504
+ throw new Error(`Native change already exists: ${options.name}`, { cause: error });
505
+ }
506
+ else {
507
+ throw error;
508
+ }
509
+ }
510
+ const state = {
511
+ schema: NATIVE_CHANGE_SCHEMA,
512
+ minimum_runtime_version: NATIVE_RUNTIME_PROTOCOL_VERSION,
513
+ revision: 1,
514
+ name: options.name,
515
+ language: options.language,
516
+ phase: 'shape',
517
+ brief: 'brief.md',
518
+ approval: null,
519
+ approved_contract_hash: null,
520
+ spec_changes: [],
521
+ verification_result: 'pending',
522
+ verification_report: null,
523
+ implementation_scope: null,
524
+ verification_evidence: null,
525
+ partial_allowance: null,
526
+ archived: false,
527
+ created_at: (options.now ?? new Date()).toISOString().slice(0, 10),
528
+ run_id: null,
529
+ };
530
+ await Promise.all([
531
+ fs.mkdir(path.join(changeDir, 'specs'), { recursive: true }),
532
+ fs.mkdir(path.join(changeDir, 'runtime', 'checkpoints'), { recursive: true }),
533
+ atomicWriteText(path.join(changeDir, 'brief.md'), NATIVE_BRIEF_TEMPLATE),
534
+ ]);
535
+ const baseline = await createNativeContentSnapshot(options.paths, {
536
+ now: options.now,
537
+ origin: 'change-created',
538
+ });
539
+ if (!baseline.complete) {
540
+ const health = inspectNativeContentSnapshotHealth(baseline);
541
+ const omittedByReason = baseline.omitted.reduce((counts, item) => {
542
+ counts[item.reason] = (counts[item.reason] ?? 0) + 1;
543
+ return counts;
544
+ }, {});
545
+ const overflowCount = baseline.omissionOverflow?.count ?? 0;
546
+ if (overflowCount > 0)
547
+ omittedByReason.overflow = overflowCount;
548
+ throw new NativeBaselineIncompleteError(state.name, baseline.omittedCount, omittedByReason, health.samplePaths, health.sampleTruncated);
549
+ }
550
+ await writeNativeBaselineManifest(options.paths, state.name, baseline);
551
+ await createNativeChangeFile(options.paths, state);
552
+ await writeNativeWorkspaceIdentity({
553
+ paths: options.paths,
554
+ name: state.name,
555
+ revision: state.revision,
556
+ now: options.now,
557
+ });
558
+ return state;
559
+ }
560
+ catch (error) {
561
+ if (createdChangeDir)
562
+ await fs.rm(changeDir, { recursive: true, force: true });
563
+ throw error;
564
+ }
565
+ }
566
+ export const NATIVE_CHANGE_DOCUMENT_MAX_BYTES = 256 * 1024;
567
+ async function readChangeDocumentFile(file, root = path.dirname(file)) {
568
+ const ref = path.relative(root, file).split(path.sep).join('/');
569
+ const source = await readNativeBoundedTextFile({
570
+ root,
571
+ ref,
572
+ maxBytes: NATIVE_CHANGE_DOCUMENT_MAX_BYTES,
573
+ });
574
+ const document = parseDocument(source.text, { uniqueKeys: true });
575
+ if (document.errors.length > 0) {
576
+ throw new Error(`Invalid Native change file ${file}: ${document.errors[0].message}`);
577
+ }
578
+ return document.toJS();
579
+ }
580
+ export async function inspectNativeChange(paths, name) {
581
+ const file = path.join(nativeChangeDir(paths, name), NATIVE_CHANGE_STATE_FILE);
582
+ await resolveContainedNativePath(paths.nativeRoot, file);
583
+ const inspection = inspectNativeChangeValue(await readChangeDocumentFile(file, paths.nativeRoot));
584
+ if (inspection.state && inspection.state.name !== name) {
585
+ throw new Error(`Native change directory/name mismatch: ${name}`);
586
+ }
587
+ if (await hasPendingNativeSchemaMigration(paths, name)) {
588
+ return {
589
+ status: 'migration-required',
590
+ schema: inspection.schema,
591
+ minimumRuntimeVersion: inspection.minimumRuntimeVersion,
592
+ state: inspection.state,
593
+ message: `Native schema migration is incomplete for ${name}; run doctor --repair`,
594
+ };
595
+ }
596
+ return inspection;
597
+ }
598
+ export async function readNativeChange(paths, name) {
599
+ const inspection = await inspectNativeChange(paths, name);
600
+ if (inspection.status === 'migration-required') {
601
+ throw new NativeSchemaMigrationRequiredError(name, inspection.schema);
602
+ }
603
+ if (inspection.status === 'runtime-incompatible' || !inspection.state) {
604
+ throw new NativeRuntimeCompatibilityError(inspection.schema, inspection.minimumRuntimeVersion);
605
+ }
606
+ return inspection.state;
607
+ }
608
+ export async function writeNativeChange(paths, state) {
609
+ return compareAndSwapNativeChange(paths, state, state.revision);
610
+ }
611
+ async function createNativeChangeFile(paths, state) {
612
+ const file = path.join(nativeChangeDir(paths, state.name), NATIVE_CHANGE_STATE_FILE);
613
+ await resolveContainedNativePath(paths.nativeRoot, file);
614
+ try {
615
+ await fs.access(file);
616
+ throw new Error(`Native change state already exists: ${state.name}`);
617
+ }
618
+ catch (error) {
619
+ if (error.code !== 'ENOENT')
620
+ throw error;
621
+ }
622
+ if (state.revision !== 1)
623
+ throw new Error('New Native change must start at revision 1');
624
+ await atomicWriteText(file, stringify(nativeChangeDocument(state)));
625
+ }
626
+ export async function compareAndSwapNativeChangeFile(file, state, expectedRevision) {
627
+ const next = {
628
+ ...state,
629
+ schema: NATIVE_CHANGE_SCHEMA,
630
+ minimum_runtime_version: NATIVE_RUNTIME_PROTOCOL_VERSION,
631
+ revision: expectedRevision + 1,
632
+ };
633
+ const result = await compareAndSwapNativeRevision({
634
+ expectedRevision,
635
+ next,
636
+ read: async () => {
637
+ const current = parseNativeChangeValue(await readChangeDocumentFile(file));
638
+ if (current.name !== state.name) {
639
+ throw new Error(`Native change file/name mismatch: ${state.name}`);
640
+ }
641
+ return current;
642
+ },
643
+ write: (value) => atomicWriteText(file, stringify(nativeChangeDocument(value))),
644
+ equals: (left, right) => JSON.stringify(nativeChangeDocument(left)) === JSON.stringify(nativeChangeDocument(right)),
645
+ conflict: (actualRevision) => new NativeChangeRevisionConflictError(state.name, expectedRevision, actualRevision),
646
+ });
647
+ Object.assign(state, result);
648
+ return result;
649
+ }
650
+ export async function compareAndSwapNativeChangeLocked(paths, state, expectedRevision, options) {
651
+ await assertNoPendingNativeRootMove(paths.projectRoot);
652
+ if (await hasPendingNativeSchemaMigration(paths, state.name)) {
653
+ throw new NativeSchemaMigrationRequiredError(state.name, state.schema);
654
+ }
655
+ if (!options?.allowPendingCheckpointRecovery &&
656
+ (await hasPendingNativeCheckpointRecovery(paths, state.name))) {
657
+ throw new Error(`Native progress checkpoint recovery is required for ${state.name} before another state write`);
658
+ }
659
+ await assertNativeTrajectoryHealthy(paths, state.name);
660
+ const file = path.join(nativeChangeDir(paths, state.name), NATIVE_CHANGE_STATE_FILE);
661
+ await resolveContainedNativePath(paths.nativeRoot, file);
662
+ return compareAndSwapNativeChangeFile(file, state, expectedRevision);
663
+ }
664
+ export async function compareAndSwapNativeChange(paths, state, expectedRevision) {
665
+ return withNativeMutationLock(paths, `write change ${state.name}`, () => compareAndSwapNativeChangeLocked(paths, state, expectedRevision));
666
+ }
667
+ export async function writeNativeChangeFile(file, state) {
668
+ return compareAndSwapNativeChangeFile(file, state, state.revision);
669
+ }
670
+ export async function readNativeChangeFile(file) {
671
+ return parseNativeChangeValue(await readChangeDocumentFile(file));
672
+ }
673
+ export async function listNativeChanges(paths) {
674
+ let entries;
675
+ try {
676
+ const directory = await readNativeProtectedDirectory({
677
+ root: paths.nativeRoot,
678
+ directory: paths.changesDir,
679
+ label: 'Native changes directory',
680
+ maxEntries: 4_096,
681
+ });
682
+ await directory.verify();
683
+ entries = directory.entries;
684
+ }
685
+ catch (error) {
686
+ if (error.code === 'ENOENT')
687
+ return [];
688
+ throw error;
689
+ }
690
+ const names = entries
691
+ .filter((entry) => entry.isDirectory() && !entry.isSymbolicLink())
692
+ .map((entry) => entry.name)
693
+ .sort();
694
+ return Promise.all(names.map((name) => readNativeChange(paths, name)));
695
+ }
696
+ //# sourceMappingURL=native-change.js.map