oh-my-codex 0.16.3 → 0.16.4

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 (278) hide show
  1. package/Cargo.lock +5 -5
  2. package/Cargo.toml +1 -1
  3. package/README.md +3 -3
  4. package/dist/catalog/__tests__/plugin-bundle-ssot.test.js +9 -0
  5. package/dist/catalog/__tests__/plugin-bundle-ssot.test.js.map +1 -1
  6. package/dist/cli/__tests__/cleanup.test.js +27 -0
  7. package/dist/cli/__tests__/cleanup.test.js.map +1 -1
  8. package/dist/cli/__tests__/codex-plugin-layout.test.js +7 -5
  9. package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
  10. package/dist/cli/__tests__/doctor-warning-copy.test.js +101 -6
  11. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
  12. package/dist/cli/__tests__/index.test.js +131 -2
  13. package/dist/cli/__tests__/index.test.js.map +1 -1
  14. package/dist/cli/__tests__/ralph-goal-mode-contract.test.js +2 -0
  15. package/dist/cli/__tests__/ralph-goal-mode-contract.test.js.map +1 -1
  16. package/dist/cli/__tests__/ralph.test.js +47 -0
  17. package/dist/cli/__tests__/ralph.test.js.map +1 -1
  18. package/dist/cli/__tests__/setup-hooks-shared-ownership.test.js +2 -2
  19. package/dist/cli/__tests__/setup-hooks-shared-ownership.test.js.map +1 -1
  20. package/dist/cli/__tests__/setup-install-mode.test.js +272 -26
  21. package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
  22. package/dist/cli/__tests__/setup-refresh.test.js +85 -3
  23. package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
  24. package/dist/cli/__tests__/setup-scope.test.js +1 -1
  25. package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
  26. package/dist/cli/__tests__/setup-skills-overwrite.test.js +2 -1
  27. package/dist/cli/__tests__/setup-skills-overwrite.test.js.map +1 -1
  28. package/dist/cli/__tests__/team.test.js +108 -0
  29. package/dist/cli/__tests__/team.test.js.map +1 -1
  30. package/dist/cli/__tests__/ultragoal.test.js +69 -0
  31. package/dist/cli/__tests__/ultragoal.test.js.map +1 -1
  32. package/dist/cli/__tests__/uninstall.test.js +54 -8
  33. package/dist/cli/__tests__/uninstall.test.js.map +1 -1
  34. package/dist/cli/cleanup.d.ts.map +1 -1
  35. package/dist/cli/cleanup.js +8 -4
  36. package/dist/cli/cleanup.js.map +1 -1
  37. package/dist/cli/codex-feature-probe.d.ts +9 -0
  38. package/dist/cli/codex-feature-probe.d.ts.map +1 -0
  39. package/dist/cli/codex-feature-probe.js +28 -0
  40. package/dist/cli/codex-feature-probe.js.map +1 -0
  41. package/dist/cli/doctor.d.ts +1 -0
  42. package/dist/cli/doctor.d.ts.map +1 -1
  43. package/dist/cli/doctor.js +152 -17
  44. package/dist/cli/doctor.js.map +1 -1
  45. package/dist/cli/index.d.ts +9 -2
  46. package/dist/cli/index.d.ts.map +1 -1
  47. package/dist/cli/index.js +135 -17
  48. package/dist/cli/index.js.map +1 -1
  49. package/dist/cli/mcp-parity.js +8 -8
  50. package/dist/cli/mcp-parity.js.map +1 -1
  51. package/dist/cli/plugin-marketplace.d.ts +3 -0
  52. package/dist/cli/plugin-marketplace.d.ts.map +1 -1
  53. package/dist/cli/plugin-marketplace.js +88 -0
  54. package/dist/cli/plugin-marketplace.js.map +1 -1
  55. package/dist/cli/ralph.d.ts.map +1 -1
  56. package/dist/cli/ralph.js +21 -0
  57. package/dist/cli/ralph.js.map +1 -1
  58. package/dist/cli/setup-preferences.d.ts +4 -0
  59. package/dist/cli/setup-preferences.d.ts.map +1 -1
  60. package/dist/cli/setup-preferences.js +7 -0
  61. package/dist/cli/setup-preferences.js.map +1 -1
  62. package/dist/cli/setup.d.ts +5 -3
  63. package/dist/cli/setup.d.ts.map +1 -1
  64. package/dist/cli/setup.js +114 -44
  65. package/dist/cli/setup.js.map +1 -1
  66. package/dist/cli/ultragoal.d.ts +1 -1
  67. package/dist/cli/ultragoal.d.ts.map +1 -1
  68. package/dist/cli/ultragoal.js +64 -5
  69. package/dist/cli/ultragoal.js.map +1 -1
  70. package/dist/cli/uninstall.d.ts +2 -0
  71. package/dist/cli/uninstall.d.ts.map +1 -1
  72. package/dist/cli/uninstall.js +12 -3
  73. package/dist/cli/uninstall.js.map +1 -1
  74. package/dist/config/__tests__/codex-feature-flags.test.d.ts +2 -0
  75. package/dist/config/__tests__/codex-feature-flags.test.d.ts.map +1 -0
  76. package/dist/config/__tests__/codex-feature-flags.test.js +35 -0
  77. package/dist/config/__tests__/codex-feature-flags.test.js.map +1 -0
  78. package/dist/config/__tests__/codex-hooks.test.js +7 -0
  79. package/dist/config/__tests__/codex-hooks.test.js.map +1 -1
  80. package/dist/config/__tests__/generator-idempotent.test.js +70 -9
  81. package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
  82. package/dist/config/__tests__/generator-notify.test.js +116 -11
  83. package/dist/config/__tests__/generator-notify.test.js.map +1 -1
  84. package/dist/config/__tests__/wiki-config-contract.test.js +6 -3
  85. package/dist/config/__tests__/wiki-config-contract.test.js.map +1 -1
  86. package/dist/config/codex-feature-flags.d.ts +21 -0
  87. package/dist/config/codex-feature-flags.d.ts.map +1 -0
  88. package/dist/config/codex-feature-flags.js +56 -0
  89. package/dist/config/codex-feature-flags.js.map +1 -0
  90. package/dist/config/codex-hooks.d.ts +2 -0
  91. package/dist/config/codex-hooks.d.ts.map +1 -1
  92. package/dist/config/codex-hooks.js +25 -3
  93. package/dist/config/codex-hooks.js.map +1 -1
  94. package/dist/config/generator.d.ts +11 -2
  95. package/dist/config/generator.d.ts.map +1 -1
  96. package/dist/config/generator.js +221 -123
  97. package/dist/config/generator.js.map +1 -1
  98. package/dist/config/omx-first-party-mcp.d.ts +3 -1
  99. package/dist/config/omx-first-party-mcp.d.ts.map +1 -1
  100. package/dist/config/omx-first-party-mcp.js +2 -2
  101. package/dist/config/omx-first-party-mcp.js.map +1 -1
  102. package/dist/hooks/__tests__/keyword-detector.test.js +92 -2
  103. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  104. package/dist/hooks/__tests__/notify-hook-non-omx-guard.test.js +125 -1
  105. package/dist/hooks/__tests__/notify-hook-non-omx-guard.test.js.map +1 -1
  106. package/dist/hooks/__tests__/skill-catalog-hygiene.test.d.ts +2 -0
  107. package/dist/hooks/__tests__/skill-catalog-hygiene.test.d.ts.map +1 -0
  108. package/dist/hooks/__tests__/skill-catalog-hygiene.test.js +84 -0
  109. package/dist/hooks/__tests__/skill-catalog-hygiene.test.js.map +1 -0
  110. package/dist/hooks/agents-overlay.js +2 -2
  111. package/dist/hooks/agents-overlay.js.map +1 -1
  112. package/dist/hooks/keyword-detector.d.ts +1 -0
  113. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  114. package/dist/hooks/keyword-detector.js +7 -5
  115. package/dist/hooks/keyword-detector.js.map +1 -1
  116. package/dist/hud/__tests__/state.test.js +164 -0
  117. package/dist/hud/__tests__/state.test.js.map +1 -1
  118. package/dist/hud/state.d.ts.map +1 -1
  119. package/dist/hud/state.js +4 -5
  120. package/dist/hud/state.js.map +1 -1
  121. package/dist/mcp/__tests__/state-paths.test.js +61 -0
  122. package/dist/mcp/__tests__/state-paths.test.js.map +1 -1
  123. package/dist/mcp/__tests__/state-server.test.js +166 -0
  124. package/dist/mcp/__tests__/state-server.test.js.map +1 -1
  125. package/dist/mcp/state-paths.d.ts.map +1 -1
  126. package/dist/mcp/state-paths.js +23 -2
  127. package/dist/mcp/state-paths.js.map +1 -1
  128. package/dist/modes/__tests__/base-session-scope.test.js +22 -0
  129. package/dist/modes/__tests__/base-session-scope.test.js.map +1 -1
  130. package/dist/modes/__tests__/base-tmux-pane.test.js +57 -26
  131. package/dist/modes/__tests__/base-tmux-pane.test.js.map +1 -1
  132. package/dist/modes/base.d.ts.map +1 -1
  133. package/dist/modes/base.js +5 -0
  134. package/dist/modes/base.js.map +1 -1
  135. package/dist/planning/__tests__/approved-execution-lifecycle-matrix.test.d.ts +2 -0
  136. package/dist/planning/__tests__/approved-execution-lifecycle-matrix.test.d.ts.map +1 -0
  137. package/dist/planning/__tests__/approved-execution-lifecycle-matrix.test.js +316 -0
  138. package/dist/planning/__tests__/approved-execution-lifecycle-matrix.test.js.map +1 -0
  139. package/dist/planning/__tests__/approved-launch-hint-lineage-matrix.test.d.ts +2 -0
  140. package/dist/planning/__tests__/approved-launch-hint-lineage-matrix.test.d.ts.map +1 -0
  141. package/dist/planning/__tests__/approved-launch-hint-lineage-matrix.test.js +481 -0
  142. package/dist/planning/__tests__/approved-launch-hint-lineage-matrix.test.js.map +1 -0
  143. package/dist/planning/__tests__/artifacts.test.js +533 -4
  144. package/dist/planning/__tests__/artifacts.test.js.map +1 -1
  145. package/dist/planning/__tests__/context-pack-status.test.js +524 -0
  146. package/dist/planning/__tests__/context-pack-status.test.js.map +1 -1
  147. package/dist/planning/__tests__/markdown-structure.test.d.ts +2 -0
  148. package/dist/planning/__tests__/markdown-structure.test.d.ts.map +1 -0
  149. package/dist/planning/__tests__/markdown-structure.test.js +459 -0
  150. package/dist/planning/__tests__/markdown-structure.test.js.map +1 -0
  151. package/dist/planning/__tests__/ready-context-pack-role-refs.test.js +523 -1
  152. package/dist/planning/__tests__/ready-context-pack-role-refs.test.js.map +1 -1
  153. package/dist/planning/artifacts.d.ts +1 -1
  154. package/dist/planning/artifacts.d.ts.map +1 -1
  155. package/dist/planning/artifacts.js +227 -28
  156. package/dist/planning/artifacts.js.map +1 -1
  157. package/dist/planning/context-pack-status.d.ts +25 -0
  158. package/dist/planning/context-pack-status.d.ts.map +1 -1
  159. package/dist/planning/context-pack-status.js +272 -31
  160. package/dist/planning/context-pack-status.js.map +1 -1
  161. package/dist/planning/markdown-structure.d.ts +20 -0
  162. package/dist/planning/markdown-structure.d.ts.map +1 -0
  163. package/dist/planning/markdown-structure.js +137 -0
  164. package/dist/planning/markdown-structure.js.map +1 -0
  165. package/dist/ralph/__tests__/completion-audit.test.d.ts +2 -0
  166. package/dist/ralph/__tests__/completion-audit.test.d.ts.map +1 -0
  167. package/dist/ralph/__tests__/completion-audit.test.js +121 -0
  168. package/dist/ralph/__tests__/completion-audit.test.js.map +1 -0
  169. package/dist/ralph/completion-audit.d.ts +8 -0
  170. package/dist/ralph/completion-audit.d.ts.map +1 -0
  171. package/dist/ralph/completion-audit.js +99 -0
  172. package/dist/ralph/completion-audit.js.map +1 -0
  173. package/dist/scripts/__tests__/codex-native-hook.test.js +220 -13
  174. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  175. package/dist/scripts/__tests__/notify-dispatcher.test.d.ts +2 -0
  176. package/dist/scripts/__tests__/notify-dispatcher.test.d.ts.map +1 -0
  177. package/dist/scripts/__tests__/notify-dispatcher.test.js +126 -0
  178. package/dist/scripts/__tests__/notify-dispatcher.test.js.map +1 -0
  179. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  180. package/dist/scripts/codex-native-hook.js +133 -54
  181. package/dist/scripts/codex-native-hook.js.map +1 -1
  182. package/dist/scripts/codex-native-pre-post.d.ts.map +1 -1
  183. package/dist/scripts/codex-native-pre-post.js +4 -2
  184. package/dist/scripts/codex-native-pre-post.js.map +1 -1
  185. package/dist/scripts/notify-dispatcher.js +30 -1
  186. package/dist/scripts/notify-dispatcher.js.map +1 -1
  187. package/dist/scripts/notify-hook.js +3 -1
  188. package/dist/scripts/notify-hook.js.map +1 -1
  189. package/dist/state/__tests__/workflow-transition.test.js +102 -27
  190. package/dist/state/__tests__/workflow-transition.test.js.map +1 -1
  191. package/dist/state/operations.d.ts.map +1 -1
  192. package/dist/state/operations.js +9 -3
  193. package/dist/state/operations.js.map +1 -1
  194. package/dist/state/skill-active.d.ts +7 -0
  195. package/dist/state/skill-active.d.ts.map +1 -1
  196. package/dist/state/skill-active.js +25 -8
  197. package/dist/state/skill-active.js.map +1 -1
  198. package/dist/state/workflow-transition-reconcile.d.ts +1 -0
  199. package/dist/state/workflow-transition-reconcile.d.ts.map +1 -1
  200. package/dist/state/workflow-transition-reconcile.js +22 -15
  201. package/dist/state/workflow-transition-reconcile.js.map +1 -1
  202. package/dist/state/workflow-transition.js +3 -3
  203. package/dist/state/workflow-transition.js.map +1 -1
  204. package/dist/team/__tests__/approved-execution.test.js +39 -0
  205. package/dist/team/__tests__/approved-execution.test.js.map +1 -1
  206. package/dist/team/__tests__/runtime.test.js +5 -0
  207. package/dist/team/__tests__/runtime.test.js.map +1 -1
  208. package/dist/team/__tests__/scaling.test.js +497 -2
  209. package/dist/team/__tests__/scaling.test.js.map +1 -1
  210. package/dist/team/__tests__/state-root.test.js +1 -1
  211. package/dist/team/__tests__/state-root.test.js.map +1 -1
  212. package/dist/team/__tests__/worker-bootstrap.test.js +8 -0
  213. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  214. package/dist/team/approved-execution.d.ts.map +1 -1
  215. package/dist/team/approved-execution.js +3 -0
  216. package/dist/team/approved-execution.js.map +1 -1
  217. package/dist/team/scaling.d.ts.map +1 -1
  218. package/dist/team/scaling.js +43 -0
  219. package/dist/team/scaling.js.map +1 -1
  220. package/dist/team/state-root.d.ts.map +1 -1
  221. package/dist/team/state-root.js +4 -0
  222. package/dist/team/state-root.js.map +1 -1
  223. package/dist/team/state.d.ts.map +1 -1
  224. package/dist/team/state.js +2 -6
  225. package/dist/team/state.js.map +1 -1
  226. package/dist/ultragoal/__tests__/artifacts.test.js +124 -1
  227. package/dist/ultragoal/__tests__/artifacts.test.js.map +1 -1
  228. package/dist/ultragoal/__tests__/docs-contract.test.js +21 -0
  229. package/dist/ultragoal/__tests__/docs-contract.test.js.map +1 -1
  230. package/dist/ultragoal/artifacts.d.ts +44 -2
  231. package/dist/ultragoal/artifacts.d.ts.map +1 -1
  232. package/dist/ultragoal/artifacts.js +197 -13
  233. package/dist/ultragoal/artifacts.js.map +1 -1
  234. package/dist/wiki/lifecycle.js +1 -1
  235. package/dist/wiki/lifecycle.js.map +1 -1
  236. package/package.json +1 -1
  237. package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
  238. package/plugins/oh-my-codex/.mcp.json +5 -5
  239. package/plugins/oh-my-codex/skills/analyze/SKILL.md +0 -2
  240. package/plugins/oh-my-codex/skills/autopilot/SKILL.md +2 -2
  241. package/plugins/oh-my-codex/skills/code-review/SKILL.md +1 -3
  242. package/plugins/oh-my-codex/skills/deep-interview/SKILL.md +5 -7
  243. package/plugins/oh-my-codex/skills/doctor/SKILL.md +2 -2
  244. package/plugins/oh-my-codex/skills/omx-setup/SKILL.md +3 -3
  245. package/plugins/oh-my-codex/skills/pipeline/SKILL.md +3 -3
  246. package/plugins/oh-my-codex/skills/plan/SKILL.md +3 -6
  247. package/plugins/oh-my-codex/skills/ralph/SKILL.md +9 -10
  248. package/plugins/oh-my-codex/skills/ultragoal/SKILL.md +36 -3
  249. package/plugins/oh-my-codex/skills/ultraqa/SKILL.md +21 -24
  250. package/plugins/oh-my-codex/skills/ultrawork/SKILL.md +8 -8
  251. package/plugins/oh-my-codex/skills/wiki/SKILL.md +13 -13
  252. package/skills/analyze/SKILL.md +0 -2
  253. package/skills/ask-claude/SKILL.md +5 -3
  254. package/skills/ask-gemini/SKILL.md +5 -3
  255. package/skills/autopilot/SKILL.md +2 -2
  256. package/skills/code-review/SKILL.md +1 -3
  257. package/skills/deep-interview/SKILL.md +5 -7
  258. package/skills/doctor/SKILL.md +2 -2
  259. package/skills/ecomode/SKILL.md +105 -1
  260. package/skills/frontend-ui-ux/SKILL.md +4 -26
  261. package/skills/git-master/SKILL.md +2 -4
  262. package/skills/omx-setup/SKILL.md +3 -3
  263. package/skills/pipeline/SKILL.md +3 -3
  264. package/skills/plan/SKILL.md +3 -6
  265. package/skills/ralph/SKILL.md +9 -10
  266. package/skills/swarm/SKILL.md +5 -3
  267. package/skills/tdd/SKILL.md +95 -1
  268. package/skills/ultragoal/SKILL.md +36 -3
  269. package/skills/ultraqa/SKILL.md +21 -24
  270. package/skills/ultrawork/SKILL.md +8 -8
  271. package/skills/web-clone/SKILL.md +348 -1
  272. package/skills/wiki/SKILL.md +13 -13
  273. package/src/scripts/__tests__/codex-native-hook.test.ts +231 -13
  274. package/src/scripts/__tests__/notify-dispatcher.test.ts +153 -0
  275. package/src/scripts/codex-native-hook.ts +160 -43
  276. package/src/scripts/codex-native-pre-post.ts +4 -1
  277. package/src/scripts/notify-dispatcher.ts +40 -1
  278. package/src/scripts/notify-hook.ts +3 -1
