@polderlabs/bizar-omp 0.6.8 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/README.md +6 -4
  2. package/dist/cli/agents-ink.d.ts.map +1 -1
  3. package/dist/cli/agents-ink.js +5 -3
  4. package/dist/cli/agents-ink.js.map +1 -1
  5. package/dist/cli/agents.d.ts.map +1 -1
  6. package/dist/cli/agents.js +26 -8
  7. package/dist/cli/agents.js.map +1 -1
  8. package/dist/cli/doctor.d.ts +4 -4
  9. package/dist/cli/main.js +0 -0
  10. package/dist/cli/omb.js +0 -0
  11. package/dist/core/acceptance.d.ts.map +1 -1
  12. package/dist/core/acceptance.js +16 -3
  13. package/dist/core/acceptance.js.map +1 -1
  14. package/dist/core/recovery.d.ts.map +1 -1
  15. package/dist/core/recovery.js +16 -6
  16. package/dist/core/recovery.js.map +1 -1
  17. package/dist/core/redaction.d.ts +22 -0
  18. package/dist/core/redaction.d.ts.map +1 -0
  19. package/dist/core/redaction.js +103 -0
  20. package/dist/core/redaction.js.map +1 -0
  21. package/dist/core/transitions.d.ts +4 -0
  22. package/dist/core/transitions.d.ts.map +1 -1
  23. package/dist/core/transitions.js +12 -2
  24. package/dist/core/transitions.js.map +1 -1
  25. package/dist/core/types.d.ts +47 -0
  26. package/dist/core/types.d.ts.map +1 -1
  27. package/dist/extension.d.ts +2 -0
  28. package/dist/extension.d.ts.map +1 -1
  29. package/dist/extension.js +219 -32
  30. package/dist/extension.js.map +1 -1
  31. package/dist/omp/compatibility.d.ts +5 -5
  32. package/dist/omp/compatibility.d.ts.map +1 -1
  33. package/dist/omp/compatibility.js +2 -2
  34. package/dist/omp/compatibility.js.map +1 -1
  35. package/dist/omp/daemon-service.d.ts.map +1 -1
  36. package/dist/omp/daemon-service.js +53 -20
  37. package/dist/omp/daemon-service.js.map +1 -1
  38. package/dist/omp/daemon.d.ts.map +1 -1
  39. package/dist/omp/daemon.js +57 -17
  40. package/dist/omp/daemon.js.map +1 -1
  41. package/dist/omp/dashboard-html.js +5 -5
  42. package/dist/omp/dispatch-admission.js +1 -1
  43. package/dist/omp/dispatch-admission.js.map +1 -1
  44. package/dist/omp/model-role-assignment.d.ts +4 -0
  45. package/dist/omp/model-role-assignment.d.ts.map +1 -1
  46. package/dist/omp/model-role-assignment.js +84 -8
  47. package/dist/omp/model-role-assignment.js.map +1 -1
  48. package/dist/omp/omb-sessions.d.ts +22 -7
  49. package/dist/omp/omb-sessions.d.ts.map +1 -1
  50. package/dist/omp/omb-sessions.js +83 -11
  51. package/dist/omp/omb-sessions.js.map +1 -1
  52. package/dist/omp/omb-settings.d.ts +15 -1
  53. package/dist/omp/omb-settings.d.ts.map +1 -1
  54. package/dist/omp/omb-settings.js +107 -31
  55. package/dist/omp/omb-settings.js.map +1 -1
  56. package/dist/omp/rpc.d.ts +9 -0
  57. package/dist/omp/rpc.d.ts.map +1 -1
  58. package/dist/omp/session-activity.d.ts +5 -0
  59. package/dist/omp/session-activity.d.ts.map +1 -1
  60. package/dist/omp/session-activity.js +17 -0
  61. package/dist/omp/session-activity.js.map +1 -1
  62. package/dist/omp/tmux.d.ts.map +1 -1
  63. package/dist/omp/tmux.js +110 -14
  64. package/dist/omp/tmux.js.map +1 -1
  65. package/dist/services/candidate-verify.d.ts +0 -1
  66. package/dist/services/candidate-verify.d.ts.map +1 -1
  67. package/dist/services/candidate-verify.js +56 -10
  68. package/dist/services/candidate-verify.js.map +1 -1
  69. package/dist/services/inspector.d.ts +5 -1
  70. package/dist/services/inspector.d.ts.map +1 -1
  71. package/dist/services/inspector.js +11 -2
  72. package/dist/services/inspector.js.map +1 -1
  73. package/dist/services/native-review-ingest.d.ts +35 -0
  74. package/dist/services/native-review-ingest.d.ts.map +1 -0
  75. package/dist/services/native-review-ingest.js +14 -0
  76. package/dist/services/native-review-ingest.js.map +1 -0
  77. package/dist/storage/lease.d.ts.map +1 -1
  78. package/dist/storage/lease.js +109 -26
  79. package/dist/storage/lease.js.map +1 -1
  80. package/dist/storage/resources.d.ts.map +1 -1
  81. package/dist/storage/resources.js +49 -22
  82. package/dist/storage/resources.js.map +1 -1
  83. package/dist/tools/integrate.d.ts.map +1 -1
  84. package/dist/tools/integrate.js +37 -10
  85. package/dist/tools/integrate.js.map +1 -1
  86. package/dist/tools/verify.d.ts.map +1 -1
  87. package/dist/tools/verify.js +26 -58
  88. package/dist/tools/verify.js.map +1 -1
  89. package/dist/tools/workflow.d.ts +9 -0
  90. package/dist/tools/workflow.d.ts.map +1 -1
  91. package/dist/tools/workflow.js +45 -8
  92. package/dist/tools/workflow.js.map +1 -1
  93. package/docs/compatibility/baseline.json +8 -7
  94. package/docs/compatibility/supported-surfaces.json +2 -1
  95. package/docs/development/ci-release-implementation-guide.md +1259 -0
  96. package/docs/development/contributing-and-releasing.md +117 -0
  97. package/docs/development/omp-compatibility-update-guide.md +117 -0
  98. package/docs/releases/0.6.8.md +1 -1
  99. package/docs/releases/0.7.1.md +15 -0
  100. package/docs/releases/native-stable.md +11 -1
  101. package/docs/releases/npm-publishing.md +23 -4
  102. package/docs/releases/support-matrix.md +1 -1
  103. package/package.json +2 -1
  104. package/rules/oflow-gitlab.md +6 -0
  105. package/schemas/evidence-record.schema.json +29 -3
  106. package/schemas/workflow-run.schema.json +10 -3
  107. package/skills/bizar-omp/SKILL.md +2 -1
  108. package/skills/oflow-gitlab-context/SKILL.md +49 -0
  109. package/skills/omp-native-development/SKILL.md +1 -1
  110. package/skills/omp-native-development/references/accuracy-and-versioning.md +1 -1
  111. package/skills/omp-native-development/references/source-manifest.json +3 -3
  112. package/dist/src/cli/agents-ink.d.ts +0 -25
  113. package/dist/src/cli/agents-ink.js +0 -517
  114. package/dist/src/cli/agents-ink.js.map +0 -1
  115. package/dist/src/cli/agents.d.ts +0 -14
  116. package/dist/src/cli/agents.js +0 -197
  117. package/dist/src/cli/agents.js.map +0 -1
  118. package/dist/src/cli/directory-selector.d.ts +0 -60
  119. package/dist/src/cli/directory-selector.js +0 -208
  120. package/dist/src/cli/directory-selector.js.map +0 -1
  121. package/dist/src/cli/doctor.d.ts +0 -41
  122. package/dist/src/cli/doctor.js +0 -31
  123. package/dist/src/cli/doctor.js.map +0 -1
  124. package/dist/src/cli/install.d.ts +0 -129
  125. package/dist/src/cli/install.js +0 -164
  126. package/dist/src/cli/install.js.map +0 -1
  127. package/dist/src/cli/main.d.ts +0 -2
  128. package/dist/src/cli/main.js +0 -117
  129. package/dist/src/cli/main.js.map +0 -1
  130. package/dist/src/cli/migrate.d.ts +0 -18
  131. package/dist/src/cli/migrate.js +0 -14
  132. package/dist/src/cli/migrate.js.map +0 -1
  133. package/dist/src/cli/omb-commands.d.ts +0 -29
  134. package/dist/src/cli/omb-commands.js +0 -107
  135. package/dist/src/cli/omb-commands.js.map +0 -1
  136. package/dist/src/cli/omb-daemon.d.ts +0 -2
  137. package/dist/src/cli/omb-daemon.js +0 -135
  138. package/dist/src/cli/omb-daemon.js.map +0 -1
  139. package/dist/src/cli/omb-dashboard.d.ts +0 -12
  140. package/dist/src/cli/omb-dashboard.js +0 -113
  141. package/dist/src/cli/omb-dashboard.js.map +0 -1
  142. package/dist/src/cli/omb-invocation.d.ts +0 -8
  143. package/dist/src/cli/omb-invocation.js +0 -41
  144. package/dist/src/cli/omb-invocation.js.map +0 -1
  145. package/dist/src/cli/omb-runtime.d.ts +0 -41
  146. package/dist/src/cli/omb-runtime.js +0 -371
  147. package/dist/src/cli/omb-runtime.js.map +0 -1
  148. package/dist/src/cli/omb-tray.d.ts +0 -2
  149. package/dist/src/cli/omb-tray.js +0 -38
  150. package/dist/src/cli/omb-tray.js.map +0 -1
  151. package/dist/src/cli/omb.d.ts +0 -2
  152. package/dist/src/cli/omb.js +0 -31
  153. package/dist/src/cli/omb.js.map +0 -1
  154. package/dist/src/cli/omp-theme.d.ts +0 -17
  155. package/dist/src/cli/omp-theme.js +0 -22
  156. package/dist/src/cli/omp-theme.js.map +0 -1
  157. package/dist/src/cli/process.d.ts +0 -6
  158. package/dist/src/cli/process.js +0 -54
  159. package/dist/src/cli/process.js.map +0 -1
  160. package/dist/src/cli/run.d.ts +0 -2
  161. package/dist/src/cli/run.js +0 -5
  162. package/dist/src/cli/run.js.map +0 -1
  163. package/dist/src/cli/setup-ui.d.ts +0 -37
  164. package/dist/src/cli/setup-ui.js +0 -90
  165. package/dist/src/cli/setup-ui.js.map +0 -1
  166. package/dist/src/core/acceptance.d.ts +0 -32
  167. package/dist/src/core/acceptance.js +0 -87
  168. package/dist/src/core/acceptance.js.map +0 -1
  169. package/dist/src/core/errors.d.ts +0 -20
  170. package/dist/src/core/errors.js +0 -30
  171. package/dist/src/core/errors.js.map +0 -1
  172. package/dist/src/core/evidence.d.ts +0 -10
  173. package/dist/src/core/evidence.js +0 -35
  174. package/dist/src/core/evidence.js.map +0 -1
  175. package/dist/src/core/policies.d.ts +0 -10
  176. package/dist/src/core/policies.js +0 -60
  177. package/dist/src/core/policies.js.map +0 -1
  178. package/dist/src/core/recovery.d.ts +0 -6
  179. package/dist/src/core/recovery.js +0 -56
  180. package/dist/src/core/recovery.js.map +0 -1
  181. package/dist/src/core/transitions.d.ts +0 -13
  182. package/dist/src/core/transitions.js +0 -59
  183. package/dist/src/core/transitions.js.map +0 -1
  184. package/dist/src/core/types.d.ts +0 -256
  185. package/dist/src/core/types.js +0 -2
  186. package/dist/src/core/types.js.map +0 -1
  187. package/dist/src/extension.d.ts +0 -60
  188. package/dist/src/extension.js +0 -538
  189. package/dist/src/extension.js.map +0 -1
  190. package/dist/src/index.d.ts +0 -29
  191. package/dist/src/index.js +0 -30
  192. package/dist/src/index.js.map +0 -1
  193. package/dist/src/omp/autonomous-settings.d.ts +0 -14
  194. package/dist/src/omp/autonomous-settings.js +0 -65
  195. package/dist/src/omp/autonomous-settings.js.map +0 -1
  196. package/dist/src/omp/capabilities.d.ts +0 -23
  197. package/dist/src/omp/capabilities.js +0 -6
  198. package/dist/src/omp/capabilities.js.map +0 -1
  199. package/dist/src/omp/compatibility.d.ts +0 -30
  200. package/dist/src/omp/compatibility.js +0 -34
  201. package/dist/src/omp/compatibility.js.map +0 -1
  202. package/dist/src/omp/completion.d.ts +0 -7
  203. package/dist/src/omp/completion.js +0 -10
  204. package/dist/src/omp/completion.js.map +0 -1
  205. package/dist/src/omp/config.d.ts +0 -10
  206. package/dist/src/omp/config.js +0 -14
  207. package/dist/src/omp/config.js.map +0 -1
  208. package/dist/src/omp/context.d.ts +0 -15
  209. package/dist/src/omp/context.js +0 -3
  210. package/dist/src/omp/context.js.map +0 -1
  211. package/dist/src/omp/daemon-service.d.ts +0 -25
  212. package/dist/src/omp/daemon-service.js +0 -483
  213. package/dist/src/omp/daemon-service.js.map +0 -1
  214. package/dist/src/omp/daemon.d.ts +0 -48
  215. package/dist/src/omp/daemon.js +0 -194
  216. package/dist/src/omp/daemon.js.map +0 -1
  217. package/dist/src/omp/dashboard-html.d.ts +0 -3
  218. package/dist/src/omp/dashboard-html.js +0 -419
  219. package/dist/src/omp/dashboard-html.js.map +0 -1
  220. package/dist/src/omp/dispatch-admission.d.ts +0 -2
  221. package/dist/src/omp/dispatch-admission.js +0 -12
  222. package/dist/src/omp/dispatch-admission.js.map +0 -1
  223. package/dist/src/omp/integration-recovery.d.ts +0 -10
  224. package/dist/src/omp/integration-recovery.js +0 -18
  225. package/dist/src/omp/integration-recovery.js.map +0 -1
  226. package/dist/src/omp/isolation-policy.d.ts +0 -14
  227. package/dist/src/omp/isolation-policy.js +0 -9
  228. package/dist/src/omp/isolation-policy.js.map +0 -1
  229. package/dist/src/omp/lifecycle.d.ts +0 -14
  230. package/dist/src/omp/lifecycle.js +0 -14
  231. package/dist/src/omp/lifecycle.js.map +0 -1
  232. package/dist/src/omp/memory.d.ts +0 -16
  233. package/dist/src/omp/memory.js +0 -4
  234. package/dist/src/omp/memory.js.map +0 -1
  235. package/dist/src/omp/model-role-assignment.d.ts +0 -296
  236. package/dist/src/omp/model-role-assignment.js +0 -559
  237. package/dist/src/omp/model-role-assignment.js.map +0 -1
  238. package/dist/src/omp/model-roles.d.ts +0 -19
  239. package/dist/src/omp/model-roles.js +0 -6
  240. package/dist/src/omp/model-roles.js.map +0 -1
  241. package/dist/src/omp/omb-sessions.d.ts +0 -122
  242. package/dist/src/omp/omb-sessions.js +0 -512
  243. package/dist/src/omp/omb-sessions.js.map +0 -1
  244. package/dist/src/omp/omb-settings.d.ts +0 -35
  245. package/dist/src/omp/omb-settings.js +0 -104
  246. package/dist/src/omp/omb-settings.js.map +0 -1
  247. package/dist/src/omp/result-reconciliation.d.ts +0 -2
  248. package/dist/src/omp/result-reconciliation.js +0 -9
  249. package/dist/src/omp/result-reconciliation.js.map +0 -1
  250. package/dist/src/omp/rpc.d.ts +0 -67
  251. package/dist/src/omp/rpc.js +0 -4
  252. package/dist/src/omp/rpc.js.map +0 -1
  253. package/dist/src/omp/run-log.d.ts +0 -25
  254. package/dist/src/omp/run-log.js +0 -24
  255. package/dist/src/omp/run-log.js.map +0 -1
  256. package/dist/src/omp/session-activity.d.ts +0 -70
  257. package/dist/src/omp/session-activity.js +0 -361
  258. package/dist/src/omp/session-activity.js.map +0 -1
  259. package/dist/src/omp/session-controls.d.ts +0 -17
  260. package/dist/src/omp/session-controls.js +0 -14
  261. package/dist/src/omp/session-controls.js.map +0 -1
  262. package/dist/src/omp/tmux.d.ts +0 -89
  263. package/dist/src/omp/tmux.js +0 -445
  264. package/dist/src/omp/tmux.js.map +0 -1
  265. package/dist/src/omp/tray-icons.d.ts +0 -5
  266. package/dist/src/omp/tray-icons.js +0 -78
  267. package/dist/src/omp/tray-icons.js.map +0 -1
  268. package/dist/src/omp/tray.d.ts +0 -23
  269. package/dist/src/omp/tray.js +0 -167
  270. package/dist/src/omp/tray.js.map +0 -1
  271. package/dist/src/services/budget.d.ts +0 -19
  272. package/dist/src/services/budget.js +0 -10
  273. package/dist/src/services/budget.js.map +0 -1
  274. package/dist/src/services/candidate-local.d.ts +0 -13
  275. package/dist/src/services/candidate-local.js +0 -15
  276. package/dist/src/services/candidate-local.js.map +0 -1
  277. package/dist/src/services/candidates.d.ts +0 -20
  278. package/dist/src/services/candidates.js +0 -100
  279. package/dist/src/services/candidates.js.map +0 -1
  280. package/dist/src/services/evidence-bundle.d.ts +0 -17
  281. package/dist/src/services/evidence-bundle.js +0 -21
  282. package/dist/src/services/evidence-bundle.js.map +0 -1
  283. package/dist/src/services/inspector.d.ts +0 -11
  284. package/dist/src/services/inspector.js +0 -6
  285. package/dist/src/services/inspector.js.map +0 -1
  286. package/dist/src/services/lessons.d.ts +0 -13
  287. package/dist/src/services/lessons.js +0 -11
  288. package/dist/src/services/lessons.js.map +0 -1
  289. package/dist/src/services/projection.d.ts +0 -21
  290. package/dist/src/services/projection.js +0 -10
  291. package/dist/src/services/projection.js.map +0 -1
  292. package/dist/src/services/readiness.d.ts +0 -4
  293. package/dist/src/services/readiness.js +0 -35
  294. package/dist/src/services/readiness.js.map +0 -1
  295. package/dist/src/services/recipes.d.ts +0 -15
  296. package/dist/src/services/recipes.js +0 -42
  297. package/dist/src/services/recipes.js.map +0 -1
  298. package/dist/src/services/recovery.d.ts +0 -19
  299. package/dist/src/services/recovery.js +0 -9
  300. package/dist/src/services/recovery.js.map +0 -1
  301. package/dist/src/services/review.d.ts +0 -15
  302. package/dist/src/services/review.js +0 -9
  303. package/dist/src/services/review.js.map +0 -1
  304. package/dist/src/storage/journal-recovery.d.ts +0 -10
  305. package/dist/src/storage/journal-recovery.js +0 -33
  306. package/dist/src/storage/journal-recovery.js.map +0 -1
  307. package/dist/src/storage/journal.d.ts +0 -12
  308. package/dist/src/storage/journal.js +0 -82
  309. package/dist/src/storage/journal.js.map +0 -1
  310. package/dist/src/storage/migrations.d.ts +0 -22
  311. package/dist/src/storage/migrations.js +0 -107
  312. package/dist/src/storage/migrations.js.map +0 -1
  313. package/dist/src/storage/repository-identity.d.ts +0 -11
  314. package/dist/src/storage/repository-identity.js +0 -67
  315. package/dist/src/storage/repository-identity.js.map +0 -1
  316. package/dist/src/storage/resources.d.ts +0 -66
  317. package/dist/src/storage/resources.js +0 -148
  318. package/dist/src/storage/resources.js.map +0 -1
  319. package/dist/src/tools/evidence.d.ts +0 -8
  320. package/dist/src/tools/evidence.js +0 -9
  321. package/dist/src/tools/evidence.js.map +0 -1
  322. package/dist/src/tools/integrate.d.ts +0 -13
  323. package/dist/src/tools/integrate.js +0 -90
  324. package/dist/src/tools/integrate.js.map +0 -1
  325. package/dist/src/tools/result.d.ts +0 -9
  326. package/dist/src/tools/result.js +0 -2
  327. package/dist/src/tools/result.js.map +0 -1
  328. package/dist/src/tools/verify.d.ts +0 -13
  329. package/dist/src/tools/verify.js +0 -61
  330. package/dist/src/tools/verify.js.map +0 -1
  331. package/dist/src/tools/workflow.d.ts +0 -8
  332. package/dist/src/tools/workflow.js +0 -65
  333. package/dist/src/tools/workflow.js.map +0 -1
  334. package/dist/src/workflows/direct.d.ts +0 -9
  335. package/dist/src/workflows/direct.js +0 -2
  336. package/dist/src/workflows/direct.js.map +0 -1
  337. package/dist/src/workflows/implement.d.ts +0 -2
  338. package/dist/src/workflows/implement.js +0 -4
  339. package/dist/src/workflows/implement.js.map +0 -1
  340. package/dist/src/workflows/plan.d.ts +0 -17
  341. package/dist/src/workflows/plan.js +0 -6
  342. package/dist/src/workflows/plan.js.map +0 -1
  343. package/dist/src/workflows/research.d.ts +0 -15
  344. package/dist/src/workflows/research.js +0 -2
  345. package/dist/src/workflows/research.js.map +0 -1
  346. package/dist/src/workflows/review.d.ts +0 -15
  347. package/dist/src/workflows/review.js +0 -2
  348. package/dist/src/workflows/review.js.map +0 -1
  349. package/dist/src/workflows/verify.d.ts +0 -9
  350. package/dist/src/workflows/verify.js +0 -2
  351. package/dist/src/workflows/verify.js.map +0 -1
  352. package/dist/tests/acceptance.test.d.ts +0 -1
  353. package/dist/tests/acceptance.test.js +0 -27
  354. package/dist/tests/acceptance.test.js.map +0 -1
  355. package/dist/tests/agents.test.d.ts +0 -1
  356. package/dist/tests/agents.test.js +0 -369
  357. package/dist/tests/agents.test.js.map +0 -1
  358. package/dist/tests/candidates.test.d.ts +0 -1
  359. package/dist/tests/candidates.test.js +0 -60
  360. package/dist/tests/candidates.test.js.map +0 -1
  361. package/dist/tests/core.test.d.ts +0 -1
  362. package/dist/tests/core.test.js +0 -39
  363. package/dist/tests/core.test.js.map +0 -1
  364. package/dist/tests/daemon.test.d.ts +0 -1
  365. package/dist/tests/daemon.test.js +0 -157
  366. package/dist/tests/daemon.test.js.map +0 -1
  367. package/dist/tests/dashboard.test.d.ts +0 -1
  368. package/dist/tests/dashboard.test.js +0 -414
  369. package/dist/tests/dashboard.test.js.map +0 -1
  370. package/dist/tests/directory-selector.test.d.ts +0 -1
  371. package/dist/tests/directory-selector.test.js +0 -93
  372. package/dist/tests/directory-selector.test.js.map +0 -1
  373. package/dist/tests/doctor.test.d.ts +0 -1
  374. package/dist/tests/doctor.test.js +0 -32
  375. package/dist/tests/doctor.test.js.map +0 -1
  376. package/dist/tests/install.test.d.ts +0 -1
  377. package/dist/tests/install.test.js +0 -101
  378. package/dist/tests/install.test.js.map +0 -1
  379. package/dist/tests/integration.test.d.ts +0 -1
  380. package/dist/tests/integration.test.js +0 -49
  381. package/dist/tests/integration.test.js.map +0 -1
  382. package/dist/tests/journal.test.d.ts +0 -1
  383. package/dist/tests/journal.test.js +0 -50
  384. package/dist/tests/journal.test.js.map +0 -1
  385. package/dist/tests/model-role-assignment.test.d.ts +0 -1
  386. package/dist/tests/model-role-assignment.test.js +0 -294
  387. package/dist/tests/model-role-assignment.test.js.map +0 -1
  388. package/dist/tests/omb-runtime.test.d.ts +0 -1
  389. package/dist/tests/omb-runtime.test.js +0 -554
  390. package/dist/tests/omb-runtime.test.js.map +0 -1
  391. package/dist/tests/omb-session-actions.test.d.ts +0 -1
  392. package/dist/tests/omb-session-actions.test.js +0 -191
  393. package/dist/tests/omb-session-actions.test.js.map +0 -1
  394. package/dist/tests/omb-settings.test.d.ts +0 -1
  395. package/dist/tests/omb-settings.test.js +0 -82
  396. package/dist/tests/omb-settings.test.js.map +0 -1
  397. package/dist/tests/omp-contract.test.d.ts +0 -1
  398. package/dist/tests/omp-contract.test.js +0 -362
  399. package/dist/tests/omp-contract.test.js.map +0 -1
  400. package/dist/tests/process.test.d.ts +0 -1
  401. package/dist/tests/process.test.js +0 -12
  402. package/dist/tests/process.test.js.map +0 -1
  403. package/dist/tests/psmux-windows.test.d.ts +0 -1
  404. package/dist/tests/psmux-windows.test.js +0 -105
  405. package/dist/tests/psmux-windows.test.js.map +0 -1
  406. package/dist/tests/recovery.test.d.ts +0 -1
  407. package/dist/tests/recovery.test.js +0 -9
  408. package/dist/tests/recovery.test.js.map +0 -1
  409. package/dist/tests/resources.test.d.ts +0 -1
  410. package/dist/tests/resources.test.js +0 -55
  411. package/dist/tests/resources.test.js.map +0 -1
  412. package/dist/tests/session-activity.test.d.ts +0 -1
  413. package/dist/tests/session-activity.test.js +0 -159
  414. package/dist/tests/session-activity.test.js.map +0 -1
  415. package/dist/tests/setup-ui.test.d.ts +0 -1
  416. package/dist/tests/setup-ui.test.js +0 -37
  417. package/dist/tests/setup-ui.test.js.map +0 -1
  418. package/dist/tests/storage-integrity.test.d.ts +0 -1
  419. package/dist/tests/storage-integrity.test.js +0 -88
  420. package/dist/tests/storage-integrity.test.js.map +0 -1
  421. package/dist/tests/tmux.test.d.ts +0 -1
  422. package/dist/tests/tmux.test.js +0 -239
  423. package/dist/tests/tmux.test.js.map +0 -1
  424. package/dist/tests/tray.test.d.ts +0 -1
  425. package/dist/tests/tray.test.js +0 -37
  426. package/dist/tests/tray.test.js.map +0 -1
  427. package/dist/tests/verification.test.d.ts +0 -1
  428. package/dist/tests/verification.test.js +0 -61
  429. package/dist/tests/verification.test.js.map +0 -1
  430. package/dist/tests/workflow-features.test.d.ts +0 -1
  431. package/dist/tests/workflow-features.test.js +0 -82
  432. package/dist/tests/workflow-features.test.js.map +0 -1
  433. package/dist/tests/workflow-safety.test.d.ts +0 -1
  434. package/dist/tests/workflow-safety.test.js +0 -57
  435. package/dist/tests/workflow-safety.test.js.map +0 -1
  436. package/optional/openkan/index.ts +0 -3
