oh-my-codex 0.16.4 → 0.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/Cargo.lock +5 -5
  2. package/Cargo.toml +1 -1
  3. package/dist/catalog/__tests__/generator.test.js +2 -0
  4. package/dist/catalog/__tests__/generator.test.js.map +1 -1
  5. package/dist/cli/__tests__/doctor-warning-copy.test.js +80 -7
  6. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
  7. package/dist/cli/__tests__/index.test.js +17 -11
  8. package/dist/cli/__tests__/index.test.js.map +1 -1
  9. package/dist/cli/__tests__/mcp-serve.test.js +4 -0
  10. package/dist/cli/__tests__/mcp-serve.test.js.map +1 -1
  11. package/dist/cli/__tests__/ralph-goal-mode-contract.test.js +3 -0
  12. package/dist/cli/__tests__/ralph-goal-mode-contract.test.js.map +1 -1
  13. package/dist/cli/__tests__/ralph.test.js +0 -124
  14. package/dist/cli/__tests__/ralph.test.js.map +1 -1
  15. package/dist/cli/__tests__/setup-hooks-shared-ownership.test.js +8 -3
  16. package/dist/cli/__tests__/setup-hooks-shared-ownership.test.js.map +1 -1
  17. package/dist/cli/__tests__/setup-install-mode.test.js +183 -4
  18. package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
  19. package/dist/cli/__tests__/setup-refresh.test.js +3 -3
  20. package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
  21. package/dist/cli/__tests__/team.test.js +166 -42
  22. package/dist/cli/__tests__/team.test.js.map +1 -1
  23. package/dist/cli/__tests__/ultragoal.test.js +22 -0
  24. package/dist/cli/__tests__/ultragoal.test.js.map +1 -1
  25. package/dist/cli/doctor.d.ts.map +1 -1
  26. package/dist/cli/doctor.js +75 -14
  27. package/dist/cli/doctor.js.map +1 -1
  28. package/dist/cli/index.d.ts +8 -2
  29. package/dist/cli/index.d.ts.map +1 -1
  30. package/dist/cli/index.js +17 -7
  31. package/dist/cli/index.js.map +1 -1
  32. package/dist/cli/mcp-serve.d.ts.map +1 -1
  33. package/dist/cli/mcp-serve.js +4 -0
  34. package/dist/cli/mcp-serve.js.map +1 -1
  35. package/dist/cli/plugin-marketplace.d.ts +25 -1
  36. package/dist/cli/plugin-marketplace.d.ts.map +1 -1
  37. package/dist/cli/plugin-marketplace.js +146 -3
  38. package/dist/cli/plugin-marketplace.js.map +1 -1
  39. package/dist/cli/question.d.ts +1 -1
  40. package/dist/cli/question.d.ts.map +1 -1
  41. package/dist/cli/question.js +98 -4
  42. package/dist/cli/question.js.map +1 -1
  43. package/dist/cli/ralph.d.ts.map +1 -1
  44. package/dist/cli/ralph.js +1 -49
  45. package/dist/cli/ralph.js.map +1 -1
  46. package/dist/cli/setup.d.ts +1 -0
  47. package/dist/cli/setup.d.ts.map +1 -1
  48. package/dist/cli/setup.js +103 -18
  49. package/dist/cli/setup.js.map +1 -1
  50. package/dist/cli/team.d.ts.map +1 -1
  51. package/dist/cli/team.js +21 -29
  52. package/dist/cli/team.js.map +1 -1
  53. package/dist/cli/ultragoal.d.ts.map +1 -1
  54. package/dist/cli/ultragoal.js +7 -1
  55. package/dist/cli/ultragoal.js.map +1 -1
  56. package/dist/config/__tests__/codex-hooks.test.js +136 -9
  57. package/dist/config/__tests__/codex-hooks.test.js.map +1 -1
  58. package/dist/config/__tests__/generator-idempotent.test.js +15 -0
  59. package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
  60. package/dist/config/codex-hooks.d.ts +13 -14
  61. package/dist/config/codex-hooks.d.ts.map +1 -1
  62. package/dist/config/codex-hooks.js +85 -7
  63. package/dist/config/codex-hooks.js.map +1 -1
  64. package/dist/config/generator.d.ts +8 -1
  65. package/dist/config/generator.d.ts.map +1 -1
  66. package/dist/config/generator.js +73 -9
  67. package/dist/config/generator.js.map +1 -1
  68. package/dist/config/omx-first-party-mcp.d.ts.map +1 -1
  69. package/dist/config/omx-first-party-mcp.js +7 -0
  70. package/dist/config/omx-first-party-mcp.js.map +1 -1
  71. package/dist/hooks/__tests__/agents-overlay.test.js +29 -0
  72. package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
  73. package/dist/hooks/__tests__/design-skill.test.d.ts +2 -0
  74. package/dist/hooks/__tests__/design-skill.test.d.ts.map +1 -0
  75. package/dist/hooks/__tests__/design-skill.test.js +55 -0
  76. package/dist/hooks/__tests__/design-skill.test.js.map +1 -0
  77. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +265 -0
  78. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
  79. package/dist/hooks/__tests__/session.test.js +126 -1
  80. package/dist/hooks/__tests__/session.test.js.map +1 -1
  81. package/dist/hooks/__tests__/skill-catalog-hygiene.test.js +1 -1
  82. package/dist/hooks/__tests__/skill-catalog-hygiene.test.js.map +1 -1
  83. package/dist/hooks/__tests__/skill-guidance-contract.test.js +41 -0
  84. package/dist/hooks/__tests__/skill-guidance-contract.test.js.map +1 -1
  85. package/dist/hooks/agents-overlay.d.ts.map +1 -1
  86. package/dist/hooks/agents-overlay.js +6 -3
  87. package/dist/hooks/agents-overlay.js.map +1 -1
  88. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  89. package/dist/hooks/keyword-detector.js +5 -1
  90. package/dist/hooks/keyword-detector.js.map +1 -1
  91. package/dist/hooks/keyword-registry.d.ts.map +1 -1
  92. package/dist/hooks/keyword-registry.js +2 -0
  93. package/dist/hooks/keyword-registry.js.map +1 -1
  94. package/dist/hooks/prompt-guidance-contract.d.ts.map +1 -1
  95. package/dist/hooks/prompt-guidance-contract.js +47 -2
  96. package/dist/hooks/prompt-guidance-contract.js.map +1 -1
  97. package/dist/hooks/session.d.ts +11 -3
  98. package/dist/hooks/session.d.ts.map +1 -1
  99. package/dist/hooks/session.js +68 -6
  100. package/dist/hooks/session.js.map +1 -1
  101. package/dist/hud/__tests__/reconcile.test.js +63 -0
  102. package/dist/hud/__tests__/reconcile.test.js.map +1 -1
  103. package/dist/hud/__tests__/tmux.test.d.ts +2 -0
  104. package/dist/hud/__tests__/tmux.test.d.ts.map +1 -0
  105. package/dist/hud/__tests__/tmux.test.js +92 -0
  106. package/dist/hud/__tests__/tmux.test.js.map +1 -0
  107. package/dist/hud/reconcile.d.ts +2 -0
  108. package/dist/hud/reconcile.d.ts.map +1 -1
  109. package/dist/hud/reconcile.js +14 -1
  110. package/dist/hud/reconcile.js.map +1 -1
  111. package/dist/hud/tmux.d.ts +12 -0
  112. package/dist/hud/tmux.d.ts.map +1 -1
  113. package/dist/hud/tmux.js +88 -0
  114. package/dist/hud/tmux.js.map +1 -1
  115. package/dist/mcp/__tests__/bootstrap.test.js +3 -0
  116. package/dist/mcp/__tests__/bootstrap.test.js.map +1 -1
  117. package/dist/mcp/__tests__/hermes-bridge.test.d.ts +2 -0
  118. package/dist/mcp/__tests__/hermes-bridge.test.d.ts.map +1 -0
  119. package/dist/mcp/__tests__/hermes-bridge.test.js +441 -0
  120. package/dist/mcp/__tests__/hermes-bridge.test.js.map +1 -0
  121. package/dist/mcp/__tests__/state-paths.test.js +96 -13
  122. package/dist/mcp/__tests__/state-paths.test.js.map +1 -1
  123. package/dist/mcp/bootstrap.d.ts +1 -1
  124. package/dist/mcp/bootstrap.d.ts.map +1 -1
  125. package/dist/mcp/bootstrap.js +2 -0
  126. package/dist/mcp/bootstrap.js.map +1 -1
  127. package/dist/mcp/hermes-bridge.d.ts +111 -0
  128. package/dist/mcp/hermes-bridge.d.ts.map +1 -0
  129. package/dist/mcp/hermes-bridge.js +474 -0
  130. package/dist/mcp/hermes-bridge.js.map +1 -0
  131. package/dist/mcp/hermes-server.d.ts +374 -0
  132. package/dist/mcp/hermes-server.d.ts.map +1 -0
  133. package/dist/mcp/hermes-server.js +158 -0
  134. package/dist/mcp/hermes-server.js.map +1 -0
  135. package/dist/mcp/state-paths.d.ts.map +1 -1
  136. package/dist/mcp/state-paths.js +41 -9
  137. package/dist/mcp/state-paths.js.map +1 -1
  138. package/dist/modes/__tests__/base-tmux-pane.test.js +31 -1
  139. package/dist/modes/__tests__/base-tmux-pane.test.js.map +1 -1
  140. package/dist/pipeline/__tests__/stages.test.js +18 -9
  141. package/dist/pipeline/__tests__/stages.test.js.map +1 -1
  142. package/dist/pipeline/stages/team-exec.d.ts.map +1 -1
  143. package/dist/pipeline/stages/team-exec.js +2 -7
  144. package/dist/pipeline/stages/team-exec.js.map +1 -1
  145. package/dist/planning/__tests__/approved-execution-lifecycle-matrix.test.js +111 -269
  146. package/dist/planning/__tests__/approved-execution-lifecycle-matrix.test.js.map +1 -1
  147. package/dist/planning/__tests__/approved-launch-hint-lineage-matrix.test.js +31 -72
  148. package/dist/planning/__tests__/approved-launch-hint-lineage-matrix.test.js.map +1 -1
  149. package/dist/planning/__tests__/artifacts.test.js +27 -372
  150. package/dist/planning/__tests__/artifacts.test.js.map +1 -1
  151. package/dist/planning/artifacts.d.ts +1 -14
  152. package/dist/planning/artifacts.d.ts.map +1 -1
  153. package/dist/planning/artifacts.js +11 -31
  154. package/dist/planning/artifacts.js.map +1 -1
  155. package/dist/question/__tests__/state.test.js +287 -1
  156. package/dist/question/__tests__/state.test.js.map +1 -1
  157. package/dist/question/__tests__/ui.test.js +8 -8
  158. package/dist/question/__tests__/ui.test.js.map +1 -1
  159. package/dist/question/events.d.ts +53 -0
  160. package/dist/question/events.d.ts.map +1 -0
  161. package/dist/question/events.js +201 -0
  162. package/dist/question/events.js.map +1 -0
  163. package/dist/question/state.d.ts +25 -1
  164. package/dist/question/state.d.ts.map +1 -1
  165. package/dist/question/state.js +259 -3
  166. package/dist/question/state.js.map +1 -1
  167. package/dist/question/types.d.ts +1 -0
  168. package/dist/question/types.d.ts.map +1 -1
  169. package/dist/question/types.js.map +1 -1
  170. package/dist/question/ui.d.ts.map +1 -1
  171. package/dist/question/ui.js +1 -18
  172. package/dist/question/ui.js.map +1 -1
  173. package/dist/ralph/__tests__/completion-audit.test.js +39 -0
  174. package/dist/ralph/__tests__/completion-audit.test.js.map +1 -1
  175. package/dist/scripts/__tests__/codex-native-hook.test.js +298 -3
  176. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  177. package/dist/scripts/__tests__/run-test-files.test.js +22 -0
  178. package/dist/scripts/__tests__/run-test-files.test.js.map +1 -1
  179. package/dist/scripts/codex-native-hook.d.ts +1 -0
  180. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  181. package/dist/scripts/codex-native-hook.js +137 -18
  182. package/dist/scripts/codex-native-hook.js.map +1 -1
  183. package/dist/scripts/codex-native-pre-post.d.ts.map +1 -1
  184. package/dist/scripts/codex-native-pre-post.js +12 -6
  185. package/dist/scripts/codex-native-pre-post.js.map +1 -1
  186. package/dist/scripts/notify-hook/tmux-injection.d.ts.map +1 -1
  187. package/dist/scripts/notify-hook/tmux-injection.js +91 -2
  188. package/dist/scripts/notify-hook/tmux-injection.js.map +1 -1
  189. package/dist/scripts/run-test-files.js +12 -1
  190. package/dist/scripts/run-test-files.js.map +1 -1
  191. package/dist/state/mode-state-context.d.ts +2 -0
  192. package/dist/state/mode-state-context.d.ts.map +1 -1
  193. package/dist/state/mode-state-context.js +21 -0
  194. package/dist/state/mode-state-context.js.map +1 -1
  195. package/dist/team/__tests__/approved-execution.test.js +25 -24
  196. package/dist/team/__tests__/approved-execution.test.js.map +1 -1
  197. package/dist/team/__tests__/runtime.test.js +173 -26
  198. package/dist/team/__tests__/runtime.test.js.map +1 -1
  199. package/dist/team/__tests__/scaling.test.js +66 -17
  200. package/dist/team/__tests__/scaling.test.js.map +1 -1
  201. package/dist/team/__tests__/tmux-session.test.js +42 -0
  202. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  203. package/dist/team/__tests__/worker-bootstrap.test.js +205 -0
  204. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  205. package/dist/team/approved-execution.d.ts +13 -0
  206. package/dist/team/approved-execution.d.ts.map +1 -1
  207. package/dist/team/approved-execution.js +65 -30
  208. package/dist/team/approved-execution.js.map +1 -1
  209. package/dist/team/runtime.d.ts.map +1 -1
  210. package/dist/team/runtime.js +28 -24
  211. package/dist/team/runtime.js.map +1 -1
  212. package/dist/team/scaling.d.ts.map +1 -1
  213. package/dist/team/scaling.js +7 -8
  214. package/dist/team/scaling.js.map +1 -1
  215. package/dist/team/tmux-session.d.ts.map +1 -1
  216. package/dist/team/tmux-session.js +48 -2
  217. package/dist/team/tmux-session.js.map +1 -1
  218. package/dist/team/ultragoal-context.d.ts +35 -0
  219. package/dist/team/ultragoal-context.d.ts.map +1 -0
  220. package/dist/team/ultragoal-context.js +191 -0
  221. package/dist/team/ultragoal-context.js.map +1 -0
  222. package/dist/ultragoal/__tests__/artifacts.test.js +121 -0
  223. package/dist/ultragoal/__tests__/artifacts.test.js.map +1 -1
  224. package/dist/ultragoal/__tests__/docs-contract.test.js +19 -0
  225. package/dist/ultragoal/__tests__/docs-contract.test.js.map +1 -1
  226. package/dist/ultragoal/artifacts.d.ts +9 -1
  227. package/dist/ultragoal/artifacts.d.ts.map +1 -1
  228. package/dist/ultragoal/artifacts.js +105 -3
  229. package/dist/ultragoal/artifacts.js.map +1 -1
  230. package/dist/utils/__tests__/paths.test.js +31 -1
  231. package/dist/utils/__tests__/paths.test.js.map +1 -1
  232. package/dist/utils/paths.d.ts +6 -0
  233. package/dist/utils/paths.d.ts.map +1 -1
  234. package/dist/utils/paths.js +18 -0
  235. package/dist/utils/paths.js.map +1 -1
  236. package/dist/wiki/lifecycle.js +3 -3
  237. package/dist/wiki/lifecycle.js.map +1 -1
  238. package/package.json +1 -1
  239. package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
  240. package/plugins/oh-my-codex/.mcp.json +8 -0
  241. package/plugins/oh-my-codex/skills/design/SKILL.md +180 -0
  242. package/plugins/oh-my-codex/skills/plan/SKILL.md +3 -3
  243. package/plugins/oh-my-codex/skills/ralph/SKILL.md +2 -2
  244. package/plugins/oh-my-codex/skills/ralplan/SKILL.md +1 -1
  245. package/plugins/oh-my-codex/skills/skill/SKILL.md +2 -1
  246. package/plugins/oh-my-codex/skills/team/SKILL.md +6 -0
  247. package/plugins/oh-my-codex/skills/ultragoal/SKILL.md +11 -0
  248. package/plugins/oh-my-codex/skills/ultraqa/SKILL.md +161 -47
  249. package/plugins/oh-my-codex/skills/visual-ralph/SKILL.md +2 -2
  250. package/skills/design/SKILL.md +180 -0
  251. package/skills/frontend-ui-ux/SKILL.md +6 -2
  252. package/skills/plan/SKILL.md +3 -3
  253. package/skills/ralph/SKILL.md +2 -2
  254. package/skills/ralplan/SKILL.md +1 -1
  255. package/skills/skill/SKILL.md +2 -1
  256. package/skills/team/SKILL.md +6 -0
  257. package/skills/ultragoal/SKILL.md +11 -0
  258. package/skills/ultraqa/SKILL.md +161 -47
  259. package/skills/visual-ralph/SKILL.md +2 -2
  260. package/src/scripts/__tests__/codex-native-hook.test.ts +339 -2
  261. package/src/scripts/__tests__/run-test-files.test.ts +32 -0
  262. package/src/scripts/codex-native-hook.ts +166 -20
  263. package/src/scripts/codex-native-pre-post.ts +12 -6
  264. package/src/scripts/notify-hook/tmux-injection.ts +110 -3
  265. package/src/scripts/run-test-files.ts +13 -2
  266. package/templates/catalog-manifest.json +9 -2
  267. package/dist/planning/__tests__/context-pack-status.test.d.ts +0 -2
  268. package/dist/planning/__tests__/context-pack-status.test.d.ts.map +0 -1
  269. package/dist/planning/__tests__/context-pack-status.test.js +0 -795
  270. package/dist/planning/__tests__/context-pack-status.test.js.map +0 -1
  271. package/dist/planning/__tests__/ready-context-pack-role-refs.test.d.ts +0 -2
  272. package/dist/planning/__tests__/ready-context-pack-role-refs.test.d.ts.map +0 -1
  273. package/dist/planning/__tests__/ready-context-pack-role-refs.test.js +0 -612
  274. package/dist/planning/__tests__/ready-context-pack-role-refs.test.js.map +0 -1
  275. package/dist/planning/context-pack-status.d.ts +0 -73
  276. package/dist/planning/context-pack-status.d.ts.map +0 -1
  277. package/dist/planning/context-pack-status.js +0 -745
  278. package/dist/planning/context-pack-status.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"approved-launch-hint-lineage-matrix.test.js","sourceRoot":"","sources":["../../../src/planning/__tests__/approved-launch-hint-lineage-matrix.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approved-launch-hint-lineage-matrix.test.js","sourceRoot":"","sources":["../../../src/planning/__tests__/approved-launch-hint-lineage-matrix.test.ts"],"names":[],"mappings":"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"}
