oh-my-codex 0.21.4 → 0.21.6

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 (404) hide show
  1. package/Cargo.lock +6 -6
  2. package/Cargo.toml +1 -1
  3. package/README.md +6 -2
  4. package/crates/omx-runtime/src/lease_mutex.rs +379 -0
  5. package/crates/omx-runtime/src/main.rs +4 -0
  6. package/crates/omx-runtime/tests/execution.rs +152 -0
  7. package/dist/agents/native-config.d.ts +0 -1
  8. package/dist/agents/native-config.d.ts.map +1 -1
  9. package/dist/agents/native-config.js +0 -1
  10. package/dist/agents/native-config.js.map +1 -1
  11. package/dist/agents/policy.d.ts +0 -1
  12. package/dist/agents/policy.d.ts.map +1 -1
  13. package/dist/agents/policy.js +0 -5
  14. package/dist/agents/policy.js.map +1 -1
  15. package/dist/auth/__tests__/config-sessions.test.js +15 -1
  16. package/dist/auth/__tests__/config-sessions.test.js.map +1 -1
  17. package/dist/auth/__tests__/hotswap.test.js +80 -0
  18. package/dist/auth/__tests__/hotswap.test.js.map +1 -1
  19. package/dist/auth/__tests__/redact.test.js +94 -1
  20. package/dist/auth/__tests__/redact.test.js.map +1 -1
  21. package/dist/auth/__tests__/storage.test.js +168 -2
  22. package/dist/auth/__tests__/storage.test.js.map +1 -1
  23. package/dist/auth/hotswap.d.ts.map +1 -1
  24. package/dist/auth/hotswap.js +4 -3
  25. package/dist/auth/hotswap.js.map +1 -1
  26. package/dist/auth/paths.d.ts.map +1 -1
  27. package/dist/auth/paths.js +22 -0
  28. package/dist/auth/paths.js.map +1 -1
  29. package/dist/auth/redact.d.ts +5 -0
  30. package/dist/auth/redact.d.ts.map +1 -1
  31. package/dist/auth/redact.js +79 -0
  32. package/dist/auth/redact.js.map +1 -1
  33. package/dist/auth/sessions.d.ts.map +1 -1
  34. package/dist/auth/sessions.js +21 -10
  35. package/dist/auth/sessions.js.map +1 -1
  36. package/dist/auth/storage.d.ts.map +1 -1
  37. package/dist/auth/storage.js +75 -35
  38. package/dist/auth/storage.js.map +1 -1
  39. package/dist/autoresearch/runtime.d.ts +0 -1
  40. package/dist/autoresearch/runtime.d.ts.map +1 -1
  41. package/dist/autoresearch/runtime.js +0 -11
  42. package/dist/autoresearch/runtime.js.map +1 -1
  43. package/dist/catalog/reader.d.ts +0 -1
  44. package/dist/catalog/reader.d.ts.map +1 -1
  45. package/dist/catalog/reader.js +0 -4
  46. package/dist/catalog/reader.js.map +1 -1
  47. package/dist/cli/__tests__/doctor-process-identity-readiness.test.js +1 -1
  48. package/dist/cli/__tests__/doctor-process-identity-readiness.test.js.map +1 -1
  49. package/dist/cli/__tests__/doctor-state-root-binding.test.js +36 -0
  50. package/dist/cli/__tests__/doctor-state-root-binding.test.js.map +1 -1
  51. package/dist/cli/__tests__/doctor-warning-copy.test.js +100 -4
  52. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
  53. package/dist/cli/__tests__/exec.test.js +10 -5
  54. package/dist/cli/__tests__/exec.test.js.map +1 -1
  55. package/dist/cli/__tests__/index.test.js +130 -7
  56. package/dist/cli/__tests__/index.test.js.map +1 -1
  57. package/dist/cli/__tests__/launch-fallback.test.js +34 -0
  58. package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
  59. package/dist/cli/__tests__/package-bin-contract.test.js +1 -1
  60. package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
  61. package/dist/cli/__tests__/plugin-cache-symlink-provenance-3552.test.js +17 -13
  62. package/dist/cli/__tests__/plugin-cache-symlink-provenance-3552.test.js.map +1 -1
  63. package/dist/cli/__tests__/setup-agents-overwrite.test.js +11 -9
  64. package/dist/cli/__tests__/setup-agents-overwrite.test.js.map +1 -1
  65. package/dist/cli/__tests__/setup-install-mode.test.js +66 -0
  66. package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
  67. package/dist/cli/__tests__/setup-reasoning-preserve.test.d.ts +2 -0
  68. package/dist/cli/__tests__/setup-reasoning-preserve.test.d.ts.map +1 -0
  69. package/dist/cli/__tests__/setup-reasoning-preserve.test.js +198 -0
  70. package/dist/cli/__tests__/setup-reasoning-preserve.test.js.map +1 -0
  71. package/dist/cli/__tests__/team.test.js +67 -1
  72. package/dist/cli/__tests__/team.test.js.map +1 -1
  73. package/dist/cli/__tests__/update.test.js +47 -0
  74. package/dist/cli/__tests__/update.test.js.map +1 -1
  75. package/dist/cli/auth.d.ts +0 -1
  76. package/dist/cli/auth.d.ts.map +1 -1
  77. package/dist/cli/auth.js +0 -4
  78. package/dist/cli/auth.js.map +1 -1
  79. package/dist/cli/codex-feature-probe.d.ts +2 -1
  80. package/dist/cli/codex-feature-probe.d.ts.map +1 -1
  81. package/dist/cli/codex-feature-probe.js +4 -2
  82. package/dist/cli/codex-feature-probe.js.map +1 -1
  83. package/dist/cli/codex-home.d.ts +14 -0
  84. package/dist/cli/codex-home.d.ts.map +1 -1
  85. package/dist/cli/codex-home.js +21 -0
  86. package/dist/cli/codex-home.js.map +1 -1
  87. package/dist/cli/doctor.d.ts +2 -0
  88. package/dist/cli/doctor.d.ts.map +1 -1
  89. package/dist/cli/doctor.js +122 -9
  90. package/dist/cli/doctor.js.map +1 -1
  91. package/dist/cli/hooks.d.ts +0 -2
  92. package/dist/cli/hooks.d.ts.map +1 -1
  93. package/dist/cli/hooks.js +0 -3
  94. package/dist/cli/hooks.js.map +1 -1
  95. package/dist/cli/index.d.ts +1 -0
  96. package/dist/cli/index.d.ts.map +1 -1
  97. package/dist/cli/index.js +97 -8
  98. package/dist/cli/index.js.map +1 -1
  99. package/dist/cli/launch-credential-provenance.d.ts +49 -0
  100. package/dist/cli/launch-credential-provenance.d.ts.map +1 -0
  101. package/dist/cli/launch-credential-provenance.js +163 -0
  102. package/dist/cli/launch-credential-provenance.js.map +1 -0
  103. package/dist/cli/setup.d.ts.map +1 -1
  104. package/dist/cli/setup.js +11 -3
  105. package/dist/cli/setup.js.map +1 -1
  106. package/dist/cli/team.d.ts.map +1 -1
  107. package/dist/cli/team.js +23 -7
  108. package/dist/cli/team.js.map +1 -1
  109. package/dist/cli/uninstall.js +1 -1
  110. package/dist/cli/uninstall.js.map +1 -1
  111. package/dist/cli/update.d.ts.map +1 -1
  112. package/dist/cli/update.js +7 -0
  113. package/dist/cli/update.js.map +1 -1
  114. package/dist/compat/__tests__/doctor-contract.test.js +5 -1
  115. package/dist/compat/__tests__/doctor-contract.test.js.map +1 -1
  116. package/dist/config/__tests__/codex-feature-flags.test.js +10 -1
  117. package/dist/config/__tests__/codex-feature-flags.test.js.map +1 -1
  118. package/dist/config/__tests__/generator-notify.test.js +9 -0
  119. package/dist/config/__tests__/generator-notify.test.js.map +1 -1
  120. package/dist/config/codex-feature-flags.d.ts +4 -0
  121. package/dist/config/codex-feature-flags.d.ts.map +1 -1
  122. package/dist/config/codex-feature-flags.js +17 -1
  123. package/dist/config/codex-feature-flags.js.map +1 -1
  124. package/dist/config/generator.d.ts +8 -1
  125. package/dist/config/generator.d.ts.map +1 -1
  126. package/dist/config/generator.js +24 -84
  127. package/dist/config/generator.js.map +1 -1
  128. package/dist/evals/astra-defaults/__tests__/report.test.d.ts +2 -0
  129. package/dist/evals/astra-defaults/__tests__/report.test.d.ts.map +1 -0
  130. package/dist/evals/astra-defaults/__tests__/report.test.js +127 -0
  131. package/dist/evals/astra-defaults/__tests__/report.test.js.map +1 -0
  132. package/dist/evals/astra-defaults/__tests__/stage-transition.test.d.ts +2 -0
  133. package/dist/evals/astra-defaults/__tests__/stage-transition.test.d.ts.map +1 -0
  134. package/dist/evals/astra-defaults/__tests__/stage-transition.test.js +260 -0
  135. package/dist/evals/astra-defaults/__tests__/stage-transition.test.js.map +1 -0
  136. package/dist/evals/astra-defaults/__tests__/suite.test.d.ts +2 -0
  137. package/dist/evals/astra-defaults/__tests__/suite.test.d.ts.map +1 -0
  138. package/dist/evals/astra-defaults/__tests__/suite.test.js +132 -0
  139. package/dist/evals/astra-defaults/__tests__/suite.test.js.map +1 -0
  140. package/dist/evals/astra-defaults/index.d.ts +4 -0
  141. package/dist/evals/astra-defaults/index.d.ts.map +1 -0
  142. package/dist/evals/astra-defaults/index.js +4 -0
  143. package/dist/evals/astra-defaults/index.js.map +1 -0
  144. package/dist/evals/astra-defaults/report.d.ts +33 -0
  145. package/dist/evals/astra-defaults/report.d.ts.map +1 -0
  146. package/dist/evals/astra-defaults/report.js +224 -0
  147. package/dist/evals/astra-defaults/report.js.map +1 -0
  148. package/dist/evals/astra-defaults/suite.d.ts +13 -0
  149. package/dist/evals/astra-defaults/suite.d.ts.map +1 -0
  150. package/dist/evals/astra-defaults/suite.js +319 -0
  151. package/dist/evals/astra-defaults/suite.js.map +1 -0
  152. package/dist/evals/astra-defaults/types.d.ts +128 -0
  153. package/dist/evals/astra-defaults/types.d.ts.map +1 -0
  154. package/dist/evals/astra-defaults/types.js +9 -0
  155. package/dist/evals/astra-defaults/types.js.map +1 -0
  156. package/dist/evals/astra-defaults/usage.d.ts +16 -0
  157. package/dist/evals/astra-defaults/usage.d.ts.map +1 -0
  158. package/dist/evals/astra-defaults/usage.js +44 -0
  159. package/dist/evals/astra-defaults/usage.js.map +1 -0
  160. package/dist/hooks/__tests__/agents-overlay.test.js +13 -123
  161. package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
  162. package/dist/hooks/__tests__/anti-slop-workflow.test.js +2 -2
  163. package/dist/hooks/__tests__/anti-slop-workflow.test.js.map +1 -1
  164. package/dist/hooks/__tests__/code-review-skill-contract.test.js +3 -3
  165. package/dist/hooks/__tests__/code-review-skill-contract.test.js.map +1 -1
  166. package/dist/hooks/__tests__/deep-interview-contract.test.js +6 -7
  167. package/dist/hooks/__tests__/deep-interview-contract.test.js.map +1 -1
  168. package/dist/hooks/__tests__/keyword-detector.test.js +6 -4
  169. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  170. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +16 -33
  171. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
  172. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +9 -29
  173. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
  174. package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js +9 -29
  175. package/dist/hooks/__tests__/notify-hook-tmux-scrollback.test.js.map +1 -1
  176. package/dist/hooks/__tests__/ordinary-task-routing.test.d.ts +2 -0
  177. package/dist/hooks/__tests__/ordinary-task-routing.test.d.ts.map +1 -0
  178. package/dist/hooks/__tests__/ordinary-task-routing.test.js +125 -0
  179. package/dist/hooks/__tests__/ordinary-task-routing.test.js.map +1 -0
  180. package/dist/hooks/__tests__/prompt-guidance-contract.test.js +10 -7
  181. package/dist/hooks/__tests__/prompt-guidance-contract.test.js.map +1 -1
  182. package/dist/hooks/__tests__/session.test.js +41 -6
  183. package/dist/hooks/__tests__/session.test.js.map +1 -1
  184. package/dist/hooks/__tests__/sunset-routing-contract.test.js +23 -0
  185. package/dist/hooks/__tests__/sunset-routing-contract.test.js.map +1 -1
  186. package/dist/hooks/__tests__/visual-ralph-skill.test.js +3 -3
  187. package/dist/hooks/__tests__/visual-ralph-skill.test.js.map +1 -1
  188. package/dist/hooks/agents-overlay.d.ts +10 -3
  189. package/dist/hooks/agents-overlay.d.ts.map +1 -1
  190. package/dist/hooks/agents-overlay.js +12 -68
  191. package/dist/hooks/agents-overlay.js.map +1 -1
  192. package/dist/hooks/keyword-detector.js +4 -4
  193. package/dist/hooks/keyword-detector.js.map +1 -1
  194. package/dist/hooks/keyword-registry.d.ts.map +1 -1
  195. package/dist/hooks/keyword-registry.js +0 -2
  196. package/dist/hooks/keyword-registry.js.map +1 -1
  197. package/dist/hooks/session.d.ts +1 -1
  198. package/dist/hooks/session.d.ts.map +1 -1
  199. package/dist/hooks/session.js +85 -29
  200. package/dist/hooks/session.js.map +1 -1
  201. package/dist/hooks/sunset-stub.d.ts +0 -2
  202. package/dist/hooks/sunset-stub.d.ts.map +1 -1
  203. package/dist/hooks/sunset-stub.js +8 -14
  204. package/dist/hooks/sunset-stub.js.map +1 -1
  205. package/dist/hud/__tests__/index.test.js +130 -2
  206. package/dist/hud/__tests__/index.test.js.map +1 -1
  207. package/dist/hud/__tests__/reconcile.test.js +214 -0
  208. package/dist/hud/__tests__/reconcile.test.js.map +1 -1
  209. package/dist/hud/__tests__/render.test.js +155 -4
  210. package/dist/hud/__tests__/render.test.js.map +1 -1
  211. package/dist/hud/__tests__/roster-height-realtmux.test.d.ts +2 -0
  212. package/dist/hud/__tests__/roster-height-realtmux.test.d.ts.map +1 -0
  213. package/dist/hud/__tests__/roster-height-realtmux.test.js +70 -0
  214. package/dist/hud/__tests__/roster-height-realtmux.test.js.map +1 -0
  215. package/dist/hud/__tests__/state.test.js +92 -1
  216. package/dist/hud/__tests__/state.test.js.map +1 -1
  217. package/dist/hud/__tests__/tmux.test.js +37 -2
  218. package/dist/hud/__tests__/tmux.test.js.map +1 -1
  219. package/dist/hud/__tests__/watch-owner.test.d.ts +2 -0
  220. package/dist/hud/__tests__/watch-owner.test.d.ts.map +1 -0
  221. package/dist/hud/__tests__/watch-owner.test.js +125 -0
  222. package/dist/hud/__tests__/watch-owner.test.js.map +1 -0
  223. package/dist/hud/__tests__/watch-realtmux.test.js +113 -2
  224. package/dist/hud/__tests__/watch-realtmux.test.js.map +1 -1
  225. package/dist/hud/index.d.ts +5 -0
  226. package/dist/hud/index.d.ts.map +1 -1
  227. package/dist/hud/index.js +61 -41
  228. package/dist/hud/index.js.map +1 -1
  229. package/dist/hud/reconcile.d.ts +2 -1
  230. package/dist/hud/reconcile.d.ts.map +1 -1
  231. package/dist/hud/reconcile.js +28 -3
  232. package/dist/hud/reconcile.js.map +1 -1
  233. package/dist/hud/render.d.ts +1 -1
  234. package/dist/hud/render.d.ts.map +1 -1
  235. package/dist/hud/render.js +81 -7
  236. package/dist/hud/render.js.map +1 -1
  237. package/dist/hud/state.d.ts.map +1 -1
  238. package/dist/hud/state.js +38 -3
  239. package/dist/hud/state.js.map +1 -1
  240. package/dist/hud/tmux.d.ts +4 -0
  241. package/dist/hud/tmux.d.ts.map +1 -1
  242. package/dist/hud/tmux.js +67 -13
  243. package/dist/hud/tmux.js.map +1 -1
  244. package/dist/hud/types.d.ts +9 -0
  245. package/dist/hud/types.d.ts.map +1 -1
  246. package/dist/hud/types.js.map +1 -1
  247. package/dist/hud/watch-owner.d.ts +9 -0
  248. package/dist/hud/watch-owner.d.ts.map +1 -0
  249. package/dist/hud/watch-owner.js +54 -0
  250. package/dist/hud/watch-owner.js.map +1 -0
  251. package/dist/leader/__tests__/contract.test.js +9 -2
  252. package/dist/leader/__tests__/contract.test.js.map +1 -1
  253. package/dist/leader/contract.d.ts +2 -2
  254. package/dist/leader/contract.d.ts.map +1 -1
  255. package/dist/leader/contract.js +2 -2
  256. package/dist/leader/contract.js.map +1 -1
  257. package/dist/notifications/__tests__/formatter.test.js +10 -0
  258. package/dist/notifications/__tests__/formatter.test.js.map +1 -1
  259. package/dist/notifications/__tests__/tmux.test.js +10 -0
  260. package/dist/notifications/__tests__/tmux.test.js.map +1 -1
  261. package/dist/notifications/formatter.js +1 -1
  262. package/dist/notifications/formatter.js.map +1 -1
  263. package/dist/notifications/tmux.js +1 -1
  264. package/dist/notifications/tmux.js.map +1 -1
  265. package/dist/ralplan/__tests__/advisory-activation.test.js +3 -3
  266. package/dist/ralplan/__tests__/advisory-activation.test.js.map +1 -1
  267. package/dist/runtime/__tests__/bridge.test.js +91 -23
  268. package/dist/runtime/__tests__/bridge.test.js.map +1 -1
  269. package/dist/runtime/bridge.d.ts.map +1 -1
  270. package/dist/runtime/bridge.js +7 -1
  271. package/dist/runtime/bridge.js.map +1 -1
  272. package/dist/scripts/__tests__/codex-native-hook.test.js +44 -16
  273. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  274. package/dist/scripts/__tests__/issue-3679-team-dispatch-non-directory.test.d.ts +2 -0
  275. package/dist/scripts/__tests__/issue-3679-team-dispatch-non-directory.test.d.ts.map +1 -0
  276. package/dist/scripts/__tests__/issue-3679-team-dispatch-non-directory.test.js +83 -0
  277. package/dist/scripts/__tests__/issue-3679-team-dispatch-non-directory.test.js.map +1 -0
  278. package/dist/scripts/__tests__/prompt-inventory.test.js +83 -2
  279. package/dist/scripts/__tests__/prompt-inventory.test.js.map +1 -1
  280. package/dist/scripts/__tests__/smoke-packed-install.test.js +75 -23
  281. package/dist/scripts/__tests__/smoke-packed-install.test.js.map +1 -1
  282. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  283. package/dist/scripts/codex-native-hook.js +6 -61
  284. package/dist/scripts/codex-native-hook.js.map +1 -1
  285. package/dist/scripts/eval/eval-astra-defaults.d.ts +2 -0
  286. package/dist/scripts/eval/eval-astra-defaults.d.ts.map +1 -0
  287. package/dist/scripts/eval/eval-astra-defaults.js +52 -0
  288. package/dist/scripts/eval/eval-astra-defaults.js.map +1 -0
  289. package/dist/scripts/notify-hook/team-dispatch.d.ts.map +1 -1
  290. package/dist/scripts/notify-hook/team-dispatch.js +20 -1
  291. package/dist/scripts/notify-hook/team-dispatch.js.map +1 -1
  292. package/dist/scripts/prompt-inventory.d.ts +17 -0
  293. package/dist/scripts/prompt-inventory.d.ts.map +1 -1
  294. package/dist/scripts/prompt-inventory.js +64 -11
  295. package/dist/scripts/prompt-inventory.js.map +1 -1
  296. package/dist/scripts/run-test-files.js +1 -0
  297. package/dist/scripts/run-test-files.js.map +1 -1
  298. package/dist/scripts/smoke-packed-install.d.ts +1 -1
  299. package/dist/scripts/smoke-packed-install.d.ts.map +1 -1
  300. package/dist/scripts/smoke-packed-install.js +46 -17
  301. package/dist/scripts/smoke-packed-install.js.map +1 -1
  302. package/dist/state/__tests__/mode-binding-lease.test.js +58 -2
  303. package/dist/state/__tests__/mode-binding-lease.test.js.map +1 -1
  304. package/dist/state/mode-binding-lease-helper.js +9 -41
  305. package/dist/state/mode-binding-lease-helper.js.map +1 -1
  306. package/dist/state/mode-binding-lease.d.ts.map +1 -1
  307. package/dist/state/mode-binding-lease.js +32 -10
  308. package/dist/state/mode-binding-lease.js.map +1 -1
  309. package/dist/team/__tests__/runtime.test.js +14 -1
  310. package/dist/team/__tests__/runtime.test.js.map +1 -1
  311. package/dist/team/__tests__/scaling.test.js +5 -1
  312. package/dist/team/__tests__/scaling.test.js.map +1 -1
  313. package/dist/team/__tests__/tmux-session.test.js +124 -0
  314. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  315. package/dist/team/__tests__/tmux-source-authority-realtmux.test.js +2 -2
  316. package/dist/team/__tests__/tmux-source-authority-realtmux.test.js.map +1 -1
  317. package/dist/team/runtime-cli.js +4 -2
  318. package/dist/team/runtime-cli.js.map +1 -1
  319. package/dist/team/runtime.d.ts +11 -0
  320. package/dist/team/runtime.d.ts.map +1 -1
  321. package/dist/team/runtime.js +24 -3
  322. package/dist/team/runtime.js.map +1 -1
  323. package/dist/team/scaling.d.ts.map +1 -1
  324. package/dist/team/scaling.js +11 -5
  325. package/dist/team/scaling.js.map +1 -1
  326. package/dist/team/state.d.ts +1 -1
  327. package/dist/team/state.d.ts.map +1 -1
  328. package/dist/team/state.js +5 -3
  329. package/dist/team/state.js.map +1 -1
  330. package/dist/team/team-identity.d.ts.map +1 -1
  331. package/dist/team/team-identity.js +8 -14
  332. package/dist/team/team-identity.js.map +1 -1
  333. package/dist/team/tmux-session.d.ts.map +1 -1
  334. package/dist/team/tmux-session.js +26 -13
  335. package/dist/team/tmux-session.js.map +1 -1
  336. package/dist/ultragoal/__tests__/artifacts.test.js +43 -0
  337. package/dist/ultragoal/__tests__/artifacts.test.js.map +1 -1
  338. package/dist/ultragoal/artifacts.d.ts +1 -0
  339. package/dist/ultragoal/artifacts.d.ts.map +1 -1
  340. package/dist/ultragoal/artifacts.js +9 -5
  341. package/dist/ultragoal/artifacts.js.map +1 -1
  342. package/dist/utils/__tests__/file-durability.test.js +20 -1
  343. package/dist/utils/__tests__/file-durability.test.js.map +1 -1
  344. package/dist/utils/__tests__/platform-command.test.js +39 -1
  345. package/dist/utils/__tests__/platform-command.test.js.map +1 -1
  346. package/dist/utils/__tests__/safe-json.test.d.ts +2 -0
  347. package/dist/utils/__tests__/safe-json.test.d.ts.map +1 -0
  348. package/dist/utils/__tests__/safe-json.test.js +19 -0
  349. package/dist/utils/__tests__/safe-json.test.js.map +1 -0
  350. package/dist/utils/__tests__/toml.test.d.ts +2 -0
  351. package/dist/utils/__tests__/toml.test.d.ts.map +1 -0
  352. package/dist/utils/__tests__/toml.test.js +36 -0
  353. package/dist/utils/__tests__/toml.test.js.map +1 -0
  354. package/dist/utils/file-durability.d.ts +8 -0
  355. package/dist/utils/file-durability.d.ts.map +1 -1
  356. package/dist/utils/file-durability.js +19 -1
  357. package/dist/utils/file-durability.js.map +1 -1
  358. package/dist/utils/platform-command.d.ts.map +1 -1
  359. package/dist/utils/platform-command.js +24 -7
  360. package/dist/utils/platform-command.js.map +1 -1
  361. package/dist/utils/safe-json.d.ts +0 -1
  362. package/dist/utils/safe-json.d.ts.map +1 -1
  363. package/dist/utils/safe-json.js +0 -10
  364. package/dist/utils/safe-json.js.map +1 -1
  365. package/dist/utils/toml-source.d.ts +13 -0
  366. package/dist/utils/toml-source.d.ts.map +1 -0
  367. package/dist/utils/toml-source.js +76 -0
  368. package/dist/utils/toml-source.js.map +1 -0
  369. package/dist/utils/toml.d.ts.map +1 -1
  370. package/dist/utils/toml.js +15 -6
  371. package/dist/utils/toml.js.map +1 -1
  372. package/dist/verification/__tests__/ci-rust-gates.test.js +11 -0
  373. package/dist/verification/__tests__/ci-rust-gates.test.js.map +1 -1
  374. package/package.json +2 -2
  375. package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
  376. package/plugins/oh-my-codex/skills/ai-slop-cleaner/SKILL.md +2 -3
  377. package/plugins/oh-my-codex/skills/best-practice-research/SKILL.md +1 -1
  378. package/plugins/oh-my-codex/skills/code-review/SKILL.md +1 -1
  379. package/plugins/oh-my-codex/skills/deep-interview/SKILL.md +13 -22
  380. package/plugins/oh-my-codex/skills/design/SKILL.md +1 -1
  381. package/plugins/oh-my-codex/skills/hud/SKILL.md +1 -1
  382. package/plugins/oh-my-codex/skills/plan/SKILL.md +1 -1
  383. package/plugins/oh-my-codex/skills/ralplan/SKILL.md +9 -74
  384. package/plugins/oh-my-codex/skills/visual-ralph/SKILL.md +7 -7
  385. package/skills/ai-slop-cleaner/SKILL.md +2 -3
  386. package/skills/best-practice-research/SKILL.md +1 -1
  387. package/skills/code-review/SKILL.md +1 -1
  388. package/skills/deep-interview/SKILL.md +13 -22
  389. package/skills/design/SKILL.md +1 -1
  390. package/skills/hud/SKILL.md +1 -1
  391. package/skills/plan/SKILL.md +1 -1
  392. package/skills/ralplan/SKILL.md +9 -74
  393. package/skills/visual-ralph/SKILL.md +7 -7
  394. package/src/scripts/__tests__/codex-native-hook.test.ts +43 -16
  395. package/src/scripts/__tests__/issue-3679-team-dispatch-non-directory.test.ts +95 -0
  396. package/src/scripts/__tests__/prompt-inventory.test.ts +84 -1
  397. package/src/scripts/__tests__/smoke-packed-install.test.ts +75 -23
  398. package/src/scripts/codex-native-hook.ts +6 -61
  399. package/src/scripts/eval/eval-astra-defaults.ts +54 -0
  400. package/src/scripts/notify-hook/team-dispatch.ts +19 -1
  401. package/src/scripts/prompt-inventory.ts +71 -12
  402. package/src/scripts/run-test-files.ts +1 -0
  403. package/src/scripts/smoke-packed-install.ts +56 -17
  404. package/templates/AGENTS.md +4 -7
