@rpamis/comet 0.4.0-beta.6 → 0.4.0-beta.8

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 (699) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +209 -74
  3. package/assets/manifest.json +14 -5
  4. package/assets/skills/comet/SKILL.md +17 -282
  5. package/assets/skills/comet/reference/comet-yaml-fields.md +1 -1
  6. package/assets/skills/comet/reference/context-recovery.md +3 -3
  7. package/assets/skills/comet/reference/intent-frame.md +2 -2
  8. package/assets/skills/comet/reference/scripts.md +2 -2
  9. package/assets/skills/comet/rules/comet-workflow-guard.en.md +32 -0
  10. package/assets/skills/comet/rules/comet-workflow-guard.md +32 -0
  11. package/assets/skills/comet/scripts/comet-entry-runtime.mjs +7855 -0
  12. package/assets/skills/comet/scripts/comet-hook-router.mjs +10336 -0
  13. package/assets/skills/comet/scripts/comet-runtime.mjs +615 -501
  14. package/assets/skills/comet-any/SKILL.md +4 -4
  15. package/assets/skills/comet-any/reference/authoring-subagents.md +1 -1
  16. package/assets/skills/comet-any/reference/bundle-authoring.md +1 -1
  17. package/assets/skills/comet-any/reference/subagents/reference-author.md +1 -1
  18. package/assets/skills/comet-any/reference/subagents/script-author.md +1 -1
  19. package/assets/skills/comet-any/reference/subagents/skill-core-author.md +1 -1
  20. package/assets/skills/comet-any/reference/subagents/skill-reviewer.md +2 -2
  21. package/assets/skills/comet-any/reference/subagents/workflow-entry-author.md +3 -3
  22. package/assets/skills/comet-archive/SKILL.md +1 -2
  23. package/assets/skills/comet-build/SKILL.md +1 -1
  24. package/assets/skills/comet-classic/SKILL.md +293 -0
  25. package/assets/skills/comet-design/SKILL.md +1 -1
  26. package/assets/skills/comet-hotfix/SKILL.md +4 -4
  27. package/assets/skills/comet-native/SKILL.md +257 -0
  28. package/assets/skills/comet-native/reference/artifacts.md +204 -0
  29. package/assets/skills/comet-native/reference/commands.md +118 -0
  30. package/assets/skills/comet-native/reference/recovery.md +143 -0
  31. package/assets/skills/comet-native/scripts/comet-native-hook-guard.mjs +4 -0
  32. package/assets/skills/comet-native/scripts/comet-native-runtime.mjs +28969 -0
  33. package/assets/skills/comet-open/SKILL.md +4 -4
  34. package/assets/skills/comet-tweak/SKILL.md +7 -7
  35. package/assets/skills-zh/comet/SKILL.md +17 -270
  36. package/assets/skills-zh/comet/reference/comet-yaml-fields.md +1 -1
  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 +1 -2
  49. package/assets/skills-zh/comet-build/SKILL.md +1 -1
  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 +4 -4
  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 +7 -7
  59. package/dist/app/cli/index.js +59 -13
  60. package/dist/app/cli/index.js.map +1 -1
  61. package/dist/app/commands/command-result.d.ts +6 -0
  62. package/dist/app/commands/command-result.d.ts.map +1 -0
  63. package/dist/app/commands/command-result.js +4 -0
  64. package/dist/app/commands/command-result.js.map +1 -0
  65. package/dist/app/commands/doctor.d.ts +1 -0
  66. package/dist/app/commands/doctor.d.ts.map +1 -1
  67. package/dist/app/commands/doctor.js +201 -26
  68. package/dist/app/commands/doctor.js.map +1 -1
  69. package/dist/app/commands/eval.d.ts +3 -1
  70. package/dist/app/commands/eval.d.ts.map +1 -1
  71. package/dist/app/commands/eval.js +17 -7
  72. package/dist/app/commands/eval.js.map +1 -1
  73. package/dist/app/commands/i18n.d.ts +1 -1
  74. package/dist/app/commands/i18n.d.ts.map +1 -1
  75. package/dist/app/commands/i18n.js +6 -2
  76. package/dist/app/commands/i18n.js.map +1 -1
  77. package/dist/app/commands/init.d.ts +10 -2
  78. package/dist/app/commands/init.d.ts.map +1 -1
  79. package/dist/app/commands/init.js +331 -50
  80. package/dist/app/commands/init.js.map +1 -1
  81. package/dist/app/commands/native.d.ts +2 -0
  82. package/dist/app/commands/native.d.ts.map +1 -0
  83. package/dist/app/commands/native.js +10 -0
  84. package/dist/app/commands/native.js.map +1 -0
  85. package/dist/app/commands/project-scope-selection.d.ts.map +1 -1
  86. package/dist/app/commands/project-scope-selection.js +2 -0
  87. package/dist/app/commands/project-scope-selection.js.map +1 -1
  88. package/dist/app/commands/resume-probe.d.ts.map +1 -1
  89. package/dist/app/commands/resume-probe.js +8 -2
  90. package/dist/app/commands/resume-probe.js.map +1 -1
  91. package/dist/app/commands/status.d.ts +0 -32
  92. package/dist/app/commands/status.d.ts.map +1 -1
  93. package/dist/app/commands/status.js +44 -177
  94. package/dist/app/commands/status.js.map +1 -1
  95. package/dist/app/commands/update.d.ts +20 -4
  96. package/dist/app/commands/update.d.ts.map +1 -1
  97. package/dist/app/commands/update.js +698 -90
  98. package/dist/app/commands/update.js.map +1 -1
  99. package/dist/app/commands/workflow.d.ts +6 -0
  100. package/dist/app/commands/workflow.d.ts.map +1 -0
  101. package/dist/app/commands/workflow.js +11 -0
  102. package/dist/app/commands/workflow.js.map +1 -0
  103. package/dist/config/repository-layout.json +21 -1
  104. package/dist/domains/bundle/bundle-platform.d.ts.map +1 -1
  105. package/dist/domains/bundle/bundle-platform.js +1 -1
  106. package/dist/domains/bundle/bundle-platform.js.map +1 -1
  107. package/dist/domains/comet-classic/classic-archive.d.ts.map +1 -1
  108. package/dist/domains/comet-classic/classic-archive.js +3 -0
  109. package/dist/domains/comet-classic/classic-archive.js.map +1 -1
  110. package/dist/domains/comet-classic/classic-current-change.d.ts +3 -5
  111. package/dist/domains/comet-classic/classic-current-change.d.ts.map +1 -1
  112. package/dist/domains/comet-classic/classic-current-change.js +31 -57
  113. package/dist/domains/comet-classic/classic-current-change.js.map +1 -1
  114. package/dist/domains/comet-classic/classic-guard.d.ts.map +1 -1
  115. package/dist/domains/comet-classic/classic-guard.js +3 -2
  116. package/dist/domains/comet-classic/classic-guard.js.map +1 -1
  117. package/dist/domains/comet-classic/classic-hook-guard.d.ts +9 -0
  118. package/dist/domains/comet-classic/classic-hook-guard.d.ts.map +1 -1
  119. package/dist/domains/comet-classic/classic-hook-guard.js +84 -11
  120. package/dist/domains/comet-classic/classic-hook-guard.js.map +1 -1
  121. package/dist/domains/comet-classic/classic-project-config.d.ts.map +1 -1
  122. package/dist/domains/comet-classic/classic-project-config.js +12 -8
  123. package/dist/domains/comet-classic/classic-project-config.js.map +1 -1
  124. package/dist/domains/comet-classic/classic-runtime-run.d.ts.map +1 -1
  125. package/dist/domains/comet-classic/classic-runtime-run.js +9 -1
  126. package/dist/domains/comet-classic/classic-runtime-run.js.map +1 -1
  127. package/dist/domains/comet-entry/current-selection-repair.d.ts +17 -0
  128. package/dist/domains/comet-entry/current-selection-repair.d.ts.map +1 -0
  129. package/dist/domains/comet-entry/current-selection-repair.js +19 -0
  130. package/dist/domains/comet-entry/current-selection-repair.js.map +1 -0
  131. package/dist/domains/comet-entry/current-selection.d.ts +28 -0
  132. package/dist/domains/comet-entry/current-selection.d.ts.map +1 -0
  133. package/dist/domains/comet-entry/current-selection.js +116 -0
  134. package/dist/domains/comet-entry/current-selection.js.map +1 -0
  135. package/dist/domains/comet-entry/entry-runtime-entry.d.ts +2 -0
  136. package/dist/domains/comet-entry/entry-runtime-entry.d.ts.map +1 -0
  137. package/dist/domains/comet-entry/entry-runtime-entry.js +3 -0
  138. package/dist/domains/comet-entry/entry-runtime-entry.js.map +1 -0
  139. package/dist/domains/comet-entry/entry-runtime.d.ts +7 -0
  140. package/dist/domains/comet-entry/entry-runtime.d.ts.map +1 -0
  141. package/dist/domains/comet-entry/entry-runtime.js +55 -0
  142. package/dist/domains/comet-entry/entry-runtime.js.map +1 -0
  143. package/dist/domains/comet-entry/hook-adapter.d.ts +6 -0
  144. package/dist/domains/comet-entry/hook-adapter.d.ts.map +1 -0
  145. package/dist/domains/comet-entry/hook-adapter.js +202 -0
  146. package/dist/domains/comet-entry/hook-adapter.js.map +1 -0
  147. package/dist/domains/comet-entry/hook-router-entry.d.ts +8 -0
  148. package/dist/domains/comet-entry/hook-router-entry.d.ts.map +1 -0
  149. package/dist/domains/comet-entry/hook-router-entry.js +92 -0
  150. package/dist/domains/comet-entry/hook-router-entry.js.map +1 -0
  151. package/dist/domains/comet-entry/hook-router.d.ts +32 -0
  152. package/dist/domains/comet-entry/hook-router.d.ts.map +1 -0
  153. package/dist/domains/comet-entry/hook-router.js +133 -0
  154. package/dist/domains/comet-entry/hook-router.js.map +1 -0
  155. package/dist/domains/comet-entry/hook-types.d.ts +20 -0
  156. package/dist/domains/comet-entry/hook-types.d.ts.map +1 -0
  157. package/dist/domains/comet-entry/hook-types.js +2 -0
  158. package/dist/domains/comet-entry/hook-types.js.map +1 -0
  159. package/dist/domains/comet-entry/init-workflow.d.ts +16 -0
  160. package/dist/domains/comet-entry/init-workflow.d.ts.map +1 -0
  161. package/dist/domains/comet-entry/init-workflow.js +103 -0
  162. package/dist/domains/comet-entry/init-workflow.js.map +1 -0
  163. package/dist/domains/comet-entry/project-status.d.ts +3 -0
  164. package/dist/domains/comet-entry/project-status.d.ts.map +1 -0
  165. package/dist/domains/comet-entry/project-status.js +222 -0
  166. package/dist/domains/comet-entry/project-status.js.map +1 -0
  167. package/dist/domains/comet-entry/resolve-entry.d.ts +3 -0
  168. package/dist/domains/comet-entry/resolve-entry.d.ts.map +1 -0
  169. package/dist/domains/comet-entry/resolve-entry.js +22 -0
  170. package/dist/domains/comet-entry/resolve-entry.js.map +1 -0
  171. package/dist/domains/comet-entry/resume-probe.d.ts +34 -0
  172. package/dist/domains/comet-entry/resume-probe.d.ts.map +1 -0
  173. package/dist/domains/comet-entry/resume-probe.js +458 -0
  174. package/dist/domains/comet-entry/resume-probe.js.map +1 -0
  175. package/dist/domains/comet-entry/types.d.ts +59 -0
  176. package/dist/domains/comet-entry/types.d.ts.map +1 -0
  177. package/dist/domains/comet-entry/types.js +2 -0
  178. package/dist/domains/comet-entry/types.js.map +1 -0
  179. package/dist/domains/comet-entry/workflow-resolution.d.ts +8 -0
  180. package/dist/domains/comet-entry/workflow-resolution.d.ts.map +1 -0
  181. package/dist/domains/comet-entry/workflow-resolution.js +16 -0
  182. package/dist/domains/comet-entry/workflow-resolution.js.map +1 -0
  183. package/dist/domains/comet-native/index.d.ts +35 -0
  184. package/dist/domains/comet-native/index.d.ts.map +1 -0
  185. package/dist/domains/comet-native/index.js +35 -0
  186. package/dist/domains/comet-native/index.js.map +1 -0
  187. package/dist/domains/comet-native/native-acceptance.d.ts +42 -0
  188. package/dist/domains/comet-native/native-acceptance.d.ts.map +1 -0
  189. package/dist/domains/comet-native/native-acceptance.js +503 -0
  190. package/dist/domains/comet-native/native-acceptance.js.map +1 -0
  191. package/dist/domains/comet-native/native-archive-content.d.ts +26 -0
  192. package/dist/domains/comet-native/native-archive-content.d.ts.map +1 -0
  193. package/dist/domains/comet-native/native-archive-content.js +159 -0
  194. package/dist/domains/comet-native/native-archive-content.js.map +1 -0
  195. package/dist/domains/comet-native/native-archive-inspection.d.ts +9 -0
  196. package/dist/domains/comet-native/native-archive-inspection.d.ts.map +1 -0
  197. package/dist/domains/comet-native/native-archive-inspection.js +94 -0
  198. package/dist/domains/comet-native/native-archive-inspection.js.map +1 -0
  199. package/dist/domains/comet-native/native-archive-preflight.d.ts +52 -0
  200. package/dist/domains/comet-native/native-archive-preflight.d.ts.map +1 -0
  201. package/dist/domains/comet-native/native-archive-preflight.js +214 -0
  202. package/dist/domains/comet-native/native-archive-preflight.js.map +1 -0
  203. package/dist/domains/comet-native/native-archive-transaction.d.ts +19 -0
  204. package/dist/domains/comet-native/native-archive-transaction.d.ts.map +1 -0
  205. package/dist/domains/comet-native/native-archive-transaction.js +1180 -0
  206. package/dist/domains/comet-native/native-archive-transaction.js.map +1 -0
  207. package/dist/domains/comet-native/native-archive.d.ts +36 -0
  208. package/dist/domains/comet-native/native-archive.d.ts.map +1 -0
  209. package/dist/domains/comet-native/native-archive.js +403 -0
  210. package/dist/domains/comet-native/native-archive.js.map +1 -0
  211. package/dist/domains/comet-native/native-artifacts.d.ts +10 -0
  212. package/dist/domains/comet-native/native-artifacts.d.ts.map +1 -0
  213. package/dist/domains/comet-native/native-artifacts.js +204 -0
  214. package/dist/domains/comet-native/native-artifacts.js.map +1 -0
  215. package/dist/domains/comet-native/native-atomic-file.d.ts +10 -0
  216. package/dist/domains/comet-native/native-atomic-file.d.ts.map +1 -0
  217. package/dist/domains/comet-native/native-atomic-file.js +179 -0
  218. package/dist/domains/comet-native/native-atomic-file.js.map +1 -0
  219. package/dist/domains/comet-native/native-bounded-file.d.ts +19 -0
  220. package/dist/domains/comet-native/native-bounded-file.d.ts.map +1 -0
  221. package/dist/domains/comet-native/native-bounded-file.js +184 -0
  222. package/dist/domains/comet-native/native-bounded-file.js.map +1 -0
  223. package/dist/domains/comet-native/native-build-evidence.d.ts +42 -0
  224. package/dist/domains/comet-native/native-build-evidence.d.ts.map +1 -0
  225. package/dist/domains/comet-native/native-build-evidence.js +257 -0
  226. package/dist/domains/comet-native/native-build-evidence.js.map +1 -0
  227. package/dist/domains/comet-native/native-canonical-hash.d.ts +10 -0
  228. package/dist/domains/comet-native/native-canonical-hash.d.ts.map +1 -0
  229. package/dist/domains/comet-native/native-canonical-hash.js +100 -0
  230. package/dist/domains/comet-native/native-canonical-hash.js.map +1 -0
  231. package/dist/domains/comet-native/native-change-recovery.d.ts +11 -0
  232. package/dist/domains/comet-native/native-change-recovery.d.ts.map +1 -0
  233. package/dist/domains/comet-native/native-change-recovery.js +15 -0
  234. package/dist/domains/comet-native/native-change-recovery.js.map +1 -0
  235. package/dist/domains/comet-native/native-change.d.ts +61 -0
  236. package/dist/domains/comet-native/native-change.d.ts.map +1 -0
  237. package/dist/domains/comet-native/native-change.js +696 -0
  238. package/dist/domains/comet-native/native-change.js.map +1 -0
  239. package/dist/domains/comet-native/native-check-receipt-model.d.ts +63 -0
  240. package/dist/domains/comet-native/native-check-receipt-model.d.ts.map +1 -0
  241. package/dist/domains/comet-native/native-check-receipt-model.js +347 -0
  242. package/dist/domains/comet-native/native-check-receipt-model.js.map +1 -0
  243. package/dist/domains/comet-native/native-check-receipt-storage.d.ts +10 -0
  244. package/dist/domains/comet-native/native-check-receipt-storage.d.ts.map +1 -0
  245. package/dist/domains/comet-native/native-check-receipt-storage.js +200 -0
  246. package/dist/domains/comet-native/native-check-receipt-storage.js.map +1 -0
  247. package/dist/domains/comet-native/native-check-receipt.d.ts +19 -0
  248. package/dist/domains/comet-native/native-check-receipt.d.ts.map +1 -0
  249. package/dist/domains/comet-native/native-check-receipt.js +449 -0
  250. package/dist/domains/comet-native/native-check-receipt.js.map +1 -0
  251. package/dist/domains/comet-native/native-check.d.ts +18 -0
  252. package/dist/domains/comet-native/native-check.d.ts.map +1 -0
  253. package/dist/domains/comet-native/native-check.js +29 -0
  254. package/dist/domains/comet-native/native-check.js.map +1 -0
  255. package/dist/domains/comet-native/native-checkpoint-journal.d.ts +13 -0
  256. package/dist/domains/comet-native/native-checkpoint-journal.d.ts.map +1 -0
  257. package/dist/domains/comet-native/native-checkpoint-journal.js +53 -0
  258. package/dist/domains/comet-native/native-checkpoint-journal.js.map +1 -0
  259. package/dist/domains/comet-native/native-checkpoint-storage.d.ts +43 -0
  260. package/dist/domains/comet-native/native-checkpoint-storage.d.ts.map +1 -0
  261. package/dist/domains/comet-native/native-checkpoint-storage.js +487 -0
  262. package/dist/domains/comet-native/native-checkpoint-storage.js.map +1 -0
  263. package/dist/domains/comet-native/native-cli-entry.d.ts +2 -0
  264. package/dist/domains/comet-native/native-cli-entry.d.ts.map +1 -0
  265. package/dist/domains/comet-native/native-cli-entry.js +18 -0
  266. package/dist/domains/comet-native/native-cli-entry.js.map +1 -0
  267. package/dist/domains/comet-native/native-cli.d.ts +7 -0
  268. package/dist/domains/comet-native/native-cli.d.ts.map +1 -0
  269. package/dist/domains/comet-native/native-cli.js +642 -0
  270. package/dist/domains/comet-native/native-cli.js.map +1 -0
  271. package/dist/domains/comet-native/native-config.d.ts +15 -0
  272. package/dist/domains/comet-native/native-config.d.ts.map +1 -0
  273. package/dist/domains/comet-native/native-config.js +281 -0
  274. package/dist/domains/comet-native/native-config.js.map +1 -0
  275. package/dist/domains/comet-native/native-conflict-inspection.d.ts +17 -0
  276. package/dist/domains/comet-native/native-conflict-inspection.d.ts.map +1 -0
  277. package/dist/domains/comet-native/native-conflict-inspection.js +90 -0
  278. package/dist/domains/comet-native/native-conflict-inspection.js.map +1 -0
  279. package/dist/domains/comet-native/native-conflict-radar.d.ts +75 -0
  280. package/dist/domains/comet-native/native-conflict-radar.d.ts.map +1 -0
  281. package/dist/domains/comet-native/native-conflict-radar.js +326 -0
  282. package/dist/domains/comet-native/native-conflict-radar.js.map +1 -0
  283. package/dist/domains/comet-native/native-continuation.d.ts +9 -0
  284. package/dist/domains/comet-native/native-continuation.d.ts.map +1 -0
  285. package/dist/domains/comet-native/native-continuation.js +146 -0
  286. package/dist/domains/comet-native/native-continuation.js.map +1 -0
  287. package/dist/domains/comet-native/native-contract-files.d.ts +24 -0
  288. package/dist/domains/comet-native/native-contract-files.d.ts.map +1 -0
  289. package/dist/domains/comet-native/native-contract-files.js +66 -0
  290. package/dist/domains/comet-native/native-contract-files.js.map +1 -0
  291. package/dist/domains/comet-native/native-contract.d.ts +41 -0
  292. package/dist/domains/comet-native/native-contract.d.ts.map +1 -0
  293. package/dist/domains/comet-native/native-contract.js +141 -0
  294. package/dist/domains/comet-native/native-contract.js.map +1 -0
  295. package/dist/domains/comet-native/native-diagnostics.d.ts +18 -0
  296. package/dist/domains/comet-native/native-diagnostics.d.ts.map +1 -0
  297. package/dist/domains/comet-native/native-diagnostics.js +522 -0
  298. package/dist/domains/comet-native/native-diagnostics.js.map +1 -0
  299. package/dist/domains/comet-native/native-doctor.d.ts +12 -0
  300. package/dist/domains/comet-native/native-doctor.d.ts.map +1 -0
  301. package/dist/domains/comet-native/native-doctor.js +768 -0
  302. package/dist/domains/comet-native/native-doctor.js.map +1 -0
  303. package/dist/domains/comet-native/native-evidence-retention.d.ts +37 -0
  304. package/dist/domains/comet-native/native-evidence-retention.d.ts.map +1 -0
  305. package/dist/domains/comet-native/native-evidence-retention.js +887 -0
  306. package/dist/domains/comet-native/native-evidence-retention.js.map +1 -0
  307. package/dist/domains/comet-native/native-evidence-storage.d.ts +41 -0
  308. package/dist/domains/comet-native/native-evidence-storage.d.ts.map +1 -0
  309. package/dist/domains/comet-native/native-evidence-storage.js +355 -0
  310. package/dist/domains/comet-native/native-evidence-storage.js.map +1 -0
  311. package/dist/domains/comet-native/native-file-identity.d.ts +9 -0
  312. package/dist/domains/comet-native/native-file-identity.d.ts.map +1 -0
  313. package/dist/domains/comet-native/native-file-identity.js +21 -0
  314. package/dist/domains/comet-native/native-file-identity.js.map +1 -0
  315. package/dist/domains/comet-native/native-findings.d.ts +8 -0
  316. package/dist/domains/comet-native/native-findings.d.ts.map +1 -0
  317. package/dist/domains/comet-native/native-findings.js +238 -0
  318. package/dist/domains/comet-native/native-findings.js.map +1 -0
  319. package/dist/domains/comet-native/native-guards.d.ts +7 -0
  320. package/dist/domains/comet-native/native-guards.d.ts.map +1 -0
  321. package/dist/domains/comet-native/native-guards.js +126 -0
  322. package/dist/domains/comet-native/native-guards.js.map +1 -0
  323. package/dist/domains/comet-native/native-hash.d.ts +3 -0
  324. package/dist/domains/comet-native/native-hash.d.ts.map +1 -0
  325. package/dist/domains/comet-native/native-hash.js +12 -0
  326. package/dist/domains/comet-native/native-hash.js.map +1 -0
  327. package/dist/domains/comet-native/native-hook-guard.d.ts +17 -0
  328. package/dist/domains/comet-native/native-hook-guard.d.ts.map +1 -0
  329. package/dist/domains/comet-native/native-hook-guard.js +154 -0
  330. package/dist/domains/comet-native/native-hook-guard.js.map +1 -0
  331. package/dist/domains/comet-native/native-lock.d.ts +47 -0
  332. package/dist/domains/comet-native/native-lock.d.ts.map +1 -0
  333. package/dist/domains/comet-native/native-lock.js +398 -0
  334. package/dist/domains/comet-native/native-lock.js.map +1 -0
  335. package/dist/domains/comet-native/native-mutation-lock.d.ts +5 -0
  336. package/dist/domains/comet-native/native-mutation-lock.d.ts.map +1 -0
  337. package/dist/domains/comet-native/native-mutation-lock.js +66 -0
  338. package/dist/domains/comet-native/native-mutation-lock.js.map +1 -0
  339. package/dist/domains/comet-native/native-paths.d.ts +10 -0
  340. package/dist/domains/comet-native/native-paths.d.ts.map +1 -0
  341. package/dist/domains/comet-native/native-paths.js +171 -0
  342. package/dist/domains/comet-native/native-paths.js.map +1 -0
  343. package/dist/domains/comet-native/native-progress-checkpoint.d.ts +13 -0
  344. package/dist/domains/comet-native/native-progress-checkpoint.d.ts.map +1 -0
  345. package/dist/domains/comet-native/native-progress-checkpoint.js +104 -0
  346. package/dist/domains/comet-native/native-progress-checkpoint.js.map +1 -0
  347. package/dist/domains/comet-native/native-protected-file.d.ts +113 -0
  348. package/dist/domains/comet-native/native-protected-file.d.ts.map +1 -0
  349. package/dist/domains/comet-native/native-protected-file.js +510 -0
  350. package/dist/domains/comet-native/native-protected-file.js.map +1 -0
  351. package/dist/domains/comet-native/native-redaction.d.ts +2 -0
  352. package/dist/domains/comet-native/native-redaction.d.ts.map +1 -0
  353. package/dist/domains/comet-native/native-redaction.js +18 -0
  354. package/dist/domains/comet-native/native-redaction.js.map +1 -0
  355. package/dist/domains/comet-native/native-repair-integration.d.ts +42 -0
  356. package/dist/domains/comet-native/native-repair-integration.d.ts.map +1 -0
  357. package/dist/domains/comet-native/native-repair-integration.js +184 -0
  358. package/dist/domains/comet-native/native-repair-integration.js.map +1 -0
  359. package/dist/domains/comet-native/native-repair-runtime.d.ts +73 -0
  360. package/dist/domains/comet-native/native-repair-runtime.d.ts.map +1 -0
  361. package/dist/domains/comet-native/native-repair-runtime.js +509 -0
  362. package/dist/domains/comet-native/native-repair-runtime.js.map +1 -0
  363. package/dist/domains/comet-native/native-repair-stagnation.d.ts +85 -0
  364. package/dist/domains/comet-native/native-repair-stagnation.d.ts.map +1 -0
  365. package/dist/domains/comet-native/native-repair-stagnation.js +256 -0
  366. package/dist/domains/comet-native/native-repair-stagnation.js.map +1 -0
  367. package/dist/domains/comet-native/native-resume-view.d.ts +14 -0
  368. package/dist/domains/comet-native/native-resume-view.d.ts.map +1 -0
  369. package/dist/domains/comet-native/native-resume-view.js +105 -0
  370. package/dist/domains/comet-native/native-resume-view.js.map +1 -0
  371. package/dist/domains/comet-native/native-revision.d.ts +20 -0
  372. package/dist/domains/comet-native/native-revision.d.ts.map +1 -0
  373. package/dist/domains/comet-native/native-revision.js +32 -0
  374. package/dist/domains/comet-native/native-revision.js.map +1 -0
  375. package/dist/domains/comet-native/native-root-move.d.ts +20 -0
  376. package/dist/domains/comet-native/native-root-move.d.ts.map +1 -0
  377. package/dist/domains/comet-native/native-root-move.js +812 -0
  378. package/dist/domains/comet-native/native-root-move.js.map +1 -0
  379. package/dist/domains/comet-native/native-run-consistency.d.ts +3 -0
  380. package/dist/domains/comet-native/native-run-consistency.d.ts.map +1 -0
  381. package/dist/domains/comet-native/native-run-consistency.js +136 -0
  382. package/dist/domains/comet-native/native-run-consistency.js.map +1 -0
  383. package/dist/domains/comet-native/native-run-store.d.ts +41 -0
  384. package/dist/domains/comet-native/native-run-store.d.ts.map +1 -0
  385. package/dist/domains/comet-native/native-run-store.js +452 -0
  386. package/dist/domains/comet-native/native-run-store.js.map +1 -0
  387. package/dist/domains/comet-native/native-runtime-package.d.ts +16 -0
  388. package/dist/domains/comet-native/native-runtime-package.d.ts.map +1 -0
  389. package/dist/domains/comet-native/native-runtime-package.js +72 -0
  390. package/dist/domains/comet-native/native-runtime-package.js.map +1 -0
  391. package/dist/domains/comet-native/native-schema-migration.d.ts +11 -0
  392. package/dist/domains/comet-native/native-schema-migration.d.ts.map +1 -0
  393. package/dist/domains/comet-native/native-schema-migration.js +899 -0
  394. package/dist/domains/comet-native/native-schema-migration.js.map +1 -0
  395. package/dist/domains/comet-native/native-selection.d.ts +12 -0
  396. package/dist/domains/comet-native/native-selection.d.ts.map +1 -0
  397. package/dist/domains/comet-native/native-selection.js +52 -0
  398. package/dist/domains/comet-native/native-selection.js.map +1 -0
  399. package/dist/domains/comet-native/native-sensitive-paths.d.ts +7 -0
  400. package/dist/domains/comet-native/native-sensitive-paths.d.ts.map +1 -0
  401. package/dist/domains/comet-native/native-sensitive-paths.js +69 -0
  402. package/dist/domains/comet-native/native-sensitive-paths.js.map +1 -0
  403. package/dist/domains/comet-native/native-snapshot.d.ts +74 -0
  404. package/dist/domains/comet-native/native-snapshot.d.ts.map +1 -0
  405. package/dist/domains/comet-native/native-snapshot.js +2312 -0
  406. package/dist/domains/comet-native/native-snapshot.js.map +1 -0
  407. package/dist/domains/comet-native/native-specs.d.ts +12 -0
  408. package/dist/domains/comet-native/native-specs.d.ts.map +1 -0
  409. package/dist/domains/comet-native/native-specs.js +270 -0
  410. package/dist/domains/comet-native/native-specs.js.map +1 -0
  411. package/dist/domains/comet-native/native-trajectory-limits.d.ts +7 -0
  412. package/dist/domains/comet-native/native-trajectory-limits.d.ts.map +1 -0
  413. package/dist/domains/comet-native/native-trajectory-limits.js +13 -0
  414. package/dist/domains/comet-native/native-trajectory-limits.js.map +1 -0
  415. package/dist/domains/comet-native/native-trajectory-recovery.d.ts +37 -0
  416. package/dist/domains/comet-native/native-trajectory-recovery.d.ts.map +1 -0
  417. package/dist/domains/comet-native/native-trajectory-recovery.js +133 -0
  418. package/dist/domains/comet-native/native-trajectory-recovery.js.map +1 -0
  419. package/dist/domains/comet-native/native-trajectory.d.ts +16 -0
  420. package/dist/domains/comet-native/native-trajectory.d.ts.map +1 -0
  421. package/dist/domains/comet-native/native-trajectory.js +27 -0
  422. package/dist/domains/comet-native/native-trajectory.js.map +1 -0
  423. package/dist/domains/comet-native/native-transaction.d.ts +45 -0
  424. package/dist/domains/comet-native/native-transaction.d.ts.map +1 -0
  425. package/dist/domains/comet-native/native-transaction.js +846 -0
  426. package/dist/domains/comet-native/native-transaction.js.map +1 -0
  427. package/dist/domains/comet-native/native-transition-evidence.d.ts +4 -0
  428. package/dist/domains/comet-native/native-transition-evidence.d.ts.map +1 -0
  429. package/dist/domains/comet-native/native-transition-evidence.js +20 -0
  430. package/dist/domains/comet-native/native-transition-evidence.js.map +1 -0
  431. package/dist/domains/comet-native/native-transition-journal.d.ts +30 -0
  432. package/dist/domains/comet-native/native-transition-journal.d.ts.map +1 -0
  433. package/dist/domains/comet-native/native-transition-journal.js +819 -0
  434. package/dist/domains/comet-native/native-transition-journal.js.map +1 -0
  435. package/dist/domains/comet-native/native-transitions.d.ts +13 -0
  436. package/dist/domains/comet-native/native-transitions.d.ts.map +1 -0
  437. package/dist/domains/comet-native/native-transitions.js +632 -0
  438. package/dist/domains/comet-native/native-transitions.js.map +1 -0
  439. package/dist/domains/comet-native/native-types.d.ts +547 -0
  440. package/dist/domains/comet-native/native-types.d.ts.map +1 -0
  441. package/dist/domains/comet-native/native-types.js +8 -0
  442. package/dist/domains/comet-native/native-types.js.map +1 -0
  443. package/dist/domains/comet-native/native-verification-evidence.d.ts +86 -0
  444. package/dist/domains/comet-native/native-verification-evidence.d.ts.map +1 -0
  445. package/dist/domains/comet-native/native-verification-evidence.js +480 -0
  446. package/dist/domains/comet-native/native-verification-evidence.js.map +1 -0
  447. package/dist/domains/comet-native/native-verification-runtime.d.ts +58 -0
  448. package/dist/domains/comet-native/native-verification-runtime.d.ts.map +1 -0
  449. package/dist/domains/comet-native/native-verification-runtime.js +321 -0
  450. package/dist/domains/comet-native/native-verification-runtime.js.map +1 -0
  451. package/dist/domains/comet-native/native-verification-scope.d.ts +117 -0
  452. package/dist/domains/comet-native/native-verification-scope.d.ts.map +1 -0
  453. package/dist/domains/comet-native/native-verification-scope.js +1040 -0
  454. package/dist/domains/comet-native/native-verification-scope.js.map +1 -0
  455. package/dist/domains/comet-native/native-workspace.d.ts +46 -0
  456. package/dist/domains/comet-native/native-workspace.d.ts.map +1 -0
  457. package/dist/domains/comet-native/native-workspace.js +276 -0
  458. package/dist/domains/comet-native/native-workspace.js.map +1 -0
  459. package/dist/domains/dashboard/collector.d.ts.map +1 -1
  460. package/dist/domains/dashboard/collector.js +9 -1
  461. package/dist/domains/dashboard/collector.js.map +1 -1
  462. package/dist/domains/dashboard/native-adapter.d.ts +157 -0
  463. package/dist/domains/dashboard/native-adapter.d.ts.map +1 -0
  464. package/dist/domains/dashboard/native-adapter.js +302 -0
  465. package/dist/domains/dashboard/native-adapter.js.map +1 -0
  466. package/dist/domains/dashboard/native-collector.d.ts +6 -0
  467. package/dist/domains/dashboard/native-collector.d.ts.map +1 -0
  468. package/dist/domains/dashboard/native-collector.js +285 -0
  469. package/dist/domains/dashboard/native-collector.js.map +1 -0
  470. package/dist/domains/dashboard/types.d.ts +5 -0
  471. package/dist/domains/dashboard/types.d.ts.map +1 -1
  472. package/dist/domains/dashboard/web/assets/{arc-TGVUG2WN.js → arc-CxdiLJ50.js} +1 -1
  473. package/dist/domains/dashboard/web/assets/{architectureDiagram-3BPJPVTR-ASHmiHoP.js → architectureDiagram-3BPJPVTR-D5YCQu4e.js} +1 -1
  474. package/dist/domains/dashboard/web/assets/{blockDiagram-GPEHLZMM-CwASxBKe.js → blockDiagram-GPEHLZMM-8NfdCOQ8.js} +1 -1
  475. package/dist/domains/dashboard/web/assets/{c4Diagram-AAUBKEIU-BU8z_WNk.js → c4Diagram-AAUBKEIU-B3cFnNT7.js} +1 -1
  476. package/dist/domains/dashboard/web/assets/channel-B6AFly29.js +1 -0
  477. package/dist/domains/dashboard/web/assets/{chunk-2J33WTMH-CBGlUx4_.js → chunk-2J33WTMH-CBNfW-Dr.js} +1 -1
  478. package/dist/domains/dashboard/web/assets/{chunk-4BX2VUAB-CS-iGcFz.js → chunk-4BX2VUAB-vWyemRBr.js} +1 -1
  479. package/dist/domains/dashboard/web/assets/{chunk-55IACEB6-BUtCVJat.js → chunk-55IACEB6-H6haOo2C.js} +1 -1
  480. package/dist/domains/dashboard/web/assets/{chunk-727SXJPM-C94tj_pf.js → chunk-727SXJPM-D02UjGND.js} +1 -1
  481. package/dist/domains/dashboard/web/assets/{chunk-AQP2D5EJ-BFOKcpdG.js → chunk-AQP2D5EJ-wKsbOw_T.js} +1 -1
  482. package/dist/domains/dashboard/web/assets/{chunk-FMBD7UC4-Dmx8B-st.js → chunk-FMBD7UC4-eYFEZimP.js} +1 -1
  483. package/dist/domains/dashboard/web/assets/{chunk-ND2GUHAM-DYV00CNn.js → chunk-ND2GUHAM-fMaIDDI2.js} +1 -1
  484. package/dist/domains/dashboard/web/assets/{chunk-QZHKN3VN-DMJJyQnw.js → chunk-QZHKN3VN-C9rhF6Hm.js} +1 -1
  485. package/dist/domains/dashboard/web/assets/classDiagram-4FO5ZUOK-BcnrxOTt.js +1 -0
  486. package/dist/domains/dashboard/web/assets/classDiagram-v2-Q7XG4LA2-BcnrxOTt.js +1 -0
  487. package/dist/domains/dashboard/web/assets/{cose-bilkent-S5V4N54A-P4nE2rea.js → cose-bilkent-S5V4N54A-CbaShPub.js} +1 -1
  488. package/dist/domains/dashboard/web/assets/{cynefin-VYW2F7L2-C-R1HXDv.js → cynefin-VYW2F7L2-DN4emAQv.js} +1 -1
  489. package/dist/domains/dashboard/web/assets/{dagre-BM42HDAG-BH8d-C9z.js → dagre-BM42HDAG-BpSzbk_V.js} +1 -1
  490. package/dist/domains/dashboard/web/assets/demo-BuVau32v.js +25 -0
  491. package/dist/domains/dashboard/web/assets/{diagram-2AECGRRQ-DpXTgQIH.js → diagram-2AECGRRQ-CfXwGGpQ.js} +1 -1
  492. package/dist/domains/dashboard/web/assets/{diagram-5GNKFQAL-DSiFJzSw.js → diagram-5GNKFQAL-DMp0Zmot.js} +1 -1
  493. package/dist/domains/dashboard/web/assets/{diagram-KO2AKTUF-DULMkben.js → diagram-KO2AKTUF-C7ZvofsM.js} +1 -1
  494. package/dist/domains/dashboard/web/assets/{diagram-LMA3HP47-Pi8m_NO9.js → diagram-LMA3HP47-BjmxFnap.js} +1 -1
  495. package/dist/domains/dashboard/web/assets/{diagram-OG6HWLK6-BSe6bCWm.js → diagram-OG6HWLK6-DFBG1Iqy.js} +1 -1
  496. package/dist/domains/dashboard/web/assets/{erDiagram-TEJ5UH35-zb-FEcbq.js → erDiagram-TEJ5UH35-MpNT7dzt.js} +1 -1
  497. package/dist/domains/dashboard/web/assets/{flowDiagram-I6XJVG4X-Dr-Gk0z2.js → flowDiagram-I6XJVG4X-_1wAR6c1.js} +1 -1
  498. package/dist/domains/dashboard/web/assets/{ganttDiagram-6RSMTGT7-qs6Zb2A6.js → ganttDiagram-6RSMTGT7-DJKjDeWl.js} +1 -1
  499. package/dist/domains/dashboard/web/assets/{gitGraphDiagram-PVQCEYII-BQ314orT.js → gitGraphDiagram-PVQCEYII-BL7yUEn-.js} +1 -1
  500. package/dist/domains/dashboard/web/assets/index-CjE9mHGb.js +24 -0
  501. package/dist/domains/dashboard/web/assets/index-D-AGxvI4.css +1 -0
  502. package/dist/domains/dashboard/web/assets/{infoDiagram-5YYISTIA-O0bQp98A.js → infoDiagram-5YYISTIA-Bt5fqrOd.js} +1 -1
  503. package/dist/domains/dashboard/web/assets/{ishikawaDiagram-YF4QCWOH-BPC7wbKh.js → ishikawaDiagram-YF4QCWOH-COCMcjBM.js} +1 -1
  504. package/dist/domains/dashboard/web/assets/{journeyDiagram-JHISSGLW-ohViOd4b.js → journeyDiagram-JHISSGLW-DGcpcWny.js} +1 -1
  505. package/dist/domains/dashboard/web/assets/{kanban-definition-UN3LZRKU-CHleNdbG.js → kanban-definition-UN3LZRKU-QSBNsWMP.js} +1 -1
  506. package/dist/domains/dashboard/web/assets/{linear-CyqiW--Q.js → linear-9uyeeBZf.js} +1 -1
  507. package/dist/domains/dashboard/web/assets/{mermaid.core-qS9XvtaK.js → mermaid.core-CkNdB471.js} +4 -4
  508. package/dist/domains/dashboard/web/assets/{mindmap-definition-RKZ34NQL-oaGkqO9l.js → mindmap-definition-RKZ34NQL-CiNxI0gP.js} +1 -1
  509. package/dist/domains/dashboard/web/assets/{pieDiagram-4H26LBE5-CPcB-AFh.js → pieDiagram-4H26LBE5-BLJ6QnRO.js} +1 -1
  510. package/dist/domains/dashboard/web/assets/{quadrantDiagram-W4KKPZXB-LFy52Qtj.js → quadrantDiagram-W4KKPZXB-CflW-eFH.js} +1 -1
  511. package/dist/domains/dashboard/web/assets/{requirementDiagram-4Y6WPE33-BdjeaYP_.js → requirementDiagram-4Y6WPE33-B9HLmRWH.js} +1 -1
  512. package/dist/domains/dashboard/web/assets/{sankeyDiagram-5OEKKPKP-DDJ4styL.js → sankeyDiagram-5OEKKPKP-6xnco5k5.js} +1 -1
  513. package/dist/domains/dashboard/web/assets/{sequenceDiagram-3UESZ5HK-BL5bFNoz.js → sequenceDiagram-3UESZ5HK-Dp1rujNZ.js} +1 -1
  514. package/dist/domains/dashboard/web/assets/{stateDiagram-AJRCARHV-BNUfikui.js → stateDiagram-AJRCARHV-C1Xc90ek.js} +1 -1
  515. package/dist/domains/dashboard/web/assets/stateDiagram-v2-BHNVJYJU-p-qmzXyE.js +1 -0
  516. package/dist/domains/dashboard/web/assets/{timeline-definition-PNZ67QCA--ps2uu6L.js → timeline-definition-PNZ67QCA-g9s-m5Z4.js} +1 -1
  517. package/dist/domains/dashboard/web/assets/{vennDiagram-CIIHVFJN-C2q8q26c.js → vennDiagram-CIIHVFJN-rkEyhyCc.js} +1 -1
  518. package/dist/domains/dashboard/web/assets/{wardleyDiagram-YWT4CUSO-BUH9gXqd.js → wardleyDiagram-YWT4CUSO-CJLrWGXc.js} +1 -1
  519. package/dist/domains/dashboard/web/assets/{xychartDiagram-2RQKCTM6-B-DielEy.js → xychartDiagram-2RQKCTM6-BxJvPNqo.js} +1 -1
  520. package/dist/domains/dashboard/web/index.html +16 -16
  521. package/dist/domains/engine/storage-layout.d.ts +14 -0
  522. package/dist/domains/engine/storage-layout.d.ts.map +1 -0
  523. package/dist/domains/engine/storage-layout.js +32 -0
  524. package/dist/domains/engine/storage-layout.js.map +1 -0
  525. package/dist/domains/engine/storage-run.d.ts +9 -0
  526. package/dist/domains/engine/storage-run.d.ts.map +1 -0
  527. package/dist/domains/engine/storage-run.js +116 -0
  528. package/dist/domains/engine/storage-run.js.map +1 -0
  529. package/dist/domains/factory/package.d.ts.map +1 -1
  530. package/dist/domains/factory/package.js +5 -3
  531. package/dist/domains/factory/package.js.map +1 -1
  532. package/dist/domains/integrations/openspec.d.ts.map +1 -1
  533. package/dist/domains/integrations/openspec.js +8 -6
  534. package/dist/domains/integrations/openspec.js.map +1 -1
  535. package/dist/domains/skill/platform-inspect.d.ts +6 -2
  536. package/dist/domains/skill/platform-inspect.d.ts.map +1 -1
  537. package/dist/domains/skill/platform-inspect.js +52 -8
  538. package/dist/domains/skill/platform-inspect.js.map +1 -1
  539. package/dist/domains/skill/platform-install.d.ts +18 -7
  540. package/dist/domains/skill/platform-install.d.ts.map +1 -1
  541. package/dist/domains/skill/platform-install.js +338 -71
  542. package/dist/domains/skill/platform-install.js.map +1 -1
  543. package/dist/domains/skill/project-instructions.d.ts.map +1 -1
  544. package/dist/domains/skill/project-instructions.js +12 -6
  545. package/dist/domains/skill/project-instructions.js.map +1 -1
  546. package/dist/domains/skill/uninstall.d.ts.map +1 -1
  547. package/dist/domains/skill/uninstall.js +15 -3
  548. package/dist/domains/skill/uninstall.js.map +1 -1
  549. package/dist/domains/workflow-contract/builtins.d.ts +6 -0
  550. package/dist/domains/workflow-contract/builtins.d.ts.map +1 -1
  551. package/dist/domains/workflow-contract/builtins.js +137 -0
  552. package/dist/domains/workflow-contract/builtins.js.map +1 -1
  553. package/dist/domains/workflow-contract/index.d.ts +3 -1
  554. package/dist/domains/workflow-contract/index.d.ts.map +1 -1
  555. package/dist/domains/workflow-contract/index.js +2 -1
  556. package/dist/domains/workflow-contract/index.js.map +1 -1
  557. package/dist/domains/workflow-contract/normalize.d.ts.map +1 -1
  558. package/dist/domains/workflow-contract/normalize.js +28 -10
  559. package/dist/domains/workflow-contract/normalize.js.map +1 -1
  560. package/dist/domains/workflow-contract/project-config.d.ts +7 -0
  561. package/dist/domains/workflow-contract/project-config.d.ts.map +1 -0
  562. package/dist/domains/workflow-contract/project-config.js +110 -0
  563. package/dist/domains/workflow-contract/project-config.js.map +1 -0
  564. package/dist/domains/workflow-contract/types.d.ts +4 -2
  565. package/dist/domains/workflow-contract/types.d.ts.map +1 -1
  566. package/dist/domains/workflow-contract/validation.d.ts.map +1 -1
  567. package/dist/domains/workflow-contract/validation.js +14 -5
  568. package/dist/domains/workflow-contract/validation.js.map +1 -1
  569. package/dist/platform/install/detect.d.ts +3 -1
  570. package/dist/platform/install/detect.d.ts.map +1 -1
  571. package/dist/platform/install/detect.js +4 -1
  572. package/dist/platform/install/detect.js.map +1 -1
  573. package/dist/platform/install/project-registry.js +2 -2
  574. package/dist/platform/install/project-registry.js.map +1 -1
  575. package/dist/platform/paths/repository-layout.d.ts +16 -0
  576. package/dist/platform/paths/repository-layout.d.ts.map +1 -1
  577. package/dist/platform/paths/repository-layout.js.map +1 -1
  578. package/eval/local/README.md +50 -0
  579. package/eval/local/scripts/compare_baselines.py +127 -1
  580. package/eval/local/scripts/regression_check.py +3 -4
  581. package/eval/local/tasks/comet-native-clarification/environment/Dockerfile +27 -0
  582. package/eval/local/tasks/comet-native-clarification/environment/test_wordcount.py +25 -0
  583. package/eval/local/tasks/comet-native-clarification/environment/wordcount.py +36 -0
  584. package/eval/local/tasks/comet-native-clarification/instruction.md +7 -0
  585. package/eval/local/tasks/comet-native-clarification/task.toml +40 -0
  586. package/eval/local/tasks/comet-native-clarification/validation/test_native_clarification.py +193 -0
  587. package/eval/local/tasks/comet-native-clarification-modes/environment/Dockerfile +27 -0
  588. package/eval/local/tasks/comet-native-clarification-modes/environment/test_wordcount.py +25 -0
  589. package/eval/local/tasks/comet-native-clarification-modes/environment/wordcount.py +36 -0
  590. package/eval/local/tasks/comet-native-clarification-modes/instruction.md +13 -0
  591. package/eval/local/tasks/comet-native-clarification-modes/task.toml +39 -0
  592. package/eval/local/tasks/comet-native-clarification-modes/validation/test_native_clarification_modes.py +235 -0
  593. package/eval/local/tasks/comet-native-interrupted-transition/environment/.comet/config.yaml +6 -0
  594. package/eval/local/tasks/comet-native-interrupted-transition/environment/Dockerfile +28 -0
  595. package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/brief.md +17 -0
  596. package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/comet-state.yaml +12 -0
  597. package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/runtime/transition.json +69 -0
  598. package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/specs/character-counting/spec.md +3 -0
  599. package/eval/local/tasks/comet-native-interrupted-transition/environment/test_wordcount.py +20 -0
  600. package/eval/local/tasks/comet-native-interrupted-transition/environment/wordcount.py +27 -0
  601. package/eval/local/tasks/comet-native-interrupted-transition/instruction.md +7 -0
  602. package/eval/local/tasks/comet-native-interrupted-transition/task.toml +35 -0
  603. package/eval/local/tasks/comet-native-interrupted-transition/validation/test_native_interrupted_transition.py +63 -0
  604. package/eval/local/tasks/comet-native-repository-fact/environment/Dockerfile +26 -0
  605. package/eval/local/tasks/comet-native-repository-fact/environment/PRODUCT_RULES.md +3 -0
  606. package/eval/local/tasks/comet-native-repository-fact/environment/test_wordcount.py +20 -0
  607. package/eval/local/tasks/comet-native-repository-fact/environment/wordcount.py +27 -0
  608. package/eval/local/tasks/comet-native-repository-fact/instruction.md +7 -0
  609. package/eval/local/tasks/comet-native-repository-fact/task.toml +35 -0
  610. package/eval/local/tasks/comet-native-repository-fact/validation/test_native_repository_fact.py +53 -0
  611. package/eval/local/tasks/comet-native-wave-b-decision-resume/environment/Dockerfile +27 -0
  612. package/eval/local/tasks/comet-native-wave-b-decision-resume/environment/test_wordcount.py +27 -0
  613. package/eval/local/tasks/comet-native-wave-b-decision-resume/environment/wordcount.py +36 -0
  614. package/eval/local/tasks/comet-native-wave-b-decision-resume/instruction.md +9 -0
  615. package/eval/local/tasks/comet-native-wave-b-decision-resume/task.toml +40 -0
  616. package/eval/local/tasks/comet-native-wave-b-decision-resume/validation/test_native_wave_b_decision_resume.py +208 -0
  617. package/eval/local/tasks/comet-native-wave-c-verification-integrity/environment/Dockerfile +27 -0
  618. package/eval/local/tasks/comet-native-wave-c-verification-integrity/environment/test_wordcount.py +27 -0
  619. package/eval/local/tasks/comet-native-wave-c-verification-integrity/environment/wordcount.py +36 -0
  620. package/eval/local/tasks/comet-native-wave-c-verification-integrity/instruction.md +11 -0
  621. package/eval/local/tasks/comet-native-wave-c-verification-integrity/task.toml +36 -0
  622. package/eval/local/tasks/comet-native-wave-c-verification-integrity/validation/test_native_wave_c_verification_integrity.py +344 -0
  623. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/environment/Dockerfile +27 -0
  624. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/environment/test_wordcount.py +27 -0
  625. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/environment/wordcount.py +36 -0
  626. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/instruction.md +11 -0
  627. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/task.toml +37 -0
  628. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/validation/test_native_wave_d_stagnation_stop.py +284 -0
  629. package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/.include-trusted-native-runtime +1 -0
  630. package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/Dockerfile +27 -0
  631. package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/test_wordcount.py +27 -0
  632. package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/wordcount.py +36 -0
  633. package/eval/local/tasks/comet-native-wave-e-parallel-safety/instruction.md +9 -0
  634. package/eval/local/tasks/comet-native-wave-e-parallel-safety/task.toml +37 -0
  635. package/eval/local/tasks/comet-native-wave-e-parallel-safety/validation/test_native_wave_e_parallel_safety.py +309 -0
  636. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/.include-current-comet-cli +1 -0
  637. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/Dockerfile +31 -0
  638. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/current-comet-package.json +18 -0
  639. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/current-comet.sh +14 -0
  640. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/test_wordcount.py +27 -0
  641. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/wordcount.py +36 -0
  642. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/instruction.md +7 -0
  643. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/task.toml +36 -0
  644. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/validation/test_native_wave_f_dashboard_readonly.py +469 -0
  645. package/eval/local/tasks/comet-native-workflow/environment/Dockerfile +27 -0
  646. package/eval/local/tasks/comet-native-workflow/environment/test_wordcount.py +25 -0
  647. package/eval/local/tasks/comet-native-workflow/environment/wordcount.py +36 -0
  648. package/eval/local/tasks/comet-native-workflow/instruction.md +14 -0
  649. package/eval/local/tasks/comet-native-workflow/task.toml +36 -0
  650. package/eval/local/tasks/comet-native-workflow/validation/test_native_workflow.py +149 -0
  651. package/eval/local/tasks/index.yaml +61 -0
  652. package/eval/local/tests/conftest.py +407 -22
  653. package/eval/local/tests/scaffold/test_aligned_comparison.py +1012 -0
  654. package/eval/local/tests/scaffold/test_conftest_helpers.py +187 -7
  655. package/eval/local/tests/scaffold/test_logging.py +135 -1
  656. package/eval/local/tests/scaffold/test_manifests.py +2 -0
  657. package/eval/local/tests/scaffold/test_native_aligned_eval.py +346 -0
  658. package/eval/local/tests/scaffold/test_native_wave_evaluations.py +1889 -0
  659. package/eval/local/tests/scaffold/test_profiles.py +33 -0
  660. package/eval/local/tests/scaffold/test_sample_quality.py +57 -0
  661. package/eval/local/tests/scaffold/test_tasks.py +377 -1
  662. package/eval/local/tests/scaffold/test_treatments.py +59 -13
  663. package/eval/local/tests/scaffold/test_utils.py +277 -4
  664. package/eval/local/tests/tasks/__init__.py +1 -0
  665. package/eval/local/tests/tasks/test_tasks.py +104 -78
  666. package/eval/local/tests/tasks/test_validation_scripts.py +37 -0
  667. package/eval/local/treatments/comet/comet_native_phase1.yaml +66 -0
  668. package/eval/pyproject.toml +4 -4
  669. package/eval/scaffold/python/aligned_comparison.py +1631 -0
  670. package/eval/scaffold/python/generic_llm_judge.py +3 -1
  671. package/eval/scaffold/python/llm_judge.py +0 -3
  672. package/eval/scaffold/python/logging.py +115 -16
  673. package/eval/scaffold/python/manifests.py +2 -0
  674. package/eval/scaffold/python/native_eval.py +138 -0
  675. package/eval/scaffold/python/pass_at_k.py +0 -1
  676. package/eval/scaffold/python/report_outputs.py +226 -44
  677. package/eval/scaffold/python/sample_quality.py +45 -2
  678. package/eval/scaffold/python/tasks.py +11 -0
  679. package/eval/scaffold/python/utils.py +108 -20
  680. package/eval/scaffold/python/validation/__init__.py +15 -5
  681. package/eval/scaffold/python/validation/comet_workflow.py +10 -5
  682. package/eval/scaffold/python/validation/generic_rubric.py +1 -2
  683. package/eval/scaffold/python/validation/native_wave.py +2154 -0
  684. package/eval/scaffold/python/validation/native_workflow.py +252 -0
  685. package/eval/scaffold/python/validation/rubric.py +0 -2
  686. package/eval/scaffold/shell/completion-point.sh +18 -0
  687. package/eval/scaffold/shell/decision-point.sh +35 -0
  688. package/eval/scaffold/shell/docker.sh +150 -9
  689. package/eval/scaffold/shell/run-claude-loop.sh +57 -27
  690. package/package.json +26 -5
  691. package/dist/domains/dashboard/web/assets/channel-kp6Ng2JJ.js +0 -1
  692. package/dist/domains/dashboard/web/assets/classDiagram-4FO5ZUOK-yBDjgMY_.js +0 -1
  693. package/dist/domains/dashboard/web/assets/classDiagram-v2-Q7XG4LA2-yBDjgMY_.js +0 -1
  694. package/dist/domains/dashboard/web/assets/demo-DQyfozbi.js +0 -1
  695. package/dist/domains/dashboard/web/assets/index-BLAfkNTu.css +0 -1
  696. package/dist/domains/dashboard/web/assets/index-DtLUOcAW.js +0 -24
  697. package/dist/domains/dashboard/web/assets/stateDiagram-v2-BHNVJYJU-DGrsmWts.js +0 -1
  698. package/eval/.env.example +0 -52
  699. 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