oh-my-codex 0.20.2 → 0.20.3

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 (367) hide show
  1. package/Cargo.lock +7 -6
  2. package/Cargo.toml +1 -1
  3. package/README.md +26 -0
  4. package/crates/omx-runtime/Cargo.toml +1 -0
  5. package/crates/omx-runtime/src/main.rs +25 -2
  6. package/crates/omx-runtime/tests/execution.rs +219 -0
  7. package/crates/omx-runtime-core/src/dispatch.rs +96 -10
  8. package/crates/omx-runtime-core/src/engine.rs +839 -29
  9. package/crates/omx-runtime-core/src/lib.rs +8 -0
  10. package/dist/agents/__tests__/definitions.test.js +81 -0
  11. package/dist/agents/__tests__/definitions.test.js.map +1 -1
  12. package/dist/agents/__tests__/native-config.test.js +25 -0
  13. package/dist/agents/__tests__/native-config.test.js.map +1 -1
  14. package/dist/agents/native-config.d.ts +2 -1
  15. package/dist/agents/native-config.d.ts.map +1 -1
  16. package/dist/agents/native-config.js.map +1 -1
  17. package/dist/auth/hotswap.d.ts +6 -0
  18. package/dist/auth/hotswap.d.ts.map +1 -1
  19. package/dist/auth/hotswap.js +85 -15
  20. package/dist/auth/hotswap.js.map +1 -1
  21. package/dist/autopilot/__tests__/ralplan-gate.test.js +1 -1
  22. package/dist/autopilot/__tests__/ralplan-gate.test.js.map +1 -1
  23. package/dist/cli/__tests__/auth.test.js +60 -6
  24. package/dist/cli/__tests__/auth.test.js.map +1 -1
  25. package/dist/cli/__tests__/codex-plugin-layout.test.js +80 -0
  26. package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
  27. package/dist/cli/__tests__/doctor-warning-copy.test.js +103 -1
  28. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
  29. package/dist/cli/__tests__/exec.test.js +136 -0
  30. package/dist/cli/__tests__/exec.test.js.map +1 -1
  31. package/dist/cli/__tests__/index.test.js +258 -4
  32. package/dist/cli/__tests__/index.test.js.map +1 -1
  33. package/dist/cli/__tests__/launch-fallback.test.js +287 -1
  34. package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
  35. package/dist/cli/__tests__/mcp-parity.test.js +4 -1
  36. package/dist/cli/__tests__/mcp-parity.test.js.map +1 -1
  37. package/dist/cli/__tests__/native-hook-claim-journal.test.js +84 -6
  38. package/dist/cli/__tests__/native-hook-claim-journal.test.js.map +1 -1
  39. package/dist/cli/__tests__/ralph-goal-mode-contract.test.js +3 -3
  40. package/dist/cli/__tests__/ralph-goal-mode-contract.test.js.map +1 -1
  41. package/dist/cli/__tests__/ralph.test.js +3 -3
  42. package/dist/cli/__tests__/ralph.test.js.map +1 -1
  43. package/dist/cli/__tests__/ralplan-bootstrap-3181.test.js +56 -171
  44. package/dist/cli/__tests__/ralplan-bootstrap-3181.test.js.map +1 -1
  45. package/dist/cli/__tests__/ralplan.test.js +37 -111
  46. package/dist/cli/__tests__/ralplan.test.js.map +1 -1
  47. package/dist/cli/__tests__/resume.test.js +11 -10
  48. package/dist/cli/__tests__/resume.test.js.map +1 -1
  49. package/dist/cli/__tests__/session-search-help.test.js +25 -1
  50. package/dist/cli/__tests__/session-search-help.test.js.map +1 -1
  51. package/dist/cli/__tests__/setup-install-mode.test.js +42 -4
  52. package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
  53. package/dist/cli/__tests__/team.test.js +105 -7
  54. package/dist/cli/__tests__/team.test.js.map +1 -1
  55. package/dist/cli/__tests__/uninstall.test.js +46 -0
  56. package/dist/cli/__tests__/uninstall.test.js.map +1 -1
  57. package/dist/cli/__tests__/windows-popup-loop-contract.test.js +2 -1
  58. package/dist/cli/__tests__/windows-popup-loop-contract.test.js.map +1 -1
  59. package/dist/cli/doctor.d.ts +3 -0
  60. package/dist/cli/doctor.d.ts.map +1 -1
  61. package/dist/cli/doctor.js +15 -2
  62. package/dist/cli/doctor.js.map +1 -1
  63. package/dist/cli/index.d.ts +4 -1
  64. package/dist/cli/index.d.ts.map +1 -1
  65. package/dist/cli/index.js +138 -38
  66. package/dist/cli/index.js.map +1 -1
  67. package/dist/cli/mcp-parity.js +2 -2
  68. package/dist/cli/mcp-parity.js.map +1 -1
  69. package/dist/cli/native-hook-claim-journal.d.ts +16 -5
  70. package/dist/cli/native-hook-claim-journal.d.ts.map +1 -1
  71. package/dist/cli/native-hook-claim-journal.js +42 -29
  72. package/dist/cli/native-hook-claim-journal.js.map +1 -1
  73. package/dist/cli/ralph.js +2 -2
  74. package/dist/cli/ralph.js.map +1 -1
  75. package/dist/cli/ralplan.d.ts +4 -8
  76. package/dist/cli/ralplan.d.ts.map +1 -1
  77. package/dist/cli/ralplan.js +19 -112
  78. package/dist/cli/ralplan.js.map +1 -1
  79. package/dist/cli/session-search.d.ts +5 -0
  80. package/dist/cli/session-search.d.ts.map +1 -1
  81. package/dist/cli/session-search.js +87 -0
  82. package/dist/cli/session-search.js.map +1 -1
  83. package/dist/cli/setup.d.ts +5 -0
  84. package/dist/cli/setup.d.ts.map +1 -1
  85. package/dist/cli/setup.js +80 -31
  86. package/dist/cli/setup.js.map +1 -1
  87. package/dist/cli/uninstall.d.ts +9 -0
  88. package/dist/cli/uninstall.d.ts.map +1 -1
  89. package/dist/cli/uninstall.js +61 -19
  90. package/dist/cli/uninstall.js.map +1 -1
  91. package/dist/compat/__tests__/rust-runtime-compat.test.js +1 -1
  92. package/dist/config/__tests__/generator-idempotent.test.js +330 -1
  93. package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
  94. package/dist/config/__tests__/generator-notify.test.js +2 -2
  95. package/dist/config/__tests__/generator-notify.test.js.map +1 -1
  96. package/dist/config/__tests__/models.test.js +67 -3
  97. package/dist/config/__tests__/models.test.js.map +1 -1
  98. package/dist/config/generator.d.ts +4 -20
  99. package/dist/config/generator.d.ts.map +1 -1
  100. package/dist/config/generator.js +499 -119
  101. package/dist/config/generator.js.map +1 -1
  102. package/dist/config/models.d.ts +12 -2
  103. package/dist/config/models.d.ts.map +1 -1
  104. package/dist/config/models.js +15 -1
  105. package/dist/config/models.js.map +1 -1
  106. package/dist/hooks/__tests__/agents-overlay.test.js +2 -2
  107. package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
  108. package/dist/hooks/__tests__/keyword-detector.test.js +4 -4
  109. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  110. package/dist/hooks/__tests__/notify-fallback-watcher.test.js +238 -543
  111. package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
  112. package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js +38 -4
  113. package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js.map +1 -1
  114. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +96 -9
  115. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
  116. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +531 -12
  117. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
  118. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +155 -23
  119. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
  120. package/dist/hooks/__tests__/notify-hook-team-tmux-guard.test.js +482 -32
  121. package/dist/hooks/__tests__/notify-hook-team-tmux-guard.test.js.map +1 -1
  122. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +68 -1
  123. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
  124. package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js +7 -1
  125. package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js.map +1 -1
  126. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +43 -4
  127. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -1
  128. package/dist/hooks/__tests__/session.test.js +348 -2
  129. package/dist/hooks/__tests__/session.test.js.map +1 -1
  130. package/dist/hooks/agents-overlay.js +1 -1
  131. package/dist/hooks/session.d.ts +26 -2
  132. package/dist/hooks/session.d.ts.map +1 -1
  133. package/dist/hooks/session.js +169 -13
  134. package/dist/hooks/session.js.map +1 -1
  135. package/dist/leader/__tests__/contract.test.js +57 -7
  136. package/dist/leader/__tests__/contract.test.js.map +1 -1
  137. package/dist/leader/contract.d.ts +16 -0
  138. package/dist/leader/contract.d.ts.map +1 -1
  139. package/dist/leader/contract.js +79 -4
  140. package/dist/leader/contract.js.map +1 -1
  141. package/dist/mcp/__tests__/code-intel-server.test.js +31 -3
  142. package/dist/mcp/__tests__/code-intel-server.test.js.map +1 -1
  143. package/dist/mcp/__tests__/wiki-server.test.js +18 -0
  144. package/dist/mcp/__tests__/wiki-server.test.js.map +1 -1
  145. package/dist/mcp/code-intel-server.d.ts.map +1 -1
  146. package/dist/mcp/code-intel-server.js +13 -3
  147. package/dist/mcp/code-intel-server.js.map +1 -1
  148. package/dist/mcp/wiki-server.d.ts +11 -0
  149. package/dist/mcp/wiki-server.d.ts.map +1 -1
  150. package/dist/mcp/wiki-server.js +9 -2
  151. package/dist/mcp/wiki-server.js.map +1 -1
  152. package/dist/modes/__tests__/base-tmux-pane.test.js +4 -4
  153. package/dist/modes/__tests__/base-tmux-pane.test.js.map +1 -1
  154. package/dist/notifications/temp-contract.d.ts.map +1 -1
  155. package/dist/notifications/temp-contract.js +4 -0
  156. package/dist/notifications/temp-contract.js.map +1 -1
  157. package/dist/pipeline/__tests__/orchestrator.test.js +4 -4
  158. package/dist/pipeline/__tests__/orchestrator.test.js.map +1 -1
  159. package/dist/pipeline/__tests__/stages.test.js +8 -8
  160. package/dist/pipeline/__tests__/stages.test.js.map +1 -1
  161. package/dist/ralplan/__tests__/consensus-gate.test.js +134 -10
  162. package/dist/ralplan/__tests__/consensus-gate.test.js.map +1 -1
  163. package/dist/ralplan/__tests__/documented-leader-preflight.test.d.ts +2 -0
  164. package/dist/ralplan/__tests__/documented-leader-preflight.test.d.ts.map +1 -0
  165. package/dist/ralplan/__tests__/documented-leader-preflight.test.js +46 -0
  166. package/dist/ralplan/__tests__/documented-leader-preflight.test.js.map +1 -0
  167. package/dist/ralplan/__tests__/runtime.test.js +8 -4
  168. package/dist/ralplan/__tests__/runtime.test.js.map +1 -1
  169. package/dist/ralplan/consensus-gate.d.ts.map +1 -1
  170. package/dist/ralplan/consensus-gate.js +58 -50
  171. package/dist/ralplan/consensus-gate.js.map +1 -1
  172. package/dist/ralplan/documented-leader-preflight.d.ts +34 -0
  173. package/dist/ralplan/documented-leader-preflight.d.ts.map +1 -0
  174. package/dist/ralplan/documented-leader-preflight.js +58 -0
  175. package/dist/ralplan/documented-leader-preflight.js.map +1 -0
  176. package/dist/ralplan/runtime.d.ts +1 -0
  177. package/dist/ralplan/runtime.d.ts.map +1 -1
  178. package/dist/ralplan/runtime.js +11 -7
  179. package/dist/ralplan/runtime.js.map +1 -1
  180. package/dist/runtime/__tests__/bridge.test.js +42 -1
  181. package/dist/runtime/__tests__/bridge.test.js.map +1 -1
  182. package/dist/runtime/bridge.d.ts +12 -0
  183. package/dist/runtime/bridge.d.ts.map +1 -1
  184. package/dist/runtime/bridge.js +52 -1
  185. package/dist/runtime/bridge.js.map +1 -1
  186. package/dist/scripts/__tests__/codex-native-hook.test.js +2620 -487
  187. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  188. package/dist/scripts/__tests__/reasoning-artifact-contract.test.d.ts +2 -0
  189. package/dist/scripts/__tests__/reasoning-artifact-contract.test.d.ts.map +1 -0
  190. package/dist/scripts/__tests__/reasoning-artifact-contract.test.js +108 -0
  191. package/dist/scripts/__tests__/reasoning-artifact-contract.test.js.map +1 -0
  192. package/dist/scripts/__tests__/role-intent-bootstrap-e2e-3181.test.js +46 -173
  193. package/dist/scripts/__tests__/role-intent-bootstrap-e2e-3181.test.js.map +1 -1
  194. package/dist/scripts/__tests__/role-intent-durable-recovery-3181.test.js +39 -159
  195. package/dist/scripts/__tests__/role-intent-durable-recovery-3181.test.js.map +1 -1
  196. package/dist/scripts/__tests__/smoke-packed-install.test.js +254 -2
  197. package/dist/scripts/__tests__/smoke-packed-install.test.js.map +1 -1
  198. package/dist/scripts/codex-native-hook.d.ts +4 -1
  199. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  200. package/dist/scripts/codex-native-hook.js +11013 -1153
  201. package/dist/scripts/codex-native-hook.js.map +1 -1
  202. package/dist/scripts/notify-fallback-watcher.js +82 -108
  203. package/dist/scripts/notify-fallback-watcher.js.map +1 -1
  204. package/dist/scripts/notify-hook/auto-nudge.d.ts.map +1 -1
  205. package/dist/scripts/notify-hook/auto-nudge.js +74 -3
  206. package/dist/scripts/notify-hook/auto-nudge.js.map +1 -1
  207. package/dist/scripts/notify-hook/team-dispatch.d.ts +9 -0
  208. package/dist/scripts/notify-hook/team-dispatch.d.ts.map +1 -1
  209. package/dist/scripts/notify-hook/team-dispatch.js +234 -79
  210. package/dist/scripts/notify-hook/team-dispatch.js.map +1 -1
  211. package/dist/scripts/notify-hook/team-leader-nudge.d.ts.map +1 -1
  212. package/dist/scripts/notify-hook/team-leader-nudge.js +39 -13
  213. package/dist/scripts/notify-hook/team-leader-nudge.js.map +1 -1
  214. package/dist/scripts/notify-hook/team-tmux-guard.d.ts +12 -4
  215. package/dist/scripts/notify-hook/team-tmux-guard.d.ts.map +1 -1
  216. package/dist/scripts/notify-hook/team-tmux-guard.js +365 -44
  217. package/dist/scripts/notify-hook/team-tmux-guard.js.map +1 -1
  218. package/dist/scripts/notify-hook/team-worker-stop.d.ts.map +1 -1
  219. package/dist/scripts/notify-hook/team-worker-stop.js +19 -18
  220. package/dist/scripts/notify-hook/team-worker-stop.js.map +1 -1
  221. package/dist/scripts/notify-hook/team-worker.d.ts +3 -0
  222. package/dist/scripts/notify-hook/team-worker.d.ts.map +1 -1
  223. package/dist/scripts/notify-hook/team-worker.js +37 -28
  224. package/dist/scripts/notify-hook/team-worker.js.map +1 -1
  225. package/dist/scripts/notify-hook/tmux-injection.d.ts.map +1 -1
  226. package/dist/scripts/notify-hook/tmux-injection.js +28 -2
  227. package/dist/scripts/notify-hook/tmux-injection.js.map +1 -1
  228. package/dist/scripts/notify-hook.js +1 -0
  229. package/dist/scripts/notify-hook.js.map +1 -1
  230. package/dist/scripts/smoke-packed-install.d.ts +48 -3
  231. package/dist/scripts/smoke-packed-install.d.ts.map +1 -1
  232. package/dist/scripts/smoke-packed-install.js +2796 -13
  233. package/dist/scripts/smoke-packed-install.js.map +1 -1
  234. package/dist/state/__tests__/mode-state-context.test.js +54 -0
  235. package/dist/state/__tests__/mode-state-context.test.js.map +1 -1
  236. package/dist/state/__tests__/operations.test.js +2 -0
  237. package/dist/state/__tests__/operations.test.js.map +1 -1
  238. package/dist/state/mode-state-context.d.ts +5 -0
  239. package/dist/state/mode-state-context.d.ts.map +1 -1
  240. package/dist/state/mode-state-context.js +59 -0
  241. package/dist/state/mode-state-context.js.map +1 -1
  242. package/dist/subagents/__tests__/leader-bootstrap-3181.test.js +24 -245
  243. package/dist/subagents/__tests__/leader-bootstrap-3181.test.js.map +1 -1
  244. package/dist/subagents/tracker.d.ts +1 -82
  245. package/dist/subagents/tracker.d.ts.map +1 -1
  246. package/dist/subagents/tracker.js +3 -275
  247. package/dist/subagents/tracker.js.map +1 -1
  248. package/dist/team/__tests__/api-interop.test.js +91 -1
  249. package/dist/team/__tests__/api-interop.test.js.map +1 -1
  250. package/dist/team/__tests__/delivery-e2e-smoke.test.js +52 -10
  251. package/dist/team/__tests__/delivery-e2e-smoke.test.js.map +1 -1
  252. package/dist/team/__tests__/idle-nudge.test.js +45 -15
  253. package/dist/team/__tests__/idle-nudge.test.js.map +1 -1
  254. package/dist/team/__tests__/mcp-comm.test.js +93 -27
  255. package/dist/team/__tests__/mcp-comm.test.js.map +1 -1
  256. package/dist/team/__tests__/model-contract.test.js +110 -3
  257. package/dist/team/__tests__/model-contract.test.js.map +1 -1
  258. package/dist/team/__tests__/runtime-cli.test.js +9 -0
  259. package/dist/team/__tests__/runtime-cli.test.js.map +1 -1
  260. package/dist/team/__tests__/runtime.test.js +3204 -335
  261. package/dist/team/__tests__/runtime.test.js.map +1 -1
  262. package/dist/team/__tests__/scaling.test.js +2359 -142
  263. package/dist/team/__tests__/scaling.test.js.map +1 -1
  264. package/dist/team/__tests__/state.test.js +804 -36
  265. package/dist/team/__tests__/state.test.js.map +1 -1
  266. package/dist/team/__tests__/team-ops-contract.test.js +6 -0
  267. package/dist/team/__tests__/team-ops-contract.test.js.map +1 -1
  268. package/dist/team/__tests__/tmux-session.test.js +3049 -784
  269. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  270. package/dist/team/__tests__/worker-runtime-identity.test.js +38 -2
  271. package/dist/team/__tests__/worker-runtime-identity.test.js.map +1 -1
  272. package/dist/team/__tests__/worktree.test.js +6 -0
  273. package/dist/team/__tests__/worktree.test.js.map +1 -1
  274. package/dist/team/api-interop.d.ts.map +1 -1
  275. package/dist/team/api-interop.js +15 -9
  276. package/dist/team/api-interop.js.map +1 -1
  277. package/dist/team/exact-pane.d.ts +23 -0
  278. package/dist/team/exact-pane.d.ts.map +1 -0
  279. package/dist/team/exact-pane.js +133 -0
  280. package/dist/team/exact-pane.js.map +1 -0
  281. package/dist/team/idle-nudge.d.ts +12 -1
  282. package/dist/team/idle-nudge.d.ts.map +1 -1
  283. package/dist/team/idle-nudge.js +41 -14
  284. package/dist/team/idle-nudge.js.map +1 -1
  285. package/dist/team/model-contract.d.ts +2 -5
  286. package/dist/team/model-contract.d.ts.map +1 -1
  287. package/dist/team/model-contract.js +59 -17
  288. package/dist/team/model-contract.js.map +1 -1
  289. package/dist/team/runtime.d.ts +1 -0
  290. package/dist/team/runtime.d.ts.map +1 -1
  291. package/dist/team/runtime.js +1244 -180
  292. package/dist/team/runtime.js.map +1 -1
  293. package/dist/team/scaling.d.ts +13 -1
  294. package/dist/team/scaling.d.ts.map +1 -1
  295. package/dist/team/scaling.js +1430 -384
  296. package/dist/team/scaling.js.map +1 -1
  297. package/dist/team/state/dispatch.d.ts.map +1 -1
  298. package/dist/team/state/dispatch.js +26 -8
  299. package/dist/team/state/dispatch.js.map +1 -1
  300. package/dist/team/state/locks.d.ts.map +1 -1
  301. package/dist/team/state/locks.js +61 -13
  302. package/dist/team/state/locks.js.map +1 -1
  303. package/dist/team/state/tasks.d.ts.map +1 -1
  304. package/dist/team/state/tasks.js +4 -3
  305. package/dist/team/state/tasks.js.map +1 -1
  306. package/dist/team/state.d.ts +67 -1
  307. package/dist/team/state.d.ts.map +1 -1
  308. package/dist/team/state.js +636 -129
  309. package/dist/team/state.js.map +1 -1
  310. package/dist/team/team-ops.d.ts +5 -0
  311. package/dist/team/team-ops.d.ts.map +1 -1
  312. package/dist/team/team-ops.js +4 -0
  313. package/dist/team/team-ops.js.map +1 -1
  314. package/dist/team/tmux-session.d.ts +123 -23
  315. package/dist/team/tmux-session.d.ts.map +1 -1
  316. package/dist/team/tmux-session.js +1250 -291
  317. package/dist/team/tmux-session.js.map +1 -1
  318. package/dist/team/worktree.d.ts.map +1 -1
  319. package/dist/team/worktree.js +4 -0
  320. package/dist/team/worktree.js.map +1 -1
  321. package/dist/utils/__tests__/file-durability.test.d.ts +2 -0
  322. package/dist/utils/__tests__/file-durability.test.d.ts.map +1 -0
  323. package/dist/utils/__tests__/file-durability.test.js +57 -0
  324. package/dist/utils/__tests__/file-durability.test.js.map +1 -0
  325. package/dist/utils/file-durability.d.ts +15 -0
  326. package/dist/utils/file-durability.d.ts.map +1 -0
  327. package/dist/utils/file-durability.js +37 -0
  328. package/dist/utils/file-durability.js.map +1 -0
  329. package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.js +3 -0
  330. package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.js.map +1 -1
  331. package/dist/wiki/lint.d.ts +4 -1
  332. package/dist/wiki/lint.d.ts.map +1 -1
  333. package/dist/wiki/lint.js +3 -2
  334. package/dist/wiki/lint.js.map +1 -1
  335. package/package.json +1 -1
  336. package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
  337. package/plugins/oh-my-codex/hooks/codex-native-hook.mjs +24 -0
  338. package/plugins/oh-my-codex/skills/ralph/SKILL.md +6 -4
  339. package/plugins/oh-my-codex/skills/ralplan/SKILL.md +3 -2
  340. package/plugins/oh-my-codex/skills/team/SKILL.md +13 -9
  341. package/skills/ralph/SKILL.md +6 -4
  342. package/skills/ralplan/SKILL.md +3 -2
  343. package/skills/team/SKILL.md +13 -9
  344. package/src/scripts/__tests__/codex-native-hook.test.ts +2826 -497
  345. package/src/scripts/__tests__/reasoning-artifact-contract.test.ts +129 -0
  346. package/src/scripts/__tests__/role-intent-bootstrap-e2e-3181.test.ts +48 -185
  347. package/src/scripts/__tests__/role-intent-durable-recovery-3181.test.ts +44 -177
  348. package/src/scripts/__tests__/smoke-packed-install.test.ts +320 -2
  349. package/src/scripts/codex-native-hook.ts +10715 -1069
  350. package/src/scripts/notify-fallback-watcher.ts +84 -115
  351. package/src/scripts/notify-hook/auto-nudge.ts +71 -3
  352. package/src/scripts/notify-hook/team-dispatch.ts +242 -75
  353. package/src/scripts/notify-hook/team-leader-nudge.ts +40 -18
  354. package/src/scripts/notify-hook/team-tmux-guard.ts +366 -39
  355. package/src/scripts/notify-hook/team-worker-stop.ts +20 -16
  356. package/src/scripts/notify-hook/team-worker.ts +39 -26
  357. package/src/scripts/notify-hook/tmux-injection.ts +28 -2
  358. package/src/scripts/notify-hook.ts +1 -0
  359. package/src/scripts/smoke-packed-install.ts +3196 -14
  360. package/dist/subagents/__tests__/adapted-role-binding.test.d.ts +0 -2
  361. package/dist/subagents/__tests__/adapted-role-binding.test.d.ts.map +0 -1
  362. package/dist/subagents/__tests__/adapted-role-binding.test.js +0 -988
  363. package/dist/subagents/__tests__/adapted-role-binding.test.js.map +0 -1
  364. package/dist/subagents/adapted-role-binding.d.ts +0 -17
  365. package/dist/subagents/adapted-role-binding.d.ts.map +0 -1
  366. package/dist/subagents/adapted-role-binding.js +0 -75
  367. package/dist/subagents/adapted-role-binding.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"exec.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/exec.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/exec.test.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,8 @@ import { tmpdir } from "node:os";
