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
@@ -15,13 +15,13 @@ const KNOWN_TYPED_AGENT_ROLES = new Set(Object.keys(AGENT_DEFINITIONS).map((role
15
15
  export function subagentTrackingPath(cwd) {
16
16
  return join(getBaseStateDir(cwd), 'subagent-tracking.json');
17
17
  }
18
- export function resolveInstalledRoleName(role, codexHomeOverride) {
18
+ export function resolveInstalledRoleName(role, codexHomeOverride, projectRootOverride) {
19
19
  const normalizedRole = role.trim().toLowerCase();
20
20
  if (!normalizedRole)
21
21
  return null;
22
22
  if (KNOWN_TYPED_AGENT_ROLES.has(normalizedRole))
23
23
  return normalizedRole;
24
- for (const agentsDir of [codexAgentsDir(codexHomeOverride), projectCodexAgentsDir()]) {
24
+ for (const agentsDir of [codexAgentsDir(codexHomeOverride), projectCodexAgentsDir(projectRootOverride)]) {
25
25
  try {
26
26
  for (const entry of readdirSync(agentsDir, { withFileTypes: true })) {
27
27
  if (!entry.isFile() || !entry.name.endsWith('.toml'))
@@ -221,20 +221,12 @@ export function normalizeSubagentTrackingState(input) {
221
221
  }
222
222
  const sessionCandidate = rawSession;
223
223
  const leaderThreadId = typeof sessionCandidate.leader_thread_id === 'string' ? sessionCandidate.leader_thread_id.trim() || undefined : undefined;
224
- const leaderAttestedAt = typeof sessionCandidate.leader_attested_at === 'string' && sessionCandidate.leader_attested_at.trim().length > 0
225
- ? sessionCandidate.leader_attested_at.trim()
226
- : undefined;
227
- const leaderAttestSource = typeof sessionCandidate.leader_attest_source === 'string' && sessionCandidate.leader_attest_source.trim().length > 0
228
- ? sessionCandidate.leader_attest_source.trim()
229
- : undefined;
230
224
  const updatedAt = typeof sessionCandidate.updated_at === 'string' && sessionCandidate.updated_at.trim().length > 0
231
225
  ? sessionCandidate.updated_at
232
226
  : new Date(0).toISOString();
233
227
  sessions[sessionId] = {
234
228
  session_id: sessionId,
235
229
  leader_thread_id: leaderThreadId,
236
- ...(leaderAttestedAt ? { leader_attested_at: leaderAttestedAt } : {}),
237
- ...(leaderAttestSource ? { leader_attest_source: leaderAttestSource } : {}),
238
230
  updated_at: updatedAt,
239
231
  threads,
240
232
  };
@@ -598,30 +590,7 @@ function readSubagentTrackingStateSync(cwd) {
598
590
  return createSubagentTrackingState();
599
591
  }
600
592
  }
601
- // #3181: strict readers for the leader-attestation security decision. A missing file is a
602
- // legitimate empty state (fresh turn), but an existing file that fails to read/parse must
603
- // NOT be silently treated as empty — that would let corrupt/unreadable subagent evidence
604
- // be bypassed. Callers making a security decision (attest vs deny) use these.
605
- function readSubagentTrackingStateSyncStrict(cwd) {
606
- const path = subagentTrackingPath(cwd);
607
- let raw;
608
- try {
609
- raw = readFileSync(path, 'utf-8');
610
- }
611
- catch (error) {
612
- // Only a genuine ENOENT (no file) is a clean empty state. Any other read/access error
613
- // (permissions, I/O, ELOOP, …) must fail closed rather than be treated as empty.
614
- if (error?.code === 'ENOENT')
615
- return { ok: true, state: createSubagentTrackingState() };
616
- return { ok: false };
617
- }
618
- try {
619
- return { ok: true, state: normalizeSubagentTrackingState(JSON.parse(raw)) };
620
- }
621
- catch {
622
- return { ok: false };
623
- }
624
- }
593
+ // Strict reads preserve fail-closed behavior for security-sensitive tracker decisions.
625
594
  export async function readSubagentTrackingStateStrict(cwd) {
626
595
  const path = subagentTrackingPath(cwd);
627
596
  let raw;
@@ -640,16 +609,6 @@ export async function readSubagentTrackingStateStrict(cwd) {
640
609
  return { ok: false };
641
610
  }
642
611
  }
643
- function threadIsTrackedAsSubagent(state, threadId) {
644
- const id = threadId.trim();
645
- if (!id)
646
- return false;
647
- for (const session of Object.values(state.sessions)) {
648
- if (session.threads[id]?.kind === 'subagent')
649
- return true;
650
- }
651
- return false;
652
- }
653
612
  function writeSubagentTrackingStateSync(cwd, state, publish) {
654
613
  const normalized = normalizeSubagentTrackingState(state);
655
614
  const path = subagentTrackingPath(cwd);
@@ -798,232 +757,6 @@ export function recordPendingRoleIntent(cwd, input) {
798
757
  return { ok: true, intent };
799
758
  });
800
759
  }
801
- /**
802
- * #3181 Phase 1 carrier write. Durably attest the authenticated leader thread for a
803
- * session from native-hook-reconciled metadata. Idempotent and fail-closed: it seeds
804
- * `leader_thread_id` + `leader_attested_at` + `leader_attest_source` only when the
805
- * session has no conflicting leader already. A different existing leader is NEVER
806
- * overwritten (returns `native_anchor_mismatch`) so a stale/foreign leader cannot be
807
- * replaced from a later turn. Authority for `leaderThreadId` is the caller's native
808
- * payload thread; it must never be derived from a native session id.
809
- */
810
- export function attestLeaderThread(cwd, input) {
811
- const sessionId = input.sessionId.trim();
812
- const leaderThreadId = input.leaderThreadId.trim();
813
- const source = input.source.trim() || 'native';
814
- if (!sessionId || !leaderThreadId)
815
- return { ok: false, reason: 'native_anchor_unavailable' };
816
- const nowMs = normalizeNowMs(input.nowMs);
817
- const nowIso = new Date(nowMs).toISOString();
818
- return withCrossProcessFileLockSync(subagentTrackingPath(cwd), (context) => {
819
- // Strict read under the lock: an unreadable/corrupt tracker denies attestation
820
- // (fail closed) rather than silently reading empty.
821
- const read = readSubagentTrackingStateSyncStrict(cwd);
822
- if (!read.ok)
823
- return { ok: false, reason: 'native_anchor_unavailable' };
824
- const state = read.state;
825
- // Atomic positive counter-evidence: a thread tracked as a subagent in ANY session is
826
- // never attested as a leader. Checked under the same lock as the write so a concurrent
827
- // child record cannot race in between a caller's pre-check and this attestation.
828
- if (threadIsTrackedAsSubagent(state, leaderThreadId)) {
829
- return { ok: false, reason: 'native_anchor_mismatch' };
830
- }
831
- const existing = state.sessions[sessionId];
832
- const existingLeader = existing?.leader_thread_id?.trim();
833
- if (existingLeader && existingLeader !== leaderThreadId) {
834
- return { ok: false, reason: 'native_anchor_mismatch' };
835
- }
836
- if (existing && existingLeader === leaderThreadId && existing.leader_attested_at) {
837
- return { ok: true, alreadyAttested: true };
838
- }
839
- const session = existing
840
- ? { ...existing }
841
- : { session_id: sessionId, updated_at: nowIso, threads: {} };
842
- session.leader_thread_id = leaderThreadId;
843
- session.leader_attested_at = nowIso;
844
- session.leader_attest_source = source;
845
- session.updated_at = nowIso;
846
- state.sessions = { ...state.sessions, [sessionId]: session };
847
- context.assertOwnership();
848
- writeSubagentTrackingStateSync(cwd, state, context.publish);
849
- return { ok: true, alreadyAttested: false };
850
- });
851
- }
852
- /**
853
- * #3181 Phase 2. Single tracker-locked publish that self-heals the leader thread record
854
- * from a durable native attestation and records the pending role intent in the same
855
- * operation, closing the previous verify-then-record TOCTOU window. Fail-closed:
856
- * requires a durable attested leader for the session (`native_anchor_unavailable`
857
- * otherwise) and requires `parentThreadId` to equal the attested `leader_thread_id`
858
- * (`native_anchor_mismatch` otherwise). `leaderThreadId` is never inferred from a
859
- * native session id. Duplicate same-identity intents reuse the original receipt
860
- * (idempotent), never a second leader or a second intent.
861
- */
862
- export function ensureLeaderAndRecordIntent(cwd, input) {
863
- const role = resolveInstalledRoleName(input.role);
864
- if (!role)
865
- return { ok: false, reason: 'unknown_role' };
866
- const correlationToken = input.correlationToken;
867
- if (!isCanonicalCorrelationToken(correlationToken)) {
868
- return { ok: false, reason: 'invalid_correlation_token' };
869
- }
870
- const nowMs = normalizeNowMs(input.nowMs);
871
- const sessionId = input.sessionId.trim();
872
- const parentThreadId = input.parentThreadId.trim();
873
- const canonicalOrigin = canonicalizeOriginCwd(cwd);
874
- if (canonicalOrigin === null)
875
- return { ok: false, reason: 'invalid_origin' };
876
- const { isOwn, shouldPruneExpired } = pendingRoleIntentPredicates(cwd, canonicalOrigin, nowMs);
877
- return withCrossProcessFileLockSync(subagentTrackingPath(cwd), (context) => {
878
- // Strict read under the lock: an unreadable/corrupt tracker fails closed rather than
879
- // being treated as empty state.
880
- const read = readSubagentTrackingStateSyncStrict(cwd);
881
- if (!read.ok)
882
- return { ok: false, reason: 'native_anchor_unavailable' };
883
- const state = read.state;
884
- const session = state.sessions[sessionId];
885
- const attestedLeader = session?.leader_thread_id?.trim();
886
- // Fail closed unless a durable native attestation established the leader anchor.
887
- if (!session || !attestedLeader || !session.leader_attested_at) {
888
- return { ok: false, reason: 'native_anchor_unavailable' };
889
- }
890
- if (parentThreadId !== attestedLeader) {
891
- return { ok: false, reason: 'native_anchor_mismatch' };
892
- }
893
- // Symmetric subagent exclusion: independent of which writer won the tracker lock, a
894
- // leader thread that is ALSO recorded as a subagent in ANY session (even a different
895
- // one) must never receive an adapted role intent. Re-scanned here under the intent-write
896
- // lock so a cross-session child record committed after attestation cannot slip through.
897
- if (threadIsTrackedAsSubagent(state, attestedLeader)) {
898
- return { ok: false, reason: 'native_anchor_mismatch' };
899
- }
900
- // Single-flight, role-agnostic (preserves recordPendingRoleIntent's invariant): a
901
- // live/bound own intent for the same (session, parent) blocks a second live intent.
902
- // Same-identity (same role) retries reuse the original receipt (idempotent); a
903
- // different-role request for the same live parent returns single_flight_conflict
904
- // rather than creating a second ambiguous intent.
905
- const all = state.pending_role_intents;
906
- const liveOwnIntent = all.find((intent) => (isOwn(intent)
907
- && intent.session_id === sessionId
908
- && intent.parent_thread_id === parentThreadId
909
- && (intent.binding_state === 'bound' || !isExpiredPendingRoleIntent(intent, nowMs))));
910
- if (liveOwnIntent) {
911
- if (liveOwnIntent.role === role) {
912
- return { ok: true, intent: liveOwnIntent, reused: true };
913
- }
914
- return { ok: false, reason: 'single_flight_conflict' };
915
- }
916
- // Self-heal the leader thread record so leader-anchor consumers see kind:"leader".
917
- const nowIso = new Date(nowMs).toISOString();
918
- const nextSession = { ...session, threads: { ...session.threads } };
919
- const existingLeaderThread = nextSession.threads[attestedLeader];
920
- if (!existingLeaderThread || existingLeaderThread.kind !== 'leader') {
921
- nextSession.threads[attestedLeader] = {
922
- ...(existingLeaderThread ?? {}),
923
- thread_id: attestedLeader,
924
- kind: 'leader',
925
- first_seen_at: existingLeaderThread?.first_seen_at ?? nowIso,
926
- last_seen_at: nowIso,
927
- turn_count: existingLeaderThread?.turn_count ?? 0,
928
- };
929
- }
930
- nextSession.updated_at = nowIso;
931
- const ttlMs = typeof input.ttlMs === 'number' && Number.isFinite(input.ttlMs) ? input.ttlMs : 10 * 60_000;
932
- const intent = {
933
- role,
934
- session_id: sessionId,
935
- parent_thread_id: parentThreadId,
936
- correlation_token: correlationToken,
937
- created_at: nowIso,
938
- expires_at: new Date(nowMs + ttlMs).toISOString(),
939
- ...(canonicalOrigin ? { origin_cwd: canonicalOrigin } : {}),
940
- };
941
- state.sessions = { ...state.sessions, [sessionId]: nextSession };
942
- state.pending_role_intents = [...all.filter((candidate) => !shouldPruneExpired(candidate)), intent];
943
- context.assertOwnership();
944
- writeSubagentTrackingStateSync(cwd, state, context.publish);
945
- return { ok: true, intent, reused: false };
946
- });
947
- }
948
- /**
949
- * #3181 legacy/native fallback, made atomic and positive-provenance-only. When no durable
950
- * attestation exists, an in-turn role intent may still be authorized ONLY against the
951
- * tracker leader_thread_id — the positively-provenanced leader thread set by a real
952
- * recorded leader turn (notify) or by PreToolUse attestation (gated when the caller has a
953
- * usable current pointer). It deliberately does NOT trust the reconciled session.json
954
- * native_session_id, which an ambiguous/malformed-child SessionStart can set. This is the
955
- * strict tracker-locked replacement for the former CLI "activeLeaderThreadIds +
956
- * recordPendingRoleIntent" fallback: it validates the leader anchor AND rejects any
957
- * all-session subagent counter-evidence under the same lock as the intent write, so a
958
- * subagent record landing after a pre-check (or a PreToolUse attestation that lost its
959
- * race) can never be downgraded into an unvalidated legacy authorization. Fail-closed:
960
- * unreadable/corrupt tracker → native_anchor_unavailable; parent not the tracker leader →
961
- * parent_not_active_leader; parent tracked as a subagent anywhere → native_anchor_mismatch.
962
- */
963
- export function recordNativeLeaderIntent(cwd, input) {
964
- const role = resolveInstalledRoleName(input.role);
965
- if (!role)
966
- return { ok: false, reason: 'unknown_role' };
967
- const correlationToken = input.correlationToken;
968
- if (!isCanonicalCorrelationToken(correlationToken)) {
969
- return { ok: false, reason: 'invalid_correlation_token' };
970
- }
971
- const nowMs = normalizeNowMs(input.nowMs);
972
- const sessionId = input.sessionId.trim();
973
- const parentThreadId = input.parentThreadId.trim();
974
- const canonicalOrigin = canonicalizeOriginCwd(cwd);
975
- if (canonicalOrigin === null)
976
- return { ok: false, reason: 'invalid_origin' };
977
- const { isOwn, shouldPruneExpired } = pendingRoleIntentPredicates(cwd, canonicalOrigin, nowMs);
978
- return withCrossProcessFileLockSync(subagentTrackingPath(cwd), (context) => {
979
- const read = readSubagentTrackingStateSyncStrict(cwd);
980
- if (!read.ok)
981
- return { ok: false, reason: 'native_anchor_unavailable' };
982
- const state = read.state;
983
- // Positive-provenance leader anchor ONLY: the tracker leader_thread_id is set by a real
984
- // recorded leader turn (notify) or by PreToolUse attestation. It is intentionally NOT
985
- // the reconciled session.json native_session_id, which an ambiguous/malformed-child
986
- // SessionStart can set without positively classifying a root — trusting that pointer
987
- // would re-open false-leader adoption. A malformed child never obtains a tracker leader
988
- // thread, so it fails closed here.
989
- const trackerLeader = input.allowTrackerLeader ? state.sessions[sessionId]?.leader_thread_id?.trim() : undefined;
990
- if (!parentThreadId || !trackerLeader || parentThreadId !== trackerLeader) {
991
- return { ok: false, reason: 'parent_not_active_leader' };
992
- }
993
- // Atomic all-session subagent exclusion: a parent thread recorded as a subagent in ANY
994
- // session is never a valid leader, even if it matches the tracker leader anchor.
995
- if (threadIsTrackedAsSubagent(state, parentThreadId)) {
996
- return { ok: false, reason: 'native_anchor_mismatch' };
997
- }
998
- // Role-agnostic single-flight (same contract as recordPendingRoleIntent).
999
- const all = state.pending_role_intents;
1000
- const liveOwnIntent = all.find((intent) => (isOwn(intent)
1001
- && intent.session_id === sessionId
1002
- && intent.parent_thread_id === parentThreadId
1003
- && (intent.binding_state === 'bound' || !isExpiredPendingRoleIntent(intent, nowMs))));
1004
- if (liveOwnIntent) {
1005
- if (liveOwnIntent.role === role) {
1006
- return { ok: true, intent: liveOwnIntent, reused: true };
1007
- }
1008
- return { ok: false, reason: 'single_flight_conflict' };
1009
- }
1010
- const nowIso = new Date(nowMs).toISOString();
1011
- const ttlMs = typeof input.ttlMs === 'number' && Number.isFinite(input.ttlMs) ? input.ttlMs : 10 * 60_000;
1012
- const intent = {
1013
- role,
1014
- session_id: sessionId,
1015
- parent_thread_id: parentThreadId,
1016
- correlation_token: correlationToken,
1017
- created_at: nowIso,
1018
- expires_at: new Date(nowMs + ttlMs).toISOString(),
1019
- ...(canonicalOrigin ? { origin_cwd: canonicalOrigin } : {}),
1020
- };
1021
- state.pending_role_intents = [...all.filter((candidate) => !shouldPruneExpired(candidate)), intent];
1022
- context.assertOwnership();
1023
- writeSubagentTrackingStateSync(cwd, state, context.publish);
1024
- return { ok: true, intent, reused: false };
1025
- });
1026
- }
1027
760
  export function bindPendingRoleIntentUnderLock(cwd, input, bind) {
1028
761
  const nowMs = normalizeNowMs(input.nowMs);
1029
762
  const sessionId = input.sessionId.trim();
@@ -1315,11 +1048,6 @@ export function recordSubagentTurn(state, input) {
1315
1048
  normalized.sessions[sessionId] = {
1316
1049
  session_id: sessionId,
1317
1050
  ...(leaderThreadId ? { leader_thread_id: leaderThreadId } : {}),
1318
- // #3181: preserve the durable native leader attestation across ordinary turn writes.
1319
- // Dropping these would let a normal child SessionStart/bind erase authentication and
1320
- // silently downgrade later role-intent writes to the legacy (non-atomic) path.
1321
- ...(existingSession.leader_attested_at ? { leader_attested_at: existingSession.leader_attested_at } : {}),
1322
- ...(existingSession.leader_attest_source ? { leader_attest_source: existingSession.leader_attest_source } : {}),
1323
1051
  updated_at: timestamp,
1324
1052
  threads,
1325
1053
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tracker.js","sourceRoot":"","sources":["../../src/subagents/tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracker.js","sourceRoot":"","sources":["../../src/subagents/tracker.ts"],"names":[],"mappings":"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"}