@@ -217,239 +217,6 @@ describe('planning artifacts', () => {
217
217
  join(plansDir, 'testspec-alpha.md'),
218
218
  ]);
219
219
  });
220
- it('fails closed for timestamped PRDs when only legacy slug test specs exist', async () => {
221
- const plansDir = join(tempDir, '.omx', 'plans');
222
- await mkdir(plansDir, { recursive: true });
223
- await writeFile(join(plansDir, 'prd-20260427T153100Z-alpha.md'), '# Alpha\n\nLaunch via omx ralph "Execute alpha"\n');
224
- await writeFile(join(plansDir, 'test-spec-alpha.md'), '# Alpha Legacy Test Spec\n');
225
- const artifacts = readPlanningArtifacts(tempDir);
226
- assert.equal(isPlanningComplete(artifacts), false);
227
- const selection = readLatestPlanningArtifacts(tempDir);
228
- assert.equal(selection.prdPath, join(plansDir, 'prd-20260427T153100Z-alpha.md'));
229
- assert.deepEqual(selection.testSpecPaths, []);
230
- assert.equal(selection.contextPackStatus, 'missing-baseline');
231
- assert.equal(selection.contextPackRoleRefs, null);
232
- assert.deepEqual(selection.missingRequiredContextPackRoles, []);
233
- assert.deepEqual(selection.contextPackIssues, ['Approved plan is missing a matching test spec.']);
234
- const outcome = readApprovedExecutionLaunchHintOutcome(tempDir, 'ralph');
235
- assert.equal(outcome.status, 'resolved');
236
- if (outcome.status !== 'resolved') {
237
- throw new Error('expected missing-baseline approved hint outcome');
238
- }
239
- assert.equal(outcome.hint.contextPackStatus, 'missing-baseline');
240
- assert.equal(outcome.hint.contextPackRoleRefs, null);
241
- assert.deepEqual(outcome.hint.testSpecPaths, []);
242
- assert.deepEqual(outcome.hint.contextPackIssues, ['Approved plan is missing a matching test spec.']);
243
- assert.equal(readApprovedExecutionLaunchHint(tempDir, 'ralph'), null);
244
- const resolution = readTeamDagArtifactResolution(tempDir);
245
- assert.equal(resolution.source, 'none');
246
- assert.equal(resolution.prdPath, join(plansDir, 'prd-20260427T153100Z-alpha.md'));
247
- assert.equal(resolution.planSlug, '20260427T153100Z-alpha');
248
- assert.deepEqual(resolution.warnings, ['missing_matching_test_spec']);
249
- });
250
- it('surfaces plan-only context-pack status on approved hints when no pack is declared', async () => {
251
- const plansDir = join(tempDir, '.omx', 'plans');
252
- await mkdir(plansDir, { recursive: true });
253
- await writeFile(join(plansDir, 'prd-plan-only.md'), '# PRD\n\nLaunch via omx ralph "Execute plan-only handoff"\n');
254
- await writeFile(join(plansDir, 'test-spec-plan-only.md'), '# Test Spec\n');
255
- const selection = readLatestPlanningArtifacts(tempDir);
256
- const hint = readApprovedExecutionLaunchHint(tempDir, 'ralph');
257
- assert.equal(selection.contextPack, null);
258
- assert.equal(selection.contextPackStatus, 'plan-only');
259
- assert.equal(selection.contextPackRoleRefs, null);
260
- assert.deepEqual(selection.missingRequiredContextPackRoles, []);
261
- assert.deepEqual(selection.contextPackIssues, []);
262
- assert.ok(hint);
263
- assert.equal(hint?.contextPack, null);
264
- assert.equal(hint?.contextPackStatus, 'plan-only');
265
- assert.equal(hint?.contextPackRoleRefs, null);
266
- assert.deepEqual(hint?.missingRequiredContextPackRoles, []);
267
- assert.deepEqual(hint?.contextPackIssues, []);
268
- });
269
- it('surfaces ready context-pack status on approved hints when the latest plan declares a fresh pack', async () => {
270
- const plansDir = join(tempDir, '.omx', 'plans');
271
- await mkdir(plansDir, { recursive: true });
272
- const prdPath = join(plansDir, 'prd-context-ready.md');
273
- const testSpecPath = join(plansDir, 'test-spec-context-ready.md');
274
- await writeFile(prdPath, [
275
- '# PRD',
276
- '',
277
- buildContextPackOutcome(canonicalContextPackRelativePath('context-ready')),
278
- '',
279
- 'Launch via omx ralph "Execute context-ready handoff"',
280
- ].join('\n'));
281
- await writeFile(testSpecPath, '# Test Spec\n');
282
- const packPath = await writeContextPack('context-ready', prdPath, testSpecPath, ['scope', 'build', 'verify']);
283
- const selection = readLatestPlanningArtifacts(tempDir);
284
- const hint = readApprovedExecutionLaunchHint(tempDir, 'ralph');
285
- assert.deepEqual(selection.contextPack, { path: packPath });
286
- assert.equal(selection.contextPackStatus, 'ready');
287
- assert.deepEqual(selection.contextPackRoleRefs, {
288
- scope: ['src/scope-0.ts'],
289
- build: ['src/build-1.ts'],
290
- verify: ['src/verify-2.ts'],
291
- });
292
- assert.ok(hint);
293
- assert.deepEqual(hint?.contextPack, { path: packPath });
294
- assert.equal(hint?.contextPackStatus, 'ready');
295
- assert.deepEqual(hint?.contextPackRoleRefs, {
296
- scope: ['src/scope-0.ts'],
297
- build: ['src/build-1.ts'],
298
- verify: ['src/verify-2.ts'],
299
- });
300
- assert.deepEqual(hint?.missingRequiredContextPackRoles, []);
301
- assert.deepEqual(hint?.contextPackIssues, []);
302
- });
303
- it('keeps approved hint role refs unchanged when ready packs carry private entry metadata', async () => {
304
- const plansDir = join(tempDir, '.omx', 'plans');
305
- await mkdir(plansDir, { recursive: true });
306
- const prdPath = join(plansDir, 'prd-context-ready-private.md');
307
- const testSpecPath = join(plansDir, 'test-spec-context-ready-private.md');
308
- await writeFile(prdPath, [
309
- '# PRD',
310
- '',
311
- buildContextPackOutcome(canonicalContextPackRelativePath('context-ready-private')),
312
- '',
313
- 'Launch via omx ralph "Execute context-ready private handoff"',
314
- ].join('\n'));
315
- await writeFile(testSpecPath, '# Test Spec\n');
316
- const packPath = await writeContextPackWithEntries('context-ready-private', prdPath, testSpecPath, [
317
- {
318
- path: 'src/scope-ready.ts',
319
- roles: ['scope'],
320
- },
321
- {
322
- path: 'src/build-ready.ts',
323
- roles: ['build'],
324
- label: 'Build Focus',
325
- tags: ['runtime', 'build'],
326
- selector: { type: 'heading', value: ' ## Build Focus ', maxWords: 120 },
327
- relationPath: [
328
- { tag: 'Plan', target: ' context-ready-private ' },
329
- { tag: 'Implements', target: ' src/build-ready.ts#build-focus ' },
330
- ],
331
- },
332
- {
333
- path: 'src/verify-ready.ts',
334
- roles: ['verify'],
335
- relationPath: [
336
- { tag: 'Plan', target: ' context-ready-private ' },
337
- { tag: 'Verifies', target: ' src/verify-ready.ts ' },
338
- ],
339
- },
340
- ]);
341
- const selection = readLatestPlanningArtifacts(tempDir);
342
- const hint = readApprovedExecutionLaunchHint(tempDir, 'ralph');
343
- assert.deepEqual(selection.contextPack, { path: packPath });
344
- assert.equal(selection.contextPackStatus, 'ready');
345
- assert.deepEqual(selection.contextPackRoleRefs, {
346
- scope: ['src/scope-ready.ts'],
347
- build: ['src/build-ready.ts'],
348
- verify: ['src/verify-ready.ts'],
349
- });
350
- assert.ok(hint);
351
- assert.deepEqual(hint?.contextPack, { path: packPath });
352
- assert.equal(hint?.contextPackStatus, 'ready');
353
- assert.deepEqual(hint?.contextPackRoleRefs, {
354
- scope: ['src/scope-ready.ts'],
355
- build: ['src/build-ready.ts'],
356
- verify: ['src/verify-ready.ts'],
357
- });
358
- assert.deepEqual(hint?.missingRequiredContextPackRoles, []);
359
- assert.deepEqual(hint?.contextPackIssues, []);
360
- });
361
- it('keeps approved hint role refs unchanged when ready packs carry malformed private metadata', async () => {
362
- const plansDir = join(tempDir, '.omx', 'plans');
363
- await mkdir(plansDir, { recursive: true });
364
- const prdPath = join(plansDir, 'prd-context-ready-private-counterfactual.md');
365
- const testSpecPath = join(plansDir, 'test-spec-context-ready-private-counterfactual.md');
366
- await writeFile(prdPath, [
367
- '# PRD',
368
- '',
369
- buildContextPackOutcome(canonicalContextPackRelativePath('context-ready-private-counterfactual')),
370
- '',
371
- 'Launch via omx ralph "Execute context-ready private counterfactual handoff"',
372
- ].join('\n'));
373
- await writeFile(testSpecPath, '# Test Spec\n');
374
- const packPath = await writeContextPackWithEntries('context-ready-private-counterfactual', prdPath, testSpecPath, [
375
- {
376
- path: 'src/scope-counterfactual.ts',
377
- roles: ['scope'],
378
- },
379
- {
380
- path: 'src/build-counterfactual.ts',
381
- roles: ['build'],
382
- selector: { type: 'heading', value: 'Build Focus', maxWords: 20 },
383
- },
384
- {
385
- path: 'src/verify-counterfactual.ts',
386
- roles: ['verify'],
387
- },
388
- ]);
389
- const selection = readLatestPlanningArtifacts(tempDir);
390
- const hint = readApprovedExecutionLaunchHint(tempDir, 'ralph');
391
- assert.deepEqual(selection.contextPack, { path: packPath });
392
- assert.equal(selection.contextPackStatus, 'ready');
393
- assert.deepEqual(selection.contextPackRoleRefs, {
394
- scope: ['src/scope-counterfactual.ts'],
395
- build: ['src/build-counterfactual.ts'],
396
- verify: ['src/verify-counterfactual.ts'],
397
- });
398
- assert.ok(hint);
399
- assert.deepEqual(hint?.contextPack, { path: packPath });
400
- assert.equal(hint?.contextPackStatus, 'ready');
401
- assert.deepEqual(hint?.contextPackRoleRefs, {
402
- scope: ['src/scope-counterfactual.ts'],
403
- build: ['src/build-counterfactual.ts'],
404
- verify: ['src/verify-counterfactual.ts'],
405
- });
406
- assert.deepEqual(hint?.missingRequiredContextPackRoles, []);
407
- assert.deepEqual(hint?.contextPackIssues, []);
408
- });
409
- it('preserves invalid context-pack issues on approved hints without widening them into missing roles', async () => {
410
- const plansDir = join(tempDir, '.omx', 'plans');
411
- await mkdir(plansDir, { recursive: true });
412
- const prdPath = join(plansDir, 'prd-context-invalid.md');
413
- const testSpecPath = join(plansDir, 'test-spec-context-invalid.md');
414
- await writeFile(prdPath, [
415
- '# PRD',
416
- '',
417
- buildContextPackOutcome(canonicalContextPackRelativePath('context-invalid')),
418
- '',
419
- 'Launch via omx ralph "Execute invalid context handoff"',
420
- ].join('\n'));
421
- await writeFile(testSpecPath, '# Test Spec\n');
422
- await writeContextPack('context-invalid', prdPath, testSpecPath, ['scope', 'build', 'verify']);
423
- await writeFile(testSpecPath, '# Drifted Test Spec\n');
424
- const hint = readApprovedExecutionLaunchHint(tempDir, 'ralph');
425
- assert.ok(hint);
426
- assert.equal(hint?.contextPackStatus, 'invalid');
427
- assert.equal(hint?.contextPackRoleRefs, null);
428
- assert.deepEqual(hint?.missingRequiredContextPackRoles, []);
429
- assert.ok(hint?.contextPackIssues.some((issue) => issue.includes('basis test-spec hash')));
430
- });
431
- it('preserves inspectable missing roles on approved hints even when the pack is invalid', async () => {
432
- const plansDir = join(tempDir, '.omx', 'plans');
433
- await mkdir(plansDir, { recursive: true });
434
- const prdPath = join(plansDir, 'prd-context-invalid-missing-roles.md');
435
- const testSpecPath = join(plansDir, 'test-spec-context-invalid-missing-roles.md');
436
- await writeFile(prdPath, [
437
- '# PRD',
438
- '',
439
- buildContextPackOutcome(canonicalContextPackRelativePath('context-invalid-missing-roles')),
440
- '',
441
- 'Launch via omx ralph "Execute invalid missing roles handoff"',
442
- ].join('\n'));
443
- await writeFile(testSpecPath, '# Test Spec\n');
444
- await writeContextPack('context-invalid-missing-roles', prdPath, testSpecPath, ['scope']);
445
- await writeFile(testSpecPath, '# Drifted Test Spec\n');
446
- const hint = readApprovedExecutionLaunchHint(tempDir, 'ralph');
447
- assert.ok(hint);
448
- assert.equal(hint?.contextPackStatus, 'invalid');
449
- assert.equal(hint?.contextPackRoleRefs, null);
450
- assert.deepEqual(hint?.missingRequiredContextPackRoles, ['build', 'verify']);
451
- assert.ok(hint?.contextPackIssues.some((issue) => issue.includes('basis test-spec hash')));
452
- });
453
220
  it('parses $ralph aliases with single-quoted task text for approved launch hints', async () => {
454
221
  const plansDir = join(tempDir, '.omx', 'plans');
455
222
  const specsDir = join(tempDir, '.omx', 'specs');
@@ -678,27 +445,6 @@ describe('planning artifacts', () => {
678
445
  const outcome = readApprovedExecutionLaunchHintOutcome(tempDir, 'ralph', { task });
679
446
  assert.equal(outcome.status, 'absent');
680
447
  });
681
- it('resolves Ralph launch hints wrapped across visible markdown lines', async () => {
682
- const plansDir = join(tempDir, '.omx', 'plans');
683
- const task = 'Execute wrapped visible ralph plan';
684
- const command = `omx ralph ${JSON.stringify(task)}`;
685
- await mkdir(plansDir, { recursive: true });
686
- await writeFile(join(plansDir, 'prd-wrapped-visible-ralph.md'), [
687
- '# PRD',
688
- '',
689
- 'Launch via omx ralph',
690
- JSON.stringify(task),
691
- ].join('\n'));
692
- await writeFile(join(plansDir, 'test-spec-wrapped-visible-ralph.md'), '# Test Spec\n');
693
- const hint = readApprovedExecutionLaunchHint(tempDir, 'ralph', { task });
694
- assert.ok(hint);
695
- assert.equal(hint?.task, task);
696
- assert.equal(hint?.command, command);
697
- assert.equal(hint?.contextPackStatus, 'plan-only');
698
- const exactHint = readApprovedExecutionLaunchHint(tempDir, 'ralph', { command });
699
- assert.ok(exactHint);
700
- assert.equal(exactHint?.command, command);
701
- });
702
448
  it('does not let Ralph launch hints span hidden markdown gaps', async () => {
703
449
  const plansDir = join(tempDir, '.omx', 'plans');
704
450
  await mkdir(plansDir, { recursive: true });
@@ -739,30 +485,6 @@ describe('planning artifacts', () => {
739
485
  assert.equal(outcome.status, 'absent', scenario.name);
740
486
  }
741
487
  });
742
- it('resolves Team launch hints wrapped across visible markdown lines', async () => {
743
- const plansDir = join(tempDir, '.omx', 'plans');
744
- const task = 'Execute wrapped visible team plan';
745
- const command = `omx team 2:executor ${JSON.stringify(task)}`;
746
- await mkdir(plansDir, { recursive: true });
747
- await writeFile(join(plansDir, 'prd-wrapped-visible-team.md'), [
748
- '# PRD',
749
- '',
750
- 'Launch via omx team',
751
- '2:executor',
752
- JSON.stringify(task),
753
- ].join('\n'));
754
- await writeFile(join(plansDir, 'test-spec-wrapped-visible-team.md'), '# Test Spec\n');
755
- const hint = readApprovedExecutionLaunchHint(tempDir, 'team', { task });
756
- assert.ok(hint);
757
- assert.equal(hint?.task, task);
758
- assert.equal(hint?.workerCount, 2);
759
- assert.equal(hint?.agentType, 'executor');
760
- assert.equal(hint?.command, command);
761
- assert.equal(hint?.contextPackStatus, 'plan-only');
762
- const exactHint = readApprovedExecutionLaunchHint(tempDir, 'team', { command });
763
- assert.ok(exactHint);
764
- assert.equal(exactHint?.command, command);
765
- });
766
488
  it('normalizes wrapped linked-Ralph team launch hints for exact command matching', async () => {
767
489
  const plansDir = join(tempDir, '.omx', 'plans');
768
490
  const task = 'Execute wrapped linked ralph team plan';
@@ -865,28 +587,6 @@ describe('planning artifacts', () => {
865
587
  assert.equal(exactOutcome.hint.task, task);
866
588
  assert.equal(readApprovedExecutionLaunchHintOutcome(tempDir, 'ralph', { command: collapsedCommand }).status, 'absent');
867
589
  });
868
- it('ignores Team launch hints inside fenced code blocks', async () => {
869
- const plansDir = join(tempDir, '.omx', 'plans');
870
- const task = 'Execute approved issue 1314 fenced team plan';
871
- await mkdir(plansDir, { recursive: true });
872
- await writeFile(join(plansDir, 'prd-issue-1314-fenced-team.md'), [
873
- '# PRD',
874
- '',
875
- '```sh',
876
- `omx team 5:reviewer ${JSON.stringify(task)}`,
877
- '```',
878
- '',
879
- `Launch via omx team 2:executor ${JSON.stringify(task)}`,
880
- ].join('\n'));
881
- await writeFile(join(plansDir, 'test-spec-issue-1314-fenced-team.md'), '# Test Spec\n');
882
- const hint = readApprovedExecutionLaunchHint(tempDir, 'team');
883
- assert.ok(hint);
884
- assert.equal(hint?.task, task);
885
- assert.equal(hint?.workerCount, 2);
886
- assert.equal(hint?.agentType, 'executor');
887
- assert.equal(hint?.command, `omx team 2:executor ${JSON.stringify(task)}`);
888
- assert.equal(hint?.contextPackStatus, 'plan-only');
889
- });
890
590
  it('ignores Team launch hints that appear only inside fenced code blocks', async () => {
891
591
  const plansDir = join(tempDir, '.omx', 'plans');
892
592
  const task = 'Execute hidden fenced team plan';
@@ -902,78 +602,6 @@ describe('planning artifacts', () => {
902
602
  const outcome = readApprovedExecutionLaunchHintOutcome(tempDir, 'team', { task });
903
603
  assert.equal(outcome.status, 'absent');
904
604
  });
905
- it('ignores adversarial hidden Team launch hints that try to break out with deceptive fence lines', async () => {
906
- const plansDir = join(tempDir, '.omx', 'plans');
907
- const task = 'Execute adversarial fenced team plan';
908
- await mkdir(plansDir, { recursive: true });
909
- await writeFile(join(plansDir, 'prd-adversarial-fenced-team.md'), [
910
- '# PRD',
911
- '',
912
- '```md',
913
- `omx team 9:reviewer ${JSON.stringify(task)}`,
914
- ' ```',
915
- '```still-open',
916
- '~~~',
917
- `omx team 7:critic ${JSON.stringify(task)}`,
918
- '```',
919
- '',
920
- `Launch via omx team 2:executor ${JSON.stringify(task)}`,
921
- ].join('\n'));
922
- await writeFile(join(plansDir, 'test-spec-adversarial-fenced-team.md'), '# Test Spec\n');
923
- const hint = readApprovedExecutionLaunchHint(tempDir, 'team');
924
- assert.ok(hint);
925
- assert.equal(hint?.task, task);
926
- assert.equal(hint?.workerCount, 2);
927
- assert.equal(hint?.agentType, 'executor');
928
- assert.equal(hint?.command, `omx team 2:executor ${JSON.stringify(task)}`);
929
- assert.equal(hint?.contextPackStatus, 'plan-only');
930
- });
931
- it('ignores Team launch hints inside nested commented blocks with inner fence lookalikes', async () => {
932
- const plansDir = join(tempDir, '.omx', 'plans');
933
- const task = 'Execute commented nested team plan';
934
- await mkdir(plansDir, { recursive: true });
935
- await writeFile(join(plansDir, 'prd-commented-nested-team.md'), [
936
- '# PRD',
937
- '',
938
- '<!--',
939
- `Launch via omx team 9:reviewer ${JSON.stringify(task)}`,
940
- '<!--',
941
- `omx team 7:critic ${JSON.stringify(task)}`,
942
- '```md',
943
- `Launch via omx team 6:debugger ${JSON.stringify(task)}`,
944
- '-->',
945
- '~~~',
946
- '-->',
947
- '',
948
- `Launch via omx team 2:executor ${JSON.stringify(task)}`,
949
- ].join('\n'));
950
- await writeFile(join(plansDir, 'test-spec-commented-nested-team.md'), '# Test Spec\n');
951
- const hint = readApprovedExecutionLaunchHint(tempDir, 'team');
952
- assert.ok(hint);
953
- assert.equal(hint?.task, task);
954
- assert.equal(hint?.workerCount, 2);
955
- assert.equal(hint?.agentType, 'executor');
956
- assert.equal(hint?.command, `omx team 2:executor ${JSON.stringify(task)}`);
957
- assert.equal(hint?.contextPackStatus, 'plan-only');
958
- });
959
- it('ignores Ralph launch hints inside indented code blocks', async () => {
960
- const plansDir = join(tempDir, '.omx', 'plans');
961
- const task = 'Execute approved issue 1314 indented ralph plan';
962
- await mkdir(plansDir, { recursive: true });
963
- await writeFile(join(plansDir, 'prd-issue-1314-indented-ralph.md'), [
964
- '# PRD',
965
- '',
966
- ` omx ralph ${JSON.stringify(task)}`,
967
- '',
968
- `Launch via omx ralph ${JSON.stringify(task)}`,
969
- ].join('\n'));
970
- await writeFile(join(plansDir, 'test-spec-issue-1314-indented-ralph.md'), '# Test Spec\n');
971
- const hint = readApprovedExecutionLaunchHint(tempDir, 'ralph');
972
- assert.ok(hint);
973
- assert.equal(hint?.task, task);
974
- assert.equal(hint?.command, `omx ralph ${JSON.stringify(task)}`);
975
- assert.equal(hint?.contextPackStatus, 'plan-only');
976
- });
977
605
  it('ignores Ralph launch hints that appear only inside nested commented blocks', async () => {
978
606
  const plansDir = join(tempDir, '.omx', 'plans');
979
607
  const task = 'Execute hidden commented ralph plan';
@@ -1054,6 +682,33 @@ describe('planning artifacts', () => {
1054
682
  assert.equal(outcome.hint.agentType, 'executor');
1055
683
  assert.equal(outcome.hint.linkedRalph, false);
1056
684
  });
685
+ it('resolves Team launch hints when PRD recommends Team plus Ultragoal and separates Ralph follow-up', async () => {
686
+ const plansDir = join(tempDir, '.omx', 'plans');
687
+ const sharedTask = 'Implement durable parallel delivery with Team and Ultragoal';
688
+ await mkdir(plansDir, { recursive: true });
689
+ await writeFile(join(plansDir, 'prd-ultragoal-team-handoff.md'), [
690
+ '# PRD',
691
+ '',
692
+ 'Recommend Team + Ultragoal for parallelizable durable-goal execution.',
693
+ 'Use Ralph only for a later persistent single-owner verification/fix loop.',
694
+ '',
695
+ `Launch via omx team 3:executor ${JSON.stringify(sharedTask)}`,
696
+ ].join('\n'));
697
+ await writeFile(join(plansDir, 'test-spec-ultragoal-team-handoff.md'), '# Test Spec\n');
698
+ const outcome = readApprovedExecutionLaunchHintOutcome(tempDir, 'team', {
699
+ task: sharedTask,
700
+ workerCount: 3,
701
+ agentType: 'executor',
702
+ linkedRalph: false,
703
+ });
704
+ assert.equal(outcome.status, 'resolved');
705
+ if (outcome.status !== 'resolved') {
706
+ throw new Error('expected Team + Ultragoal PRD to resolve a team launch hint');
707
+ }
708
+ assert.equal(outcome.hint.linkedRalph, false);
709
+ assert.equal(outcome.hint.workerCount, 3);
710
+ assert.equal(outcome.hint.agentType, 'executor');
711
+ });
1057
712
  it('keeps same-task team launch-hint selection ambiguous when the full signature repeats', async () => {
1058
713
  const plansDir = join(tempDir, '.omx', 'plans');
1059
714
  const sharedTask = 'Execute shared duplicate team handoff';