7
7
  import { fileURLToPath } from "node:url";
8
8
  import { once } from "node:events";
9
9
  import TOML from "@iarna/toml";
10
- import { HELP, normalizeCodexLaunchArgs, buildTmuxShellCommand, buildTmuxPaneCommand, shouldSourceTmuxPaneShellRc, buildWindowsPromptCommand, buildTmuxSessionName, resolveCliInvocation, resolveUpdateChannelArg, commandOwnsLocalHelp, resolveCodexLaunchPolicy, resolveEffectiveLeaderLaunchPolicyOverride, resolveEnvLaunchPolicyOverride, resolveLeaderLaunchPolicyOverride, classifyCodexExecFailure, resolveSignalExitCode, parseTmuxPaneSnapshot, findHudWatchPaneIds, buildHudPaneCleanupTargets, readTopLevelTomlString, upsertTopLevelTomlString, collectInheritableTeamWorkerArgs, resolveTeamWorkerLaunchArgsEnv, injectModelInstructionsBypassArgs, resolveWorkerSparkModel, resolveSetupInstallModeArg, resolveSetupMcpModeArg, resolveSetupScopeArg, resolveSetupTeamModeArg, resolveSetupAgentsMergePolicyArg, resolveLaunchConfigRepairOptions, readPersistedSetupPreferences, readPersistedSetupScope, resolveCodexConfigPathForLaunch, resolveCodexHomeForLaunch, resolveProjectLocalCodexHomeForLaunch, shouldAutoIsolateMadmaxLaunch, createMadmaxIsolatedRoot, buildMadmaxDetachedLaunchContextKey, withMadmaxDetachedContextLock, resolveOmxRootForLaunch, resolveDisposableWorktreeOmxRootForLaunch, prepareCodexHomeForLaunch, captureMadmaxWorktreeRuntimeContext, persistProjectLaunchRuntimeAuthState, persistProjectLaunchRuntimeProjectTrustState, cleanupRuntimeCodexHome, runtimeCodexHomePath, buildDetachedSessionBootstrapSteps, buildDetachedTmuxSessionName, buildDetachedSessionFinalizeSteps, shouldAttachDetachedTmuxSession, buildDetachedSessionRollbackSteps, detectDetachedSessionWindowIndex, resolveNotifyTempContract, buildNotifyTempStartupMessages, buildNotifyFallbackWatcherEnv, shouldEnableNotifyFallbackWatcher, reapStaleNotifyFallbackWatcher, cleanupLaunchOrphanedMcpProcesses, reapPostLaunchOrphanedMcpProcesses, cleanupPostLaunchModeStateFiles, resolveBackgroundHelperLaunchMode, shouldDetachBackgroundHelper, resolveNotifyFallbackWatcherScript, resolveHookDerivedWatcherScript, resolveNotifyHookScript, buildDetachedWindowsBootstrapScript, acquireTmuxExtendedKeysLease, resolveNativeSessionName, releaseTmuxExtendedKeysLease, withTmuxExtendedKeys, serializeDetachedSessionParentEnv, buildInsideTmuxHudHookEnv, registerInsideTmuxHudResizeHook, buildDetachedHudHookEnv, registerDetachedHudLayoutReconcileHook, ensureOmxRuntimeCommandShim, omxRuntimeCommandShimPath, prependOmxRuntimeCommandShimToEnv, CODEX_SQLITE_HOME_ENV, DETACHED_TMUX_HISTORY_LIMIT, isExistingTmuxWindowTooCrampedForLaunchHud, } from "../index.js";
10
+ import { HELP, normalizeCodexLaunchArgs, buildTmuxShellCommand, buildTmuxPaneCommand, shouldSourceTmuxPaneShellRc, buildWindowsPromptCommand, buildTmuxSessionName, resolveCliInvocation, parseResumeCodexHomeSelection, isResumeCodexLaunch, CODEX_GLOBAL_OPTIONS_WITH_SPLIT_VALUE, isCodexVersionRequest, resolveUpdateChannelArg, commandOwnsLocalHelp, resolveCodexLaunchPolicy, resolveEffectiveLeaderLaunchPolicyOverride, resolveEnvLaunchPolicyOverride, resolveLeaderLaunchPolicyOverride, classifyCodexExecFailure, resolveSignalExitCode, parseTmuxPaneSnapshot, findHudWatchPaneIds, buildHudPaneCleanupTargets, readTopLevelTomlString, upsertTopLevelTomlString, collectInheritableTeamWorkerArgs, resolveTeamWorkerLaunchArgsEnv, injectModelInstructionsBypassArgs, resolveWorkerSparkModel, resolveSetupInstallModeArg, resolveSetupMcpModeArg, resolveSetupScopeArg, resolveSetupTeamModeArg, resolveSetupAgentsMergePolicyArg, resolveLaunchConfigRepairOptions, readPersistedSetupPreferences, readPersistedSetupScope, resolveCodexConfigPathForLaunch, resolveCodexHomeForLaunch, resolveProjectLocalCodexHomeForLaunch, shouldAutoIsolateMadmaxLaunch, createMadmaxIsolatedRoot, buildMadmaxDetachedLaunchContextKey, withMadmaxDetachedContextLock, resolveOmxRootForLaunch, resolveDisposableWorktreeOmxRootForLaunch, prepareCodexHomeForLaunch, captureMadmaxWorktreeRuntimeContext, persistProjectLaunchRuntimeAuthState, persistProjectLaunchRuntimeProjectTrustState, cleanupRuntimeCodexHome, runtimeCodexHomePath, buildDetachedSessionBootstrapSteps, buildDetachedTmuxSessionName, buildDetachedSessionFinalizeSteps, shouldAttachDetachedTmuxSession, buildDetachedSessionRollbackSteps, detectDetachedSessionWindowIndex, resolveNotifyTempContract, buildNotifyTempStartupMessages, buildNotifyFallbackWatcherEnv, shouldEnableNotifyFallbackWatcher, reapStaleNotifyFallbackWatcher, cleanupLaunchOrphanedMcpProcesses, reapPostLaunchOrphanedMcpProcesses, cleanupPostLaunchModeStateFiles, resolveBackgroundHelperLaunchMode, shouldDetachBackgroundHelper, resolveNotifyFallbackWatcherScript, resolveHookDerivedWatcherScript, resolveNotifyHookScript, buildDetachedWindowsBootstrapScript, acquireTmuxExtendedKeysLease, resolveNativeSessionName, releaseTmuxExtendedKeysLease, withTmuxExtendedKeys, serializeDetachedSessionParentEnv, buildInsideTmuxHudHookEnv, registerInsideTmuxHudResizeHook, buildDetachedHudHookEnv, registerDetachedHudLayoutReconcileHook, ensureOmxRuntimeCommandShim, omxRuntimeCommandShimPath, prependOmxRuntimeCommandShimToEnv, CODEX_SQLITE_HOME_ENV, DETACHED_TMUX_HISTORY_LIMIT, isExistingTmuxWindowTooCrampedForLaunchHud, } from "../index.js";
11
+ import { buildResumeArgsWithPreservedFlags, stripHotswapArg } from "../../auth/hotswap.js";
11
12
  import { mergeConfig, repairConfigIfNeeded } from "../../config/generator.js";