package/Cargo.lock CHANGED
@@ -32,14 +32,14 @@ checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
32
32
 
33
33
  [[package]]
34
34
  name = "omx-explore-harness"
35
- version = "0.16.3"
35
+ version = "0.16.4"
36
36
  dependencies = [
37
37
  "libc",
38
38
  ]
39
39
 
40
40
  [[package]]
41
41
  name = "omx-mux"
42
- version = "0.16.3"
42
+ version = "0.16.4"
43
43
  dependencies = [
44
44
  "serde",
45
45
  "serde_json",
@@ -47,7 +47,7 @@ dependencies = [
47
47
 
48
48
  [[package]]
49
49
  name = "omx-runtime"
50
- version = "0.16.3"
50
+ version = "0.16.4"
51
51
  dependencies = [
52
52
  "omx-mux",
53
53
  "omx-runtime-core",
@@ -56,7 +56,7 @@ dependencies = [
56
56
 
57
57
  [[package]]
58
58
  name = "omx-runtime-core"
59
- version = "0.16.3"
59
+ version = "0.16.4"
60
60
  dependencies = [
61
61
  "fs2",
62
62
  "serde",
@@ -65,7 +65,7 @@ dependencies = [
65
65
 
66
66
  [[package]]
67
67
  name = "omx-sparkshell"
68
- version = "0.16.3"
68
+ version = "0.16.4"
69
69
  dependencies = [
70
70
  "omx-mux",
71
71
  ]
package/Cargo.toml CHANGED
@@ -10,7 +10,7 @@ resolver = "2"
10
10
 
11
11
  [workspace.package]
12
12
 
13
- version = "0.16.3"
13
+ version = "0.16.4"
14
14
 
15
15
  edition = "2021"
16
16
  rust-version = "1.73"
package/README.md CHANGED
@@ -65,7 +65,7 @@ omx --madmax --high
65
65
 
66
66
  On a real `oh-my-codex` version bump, the global npm install now prints an explicit reminder instead of launching `omx setup` automatically. When you're ready, run `omx setup` manually or use `omx update` to check npm and then run the same setup refresh path.
67
67
 
68
- **Codex plugin install note:** this repo also ships an official Codex plugin layout at `plugins/oh-my-codex` with marketplace metadata in `.agents/plugins/marketplace.json`. That plugin bundles the mirrored skill surface plus plugin-scoped companion metadata for MCP servers and apps. Native/runtime hooks still stay on the setup/runtime side rather than the installable plugin manifest. It is still **not** a replacement for `npm install -g oh-my-codex` plus `omx setup`: legacy setup mode installs native agents and prompts, while plugin setup mode relies on plugin discovery for bundled skills and archives/removes legacy OMX-managed prompts/native-agent TOMLs so stale role files cannot shadow plugin behavior.
68
+ **Codex plugin install note:** this repo also ships an official Codex plugin layout at `plugins/oh-my-codex` with marketplace metadata in `.agents/plugins/marketplace.json`. That plugin bundles the mirrored skill surface plus plugin-scoped companion metadata for optional MCP compatibility servers and apps, disabled by default. Native/runtime hooks still stay on the setup/runtime side rather than the installable plugin manifest. It is still **not** a replacement for `npm install -g oh-my-codex` plus `omx setup`: legacy setup mode installs native agents and prompts, while plugin setup mode relies on plugin discovery for bundled skills and archives/removes legacy OMX-managed prompts/native-agent TOMLs so stale role files cannot shadow plugin behavior.
69
69
 
70
70
  Then work normally inside Codex:
71
71
 
@@ -223,7 +223,7 @@ omx team shutdown <team-name>
223
223
  ### Setup, doctor, and HUD
224
224
 
225
225
  These are operator/support surfaces:
226
- - Codex plugin marketplace install/discovery can cache the plugin under `${CODEX_HOME:-~/.codex}/plugins/cache/$MARKETPLACE_NAME/oh-my-codex/$VERSION/` (local installs may use `local` as the version identifier); that packaged plugin now includes plugin-scoped companion metadata for MCP servers and apps, while native/runtime hooks remain setup-owned, so it is still not the full OMX runtime setup
226
+ - Codex plugin marketplace install/discovery can cache the plugin under `${CODEX_HOME:-~/.codex}/plugins/cache/$MARKETPLACE_NAME/oh-my-codex/$VERSION/` (local installs may use `local` as the version identifier); that packaged plugin includes plugin-scoped companion metadata for optional MCP compatibility servers and apps (disabled by default), while native/runtime hooks remain setup-owned, so it is still not the full OMX runtime setup
227
227
  - `omx setup` installs prompts, skills, AGENTS scaffolding, `.codex/config.toml`, and OMX-managed native Codex hooks in `.codex/hooks.json`
228
228
  - setup refresh preserves non-OMX hook entries in `.codex/hooks.json` and only rewrites OMX-managed wrappers
229
229
  - `omx setup --merge-agents` preserves existing `AGENTS.md` guidance while inserting or refreshing generated OMX sections between `<!-- OMX:AGENTS:START -->` / `<!-- OMX:AGENTS:END -->`; without `--merge-agents` or `--force`, non-interactive setup keeps skipping existing `AGENTS.md` files
@@ -278,7 +278,7 @@ omx sparkshell --tmux-pane %12 --tail-lines 400
278
278
 
279
279
  ### Wiki
280
280
 
281
- - `omx wiki` is the CLI parity surface for the OMX wiki MCP server
281
+ - `omx wiki` is the CLI-first JSON surface for wiki operations; `omx_wiki` MCP is explicit compatibility only
282
282
  - wiki data lives as repository project knowledge under `omx_wiki/`
283
283
  - the wiki is markdown-first and search-first, not vector-first
284
284
 
@@ -7,6 +7,7 @@ import { pathToFileURL } from "node:url";
7
7
  import { getSetupInstallableSkillNames } from "../installable.js";
8
8
  import { readCatalogManifest } from "../reader.js";
9
9
  import { isDirectCliInvocation, syncPluginMirror, } from "../../scripts/sync-plugin-mirror.js";
10
+ import { buildOmxPluginMcpManifest } from "../../config/omx-first-party-mcp.js";
10
11
  const root = process.cwd();
11
12
  async function copyBundleFixture() {
12
13
  const fixtureRoot = await mkdtemp(join(tmpdir(), "omx-plugin-bundle-ssot-"));
@@ -39,6 +40,14 @@ describe("plugin bundle SSOT contract", () => {
39
40
  assert.equal(result.changed, false);
40
41
  assert.deepEqual(result.mirroredSkillNames, expectedSkillNames);
41
42
  assert.equal(result.mirroredSkillNames.includes("pipeline"), true);
43
+ const pluginMcp = JSON.parse(await readFile(join(root, "plugins", "oh-my-codex", ".mcp.json"), "utf-8"));
44
+ assert.deepEqual(Object.values(pluginMcp.mcpServers ?? {}).map((server) => server.enabled), Object.values(pluginMcp.mcpServers ?? {}).map(() => false), "checked-in plugin MCP metadata must be disabled by default");
45
+ });
46
+ it("builds disabled plugin MCP metadata by default with explicit compat opt-in", () => {
47
+ const defaultManifest = buildOmxPluginMcpManifest();
48
+ assert.deepEqual(Object.values(defaultManifest.mcpServers).map((server) => server.enabled), Object.values(defaultManifest.mcpServers).map(() => false));
49
+ const compatManifest = buildOmxPluginMcpManifest({ enabled: true });
50
+ assert.deepEqual(Object.values(compatManifest.mcpServers).map((server) => server.enabled), Object.values(compatManifest.mcpServers).map(() => true));
42
51
  });
43
52
  it("fails check mode when plugin MCP metadata drifts from canonical first-party specs", async () => {
44
53
  const fixtureRoot = await copyBundleFixture();
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-bundle-ssot.test.js","sourceRoot":"","sources":["../../../src/catalog/__tests__/plugin-bundle-ssot.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-bundle-ssot.test.js","sourceRoot":"","sources":["../../../src/catalog/__tests__/plugin-bundle-ssot.test.ts"],"names":[],"mappings":"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"}
@@ -53,6 +53,8 @@ describe('findCleanupCandidates', () => {
53
53
  assert.equal(extractOmxMcpEntrypoint('node /repo/oh-my-codex/dist/mcp/state-server.js'), 'state-server.js');
54
54
  assert.equal(extractOmxMcpEntrypoint('node C:\\repo\\oh-my-codex\\dist\\mcp\\code-intel-server.cjs'), 'code-intel-server.cjs');
55
55
  assert.equal(extractOmxMcpEntrypoint('node /tmp/worktree/dist/mcp/team-server.js'), null);
56
+ assert.equal(extractOmxMcpEntrypoint('node /repo/dist/cli/omx.js mcp-serve state'), 'state-server.js');
57
+ assert.equal(extractOmxMcpEntrypoint('omx mcp-serve code-intel'), 'code-intel-server.js');
56
58
  });
57
59
  it('selects orphaned OMX MCP processes while preserving the current session tree', () => {
58
60
  assert.deepEqual(findCleanupCandidates(CURRENT_SESSION_PROCESSES, 701), [
@@ -145,9 +147,34 @@ describe('findCleanupCandidates', () => {
145
147
  { pid: 720, ppid: 700, command: 'node /repo/dist/mcp/wiki-server.js' },
146
148
  { pid: 900, ppid: 800, command: 'codex --model gpt-5' },
147
149
  { pid: 901, ppid: 900, command: 'node /repo/dist/mcp/trace-server.js' },
150
+ { pid: 910, ppid: 900, command: 'node /repo/dist/cli/omx.js mcp-serve state' },
151
+ { pid: 911, ppid: 900, command: 'node /repo/dist/cli/omx.js mcp-serve state' },
148
152
  ];
149
153
  assert.deepEqual(findLaunchSafeCleanupCandidates(processes, 701), []);
150
154
  });
155
+ it('reaps plugin-launched omx mcp-serve orphans during launch-safe cleanup', () => {
156
+ const processes = [
157
+ { pid: 700, ppid: 500, command: 'codex app-server' },
158
+ { pid: 701, ppid: 700, command: 'node /repo/bin/omx.js cleanup --launch-safe' },
159
+ { pid: 820, ppid: 1, command: 'node /repo/dist/cli/omx.js mcp-serve state' },
160
+ { pid: 821, ppid: 42, command: 'omx mcp-serve code-intel' },
161
+ { pid: 830, ppid: 700, command: 'node /repo/dist/cli/omx.js mcp-serve memory' },
162
+ ];
163
+ assert.deepEqual(findLaunchSafeCleanupCandidates(processes, 701), [
164
+ {
165
+ pid: 820,
166
+ ppid: 1,
167
+ command: 'node /repo/dist/cli/omx.js mcp-serve state',
168
+ reason: 'ppid=1',
169
+ },
170
+ {
171
+ pid: 821,
172
+ ppid: 42,
173
+ command: 'omx mcp-serve code-intel',
174
+ reason: 'outside-current-session',
175
+ },
176
+ ]);
177
+ });
151
178
  it('preserves same-parent first-party MCP siblings under live Codex and OMX ancestors during launch-safe cleanup', () => {
152
179
  const processes = [
153
180
  { pid: 100, ppid: 1, command: 'codex app-server' },
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/cleanup.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleanup.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/cleanup.test.ts"],"names":[],"mappings":"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"}
@@ -87,7 +87,7 @@ describe('official Codex plugin layout', () => {
87
87
  assert.ok(manifest.interface?.longDescription, 'expected long interface description');
88
88
  assert.ok(manifest.interface?.developerName, 'expected developerName');
89
89
  });
90
- it('ships plugin-scoped companion metadata for MCP servers and apps while hooks stay setup-owned', async () => {
90
+ it('ships disabled-by-default plugin-scoped MCP compatibility metadata while hooks stay setup-owned', async () => {
91
91
  const [mcpManifest, appsManifest] = await Promise.all([
92
92
  readJson(pluginMcpPath),
93
93
  readJson(pluginAppsPath),
@@ -102,7 +102,7 @@ describe('official Codex plugin layout', () => {
102
102
  for (const [serverName, server] of Object.entries(mcpManifest.mcpServers ?? {})) {
103
103
  assert.equal(server.command, OMX_PLUGIN_MCP_COMMAND, `${serverName} should run via omx`);
104
104
  assert.notEqual(server.command, 'node', `${serverName} should not depend on a bare node command`);
105
- assert.equal(server.enabled, true, `${serverName} should be enabled`);
105
+ assert.equal(server.enabled, false, `${serverName} should be disabled by default`);
106
106
  assert.equal(server.args?.length, 2, `${serverName} should have serve subcommand + public target args`);
107
107
  assert.equal(server.args?.[0], OMX_PLUGIN_MCP_SERVE_SUBCOMMAND, `${serverName} should launch through omx mcp-serve`);
108
108
  const target = server.args?.[1];
@@ -112,9 +112,11 @@ describe('official Codex plugin layout', () => {
112
112
  assert.equal(target?.endsWith('-server.js'), false, `${serverName} should not expose internal dist filenames in plugin metadata`);
113
113
  }
114
114
  });
115
- it('keeps plugin MCP metadata aligned with the setup-managed MCP roster', async () => {
115
+ it('keeps plugin MCP metadata aligned with the explicit compat setup-managed MCP roster', async () => {
116
116
  const mcpManifest = await readJson(pluginMcpPath);
117
- const mergedConfig = buildMergedConfig('', root, { includeTui: false });
117
+ const defaultConfig = buildMergedConfig('', root, { includeTui: false });
118
+ assert.doesNotMatch(defaultConfig, /^\[mcp_servers\.omx_state\]$/m, 'default setup config should stay CLI-first without first-party MCP tables');
119
+ const mergedConfig = buildMergedConfig('', root, { includeTui: false, includeFirstPartyMcp: true });
118
120
  const setupManagedServers = [...mergedConfig.matchAll(/^\[mcp_servers\.(omx_[^\]]+)\]$/gm)]
119
121
  .map((match) => match[1])
120
122
  .sort();
@@ -207,7 +209,7 @@ describe('official Codex plugin layout', () => {
207
209
  assert.match(combined, /plugins\/cache\/\$MARKETPLACE_NAME\/oh-my-codex\/\$VERSION\//);
208
210
  assert.match(combined, /not a replacement for `npm install -g oh-my-codex` plus `omx setup`/);
209
211
  assert.match(combined, /legacy setup mode installs native agents(?:\/| and )prompts|plugin setup mode archives stale legacy prompt\/native-agent files/);
210
- assert.match(combined, /plugin-scoped companion metadata for MCP servers and apps/i);
212
+ assert.match(combined, /plugin-scoped companion metadata for optional MCP compatibility servers and apps/i);
211
213
  assert.match(combined, /hooks stay setup-owned|hooks remain setup-owned|native \.codex\/hooks\.json coverage/i);
212
214
  });
213
215
  });
@@ -1 +1 @@
1
- {"version":3,"file":"codex-plugin-layout.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/codex-plugin-layout.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-plugin-layout.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/codex-plugin-layout.test.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,16 @@ import { tmpdir } from "node:os";
7
7
  import { spawnSync } from "node:child_process";
8
8
  import { fileURLToPath } from "node:url";
9
9
  import { withPackagedExploreHarnessHidden, withPackagedExploreHarnessLock, } from "./packaged-explore-harness-lock.js";
10
- import { checkExploreHarness } from "../doctor.js";
10
+ import { checkExploreHarness, classifyPostCompactHookStdout, } from "../doctor.js";
11
+ const MANAGED_HOOK_EVENTS = [
12
+ "SessionStart",
13
+ "PreToolUse",
14
+ "PostToolUse",
15
+ "UserPromptSubmit",
16
+ "PreCompact",
17
+ "PostCompact",
18
+ "Stop",
19
+ ];
11
20
  function runOmx(cwd, argv, envOverrides = {}) {
12
21
  const testDir = dirname(fileURLToPath(import.meta.url));
13
22
  const repoRoot = join(testDir, "..", "..", "..");
@@ -32,6 +41,34 @@ function runOmx(cwd, argv, envOverrides = {}) {
32
41
  function shouldSkipForSpawnPermissions(err) {
33
42
  return typeof err === "string" && /(EPERM|EACCES)/i.test(err);
34
43
  }
44
+ function quoteCommandPart(value) {
45
+ return `"${value.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`;
46
+ }
47
+ function currentNativeHookCommand() {
48
+ const testDir = dirname(fileURLToPath(import.meta.url));
49
+ const repoRoot = join(testDir, "..", "..", "..");
50
+ return `${quoteCommandPart(process.execPath)} ${quoteCommandPart(join(repoRoot, "dist", "scripts", "codex-native-hook.js"))}`;
51
+ }
52
+ function buildHooksJsonWithPostCompactCommand(postCompactCommand) {
53
+ const expectedCommand = currentNativeHookCommand();
54
+ return `${JSON.stringify({
55
+ hooks: Object.fromEntries(MANAGED_HOOK_EVENTS.map((eventName) => [
56
+ eventName,
57
+ [
58
+ {
59
+ hooks: [
60
+ {
61
+ type: "command",
62
+ command: eventName === "PostCompact"
63
+ ? postCompactCommand
64
+ : expectedCommand,
65
+ },
66
+ ],
67
+ },
68
+ ],
69
+ ])),
70
+ }, null, 2)}\n`;
71
+ }
35
72
  describe("omx doctor onboarding warning copy", () => {
36
73
  it("warns that the built-in explore harness is not ready on Windows", () => {
37
74
  const check = checkExploreHarness("win32", {});
@@ -40,7 +77,7 @@ describe("omx doctor onboarding warning copy", () => {
40
77
  assert.match(check.message, /not ready on Windows/i);
41
78
  assert.match(check.message, /OMX_EXPLORE_BIN/);
42
79
  });
43
- it("explains first-setup expectation for config and MCP onboarding warnings", async () => {
80
+ it("treats user-managed MCP servers as preserved under CLI-first defaults", async () => {
44
81
  const wd = await mkdtemp(join(tmpdir(), "omx-doctor-copy-"));
45
82
  try {
46
83
  const home = join(wd, "home");
@@ -58,7 +95,7 @@ command = "node"
58
95
  return;
59
96
  assert.equal(res.status, 0, res.stderr || res.stdout);
60
97
  assert.match(res.stdout, /Config: config\.toml exists but no OMX entries yet \(expected before first setup; run "omx setup --force" once\)/);
61
- assert.match(res.stdout, /MCP Servers: 1 servers but no OMX servers yet \(expected before first setup; run "omx setup --force" once\)/);
98
+ assert.match(res.stdout, /MCP Servers: 1 user-managed MCP server\(s\) preserved; first-party OMX MCP omitted by default/);
62
99
  }
63
100
  finally {
64
101
  await rm(wd, { recursive: true, force: true });
@@ -85,9 +122,10 @@ command = "node"
85
122
  return;
86
123
  assert.equal(res.status, 0, res.stderr || res.stdout);
87
124
  assert.match(res.stdout, /Resolved setup install mode: plugin/);
125
+ assert.match(res.stdout, /Resolved setup MCP mode: none/);
88
126
  assert.match(res.stdout, /Prompts: plugin mode intentionally omits setup-owned prompts; Codex plugin discovery supplies workflow surfaces/);
89
127
  assert.match(res.stdout, /Skills: plugin marketplace oh-my-codex-local registered; OMX skills are supplied by/);
90
- assert.match(res.stdout, /MCP Servers: plugin mode uses plugin-scoped MCP metadata; setup-owned OMX MCP tables are intentionally omitted/);
128
+ assert.match(res.stdout, /MCP Servers: CLI-first plugin mode: first-party MCP compatibility explicitly disabled/);
91
129
  assert.doesNotMatch(res.stdout, /Prompts: prompts directory not found/);
92
130
  assert.doesNotMatch(res.stdout, /Skills: skills directory not found/);
93
131
  assert.doesNotMatch(res.stdout, /Skills: \d+ skills \(expected >=/);
@@ -119,9 +157,10 @@ command = "node"
119
157
  assert.equal(res.status, 0, res.stderr || res.stdout);
120
158
  assert.match(res.stdout, /Resolved setup scope: project \(from \.omx\/setup-scope\.json\)/);
121
159
  assert.match(res.stdout, /Resolved setup install mode: plugin \(from \.omx\/setup-scope\.json\)/);
160
+ assert.match(res.stdout, /Resolved setup MCP mode: none \(from \.omx\/setup-scope\.json\)/);
122
161
  assert.match(res.stdout, /Skills: plugin marketplace oh-my-codex-local registered; OMX skills are supplied by/);
123
162
  assert.match(res.stdout, /Prompts: plugin mode intentionally omits setup-owned prompts; Codex plugin discovery supplies workflow surfaces/);
124
- assert.match(res.stdout, /MCP Servers: plugin mode uses plugin-scoped MCP metadata; setup-owned OMX MCP tables are intentionally omitted/);
163
+ assert.match(res.stdout, /MCP Servers: CLI-first plugin mode: first-party MCP compatibility explicitly disabled/);
125
164
  assert.doesNotMatch(res.stdout, /Prompts: prompts directory not found/);
126
165
  assert.doesNotMatch(res.stdout, /Skills: skills directory not found/);
127
166
  assert.doesNotMatch(res.stdout, /MCP Servers: no MCP servers configured/);
@@ -178,7 +217,7 @@ enabled = true
178
217
  assert.match(res.stdout, /Config: retired \[mcp_servers\.omx_team_run\] table still present; run "omx setup --force" to repair the config/);
179
218
  assert.match(res.stdout, /MCP Servers: 1 servers configured, but retired \[mcp_servers\.omx_team_run\] is not supported; run "omx setup --force" to repair the config/);
180
219
  assert.doesNotMatch(res.stdout, /Config: config\.toml has OMX entries/);
181
- assert.doesNotMatch(res.stdout, /MCP Servers: 1 servers but no OMX servers yet \(expected before first setup; run "omx setup --force" once\)/);
220
+ assert.doesNotMatch(res.stdout, /MCP Servers: 1 user-managed MCP server\(s\) preserved; first-party OMX MCP omitted by default/);
182
221
  }
183
222
  finally {
184
223
  await rm(wd, { recursive: true, force: true });
@@ -467,6 +506,62 @@ command = "node"
467
506
  await rm(wd, { recursive: true, force: true });
468
507
  }
469
508
  });
509
+ it("verbose doctor warns instead of executing when the effective PostCompact command is stale", async () => {
510
+ const wd = await mkdtemp(join(tmpdir(), "omx-doctor-postcompact-stale-"));
511
+ try {
512
+ const home = join(wd, "home");
513
+ const codexDir = join(home, ".codex");
514
+ await mkdir(codexDir, { recursive: true });
515
+ await writeFile(join(codexDir, "config.toml"), "omx_enabled = true\n");
516
+ await writeFile(join(codexDir, "hooks.json"), buildHooksJsonWithPostCompactCommand(`${quoteCommandPart(process.execPath)} ${quoteCommandPart(join(wd, "old", "dist", "scripts", "codex-native-hook.js"))}`));
517
+ const res = runOmx(wd, ["doctor", "--verbose"], {
518
+ HOME: home,
519
+ CODEX_HOME: codexDir,
520
+ });
521
+ if (shouldSkipForSpawnPermissions(res.error))
522
+ return;
523
+ assert.equal(res.status, 0, res.stderr || res.stdout);
524
+ assert.match(res.stdout, /Native hooks: hooks\.json includes OMX-managed coverage for all native hook events/);
525
+ assert.match(res.stdout, /\[!!\] Native PostCompact hook: effective PostCompact OMX command does not match this installation's managed hook command; doctor skipped execution for safety/);
526
+ }
527
+ finally {
528
+ await rm(wd, { recursive: true, force: true });
529
+ }
530
+ });
531
+ it("classifies invalid or unsupported PostCompact stdout as a verbose doctor failure", () => {
532
+ const invalidJson = classifyPostCompactHookStdout("{not json");
533
+ assert.equal(invalidJson?.status, "fail");
534
+ assert.match(invalidJson?.message ?? "", /invalid JSON stdout/);
535
+ const unsupportedJson = classifyPostCompactHookStdout(JSON.stringify({
536
+ hookSpecificOutput: {
537
+ hookEventName: "PostCompact",
538
+ additionalContext: "stale nudge",
539
+ },
540
+ }));
541
+ assert.equal(unsupportedJson?.status, "fail");
542
+ assert.match(unsupportedJson?.message ?? "", /must emit no stdout/);
543
+ });
544
+ it("verbose doctor smoke-validates the current PostCompact command with no stdout", async () => {
545
+ const wd = await mkdtemp(join(tmpdir(), "omx-doctor-postcompact-current-"));
546
+ try {
547
+ const home = join(wd, "home");
548
+ const codexDir = join(home, ".codex");
549
+ await mkdir(codexDir, { recursive: true });
550
+ await writeFile(join(codexDir, "config.toml"), "omx_enabled = true\n");
551
+ await writeFile(join(codexDir, "hooks.json"), buildHooksJsonWithPostCompactCommand(currentNativeHookCommand()));
552
+ const res = runOmx(wd, ["doctor", "--verbose"], {
553
+ HOME: home,
554
+ CODEX_HOME: codexDir,
555
+ });
556
+ if (shouldSkipForSpawnPermissions(res.error))
557
+ return;
558
+ assert.equal(res.status, 0, res.stderr || res.stdout);
559
+ assert.match(res.stdout, /\[OK\] Native PostCompact hook: verbose smoke validation confirmed the effective PostCompact hook exits successfully with no stdout/);
560
+ }
561
+ finally {
562
+ await rm(wd, { recursive: true, force: true });
563
+ }
564
+ });
470
565
  it("passes when legacy skill root is a link to the canonical skills directory", async () => {
471
566
  const wd = await mkdtemp(join(tmpdir(), "omx-doctor-skill-link-"));
472
567
  try {