@@ -47,6 +47,14 @@ export const REMOVED_SKILLS = Object.freeze({
47
47
  replacement: "$team",
48
48
  message: 'Skill "$ultrawork" has been removed. Use "$team" instead.',
49
49
  },
50
+ pipeline: {
51
+ replacement: "$plan",
52
+ message: 'Skill "$pipeline" has been removed. Use "$plan" for optional planning, "$team" for coordinated execution, or "$ultragoal" for durable goals instead.',
53
+ },
54
+ "autoresearch-goal": {
55
+ replacement: "$autoresearch",
56
+ message: 'Skill "$autoresearch-goal" has been removed. Use "$autoresearch" instead.',
57
+ },
50
58
  "ralph-init": {
51
59
  // Was "$ralph", which is a sunset stub in the catalog: another two-hop dead end.
52
60
  replacement: "$ultragoal",
@@ -108,18 +116,4 @@ export const REMOVED_SKILLS = Object.freeze({
108
116
  export function getRemovedSkillInfo(token) {
109
117
  return REMOVED_SKILLS[token.toLowerCase()];
110
118
  }
111
- export function isRemovedSkill(token) {
112
- return token.toLowerCase() in REMOVED_SKILLS;
113
- }
114
- export function formatRemovedSkillError(rawToken) {
115
- const normalized = rawToken.replace(/^\$(?:oh-my-codex:)?/i, "").toLowerCase();
116
- const info = getRemovedSkillInfo(normalized);
117
- if (!info)
118
- return `Skill "${rawToken}" has been removed.`;
119
- return info.message.replace(/\$\S+/g, (m) => {
120
- if (m.toLowerCase().includes(normalized))
121
- return rawToken;
122
- return m;
123
- });
124
- }
125
119
  //# sourceMappingURL=sunset-stub.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sunset-stub.js","sourceRoot":"","sources":["../../src/hooks/sunset-stub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sunset-stub.js","sourceRoot":"","sources":["../../src/hooks/sunset-stub.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,CAAC,MAAM,cAAc,GAA+C,MAAM,CAAC,MAAM,CAAC;IACtF,YAAY,EAAE;QACZ,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,wEAAwE;KAClF;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,wEAAwE;KAClF;IACD,WAAW,EAAE;QACX,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,2FAA2F;KACrG;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,UAAU;QACvB,OAAO,EAAE,+DAA+D;KACzE;IACD,SAAS,EAAE;QACT,4FAA4F;QAC5F,kFAAkF;QAClF,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,yDAAyD;KACnE;IACD,gBAAgB,EAAE;QAChB,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE,uGAAuG;KACjH;IACD,MAAM,EAAE;QACN,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,2EAA2E;KACrF;IACD,MAAM,EAAE;QACN,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,0EAA0E;KACpF;IACD,KAAK,EAAE;QACL,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,8HAA8H;KACxI;IACD,SAAS,EAAE;QACT,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,2DAA2D;KACrE;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,sJAAsJ;KAChK;IACD,mBAAmB,EAAE;QACnB,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,2EAA2E;KACrF;IACD,YAAY,EAAE;QACZ,iFAAiF;QACjF,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,iEAAiE;KAC3E;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE,+DAA+D;KACzE;IACD,iBAAiB,EAAE;QACjB,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE,wJAAwJ;KAClK;IACD,OAAO,EAAE;QACP,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,uDAAuD;KACjE;IACD,KAAK,EAAE;QACL,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,8FAA8F;KACxG;IACD,OAAO,EAAE;QACP,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,2EAA2E;KACrF;IACD,gBAAgB,EAAE;QAChB,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,wEAAwE;KAClF;IACD,WAAW,EAAE;QACX,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,mEAAmE;KAC7E;IACD,mBAAmB,EAAE;QACnB,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,gFAAgF;KAC1F;IACD,yBAAyB,EAAE;QACzB,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,0EAA0E;KACpF;IACD,yBAAyB,EAAE;QACzB,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,0EAA0E;KACpF;IACD,0BAA0B,EAAE;QAC1B,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,2EAA2E;KACrF;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,kFAAkF;KAC5F;IACD,eAAe,EAAE;QACf,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,0CAA0C;KACpD;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7C,CAAC"}
@@ -302,9 +302,9 @@ describe('runWatchMode', () => {
302
302
  sigintHandler?.();
303
303
  await promise;
304
304
  const plain = writes.join('').replace(/\x1b\[[0-9;]*[A-Za-z]/g, '');
305
- assert.equal((plain.match(/team:2 workers/g) ?? []).length, 1);
305
+ assert.equal((plain.match(/team:hud-fix \(2 workers\)/g) ?? []).length, 1);
306
306
  assert.equal((plain.match(/ultragoal 1\/3/g) ?? []).length, 1);
307
- assert.ok(plain.includes('ultragoal 1/3 + team:2 workers'));
307
+ assert.ok(plain.includes('ultragoal 1/3 + team:hud-fix (2 workers)'));
308
308
  assert.ok(plain.includes('G002-team: Team HUD summary'));
309
309
  assert.ok(!plain.includes('G003-next: Next team checkpoint (pending)'));
310
310
  });
@@ -345,6 +345,60 @@ describe('runWatchMode', () => {
345
345
  await promise;
346
346
  assert.deepEqual(maxLines, [3]);
347
347
  });
348
+ it('expands for each worker, refreshes reported status, and shrinks after team completion', async () => {
349
+ const frames = [];
350
+ const heights = [];
351
+ let tick;
352
+ let stop;
353
+ let frame = 0;
354
+ const workers = Array.from({ length: 15 }, (_, i) => ({ name: `worker-${i + 1}`, state: 'working' }));
355
+ const promise = runWatchMode('/tmp', WATCH_FLAGS, {
356
+ isTTY: true,
357
+ env: { TMUX: 'tmux', TMUX_PANE: '%hud', [OMX_TMUX_HUD_OWNER_ENV]: '1', [OMX_TMUX_HUD_LEADER_PANE_ENV]: '%leader' },
358
+ listCurrentWindowPanesFn: () => [
359
+ { paneId: '%leader', currentCommand: 'codex', startCommand: 'codex', paneHeight: frame === 1 ? 14 : 50, windowHeight: frame === 1 ? 24 : 70 },
360
+ { paneId: '%hud', currentCommand: 'node', startCommand: 'hud', paneHeight: frame === 1 ? 9 : 19 },
361
+ ],
362
+ isSessionAttachedFn: () => true,
363
+ readAllStateFn: async () => ({ ...emptyCtx(), team: frame === 3 ? null : {
364
+ active: true, team_name: 'checkout', workers: workers.map(worker => ({ ...worker, state: frame === 0 ? 'working' : 'done' })),
365
+ } }),
366
+ readHudConfigFn: async () => ({ preset: 'focused', git: { display: 'repo-branch' }, statusLine: { preset: 'focused' } }),
367
+ renderHudFn: renderHud,
368
+ writeStdout: text => { frames.push(text); },
369
+ writeStderr: () => { },
370
+ registerSigint: handler => { stop = handler; },
371
+ setIntervalFn: handler => { tick = handler; return {}; },
372
+ clearIntervalFn: () => { },
373
+ resizeTmuxPaneFn: (_pane, height) => { heights.push(height); return true; },
374
+ clearTmuxPaneHistoryFn: () => true,
375
+ registerHudResizeHookFn: () => true,
376
+ reconcileTmuxHudFn: async () => { },
377
+ runAuthorityTickFn: async () => { },
378
+ });
379
+ try {
380
+ await flush();
381
+ assert.ok(frames.at(-1)?.includes('worker-15 working'), JSON.stringify({ frames, heights }));
382
+ frame = 1;
383
+ tick?.();
384
+ await flush();
385
+ assert.ok(frames.at(-1)?.includes('+6 workers'));
386
+ assert.ok(!frames.at(-1)?.includes('worker-15 done'));
387
+ frame = 2;
388
+ tick?.();
389
+ await flush();
390
+ assert.ok(frames.at(-1)?.includes('worker-15 done'));
391
+ frame = 3;
392
+ tick?.();
393
+ await flush();
394
+ assert.ok(!frames.at(-1)?.includes('worker-15'));
395
+ assert.deepEqual(heights, [17, 11, 17, 2]);
396
+ }
397
+ finally {
398
+ stop?.();
399
+ await promise;
400
+ }
401
+ });
348
402
  it('passes compact no-ultragoal line budget to watch rendering', async () => {
349
403
  const maxLines = [];
350
404
  let sigintHandler;
@@ -570,6 +624,80 @@ describe('runWatchMode', () => {
570
624
  });
571
625
  });
572
626
  describe('hudCommand --tmux', () => {
627
+ for (const keepValidPane of [true, false]) {
628
+ it(`selects a topology-valid HUD before cleanup and measures fresh geometry (keeper=${keepValidPane})`, async () => {
629
+ const tmp = await mkdtemp(join(tmpdir(), 'omx-hud-launch-keeper-'));
630
+ const logPath = join(tmp, 'tmux.log');
631
+ const panePath = join(tmp, 'panes.json');
632
+ const fakeBin = join(tmp, 'bin');
633
+ const root = join(tmp, '.omx', 'state');
634
+ const sessionDir = join(root, 'sessions', 'sess-a');
635
+ const teamDir = join(root, 'team', 'alpha');
636
+ await Promise.all([mkdir(fakeBin), mkdir(sessionDir, { recursive: true }), mkdir(teamDir, { recursive: true })]);
637
+ await writeFile(join(root, 'session.json'), JSON.stringify({ session_id: 'sess-a', cwd: tmp, state_root: root }));
638
+ await writeFile(join(sessionDir, 'team-state.json'), JSON.stringify({ active: true, team_name: 'alpha' }));
639
+ await writeFile(join(sessionDir, 'skill-active-state.json'), JSON.stringify({ active: true, skill: 'team', phase: 'team-exec', session_id: 'sess-a',
640
+ active_skills: [{ skill: 'team', phase: 'team-exec', active: true, session_id: 'sess-a' }] }));
641
+ await writeFile(join(teamDir, 'config.json'), JSON.stringify({ name: 'alpha', workers: Array.from({ length: 20 }, (_, i) => ({ name: `worker-${i + 1}` })) }));
642
+ const command = "env OMX_SESSION_ID='sess-a' OMX_TMUX_HUD_OWNER='1' OMX_TMUX_HUD_LEADER_PANE='%1' node omx hud --watch";
643
+ await writeFile(panePath, JSON.stringify([
644
+ ['%1', 'codex', 0, 0, 80, 12, 11, 160, 50, 'codex', tmp, 0, 1001],
645
+ ['%2', 'node', 81, 0, 79, 50, 49, 160, 50, command, tmp, 0, 1002],
646
+ ...(keepValidPane ? [['%3', 'node', 0, 13, 80, 3, 15, 160, 50, command, tmp, 0, 1003]] : []),
647
+ ]));
648
+ const shim = join(fakeBin, 'tmux');
649
+ await writeFile(shim, `#!${process.execPath}
650
+ const fs = require('node:fs');
651
+ const args = process.argv.slice(2);
652
+ fs.appendFileSync(${JSON.stringify(logPath)}, args.join(' ') + '\\n');
653
+ let panes = JSON.parse(fs.readFileSync(${JSON.stringify(panePath)}, 'utf8'));
654
+ if (args[0] === 'list-panes') {
655
+ console.log(panes.map(pane => args.at(-1) === '#{pane_id}' ? pane[0] : pane.join('\\x1f')).join('\\n'));
656
+ } else if (args[0] === 'kill-pane') {
657
+ panes = panes.filter(pane => pane[0] !== args[2]);
658
+ panes[0][5] = 8;
659
+ fs.writeFileSync(${JSON.stringify(panePath)}, JSON.stringify(panes));
660
+ } else if (args[0] === 'display-message') {
661
+ console.log('$7\\t@3');
662
+ }
663
+ `);
664
+ await chmod(shim, 0o755);
665
+ const keys = ['PATH', 'TMUX', 'TMUX_PANE', 'OMX_SESSION_ID', 'OMX_ROOT', 'OMX_STATE_ROOT', 'OMX_TEAM_STATE_ROOT'];
666
+ const previousEnv = Object.fromEntries(keys.map(key => [key, process.env[key]]));
667
+ const previousLog = console.log;
668
+ try {
669
+ process.env.PATH = `${fakeBin}${delimiter}${process.env.PATH ?? ''}`;
670
+ process.env.TMUX = 'private-test';
671
+ process.env.TMUX_PANE = '%1';
672
+ process.env.OMX_SESSION_ID = 'sess-a';
673
+ process.env.OMX_STATE_ROOT = tmp;
674
+ delete process.env.OMX_ROOT;
675
+ delete process.env.OMX_TEAM_STATE_ROOT;
676
+ console.log = () => { };
677
+ await hudCommand(['--tmux'], { cwd: tmp });
678
+ const log = await readFile(logPath, 'utf8');
679
+ assert.match(log, /kill-pane -t %2/);
680
+ assert.doesNotMatch(log, /kill-pane -t %3|resize-pane -t %2/);
681
+ if (keepValidPane) {
682
+ assert.match(log, /resize-pane -t %3 -y 5/);
683
+ assert.doesNotMatch(log, /split-window/);
684
+ }
685
+ else {
686
+ assert.match(log, /split-window -v -l 3 -t %1/);
687
+ }
688
+ }
689
+ finally {
690
+ console.log = previousLog;
691
+ for (const [key, value] of Object.entries(previousEnv)) {
692
+ if (value === undefined)
693
+ delete process.env[key];
694
+ else
695
+ process.env[key] = value;
696
+ }
697
+ await rm(tmp, { recursive: true, force: true });
698
+ }
699
+ });
700
+ }
573
701
  it('does not reuse duplicate HUD snapshots without complete current authority', async () => {
574
702
  const tmp = await mkdtemp(join(tmpdir(), 'omx-hud-tmux-duplicate-test-'));
575
703
  const logPath = join(tmp, 'tmux.log');
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/hud/__tests__/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/hud/__tests__/index.test.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,32 @@ async function readLockOwner(lockPath) {
21
21
  return JSON.parse(await readFile(join(lockPath, 'owner.json'), 'utf-8'));
22
22
  }
23
23
  describe('reconcileHudForPromptSubmit', () => {
24
+ it('caps an existing 20-worker HUD in a 24-row window without recreating it', async () => {
25
+ const resized = [];
26
+ const hooks = [];
27
+ const result = await reconcileHudForPromptSubmit('/repo', {
28
+ env: { TMUX: '1', TMUX_PANE: '%1', OMX_SESSION_ID: 'sess-a', [OMX_TMUX_HUD_OWNER_ENV]: '1' },
29
+ listCurrentWindowPanes: () => [
30
+ { paneId: '%1', currentCommand: 'codex', startCommand: 'codex', windowHeight: 24, paneHeight: 6 },
31
+ { paneId: '%2', currentCommand: 'node', paneHeight: 17,
32
+ startCommand: `env OMX_SESSION_ID='sess-a' ${OMX_TMUX_HUD_LEADER_PANE_ENV}='%1' node omx hud --watch` },
33
+ ],
34
+ readHudConfig: async () => ({ preset: 'focused', git: { display: 'branch' }, statusLine: { preset: 'focused' } }),
35
+ readAllState: async () => ({
36
+ version: null, gitBranch: null, ralph: null, ultragoal: null, ultrawork: null,
37
+ autopilot: null, ralplan: null, deepInterview: null, autoresearch: null, ultraqa: null,
38
+ team: { active: true, workers: Array.from({ length: 20 }, (_, i) => ({ name: `worker-${i + 1}`, state: 'working' })) },
39
+ metrics: null, hudNotify: null, session: null,
40
+ }),
41
+ resizeTmuxPane: (_pane, height) => { resized.push(height); return true; },
42
+ registerHudResizeHook: (_pane, _leader, height) => { hooks.push(height); return true; },
43
+ createHudWatchPane: () => { assert.fail('must reuse the existing HUD'); },
44
+ resolveOmxCliEntryPath: () => '/repo/dist/cli/omx.js',
45
+ });
46
+ assert.equal(result.desiredHeight, 11);
47
+ assert.deepEqual(resized, [11]);
48
+ assert.deepEqual(hooks, [11]);
49
+ });
24
50
  it('skips reconciliation outside tmux', async () => {
25
51
  const result = await reconcileHudForPromptSubmit('/tmp', {
26
52
  env: {},
@@ -28,6 +54,194 @@ describe('reconcileHudForPromptSubmit', () => {
28
54
  assert.equal(result.status, 'skipped_not_tmux');
29
55
  assert.equal(result.paneId, null);
30
56
  });
57
+ it('skips stale leader pane hooks without mutating tmux layout', async () => {
58
+ let created = false;
59
+ let resized = false;
60
+ let killed = false;
61
+ const result = await reconcileHudForPromptSubmit('/repo', {
62
+ env: {
63
+ TMUX: '1',
64
+ TMUX_PANE: '%271',
65
+ OMX_SESSION_ID: 'sess-a',
66
+ [OMX_TMUX_HUD_OWNER_ENV]: '1',
67
+ },
68
+ // The hook captured %271, but Team has already replaced that leader pane.
69
+ listCurrentWindowPanes: () => [
70
+ { paneId: '%273', currentCommand: 'codex', startCommand: 'codex' },
71
+ ],
72
+ // The scoped snapshot has no live pane matching the stale hook target.
73
+ createHudWatchPane: () => {
74
+ created = true;
75
+ return '%hud';
76
+ },
77
+ resizeTmuxPane: () => {
78
+ resized = true;
79
+ return true;
80
+ },
81
+ killTmuxPane: () => {
82
+ killed = true;
83
+ return true;
84
+ },
85
+ resolveOmxCliEntryPath: () => '/repo/dist/cli/omx.js',
86
+ });
87
+ assert.equal(result.status, 'skipped_stale_leader_pane');
88
+ assert.equal(result.paneId, null);
89
+ assert.equal(created, false);
90
+ assert.equal(resized, false);
91
+ assert.equal(killed, false);
92
+ });
93
+ it('skips an unusable empty pane snapshot without mutating tmux layout', async () => {
94
+ let created = false;
95
+ let resized = false;
96
+ let killed = false;
97
+ const result = await reconcileHudForPromptSubmit('/repo', {
98
+ env: {
99
+ TMUX: '1',
100
+ TMUX_PANE: '%271',
101
+ OMX_SESSION_ID: 'sess-a',
102
+ [OMX_TMUX_HUD_OWNER_ENV]: '1',
103
+ },
104
+ listCurrentWindowPanes: () => [],
105
+ createHudWatchPane: () => {
106
+ created = true;
107
+ return '%hud';
108
+ },
109
+ resizeTmuxPane: () => {
110
+ resized = true;
111
+ return true;
112
+ },
113
+ killTmuxPane: () => {
114
+ killed = true;
115
+ return true;
116
+ },
117
+ resolveOmxCliEntryPath: () => '/repo/dist/cli/omx.js',
118
+ });
119
+ assert.equal(result.status, 'skipped_stale_leader_pane');
120
+ assert.equal(result.paneId, null);
121
+ assert.equal(created, false);
122
+ assert.equal(resized, false);
123
+ assert.equal(killed, false);
124
+ });
125
+ it('skips a dead leader pane without mutating tmux layout', async () => {
126
+ let created = false;
127
+ let resized = false;
128
+ let killed = false;
129
+ const result = await reconcileHudForPromptSubmit('/repo', {
130
+ env: {
131
+ TMUX: '1',
132
+ TMUX_PANE: '%271',
133
+ OMX_SESSION_ID: 'sess-a',
134
+ [OMX_TMUX_HUD_OWNER_ENV]: '1',
135
+ },
136
+ listCurrentWindowPanes: () => [
137
+ { paneId: '%271', currentCommand: 'zsh', startCommand: 'zsh', paneDead: true },
138
+ ],
139
+ createHudWatchPane: () => {
140
+ created = true;
141
+ return '%hud';
142
+ },
143
+ resizeTmuxPane: () => {
144
+ resized = true;
145
+ return true;
146
+ },
147
+ killTmuxPane: () => {
148
+ killed = true;
149
+ return true;
150
+ },
151
+ resolveOmxCliEntryPath: () => '/repo/dist/cli/omx.js',
152
+ });
153
+ assert.equal(result.status, 'skipped_stale_leader_pane');
154
+ assert.equal(result.paneId, null);
155
+ assert.equal(created, false);
156
+ assert.equal(resized, false);
157
+ assert.equal(killed, false);
158
+ });
159
+ it('continues normal reconciliation when the scoped leader is live', async () => {
160
+ const resized = [];
161
+ const result = await reconcileHudForPromptSubmit('/repo', {
162
+ env: { TMUX: '1', TMUX_PANE: '%271', OMX_SESSION_ID: 'sess-a', [OMX_TMUX_HUD_OWNER_ENV]: '1' },
163
+ listCurrentWindowPanes: () => [
164
+ { paneId: '%271', currentCommand: 'codex', startCommand: 'codex', paneDead: false, paneHeight: 20, windowHeight: 24 },
165
+ {
166
+ paneId: '%272',
167
+ currentCommand: 'node',
168
+ paneHeight: 2,
169
+ paneTop: 21,
170
+ paneBottom: 23,
171
+ paneLeft: 0,
172
+ paneWidth: 80,
173
+ windowWidth: 80,
174
+ windowHeight: 24,
175
+ startCommand: `env OMX_SESSION_ID='sess-a' ${OMX_TMUX_HUD_LEADER_PANE_ENV}='%271' node omx hud --watch`,
176
+ },
177
+ ],
178
+ readHudConfig: async () => ({ preset: 'focused', git: { display: 'branch' }, statusLine: { preset: 'focused' } }),
179
+ readAllState: async () => ({
180
+ version: null, gitBranch: null, ralph: null, ultragoal: null, ultrawork: null,
181
+ autopilot: null, ralplan: null, deepInterview: null, autoresearch: null, ultraqa: null,
182
+ team: null, metrics: null, hudNotify: null, session: null,
183
+ }),
184
+ resizeTmuxPane: (_pane, height) => {
185
+ resized.push(height);
186
+ return true;
187
+ },
188
+ registerHudResizeHook: () => true,
189
+ resolveOmxCliEntryPath: () => '/repo/dist/cli/omx.js',
190
+ });
191
+ assert.equal(result.status, 'unchanged');
192
+ assert.equal(result.paneId, '%272');
193
+ assert.deepEqual(resized, []);
194
+ });
195
+ for (const scenario of ['keeper', 'single-invalid', 'duplicates-invalid']) {
196
+ it(`bounds a large roster against fresh target geometry after removing HUDs: ${scenario}`, async () => {
197
+ const killed = [];
198
+ const resized = [];
199
+ const created = [];
200
+ const hooks = [];
201
+ const command = `env OMX_SESSION_ID='sess-a' ${OMX_TMUX_HUD_LEADER_PANE_ENV}='%1' node omx hud --watch`;
202
+ const result = await reconcileHudForPromptSubmit('/repo', {
203
+ env: { TMUX: '1', TMUX_PANE: '%1', OMX_SESSION_ID: 'sess-a', [OMX_TMUX_HUD_OWNER_ENV]: '1' },
204
+ listCurrentWindowPanes: () => [
205
+ { paneId: '%1', currentCommand: 'codex', startCommand: 'codex', paneLeft: 0, paneTop: 0,
206
+ paneWidth: 80, paneHeight: killed.length ? 8 : 12, paneBottom: 11, windowWidth: 160, windowHeight: 50 },
207
+ { paneId: '%2', currentCommand: 'node', startCommand: command, paneLeft: 81, paneTop: 0,
208
+ paneWidth: 79, paneHeight: 50, paneBottom: 49, windowWidth: 160, windowHeight: 50 },
209
+ ...(scenario === 'single-invalid' ? [] : [
210
+ { paneId: '%3', currentCommand: 'node', startCommand: command, paneLeft: 0,
211
+ paneTop: scenario === 'keeper' ? 13 : 0, paneWidth: 80, paneHeight: 3,
212
+ paneBottom: 15, windowWidth: 160, windowHeight: 50 },
213
+ ]),
214
+ ].filter(pane => !killed.includes(pane.paneId)),
215
+ readHudConfig: async () => ({ preset: 'focused', git: { display: 'branch' }, statusLine: { preset: 'focused' } }),
216
+ readAllState: async () => ({
217
+ version: null, gitBranch: null, ralph: null, ultragoal: null, ultrawork: null,
218
+ autopilot: null, ralplan: null, deepInterview: null, autoresearch: null, ultraqa: null,
219
+ team: { active: true, workers: Array.from({ length: 20 }, (_, i) => ({ name: `worker-${i + 1}`, state: 'working' })) },
220
+ metrics: null, hudNotify: null, session: null,
221
+ }),
222
+ killTmuxPane: paneId => { killed.push(paneId); return true; },
223
+ resizeTmuxPane: (paneId, height) => { resized.push({ paneId, height }); return true; },
224
+ createHudWatchPane: (_cwd, _cmd, options) => { created.push(options?.heightLines ?? 0); return '%4'; },
225
+ registerHudResizeHook: (_pane, _leader, height) => { hooks.push(height); return true; },
226
+ unregisterHudResizeHook: noOpUnregisterHudResizeHook,
227
+ resolveOmxCliEntryPath: () => '/repo/dist/cli/omx.js',
228
+ });
229
+ const expectedHeight = scenario === 'keeper' ? 5 : 3;
230
+ assert.equal(result.desiredHeight, expectedHeight);
231
+ assert.deepEqual(hooks, [expectedHeight]);
232
+ if (scenario === 'keeper') {
233
+ assert.equal(result.paneId, '%3');
234
+ assert.deepEqual(killed, ['%2']);
235
+ assert.deepEqual(resized, [{ paneId: '%3', height: expectedHeight }]);
236
+ assert.deepEqual(created, []);
237
+ }
238
+ else {
239
+ assert.equal(result.paneId, '%4');
240
+ assert.deepEqual(created, [expectedHeight]);
241
+ assert.deepEqual(killed, scenario === 'single-invalid' ? ['%2'] : ['%2', '%3']);
242
+ }
243
+ });
244
+ }
31
245
  it('skips reconciliation in non-OMX-owned tmux even when an entry exists', async () => {
32
246
  let listed = false;
33
247
  let created = false;