12
13
  import { ensureReusableNodeModules } from "../../utils/repo-deps.js";
13
14
  import { readAllState } from "../../hud/state.js";
@@ -322,15 +323,223 @@ describe("normalizeCodexLaunchArgs", () => {
322
323
  'model_reasoning_effort="xhigh"',
323
324
  ]);
324
325
  });
326
+ it("adds reasoning overrides before a literal -- marker", () => {
327
+ assert.deepEqual(normalizeCodexLaunchArgs(["--xhigh", "--", "--max"]), [
328
+ "-c",
329
+ 'model_reasoning_effort="xhigh"',
330
+ "--",
331
+ "--max",
332
+ ]);
333
+ });
334
+ it("adds bypass and reasoning overrides before preserving raw marker suffix args", () => {
335
+ assert.deepEqual(normalizeCodexLaunchArgs([
336
+ "--madmax",
337
+ "--xhigh",
338
+ "--",
339
+ "-c",
340
+ 'model_reasoning_effort="ultra"',
341
+ "--max",
342
+ ]), [
343
+ "--dangerously-bypass-approvals-and-sandbox",
344
+ "-c",
345
+ 'model_reasoning_effort="xhigh"',
346
+ "--",
347
+ "-c",
348
+ 'model_reasoning_effort="ultra"',
349
+ "--max",
350
+ ]);
351
+ });
325
352
  it("uses the last reasoning shorthand when both are present", () => {
326
353
  assert.deepEqual(normalizeCodexLaunchArgs(["--high", "--xhigh"]), [
327
354
  "-c",
328
355
  'model_reasoning_effort="xhigh"',
329
356
  ]);
330
357
  });