@@ -1,21 +1,35 @@
1
1
  import { createHash, randomUUID } from "node:crypto";
2
+ import { ContractError } from "../core/errors.js";
2
3
  import { mkdirSync } from "node:fs";
3
4
  import { join } from "node:path";
4
- import { ContractError } from "../core/errors.js";
5
- import { evaluateAcceptance } from "../core/acceptance.js";
5
+ import { evaluateAcceptance, canonicalSpecHash } from "../core/acceptance.js";
6
6
  import { assertOwner } from "../core/recovery.js";
7
7
  import { repositoryIdentity, workingTreeDigest, isDirty } from "../storage/repository-identity.js";
8
8
  import { acquireLease } from "../storage/lease.js";
9
9
  import { materializeCandidate, observeWorkingTreeTree } from "../services/candidates.js";
10
10
  function inScope(path, scopes) { return scopes.some(scope => path === scope || path.startsWith(`${scope.replace(/\/$/, "")}/`)); }
11
- function resolveRequestedCheckIds(records, ids) {
11
+ function resolveRequiredCheckSpecs(run, records, ids) {
12
12
  if (ids.length === 0)
13
13
  throw new ContractError("Integration requires evidence IDs");
14
14
  const requested = ids.map(id => records.find(record => record.id === id.trim()));
15
15
  const missing = requested.findIndex(record => !record);
16
16
  if (missing !== -1)
17
17
  throw new ContractError(`Unknown evidence: ${ids[missing]}`);
18
- return Array.from(new Set(requested.map(record => record.checkId)));
18
+ const specsById = new Map((run.objective.checkSpecs ?? []).map(spec => [spec.id, spec]));
19
+ if (specsById.size === 0)
20
+ throw new ContractError("Integration requires an admitted CheckSpec contract; cannot verify against ad-hoc checks");
21
+ const admitted = Array.from(new Set(requested.map(record => record.checkId)));
22
+ const required = admitted.map(id => {
23
+ const spec = specsById.get(id);
24
+ if (!spec)
25
+ throw new ContractError(`Evidence checkId "${id}" is not admitted in the objective CheckSpec contract`, { admitted: [...specsById.keys()] });
26
+ return { id, spec };
27
+ });
28
+ for (const { spec } of required)
29
+ for (const record of requested.filter(item => item.checkId === spec.id))
30
+ if (record.checkSpecHash && record.checkSpecHash !== canonicalSpecHash(spec))
31
+ throw new ContractError(`Evidence ${record.id} does not match the admitted CheckSpec for ${spec.id}`, { evidenceCheckSpecHash: record.checkSpecHash, specHash: canonicalSpecHash(spec) });
32
+ return required;
19
33
  }
20
34
  export async function integrate(binding, request) {
21
35
  let state = binding.journal.snapshot();
@@ -38,10 +52,10 @@ export async function integrate(binding, request) {
38
52
  throw new ContractError("Declared paths do not match the patch");
39
53
  const identity = repositoryIdentity(binding.cwd);
40
54
  const targetDigest = workingTreeDigest(binding.cwd);
41
- // Resolve requested IDs once; evaluate canonical latest-attempt eligibility
42
- const checkIds = resolveRequestedCheckIds(state.evidence, request.evidenceIds);
55
+ // R003: resolve requested evidence against the objective's admitted CheckSpecs.
56
+ const requiredChecks = resolveRequiredCheckSpecs(state.run, state.evidence, request.evidenceIds);
43
57
  const decision = evaluateAcceptance(state, {
44
- requiredChecks: checkIds,
58
+ requiredChecks: requiredChecks.map(entry => entry.spec),
45
59
  targetDigest,
46
60
  candidateTree: candidate.candidateTree,
47
61
  criteria: state.run.objective.criteria,
@@ -64,16 +78,29 @@ export async function integrate(binding, request) {
64
78
  const lockedItem = state.run.workItems.find(candidate => candidate.id === request.workItemId);
65
79
  if (!lockedItem || !patchPaths.every(path => inScope(path, lockedItem.scope)))
66
80
  throw new ContractError("Work-item scope changed before integration");
81
+ // A005: operator-supplied integration scope admitted at objective start.
82
+ // Without an admitted scope, integration of any patch paths is refused (fail-closed).
83
+ const admittedScope = state.run.objective.integrationScope;
84
+ if (!admittedScope)
85
+ throw new ContractError("No operator integration scope was admitted with this objective; integration is refused (fail-closed)");
86
+ const denied = patchPaths.filter(path => inScope(path, admittedScope.denyPaths));
87
+ if (denied.length > 0)
88
+ throw new ContractError(`Integration paths denied by the operator scope: ${denied.join(", ")}`);
89
+ const outside = patchPaths.filter(path => !inScope(path, admittedScope.allowPaths));
90
+ if (outside.length > 0)
91
+ throw new ContractError(`Integration paths outside the operator allowlist: ${outside.join(", ")}`);
92
+ if (patchPaths.length > admittedScope.maxAffectedFiles)
93
+ throw new ContractError(`Integration touches ${patchPaths.length} files; operator scope allows at most ${admittedScope.maxAffectedFiles}`);
67
94
  if (isDirty(binding.cwd))
68
95
  throw new ContractError("Target worktree is dirty; integration is blocked until unrelated changes are reconciled");
69
96
  const lockedCandidate = materializeCandidate(binding.cwd, request.patch);
70
97
  if (lockedCandidate.baseTree !== candidate.baseTree || lockedCandidate.candidateTree !== candidate.candidateTree)
71
98
  throw new ContractError("Candidate changed while waiting for integration ownership");
72
99
  const lockedDigest = workingTreeDigest(binding.cwd);
73
- // Re-evaluate under lock against fresh state
74
- const lockedCheckIds = resolveRequestedCheckIds(state.evidence, request.evidenceIds);
100
+ // Re-evaluate under lock against fresh state using the admitted CheckSpec contract.
101
+ const lockedChecks = resolveRequiredCheckSpecs(state.run, state.evidence, request.evidenceIds);
75
102
  const lockedDecision = evaluateAcceptance(state, {
76
- requiredChecks: lockedCheckIds,
103
+ requiredChecks: lockedChecks.map(entry => entry.spec),
77
104
  targetDigest: lockedDigest,
78
105
  candidateTree: lockedCandidate.candidateTree,
79
106
  criteria: state.run.objective.criteria,
@@ -1 +1 @@
1
- {"version":3,"file":"integrate.js","sourceRoot":"","sources":["../../src/tools/integrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAkB,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAOzF,SAAS,OAAO,CAAC,IAAY,EAAE,MAAgB,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpJ,SAAS,wBAAwB,CAAC,OAA0C,EAAE,GAAa;IACzF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,mCAAmC,CAAC,CAAC;IACnF,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,OAAO,KAAK,CAAC,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,qBAAqB,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAuB,EAAE,OAA2B;IAClF,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvC,IAAI,CAAC,KAAK,CAAC,GAAG;QAAE,MAAM,IAAI,aAAa,CAAC,gCAAgC,CAAC,CAAC;IAC1E,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACtD,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;IACjC,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,WAAW;QAAE,MAAM,IAAI,aAAa,CAAC,+DAA+D,CAAC,CAAC;IAClK,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IACxF,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,aAAa,CAAC,sBAAsB,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/E,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,yFAAyF,CAAC,CAAC;IAC7I,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,mDAAmD,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACxL,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,uCAAuC,CAAC,CAAC;IACnM,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpD,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,EAAE;QACzC,cAAc,EAAE,QAAQ;QACxB,YAAY;QACZ,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ;QACtC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU;KACvC,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAAE,MAAM,IAAI,aAAa,CAAC,wBAAwB,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxI,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/G,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,kDAAkD,CAAC,CAAC;IACzF,IAAI,CAAC;QACH,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,MAAM,IAAI,aAAa,CAAC,gCAAgC,CAAC,CAAC;QAC1E,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,WAAW;YAAE,MAAM,IAAI,aAAa,CAAC,+DAA+D,CAAC,CAAC;QAClK,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9F,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YAAE,MAAM,IAAI,aAAa,CAAC,4CAA4C,CAAC,CAAC;QACrJ,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,aAAa,CAAC,yFAAyF,CAAC,CAAC;QAC7I,MAAM,eAAe,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACzE,IAAI,eAAe,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,IAAI,eAAe,CAAC,aAAa,KAAK,SAAS,CAAC,aAAa;YAAE,MAAM,IAAI,aAAa,CAAC,2DAA2D,CAAC,CAAC;QACvM,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpD,6CAA6C;QAC7C,MAAM,cAAc,GAAG,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACrF,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,EAAE;YAC/C,cAAc,EAAE,cAAc;YAC9B,YAAY,EAAE,YAAY;YAC1B,aAAa,EAAE,eAAe,CAAC,aAAa;YAC5C,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ;YACtC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU;SACvC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,QAAQ;YAAE,MAAM,IAAI,aAAa,CAAC,wBAAwB,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpJ,MAAM,OAAO,GAAuB;YAClC,EAAE,EAAE,eAAe,UAAU,EAAE,EAAE;YACjC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK;YACtB,UAAU,EAAE,UAAU,CAAC,EAAE;YACzB,UAAU,EAAE,YAAY;YACxB,WAAW;YACX,YAAY,EAAE,UAAU;YACxB,mBAAmB,EAAE,cAAc,CAAC,mBAAmB;YACvD,SAAS,EAAE,OAAO,CAAC,KAAK;YACxB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU;YACvD,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,WAAW,EAAE,SAAS,CAAC,EAAE;YACzB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,aAAa,EAAE,SAAS,CAAC,aAAa;SACvC,CAAC;QACF,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,sBAAsB,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5I,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;YACjC,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACnC,OAAO,CAAC,eAAe,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzD,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzD,IAAI,YAAY,KAAK,SAAS,CAAC,aAAa;gBAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;iBACrE,CAAC;gBACJ,OAAO,CAAC,OAAO,GAAG,iBAAiB,CAAC;gBACpC,OAAO,CAAC,QAAQ,GAAG,iDAAiD,SAAS,CAAC,aAAa,cAAc,YAAY,EAAE,CAAC;YAC1H,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,uBAAuB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/H,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;YAAS,CAAC;QAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"integrate.js","sourceRoot":"","sources":["../../src/tools/integrate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA2D1D,MAAM,WAAW,WAAW;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;CAAE;AAEpO,wBAAsB,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,SAAc,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAkChK"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK1D,MAAM,WAAW,WAAW;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;CAAE;AAEpO,wBAAsB,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,SAAc,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAoDhK"}
@@ -1,4 +1,5 @@
1
1
  import { freezeCheckSpec, canonicalSpecHash } from "../core/acceptance.js";
2
+ import { redactArgv, safeEnvironment, enforceOutputPolicy } from "../core/redaction.js";
2
3
  import { execFile } from "node:child_process";
3
4
  import { promisify } from "node:util";
4
5
  import { randomUUID } from "node:crypto";
@@ -6,60 +7,7 @@ import { createEvidence } from "../core/evidence.js";
6
7
  import { repositoryIdentity, workingTreeDigest } from "../storage/repository-identity.js";
7
8
  import { ContractError } from "../core/errors.js";
8
9
  const execFileAsync = promisify(execFile);
9
- const SECRET_NAME = /(?:authorization|api[-_]?key|access[-_]?key|token|secret|password|credential|private[-_]?key)/i;
10
- const SAFE_ENVIRONMENT = new Set([
11
- "CI", "FORCE_COLOR", "HOME", "LANG", "LC_ALL", "LC_CTYPE", "NO_COLOR", "PATH", "SHELL", "TERM", "TMP", "TEMP", "TMPDIR", "TZ"
12
- ]);
13
10
  const MAX_OUTPUT = 100_000;
14
- // Attempt structural JSON redaction first; fall back to text redaction.
15
- const tryRedactStructured = (value) => {
16
- try {
17
- const parsed = JSON.parse(value);
18
- let changed = false;
19
- const redaction = (k, v) => {
20
- if (typeof v === "string" && SECRET_NAME.test(k)) {
21
- changed = true;
22
- return "[REDACTED]";
23
- }
24
- if (typeof v === "object" && v !== null) {
25
- return Array.isArray(v) ? v.map(x => redaction(k, x))
26
- : Object.fromEntries(Object.entries(v).map(([key, val]) => [key, redaction(key, val)]));
27
- }
28
- return v;
29
- };
30
- const redacted = JSON.stringify(redaction("", parsed));
31
- return { redacted, changed };
32
- }
33
- catch {
34
- return { redacted: value, changed: false };
35
- }
36
- };
37
- const redactText = (value) => value
38
- .replace(/"(api[_-]?key|access[_-]?key|token|secret|password|credential|private[_-]?key)"\s*:\s*"(?:[^"\\]|\\.)*"/gi, '"$1":"[REDACTED]"')
39
- .replace(/'(api[_-]?key|access[_-]?key|token|secret|password|credential|private[_-]?key)'\s*:\s*'(?:[^'\\]|\\.)*'/gi, "'$1':'[REDACTED]'")
40
- .replace(/"(authorization)"\s*:\s*"(?:[^"\\]|\\.)*"/gi, '"$1":"[REDACTED]"')
41
- .replace(/([Aa]uthorization)\s*:\s*Bearer\s+[A-Za-z0-9._~/-]+/g, "$1: Bearer [REDACTED]")
42
- .replace(/([Aa]uthorization)\s*:\s*[^\r\n]+/g, "$1: [REDACTED]")
43
- .replace(/(authorization|api[-_]?key|access[-_]?key|token|secret|password|credential|private[-_]?key)\s*[:=]\s*[^\s,;"']+/gi, "$1=[REDACTED]")
44
- .replace(/([?&](?:token|secret|api[-_]?key|password|key)=)[^&\s]+/gi, "$1[REDACTED]")
45
- .replace(/Bearer\s+[A-Za-z0-9._~-]+/gi, "Bearer [REDACTED]")
46
- .replace(/-----BEGIN ([A-Z ]+ KEY)-----[\s\S]*?-----END \1-----/g, "-----BEGIN $1-----[REDACTED]-----END $1-----");
47
- const redact = (value) => {
48
- const { redacted: jsonRedacted, changed } = tryRedactStructured(value);
49
- if (changed)
50
- return jsonRedacted;
51
- return redactText(value);
52
- };
53
- const bounded = (value) => {
54
- const safe = redact(value ?? "");
55
- return safe.length > MAX_OUTPUT ? `[TRUNCATED]\n${safe.slice(-MAX_OUTPUT)}` : safe;
56
- };
57
- const safeCommand = (command) => command.map((part, index) => {
58
- if (index > 0 && (SECRET_NAME.test(command[index - 1] ?? "") || SECRET_NAME.test(part.split("=", 1)[0] ?? "")))
59
- return "[REDACTED]";
60
- return redact(part);
61
- });
62
- const safeEnvironment = (environment) => Object.fromEntries(Object.entries(environment).filter(([name]) => SAFE_ENVIRONMENT.has(name)).map(([name, value]) => [name, value ?? ""]));
63
11
  export async function runVerification(binding, checkId, command, cwd = binding.cwd, signal) {
64
12
  if (!checkId.trim() || !command.length || command.some(part => typeof part !== "string" || part.includes("\0")) || !command[0].trim())
65
13
  throw new ContractError("A check ID and nonempty command argv are required");
@@ -75,7 +23,7 @@ export async function runVerification(binding, checkId, command, cwd = binding.c
75
23
  throw new ContractError("Verification is blocked by the acknowledged cancellation fence");
76
24
  const runId = run.runId;
77
25
  const before = workingTreeDigest(cwd);
78
- const persistedCommand = safeCommand(command);
26
+ const persistedCommand = redactArgv(command);
79
27
  const attemptId = randomUUID();
80
28
  const key = (suffix) => `verify:${runId}:${checkId}:${attemptId}:${suffix}`;
81
29
  let outcome = "unknown";
@@ -88,14 +36,34 @@ export async function runVerification(binding, checkId, command, cwd = binding.c
88
36
  const output = await execFileAsync(command[0], command.slice(1), { cwd, signal, timeout: 10 * 60 * 1000, maxBuffer: 512 * 1024, env: { ...safeEnvironment(process.env), CI: "1" } });
89
37
  treeUnchanged = workingTreeDigest(cwd) === before;
90
38
  outcome = treeUnchanged ? "passed" : "unknown";
91
- stdout = bounded(output.stdout);
92
- stderr = bounded(output.stderr);
39
+ const sanitized = enforceOutputPolicy({ id: checkId, revision: 1, runner: "argv", argumentTemplate: command.slice(1), cwdRule: "repository-root", inputDigests: {}, environmentPolicy: "host default", limits: { timeoutMs: 600_000, outputBytes: MAX_OUTPUT }, expected: "zero-exit", outputPolicy: "sanitized-tail", evaluatorHash: "" }, output.stdout ?? "", output.stderr ?? "");
40
+ stdout = sanitized.stdout;
41
+ stderr = sanitized.stderr;
93
42
  exitCode = outcome === "passed" ? 0 : 1;
94
43
  }
95
44
  catch (e) {
96
- execError = e;
45
+ // R008: classify abort, child exit, and unknown.
46
+ const typed = e;
47
+ if (typed.name === "AbortError" || typed.signal === "SIGTERM" || typed.signal === "SIGINT" || typed.killed || signal?.aborted) {
48
+ outcome = "cancelled";
49
+ exitCode = 130;
50
+ }
51
+ else if (typeof typed.code === "number") {
52
+ outcome = "failed";
53
+ exitCode = typed.code;
54
+ const sanitized = enforceOutputPolicy({ id: checkId, revision: 1, runner: "argv", argumentTemplate: command.slice(1), cwdRule: "repository-root", inputDigests: {}, environmentPolicy: "host default", limits: { timeoutMs: 600_000, outputBytes: MAX_OUTPUT }, expected: "zero-exit", outputPolicy: "sanitized-tail", evaluatorHash: "" }, typed.stdout ?? "", typed.stderr ?? `Command failed: ${typed.message ?? String(e)}`);
55
+ stdout = sanitized.stdout;
56
+ stderr = sanitized.stderr;
57
+ }
58
+ else {
59
+ outcome = "unknown";
60
+ exitCode = 1;
61
+ const sanitized = enforceOutputPolicy({ id: checkId, revision: 1, runner: "argv", argumentTemplate: command.slice(1), cwdRule: "repository-root", inputDigests: {}, environmentPolicy: "host default", limits: { timeoutMs: 600_000, outputBytes: MAX_OUTPUT }, expected: "zero-exit", outputPolicy: "sanitized-tail", evaluatorHash: "" }, "", `Verification could not classify the failure: ${typed.message ?? String(e)}`);
62
+ stdout = sanitized.stdout;
63
+ stderr = sanitized.stderr;
64
+ }
97
65
  }
98
- const spec = freezeCheckSpec({ id: checkId, revision: 1, runner: "argv", argumentTemplate: command.map(part => redact(part)), cwdRule: "repository-root", inputDigests: {}, environmentPolicy: "host default", limits: { timeoutMs: 600_000, outputBytes: 512_000 }, expected: "zero-exit", outputPolicy: "sanitized-tail" });
66
+ const spec = freezeCheckSpec({ id: checkId, revision: 1, runner: "argv", argumentTemplate: redactArgv(command), cwdRule: "repository-root", inputDigests: {}, environmentPolicy: "host default", limits: { timeoutMs: 600_000, outputBytes: 512_000 }, expected: "zero-exit", outputPolicy: "sanitized-tail", evaluatorHash: "" });
99
67
  const evidenceId = `evidence_${attemptId}`;
100
68
  const base = createEvidence({ id: evidenceId, runId, type: "test", checkId, command: persistedCommand, cwd, result: outcome, exitCode: outcome === "passed" ? 0 : exitCode, targetDigest: before, inputDigests: {}, stdout, stderr, artifactHashes: [], provenance: { producer: "bizar-verify", source: "host-observed", observedAt: new Date().toISOString() }, checkSpecHash: canonicalSpecHash(spec) });
101
69
  binding.journal.append({ type: "evidence.recorded", runId, evidence: base }, key(outcome), run.revision);
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"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"}
@@ -16,4 +16,13 @@ export declare function runWorkflow(binding: SessionBinding, action: WorkflowAct
16
16
  policyRevision: string;
17
17
  targetDigest: string;
18
18
  } | undefined;
19
+ /**
20
+ * A003: cancel a managed workflow run, correlating live native dispatches to the
21
+ * cancellation, journaling the request before the terminal `run.cancelled` event,
22
+ * and awaiting settled state before reporting success.
23
+ */
24
+ export declare function cancelRun(binding: SessionBinding, priorState: {
25
+ run?: import("../core/types.js").WorkflowRun | undefined;
26
+ revision: number;
27
+ }, reason: string): import("../core/types.js").WorkflowRun | undefined;
19
28
  //# sourceMappingURL=workflow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAqB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,iBAAiB,CAAC;AAEjJ,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;cAwE3G"}
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAqB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,iBAAiB,CAAC;AAEjJ,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;cAkF3G;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,kBAAkB,EAAE,WAAW,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE,MAAM,sDAgB5J"}
@@ -1,8 +1,9 @@
1
1
  import { readyWorkItems } from "../services/readiness.js";
2
2
  import { acceptWorkItem, addWorkItem, completeRun, freezeObjective, transition } from "../core/transitions.js";
3
3
  import { requireFreshEvidence } from "../core/evidence.js";
4
- import { classifyRoute } from "../core/policies.js";
5
4
  import { ContractError } from "../core/errors.js";
5
+ import { classifyRoute } from "../core/policies.js";
6
+ import { canonicalSpecHash } from "../core/acceptance.js";
6
7
  import { assertOwner } from "../core/recovery.js";
7
8
  import { startObjective } from "../omp/lifecycle.js";
8
9
  import { workingTreeDigest } from "../storage/repository-identity.js";
@@ -43,8 +44,7 @@ export function runWorkflow(binding, action, params) {
43
44
  }
44
45
  if (action === "cancel") {
45
46
  const reason = String(params.reason ?? "operator cancellation");
46
- binding.journal.append({ type: "run.cancelled", runId: state.run.runId, reason }, `cancel:${state.run.runId}:${state.run.revision}`, state.revision);
47
- return binding.journal.snapshot().run;
47
+ return cancelRun(binding, state, reason);
48
48
  }
49
49
  if (action === "add-work") {
50
50
  const item = addWorkItem(state.run, params.item);
@@ -58,22 +58,35 @@ export function runWorkflow(binding, action, params) {
58
58
  if (!Array.isArray(evidenceIds))
59
59
  throw new ContractError("Evidence IDs are required to accept work");
60
60
  const targetDigest = workingTreeDigest(binding.cwd);
61
- requireFreshEvidence(state.evidence, evidenceIds, targetDigest);
62
61
  const item = state.run.workItems.find(candidate => candidate.id === workItemId);
63
62
  if (!item)
64
63
  throw new ContractError(`Unknown work item: ${workItemId}`);
65
64
  if (item.lifecycle !== "settled")
66
65
  throw new ContractError(`Work item must be settled before acceptance (current: ${item.lifecycle})`);
67
- const dispatch = state.dispatches.find(intent => intent.workItemId === workItemId);
66
+ // R006: require candidate binding + CheckSpec contract enforcement.
67
+ const dispatches = state.dispatches.filter(intent => intent.workItemId === workItemId);
68
+ const dispatch = dispatches.filter(intent => intent.candidateId && intent.candidateTree).at(-1);
68
69
  if (!dispatch)
69
70
  throw new ContractError("Work item has no recorded dispatch");
70
71
  if (dispatch.status !== "settled")
71
72
  throw new ContractError(`Work item dispatch must be settled (current: ${dispatch.status})`);
72
73
  if (!dispatch.candidateId || !dispatch.candidateTree)
73
74
  throw new ContractError("Settled dispatch must reference a candidate");
74
- const checkSpecHashes = state.evidence.filter(record => evidenceIds.includes(record.id)).map(record => record.checkSpecHash ?? "");
75
- if (checkSpecHashes.length !== evidenceIds.length)
76
- throw new ContractError("All evidence must carry a checkSpecHash to be accepted");
75
+ requireFreshEvidence(state.evidence, evidenceIds, targetDigest, { candidateId: dispatch.candidateId, candidateTree: dispatch.candidateTree });
76
+ const acceptedRecords = state.evidence.filter(record => evidenceIds.includes(record.id));
77
+ const specsById = new Map((state.run.objective.checkSpecs ?? []).map(spec => [spec.id, spec]));
78
+ if (specsById.size > 0) {
79
+ for (const record of acceptedRecords) {
80
+ if (!record.checkSpecHash)
81
+ throw new ContractError(`Evidence ${record.id} lacks a checkSpecHash; cannot be accepted under CheckSpec contract`);
82
+ const spec = specsById.get(record.checkId);
83
+ if (!spec)
84
+ throw new ContractError(`Evidence checkId "${record.checkId}" is not admitted in the objective CheckSpec contract`);
85
+ if (canonicalSpecHash(spec) !== record.checkSpecHash)
86
+ throw new ContractError(`Evidence ${record.id} does not match the admitted CheckSpec for ${spec.id}`);
87
+ }
88
+ }
89
+ const checkSpecHashes = acceptedRecords.map(record => record.checkSpecHash ?? "");
77
90
  const next = acceptWorkItem(state.run, workItemId);
78
91
  const accepted = next.workItems.find(candidate => candidate.id === workItemId);
79
92
  const receipt = { workItemId, workRevision: item.revision, dispatchId: dispatch.id, candidateId: dispatch.candidateId, candidateTree: dispatch.candidateTree, evidenceIds: [...evidenceIds], checkSpecHashes, policyRevision: state.run.objective.policyRevision ?? "admission", targetDigest };
@@ -95,4 +108,28 @@ export function runWorkflow(binding, action, params) {
95
108
  return readyWorkItems(state.run.workItems)[0] ?? null;
96
109
  throw new ContractError(`Unknown workflow action: ${action}`);
97
110
  }
111
+ /**
112
+ * A003: cancel a managed workflow run, correlating live native dispatches to the
113
+ * cancellation, journaling the request before the terminal `run.cancelled` event,
114
+ * and awaiting settled state before reporting success.
115
+ */
116
+ export function cancelRun(binding, priorState, reason) {
117
+ const state = priorState.run ? priorState : binding.journal.snapshot();
118
+ if (!state.run)
119
+ throw new ContractError("No workflow run exists; start one first");
120
+ const terminalStatuses = new Set(["settled", "failed", "cancelled", "unknown-outcome", "rejected"]);
121
+ const liveDispatches = binding.journal.snapshot().dispatches.filter(intent => intent.runId === state.run.runId && !terminalStatuses.has(intent.status));
122
+ const requestId = `cancel-request:${state.run.runId}:${state.run.revision}:${Date.now().toString(36)}`;
123
+ binding.journal.append({ type: "run.cancellation_requested", runId: state.run.runId, reason, dispatchIds: liveDispatches.map(d => d.id), at: new Date().toISOString() }, requestId, state.revision);
124
+ for (const dispatch of liveDispatches) {
125
+ const cancellationKey = `dispatch-cancel:${dispatch.id}`;
126
+ binding.journal.append({ type: "dispatch.state_changed", runId: state.run.runId, dispatch: { ...dispatch, status: "cancelled" }, observed: { dispatchId: dispatch.id, sourceEvent: "run.cancellation_requested", sequence: 0, status: "cancelled", artifactRefs: [], observedAt: new Date().toISOString() } }, cancellationKey, state.revision);
127
+ }
128
+ const settled = binding.journal.snapshot();
129
+ const stillLive = settled.dispatches.filter(intent => intent.runId === state.run.runId && !terminalStatuses.has(intent.status));
130
+ if (stillLive.length > 0)
131
+ throw new ContractError("Cancel failed to reach settled state for live dispatches", { dispatchIds: stillLive.map(intent => intent.id) });
132
+ binding.journal.append({ type: "run.cancelled", runId: state.run.runId, reason }, `cancel:${state.run.runId}:${state.run.revision}`, state.revision);
133
+ return binding.journal.snapshot().run;
134
+ }
98
135
  //# sourceMappingURL=workflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"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"}
@@ -8,18 +8,19 @@
8
8
  },
9
9
  "omp": {
10
10
  "repository": "https://github.com/can1357/oh-my-pi",
11
- "testedVersion": "18.2.8",
12
- "testedCommit": "5e0fc867f8a58dfe8812b5e99b2e7b6a0313da6c",
11
+ "testedVersion": "18.2.9",
12
+ "testedCommit": "8cd6f8c619e89e935b6c6c5c91f6a4d20f6d7a75",
13
13
  "previouslyQualifiedVersions": [
14
14
  "18.2.4",
15
15
  "18.2.5",
16
16
  "18.2.6",
17
- "18.2.7"
17
+ "18.2.7",
18
+ "18.2.8"
18
19
  ],
19
20
  "researchedMainCommit": "dbf3afad4894bde827d90f965e77b3fe1c5a95e5",
20
- "releaseVersionSeenInResearch": "18.2.8",
21
- "releaseCommitSeenInResearch": "5e0fc867f8a58dfe8812b5e99b2e7b6a0313da6c",
22
- "qualification": "The npm package was tested at 18.2.8 with integrity sha512-I8JXVNLJb8PfGS6mRGSKNq73+EX+R/GoaRBoMj8HTtOiwF112QXH72UP2klTwoCiR2gTsACbAIWjD0JdrR3A3g==; 18.2.7 remains a separately qualified compatibility version. Package version alone does not prove source commit identity."
21
+ "releaseVersionSeenInResearch": "18.2.9",
22
+ "releaseCommitSeenInResearch": "8cd6f8c619e89e935b6c6c5c91f6a4d20f6d7a75",
23
+ "qualification": "The npm package was tested at 18.2.9 with integrity sha512-VnU6Udlp9sjmZI2WuwIJmKV2MP3Y1sCkwES2Yiq9MAhlSlLLRhXIx2Ijn2I1nHtYur9WoU/OQGvjN8+FH3Z9xg==; 18.2.8 remains a separately qualified compatibility version. Package version alone does not prove source commit identity."
23
24
  },
24
25
  "bun": {
25
26
  "minimum": "1.3.14",
@@ -27,7 +28,7 @@
27
28
  },
28
29
  "package": {
29
30
  "name": "@polderlabs/bizar-omp",
30
- "version": "0.6.8",
31
+ "version": "0.7.1",
31
32
  "integrity": "computed by npm pack in CI",
32
33
  "extensionEntry": "dist/extension.js"
33
34
  }
@@ -15,7 +15,8 @@
15
15
  "dry-run migration"
16
16
  ],
17
17
  "qualified": [
18
- "OMP 18.2.8 / release commit 5e0fc867f8a58dfe8812b5e99b2e7b6a0313da6c",
18
+ "OMP 18.2.9 / release commit 8cd6f8c619e89e935b6c6c5c91f6a4d20f6d7a75",
19
+ "OMP 18.2.8 compatibility regression",
19
20
  "OMP 18.2.7 compatibility regression",
20
21
  "OMP 18.2.6 compatibility regression",
21
22
  "OMP 18.2.5 compatibility regression",