331
- it("rejects ambiguous max and ultra reasoning shorthands", () => {
332
- assert.throws(() => normalizeCodexLaunchArgs(["--max"]), /canonical highest reasoning effort is "xhigh".*"max" and "ultra" are not accepted aliases/);
333
- assert.throws(() => normalizeCodexLaunchArgs(["--ultra"]), /canonical highest reasoning effort is "xhigh".*"max" and "ultra" are not accepted aliases/);
358
+ it("rejects pre-marker max and ultra reasoning shorthands with approved guidance", () => {
359
+ const errors = [
360
+ [
361
+ "--max",
362
+ 'Unsupported OMX launch shorthand "--max".\nNo --max shorthand exists; use agentReasoning for per-agent "max" or pass -c model_reasoning_effort=... directly to Codex.\nRun "omx help" for usage.',
363
+ ],
364
+ [
365
+ "--ultra",
366
+ 'Unsupported OMX launch shorthand "--ultra".\n"ultra" is not an OMX root or per-agent reasoning value and is not an alias for "max".\nRun "omx help" for usage.',
367
+ ],
368
+ ];
369
+ for (const [flag, message] of errors) {
370
+ assert.throws(() => normalizeCodexLaunchArgs([flag]), { message });
371
+ }
372
+ });
373
+ it("preserves literal max and ultra after -- with raw -c arguments", () => {
374
+ const args = [
375
+ "-c",
376
+ "model_reasoning_effort=MAX",
377
+ "--",
378
+ "--max",
379
+ "--ultra",
380
+ "-c",
381
+ 'model_reasoning_effort="ultra"',
382
+ "-c",
383
+ "model_reasoning_effort=future",
384
+ ];
385
+ assert.deepEqual(normalizeCodexLaunchArgs(args), args);
386
+ });
387
+ it("preserves post-marker OMX flags as literal Codex arguments", () => {
388
+ const args = [
389
+ "--",
390
+ "--worktree",
391
+ "post-marker-branch",
392
+ "--notify-temp",
393
+ "--discord",
394
+ "--custom",
395
+ "openclaw:ops",
396
+ "--spark",
397
+ "resume",
398
+ "--project",
399
+ "--codex-home",
400
+ "/tmp/literal-codex-home",
401
+ "--version",
402
+ ];
403
+ const notifyTempResult = resolveNotifyTempContract(args, {});
404
+ assert.equal(notifyTempResult.contract.active, false);
405
+ assert.deepEqual(notifyTempResult.contract.canonicalSelectors, []);
406
+ assert.deepEqual(notifyTempResult.passthroughArgs, args);
407
+ assert.equal(resolveWorkerSparkModel(notifyTempResult.passthroughArgs), undefined);
408
+ assert.equal(isResumeCodexLaunch(args), false);
409
+ assert.equal(isCodexVersionRequest(args), false);
410
+ assert.deepEqual(parseResumeCodexHomeSelection(args), {
411
+ args,
412
+ explicitCodexHome: undefined,
413
+ projectOnly: false,
414
+ });
415
+ assert.deepEqual(normalizeCodexLaunchArgs(notifyTempResult.passthroughArgs), args);
416
+ });
417
+ it("parses resume-owned selectors only before the end-of-options marker", () => {
418
+ assert.deepEqual(parseResumeCodexHomeSelection([
419
+ "resume",
420
+ "--codex-home",
421
+ "/tmp/selected-codex-home",
422
+ "--project",
423
+ "--",
424
+ "--codex-home",
425
+ "/tmp/literal-codex-home",
426
+ "--project",
427
+ ]), {
428
+ args: [
429
+ "resume",
430
+ "--",
431
+ "--codex-home",
432
+ "/tmp/literal-codex-home",
433
+ "--project",
434
+ ],
435
+ explicitCodexHome: "/tmp/selected-codex-home",
436
+ projectOnly: true,
437
+ });
438
+ assert.equal(isResumeCodexLaunch(["resume", "--", "literal"]), true);
439
+ assert.equal(isCodexVersionRequest(["--version", "--", "literal"]), true);
440
+ });
441
+ it("removes hotswap only before the end-of-options marker", () => {
442
+ assert.deepEqual(stripHotswapArg(["--hotswap", "--", "--hotswap", "literal"]), ["--", "--hotswap", "literal"]);
443
+ });
444
+ it("preserves Codex launch authority and the first literal suffix when building quota resume args", () => {
445
+ assert.deepEqual(buildResumeArgsWithPreservedFlags([
446
+ "--model", "gpt-review",
447
+ "--model=gpt-review-fast",
448
+ "--config", "developer_instructions=enabled",
449
+ "--config=developer_instructions=overridden",
450
+ "--add-dir", "src",
451
+ "--remote", "ws://127.0.0.1:4500",
452
+ "--remote=ws://127.0.0.1:4501",
453
+ "--remote-auth-token-env", "CODEX_REMOTE_TOKEN",
454
+ "--remote-auth-token-env=CODEX_REMOTE_TOKEN_BACKUP",
455
+ "-i", "one.png",
456
+ "--image", "two.png",
457
+ "-i", "three.png,four.png",
458
+ "--image=five.png,six.png",
459
+ "-iseven.png,eight.png",
460
+ "--image=resume", "resume",
461
+ "--oss",
462
+ "--dangerously-bypass-approvals-and-sandbox",
463
+ "--model", "gpt-resume",
464
+ "resume", "old-session",
465
+ "--last", "--all", "--include-non-interactive",
466
+ "--", "--hotswap", "--last", "--all", "--include-non-interactive", "--model", "opaque-model", "literal suffix",
467
+ ], "session-123"), [
468
+ "resume", "session-123",
469
+ "--model", "gpt-review",
470
+ "--model=gpt-review-fast",
471
+ "--config", "developer_instructions=enabled",
472
+ "--config=developer_instructions=overridden",
473
+ "--add-dir", "src",
474
+ "--remote", "ws://127.0.0.1:4500",
475
+ "--remote=ws://127.0.0.1:4501",
476
+ "--remote-auth-token-env", "CODEX_REMOTE_TOKEN",
477
+ "--remote-auth-token-env=CODEX_REMOTE_TOKEN_BACKUP",
478
+ "-i", "one.png",
479
+ "--image", "two.png",
480
+ "-i", "three.png,four.png",
481
+ "--image=five.png,six.png",
482
+ "-iseven.png,eight.png",
483
+ "--image=resume",
484
+ "--oss",
485
+ "--dangerously-bypass-approvals-and-sandbox",
486
+ "--model", "gpt-resume",
487
+ "--", "--hotswap", "--last", "--all", "--include-non-interactive", "--model", "opaque-model", "literal suffix",
488
+ ]);
489
+ });
490
+ it("removes resume selectors only when synthesizing an explicit session", () => {
491
+ for (const selectors of [
492
+ ["--last"],
493
+ ["--all"],
494
+ ["--include-non-interactive"],
495
+ ["--last", "--all"],
496
+ ["--all", "--include-non-interactive"],
497
+ ["--last", "--all", "--include-non-interactive"],
498
+ ]) {
499
+ assert.deepEqual(buildResumeArgsWithPreservedFlags([
500
+ "resume",
501
+ ...selectors,
502
+ "--model", "gpt-review",
503
+ "--remote", "ws://127.0.0.1:4500",
504
+ "--", ...selectors, "opaque suffix",
505
+ ], "session-123"), [
506
+ "resume", "session-123",
507
+ "--model", "gpt-review",
508
+ "--remote", "ws://127.0.0.1:4500",
509
+ "--", ...selectors, "opaque suffix",
510
+ ], JSON.stringify(selectors));
511
+ }
512
+ });
513
+ it("treats only split image values as variadic", () => {
514
+ assert.deepEqual([...CODEX_GLOBAL_OPTIONS_WITH_SPLIT_VALUE], [
515
+ ["-a", "single"], ["--ask-for-approval", "single"], ["-c", "single"],
516
+ ["--config", "single"], ["-C", "single"], ["--cd", "single"],
517
+ ["-i", "variadic"], ["--image", "variadic"], ["-m", "single"],
518
+ ["--model", "single"], ["-p", "single"], ["--profile", "single"],
519
+ ["-s", "single"], ["--sandbox", "single"], ["--add-dir", "single"],
520
+ ["--disable", "single"], ["--enable", "single"], ["--local-provider", "single"],
521
+ ["--remote", "single"], ["--remote-auth-token-env", "single"],
522
+ ]);
523
+ for (const args of [
524
+ ["--model", "resume"], ["--remote", "resume"],
525
+ ["--image", "resume"], ["-i", "resume"], ["--image=resume"], ["-iresume"], ["-i=resume"],
526
+ ["-i", "one.png", "resume"], ["--image", "one.png", "resume"],
527
+ ["-i", "one.png", "-i", "two.png", "resume"],
528
+ ["--image", "one.png", "--image", "two.png", "resume"],
529
+ ["-i", "one.png,two.png", "resume"], ["--image", "one.png,two.png", "resume"],
530
+ ["exec", "resume"], ["--image", "one.png", "--", "resume"],
531
+ ]) {
532
+ assert.equal(isResumeCodexLaunch(args), false, JSON.stringify(args));
533
+ }
534
+ for (const args of [
535
+ ["--model", "gpt-review", "resume"],
536
+ ["--image=one.png", "resume"], ["-ione.png", "resume"], ["-i=one.png", "resume"],
537
+ ["--image", "one.png", "--model", "gpt-review", "resume"],
538
+ ["--image=one.png", "--model=gpt-review", "resume"],
539
+ ["-ione.png", "--remote", "ws://127.0.0.1:4500", "resume"],
540
+ ]) {
541
+ assert.equal(isResumeCodexLaunch(args), true, JSON.stringify(args));
542
+ }
334
543
  });
335
544
  it("maps --xhigh --madmax to codex-native flags only", () => {
336
545
  assert.deepEqual(normalizeCodexLaunchArgs(["--xhigh", "--madmax"]), [
@@ -484,6 +693,13 @@ describe("resolveNotifyTempContract", () => {
484
693
  ]);
485
694
  assert.equal(parsed.contract.warnings.length >= 1, true);
486
695
  });
696
+ it("does not activate or consume selectors after --", () => {
697
+ const args = ["--", "--notify-temp", "--discord", "--custom", "openclaw:ops"];
698
+ const parsed = resolveNotifyTempContract(args, {});
699
+ assert.equal(parsed.contract.active, false);
700
+ assert.deepEqual(parsed.contract.selectors, []);
701
+ assert.deepEqual(parsed.passthroughArgs, args);
702
+ });
487
703
  it("activates from OMX_NOTIFY_TEMP=1 env parity", () => {
488
704
  const parsed = resolveNotifyTempContract(["--model", "gpt-5"], {
489
705
  OMX_NOTIFY_TEMP: "1",
@@ -1141,6 +1357,10 @@ describe("resolveWorkerSparkModel", () => {
1141
1357
  it("returns undefined for empty args", () => {
1142
1358
  assert.equal(resolveWorkerSparkModel([]), undefined);
1143
1359
  });
1360
+ it("returns undefined for spark flags after --", () => {
1361
+ assert.equal(resolveWorkerSparkModel(["--", "--spark"]), undefined);
1362
+ assert.equal(resolveWorkerSparkModel(["--", "--madmax-spark"]), undefined);
1363
+ });
1144
1364
  it("reads low-complexity team model from config when codexHomeOverride is provided", async () => {
1145
1365
  // Intentional legacy model fixture: verifies an explicit user override is routed to workers unchanged.
1146
1366
  const codexHome = await mkdtemp(join(tmpdir(), "omx-codex-home-"));
@@ -1312,6 +1532,13 @@ describe("resolveCliInvocation", () => {
1312
1532
  assert.match(HELP, /omx update --stable\s+Install\/rollback to npm stable \(oh-my-codex@latest\), then refresh setup/);
1313
1533
  assert.match(HELP, /omx update --dev\s+Install the upstream dev branch, then refresh setup/);
1314
1534
  });
1535
+ it("advertises only the four supported root reasoning modes", () => {
1536
+ assert.match(HELP, /omx reasoning Show or set model reasoning effort \(low\|medium\|high\|xhigh\)/);
1537
+ assert.match(HELP, /--high\s+Launch Codex with high reasoning effort/);
1538
+ assert.match(HELP, /--xhigh\s+Launch Codex with xhigh reasoning effort/);
1539
+ assert.doesNotMatch(HELP, /--max/);
1540
+ assert.doesNotMatch(HELP, /--ultra/);
1541
+ });
1315
1542
  it("advertises concise launch policy controls in top-level help", () => {
1316
1543
  assert.match(HELP, /--direct\s+Launch the interactive leader directly/);
1317
1544
  assert.match(HELP, /OMX_LAUNCH_POLICY=auto[\s\S]*Use the default policy/);
@@ -1830,6 +2057,10 @@ describe("project launch scope helpers", () => {
1830
2057
  'trusted_hash = "sha256:setup-owned"',
1831
2058
  "# End OMX-owned Codex hook trust state",
1832
2059
  "",
2060
+ "# User-owned project trust source must remain external during launch repair.",
2061
+ `[projects."${wd}"] # retained external ownership`,
2062
+ 'trust_level = "trusted"',
2063
+ "",
1833
2064
  "# OMX-synced Codex project trust state (from runtime CODEX_HOME)",
1834
2065
  `[projects."${wd}"]`,
1835
2066
  'trust_level = "trusted"',
@@ -1850,6 +2081,9 @@ describe("project launch scope helpers", () => {
1850
2081
  assert.equal(countMatches(runtimeConfig, new RegExp(`^${escapedProjectHookTrustHeader}$`, "gm")), 1);
1851
2082
  assert.ok(runtimeConfig.includes(`[projects."${wd}"]`));
1852
2083
  assert.ok(repairedProjectConfig.includes(`[projects."${wd}"]`));
2084
+ assert.match(repairedProjectConfig, /User-owned project trust source must remain external/);
2085
+ assert.match(repairedProjectConfig, new RegExp(`^${escapeRegExp(`[projects."${wd}"]`)} # retained external ownership$`, "m"));
2086
+ assert.equal(countMatches(repairedProjectConfig, new RegExp(`^${escapeRegExp(`[projects."${wd}"]`)}(?:\\s|$)`, "gm")), 1, "launch repair must remove only the marker-owned duplicate before the runtime mirror is written");
1853
2087
  }
1854
2088
  finally {
1855
2089
  await rm(wd, { recursive: true, force: true });
@@ -3940,6 +4174,26 @@ describe("injectModelInstructionsBypassArgs", () => {
3940
4174
  'model_instructions_file="/tmp/my-project/AGENTS.md"',
3941
4175
  ]);
3942
4176
  });
4177
+ it("inserts model instructions before the end-of-options marker", () => {
4178
+ const args = injectModelInstructionsBypassArgs("/tmp/my-project", ["--", "--spark", "literal"], {});
4179
+ assert.deepEqual(args, [
4180
+ "-c",
4181
+ 'model_instructions_file="/tmp/my-project/AGENTS.md"',
4182
+ "--",
4183
+ "--spark",
4184
+ "literal",
4185
+ ]);
4186
+ });
4187
+ it("does not treat a post-marker model instructions token as an OMX override", () => {
4188
+ const args = injectModelInstructionsBypassArgs("/tmp/my-project", ["--", "-c", 'model_instructions_file="/tmp/literal.md"'], {});
4189
+ assert.deepEqual(args, [
4190
+ "-c",
4191
+ 'model_instructions_file="/tmp/my-project/AGENTS.md"',
4192
+ "--",
4193
+ "-c",
4194
+ 'model_instructions_file="/tmp/literal.md"',
4195
+ ]);
4196
+ });
3943
4197
  it("does not append when bypass is disabled via env", () => {
3944
4198
  const args = injectModelInstructionsBypassArgs("/tmp/my-project", ["--model", "gpt-5"], { OMX_BYPASS_DEFAULT_SYSTEM_PROMPT: "0" });
3945
4199
  assert.deepEqual(args, ["--model", "gpt-5"]);