oh-my-codex 0.18.0 → 0.18.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 (293) hide show
  1. package/Cargo.lock +6 -6
  2. package/Cargo.toml +1 -1
  3. package/README.md +43 -19
  4. package/crates/omx-api/src/lib.rs +66 -9
  5. package/crates/omx-sparkshell/src/exec.rs +125 -3
  6. package/crates/omx-sparkshell/src/main.rs +126 -36
  7. package/crates/omx-sparkshell/tests/execution.rs +225 -1
  8. package/dist/cli/__tests__/codex-plugin-layout.test.js +15 -7
  9. package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
  10. package/dist/cli/__tests__/doctor-warning-copy.test.js +76 -3
  11. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
  12. package/dist/cli/__tests__/index.test.js +49 -1
  13. package/dist/cli/__tests__/index.test.js.map +1 -1
  14. package/dist/cli/__tests__/install-docs-contract.test.d.ts +2 -0
  15. package/dist/cli/__tests__/install-docs-contract.test.d.ts.map +1 -0
  16. package/dist/cli/__tests__/install-docs-contract.test.js +55 -0
  17. package/dist/cli/__tests__/install-docs-contract.test.js.map +1 -0
  18. package/dist/cli/__tests__/launch-fallback.test.js +115 -0
  19. package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
  20. package/dist/cli/__tests__/question.test.js +27 -41
  21. package/dist/cli/__tests__/question.test.js.map +1 -1
  22. package/dist/cli/__tests__/setup-install-mode.test.js +94 -35
  23. package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
  24. package/dist/cli/__tests__/sparkshell-cli.test.js +20 -1
  25. package/dist/cli/__tests__/sparkshell-cli.test.js.map +1 -1
  26. package/dist/cli/__tests__/sparkshell-packaging.test.js +1 -0
  27. package/dist/cli/__tests__/sparkshell-packaging.test.js.map +1 -1
  28. package/dist/cli/__tests__/ultragoal.test.js +227 -4
  29. package/dist/cli/__tests__/ultragoal.test.js.map +1 -1
  30. package/dist/cli/__tests__/update.test.js +72 -1
  31. package/dist/cli/__tests__/update.test.js.map +1 -1
  32. package/dist/cli/codex-feature-probe.d.ts +5 -0
  33. package/dist/cli/codex-feature-probe.d.ts.map +1 -1
  34. package/dist/cli/codex-feature-probe.js +13 -7
  35. package/dist/cli/codex-feature-probe.js.map +1 -1
  36. package/dist/cli/doctor.d.ts +7 -0
  37. package/dist/cli/doctor.d.ts.map +1 -1
  38. package/dist/cli/doctor.js +119 -10
  39. package/dist/cli/doctor.js.map +1 -1
  40. package/dist/cli/index.d.ts +3 -1
  41. package/dist/cli/index.d.ts.map +1 -1
  42. package/dist/cli/index.js +345 -90
  43. package/dist/cli/index.js.map +1 -1
  44. package/dist/cli/plugin-marketplace.d.ts +2 -0
  45. package/dist/cli/plugin-marketplace.d.ts.map +1 -1
  46. package/dist/cli/plugin-marketplace.js +15 -1
  47. package/dist/cli/plugin-marketplace.js.map +1 -1
  48. package/dist/cli/setup.d.ts.map +1 -1
  49. package/dist/cli/setup.js +71 -11
  50. package/dist/cli/setup.js.map +1 -1
  51. package/dist/cli/sparkshell.d.ts +7 -1
  52. package/dist/cli/sparkshell.d.ts.map +1 -1
  53. package/dist/cli/sparkshell.js +13 -3
  54. package/dist/cli/sparkshell.js.map +1 -1
  55. package/dist/cli/ultragoal.d.ts +1 -1
  56. package/dist/cli/ultragoal.d.ts.map +1 -1
  57. package/dist/cli/ultragoal.js +184 -10
  58. package/dist/cli/ultragoal.js.map +1 -1
  59. package/dist/cli/update.d.ts +2 -0
  60. package/dist/cli/update.d.ts.map +1 -1
  61. package/dist/cli/update.js +14 -3
  62. package/dist/cli/update.js.map +1 -1
  63. package/dist/compat/__tests__/doctor-contract.test.js +3 -0
  64. package/dist/compat/__tests__/doctor-contract.test.js.map +1 -1
  65. package/dist/config/__tests__/codex-feature-flags.test.js +11 -1
  66. package/dist/config/__tests__/codex-feature-flags.test.js.map +1 -1
  67. package/dist/config/__tests__/codex-hooks.test.js +19 -8
  68. package/dist/config/__tests__/codex-hooks.test.js.map +1 -1
  69. package/dist/config/__tests__/commit-lore-guard.test.d.ts +2 -0
  70. package/dist/config/__tests__/commit-lore-guard.test.d.ts.map +1 -0
  71. package/dist/config/__tests__/commit-lore-guard.test.js +20 -0
  72. package/dist/config/__tests__/commit-lore-guard.test.js.map +1 -0
  73. package/dist/config/codex-feature-flags.d.ts +4 -0
  74. package/dist/config/codex-feature-flags.d.ts.map +1 -1
  75. package/dist/config/codex-feature-flags.js +4 -0
  76. package/dist/config/codex-feature-flags.js.map +1 -1
  77. package/dist/config/codex-hooks.js +6 -6
  78. package/dist/config/codex-hooks.js.map +1 -1
  79. package/dist/config/commit-lore-guard.d.ts +1 -0
  80. package/dist/config/commit-lore-guard.d.ts.map +1 -1
  81. package/dist/config/commit-lore-guard.js +29 -3
  82. package/dist/config/commit-lore-guard.js.map +1 -1
  83. package/dist/config/generator.d.ts +3 -1
  84. package/dist/config/generator.d.ts.map +1 -1
  85. package/dist/config/generator.js +24 -10
  86. package/dist/config/generator.js.map +1 -1
  87. package/dist/goal-workflows/codex-goal-snapshot.d.ts +1 -0
  88. package/dist/goal-workflows/codex-goal-snapshot.d.ts.map +1 -1
  89. package/dist/goal-workflows/codex-goal-snapshot.js +5 -1
  90. package/dist/goal-workflows/codex-goal-snapshot.js.map +1 -1
  91. package/dist/hooks/__tests__/autopilot-skill-contract.test.js +10 -6
  92. package/dist/hooks/__tests__/autopilot-skill-contract.test.js.map +1 -1
  93. package/dist/hooks/__tests__/consensus-execution-handoff.test.d.ts +1 -1
  94. package/dist/hooks/__tests__/consensus-execution-handoff.test.js +13 -11
  95. package/dist/hooks/__tests__/consensus-execution-handoff.test.js.map +1 -1
  96. package/dist/hooks/__tests__/deep-interview-contract.test.js +4 -3
  97. package/dist/hooks/__tests__/deep-interview-contract.test.js.map +1 -1
  98. package/dist/hooks/__tests__/keyword-detector.test.js +4 -3
  99. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  100. package/dist/hooks/__tests__/notify-hook-team-tmux-guard.test.js +33 -0
  101. package/dist/hooks/__tests__/notify-hook-team-tmux-guard.test.js.map +1 -1
  102. package/dist/hooks/extensibility/__tests__/dispatcher.test.js +26 -3
  103. package/dist/hooks/extensibility/__tests__/dispatcher.test.js.map +1 -1
  104. package/dist/hooks/extensibility/dispatcher.d.ts.map +1 -1
  105. package/dist/hooks/extensibility/dispatcher.js +29 -14
  106. package/dist/hooks/extensibility/dispatcher.js.map +1 -1
  107. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  108. package/dist/hooks/keyword-detector.js +8 -3
  109. package/dist/hooks/keyword-detector.js.map +1 -1
  110. package/dist/hooks/prompt-guidance-contract.d.ts.map +1 -1
  111. package/dist/hooks/prompt-guidance-contract.js +3 -2
  112. package/dist/hooks/prompt-guidance-contract.js.map +1 -1
  113. package/dist/hud/__tests__/hud-tmux-injection.test.js +14 -8
  114. package/dist/hud/__tests__/hud-tmux-injection.test.js.map +1 -1
  115. package/dist/hud/__tests__/reconcile.test.js +2 -2
  116. package/dist/hud/__tests__/reconcile.test.js.map +1 -1
  117. package/dist/hud/__tests__/resource-leak-watch.test.d.ts +2 -0
  118. package/dist/hud/__tests__/resource-leak-watch.test.d.ts.map +1 -0
  119. package/dist/hud/__tests__/resource-leak-watch.test.js +28 -0
  120. package/dist/hud/__tests__/resource-leak-watch.test.js.map +1 -0
  121. package/dist/hud/index.d.ts +1 -1
  122. package/dist/hud/index.d.ts.map +1 -1
  123. package/dist/hud/index.js +10 -4
  124. package/dist/hud/index.js.map +1 -1
  125. package/dist/hud/tmux.js +2 -2
  126. package/dist/hud/tmux.js.map +1 -1
  127. package/dist/notifications/__tests__/http-client-resource.test.d.ts +2 -0
  128. package/dist/notifications/__tests__/http-client-resource.test.d.ts.map +1 -0
  129. package/dist/notifications/__tests__/http-client-resource.test.js +41 -0
  130. package/dist/notifications/__tests__/http-client-resource.test.js.map +1 -0
  131. package/dist/notifications/__tests__/verbosity.test.js +20 -0
  132. package/dist/notifications/__tests__/verbosity.test.js.map +1 -1
  133. package/dist/notifications/config.d.ts.map +1 -1
  134. package/dist/notifications/config.js +6 -3
  135. package/dist/notifications/config.js.map +1 -1
  136. package/dist/notifications/http-client.d.ts.map +1 -1
  137. package/dist/notifications/http-client.js +78 -27
  138. package/dist/notifications/http-client.js.map +1 -1
  139. package/dist/notifications/types.d.ts +2 -0
  140. package/dist/notifications/types.d.ts.map +1 -1
  141. package/dist/openclaw/__tests__/dispatcher.test.js +49 -1
  142. package/dist/openclaw/__tests__/dispatcher.test.js.map +1 -1
  143. package/dist/openclaw/dispatcher.d.ts +7 -4
  144. package/dist/openclaw/dispatcher.d.ts.map +1 -1
  145. package/dist/openclaw/dispatcher.js +32 -69
  146. package/dist/openclaw/dispatcher.js.map +1 -1
  147. package/dist/pipeline/__tests__/orchestrator.test.js +65 -3
  148. package/dist/pipeline/__tests__/orchestrator.test.js.map +1 -1
  149. package/dist/pipeline/__tests__/stages.test.js +50 -5
  150. package/dist/pipeline/__tests__/stages.test.js.map +1 -1
  151. package/dist/pipeline/index.d.ts +8 -2
  152. package/dist/pipeline/index.d.ts.map +1 -1
  153. package/dist/pipeline/index.js +5 -2
  154. package/dist/pipeline/index.js.map +1 -1
  155. package/dist/pipeline/orchestrator.d.ts +5 -4
  156. package/dist/pipeline/orchestrator.d.ts.map +1 -1
  157. package/dist/pipeline/orchestrator.js +56 -15
  158. package/dist/pipeline/orchestrator.js.map +1 -1
  159. package/dist/pipeline/stages/code-review.d.ts +2 -2
  160. package/dist/pipeline/stages/code-review.d.ts.map +1 -1
  161. package/dist/pipeline/stages/code-review.js +5 -3
  162. package/dist/pipeline/stages/code-review.js.map +1 -1
  163. package/dist/pipeline/stages/deep-interview.d.ts +15 -0
  164. package/dist/pipeline/stages/deep-interview.d.ts.map +1 -0
  165. package/dist/pipeline/stages/deep-interview.js +32 -0
  166. package/dist/pipeline/stages/deep-interview.js.map +1 -0
  167. package/dist/pipeline/stages/ralph-verify.d.ts +5 -5
  168. package/dist/pipeline/stages/ralph-verify.d.ts.map +1 -1
  169. package/dist/pipeline/stages/ralph-verify.js +2 -2
  170. package/dist/pipeline/stages/ralph-verify.js.map +1 -1
  171. package/dist/pipeline/stages/ultragoal.d.ts +19 -0
  172. package/dist/pipeline/stages/ultragoal.d.ts.map +1 -0
  173. package/dist/pipeline/stages/ultragoal.js +38 -0
  174. package/dist/pipeline/stages/ultragoal.js.map +1 -0
  175. package/dist/pipeline/stages/ultraqa.d.ts +30 -0
  176. package/dist/pipeline/stages/ultraqa.d.ts.map +1 -0
  177. package/dist/pipeline/stages/ultraqa.js +46 -0
  178. package/dist/pipeline/stages/ultraqa.js.map +1 -0
  179. package/dist/pipeline/types.d.ts +8 -6
  180. package/dist/pipeline/types.d.ts.map +1 -1
  181. package/dist/pipeline/types.js +2 -2
  182. package/dist/scripts/__tests__/codex-native-hook.test.js +705 -45
  183. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  184. package/dist/scripts/__tests__/smoke-packed-install.test.js +23 -1
  185. package/dist/scripts/__tests__/smoke-packed-install.test.js.map +1 -1
  186. package/dist/scripts/__tests__/verify-native-agents.test.js +16 -1
  187. package/dist/scripts/__tests__/verify-native-agents.test.js.map +1 -1
  188. package/dist/scripts/cleanup-explore-harness.js +1 -0
  189. package/dist/scripts/cleanup-explore-harness.js.map +1 -1
  190. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  191. package/dist/scripts/codex-native-hook.js +158 -10
  192. package/dist/scripts/codex-native-hook.js.map +1 -1
  193. package/dist/scripts/codex-native-pre-post.d.ts.map +1 -1
  194. package/dist/scripts/codex-native-pre-post.js +9 -1
  195. package/dist/scripts/codex-native-pre-post.js.map +1 -1
  196. package/dist/scripts/notify-hook/process-runner.d.ts.map +1 -1
  197. package/dist/scripts/notify-hook/process-runner.js +39 -17
  198. package/dist/scripts/notify-hook/process-runner.js.map +1 -1
  199. package/dist/scripts/notify-hook/team-dispatch.d.ts.map +1 -1
  200. package/dist/scripts/notify-hook/team-dispatch.js +9 -5
  201. package/dist/scripts/notify-hook/team-dispatch.js.map +1 -1
  202. package/dist/scripts/notify-hook/team-tmux-guard.d.ts +1 -1
  203. package/dist/scripts/notify-hook/team-tmux-guard.d.ts.map +1 -1
  204. package/dist/scripts/notify-hook/team-tmux-guard.js +7 -1
  205. package/dist/scripts/notify-hook/team-tmux-guard.js.map +1 -1
  206. package/dist/scripts/smoke-packed-install.d.ts +3 -0
  207. package/dist/scripts/smoke-packed-install.d.ts.map +1 -1
  208. package/dist/scripts/smoke-packed-install.js +99 -1
  209. package/dist/scripts/smoke-packed-install.js.map +1 -1
  210. package/dist/scripts/sync-plugin-mirror.js +2 -2
  211. package/dist/scripts/sync-plugin-mirror.js.map +1 -1
  212. package/dist/scripts/verify-native-agents.js +2 -2
  213. package/dist/scripts/verify-native-agents.js.map +1 -1
  214. package/dist/sidecar/__tests__/resource-leak-watch.test.d.ts +2 -0
  215. package/dist/sidecar/__tests__/resource-leak-watch.test.d.ts.map +1 -0
  216. package/dist/sidecar/__tests__/resource-leak-watch.test.js +38 -0
  217. package/dist/sidecar/__tests__/resource-leak-watch.test.js.map +1 -0
  218. package/dist/sidecar/index.d.ts +1 -1
  219. package/dist/sidecar/index.d.ts.map +1 -1
  220. package/dist/sidecar/index.js +29 -12
  221. package/dist/sidecar/index.js.map +1 -1
  222. package/dist/state/__tests__/operations-ralph-phase.test.js +88 -1
  223. package/dist/state/__tests__/operations-ralph-phase.test.js.map +1 -1
  224. package/dist/state/operations.d.ts.map +1 -1
  225. package/dist/state/operations.js +11 -0
  226. package/dist/state/operations.js.map +1 -1
  227. package/dist/team/__tests__/tmux-session.test.js +111 -3
  228. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  229. package/dist/team/tmux-session.d.ts.map +1 -1
  230. package/dist/team/tmux-session.js +39 -18
  231. package/dist/team/tmux-session.js.map +1 -1
  232. package/dist/ultragoal/__tests__/artifacts.test.js +714 -10
  233. package/dist/ultragoal/__tests__/artifacts.test.js.map +1 -1
  234. package/dist/ultragoal/__tests__/docs-contract.test.js +57 -1
  235. package/dist/ultragoal/__tests__/docs-contract.test.js.map +1 -1
  236. package/dist/ultragoal/__tests__/steering-fixtures.d.ts +68 -0
  237. package/dist/ultragoal/__tests__/steering-fixtures.d.ts.map +1 -0
  238. package/dist/ultragoal/__tests__/steering-fixtures.js +259 -0
  239. package/dist/ultragoal/__tests__/steering-fixtures.js.map +1 -0
  240. package/dist/ultragoal/__tests__/steering-fixtures.test.d.ts +2 -0
  241. package/dist/ultragoal/__tests__/steering-fixtures.test.d.ts.map +1 -0
  242. package/dist/ultragoal/__tests__/steering-fixtures.test.js +65 -0
  243. package/dist/ultragoal/__tests__/steering-fixtures.test.js.map +1 -0
  244. package/dist/ultragoal/artifacts.d.ts +97 -2
  245. package/dist/ultragoal/artifacts.d.ts.map +1 -1
  246. package/dist/ultragoal/artifacts.js +811 -256
  247. package/dist/ultragoal/artifacts.js.map +1 -1
  248. package/dist/utils/__tests__/sleep-resource.test.d.ts +2 -0
  249. package/dist/utils/__tests__/sleep-resource.test.d.ts.map +1 -0
  250. package/dist/utils/__tests__/sleep-resource.test.js +39 -0
  251. package/dist/utils/__tests__/sleep-resource.test.js.map +1 -0
  252. package/dist/utils/sleep.d.ts.map +1 -1
  253. package/dist/utils/sleep.js +17 -6
  254. package/dist/utils/sleep.js.map +1 -1
  255. package/package.json +2 -1
  256. package/plugins/oh-my-codex/.codex-plugin/plugin.json +4 -3
  257. package/plugins/oh-my-codex/hooks/codex-native-hook.mjs +56 -0
  258. package/plugins/oh-my-codex/hooks/hooks.json +77 -0
  259. package/plugins/oh-my-codex/skills/autopilot/SKILL.md +77 -47
  260. package/plugins/oh-my-codex/skills/cancel/SKILL.md +2 -2
  261. package/plugins/oh-my-codex/skills/deep-interview/SKILL.md +8 -8
  262. package/plugins/oh-my-codex/skills/omx-setup/SKILL.md +1 -1
  263. package/plugins/oh-my-codex/skills/pipeline/SKILL.md +22 -11
  264. package/plugins/oh-my-codex/skills/plan/SKILL.md +8 -8
  265. package/plugins/oh-my-codex/skills/ralph/SKILL.md +7 -0
  266. package/plugins/oh-my-codex/skills/ralplan/SKILL.md +4 -4
  267. package/plugins/oh-my-codex/skills/team/SKILL.md +1 -1
  268. package/plugins/oh-my-codex/skills/ultragoal/SKILL.md +38 -4
  269. package/plugins/oh-my-codex/skills/ultrawork/SKILL.md +1 -1
  270. package/prompts/planner.md +1 -1
  271. package/skills/autopilot/SKILL.md +77 -47
  272. package/skills/cancel/SKILL.md +2 -2
  273. package/skills/deep-interview/SKILL.md +8 -8
  274. package/skills/omx-setup/SKILL.md +1 -1
  275. package/skills/pipeline/SKILL.md +22 -11
  276. package/skills/plan/SKILL.md +8 -8
  277. package/skills/ralph/SKILL.md +7 -0
  278. package/skills/ralplan/SKILL.md +4 -4
  279. package/skills/team/SKILL.md +1 -1
  280. package/skills/ultragoal/SKILL.md +38 -4
  281. package/skills/ultrawork/SKILL.md +1 -1
  282. package/src/scripts/__tests__/codex-native-hook.test.ts +867 -81
  283. package/src/scripts/__tests__/smoke-packed-install.test.ts +31 -0
  284. package/src/scripts/__tests__/verify-native-agents.test.ts +21 -1
  285. package/src/scripts/cleanup-explore-harness.ts +1 -0
  286. package/src/scripts/codex-native-hook.ts +156 -10
  287. package/src/scripts/codex-native-pre-post.ts +16 -1
  288. package/src/scripts/notify-hook/process-runner.ts +40 -16
  289. package/src/scripts/notify-hook/team-dispatch.ts +9 -5
  290. package/src/scripts/notify-hook/team-tmux-guard.ts +7 -0
  291. package/src/scripts/smoke-packed-install.ts +105 -0
  292. package/src/scripts/sync-plugin-mirror.ts +3 -3
  293. package/src/scripts/verify-native-agents.ts +2 -2
@@ -4,7 +4,7 @@ import { mkdtemp, mkdir, rm, writeFile } from 'node:fs/promises';
4
4
  import { tmpdir } from 'node:os';
5
5
  import { join } from 'node:path';
6
6
  import { test } from 'node:test';
7
- import { ensureRepoDependencies, hasUsableNodeModules, PACKED_INSTALL_SMOKE_CORE_COMMANDS, parseNpmPackJsonOutput, resolveGitCommonDir, resolveReusableNodeModulesSource, } from '../smoke-packed-install.js';
7
+ import { ensureRepoDependencies, hasUsableNodeModules, buildNativeHookSmokePayload, PACKED_INSTALL_NATIVE_HOOK_SMOKE_EVENTS, PACKED_INSTALL_SMOKE_CORE_COMMANDS, parseNpmPackJsonOutput, resolveGitCommonDir, resolveReusableNodeModulesSource, validateHookStdout, } from '../smoke-packed-install.js';
8
8
  test('packed install smoke stays limited to boot + core commands', () => {
9
9
  assert.deepEqual(PACKED_INSTALL_SMOKE_CORE_COMMANDS, [
10
10
  ['--help'],
@@ -15,6 +15,28 @@ test('packed install smoke stays limited to boot + core commands', () => {
15
15
  assert.equal(PACKED_INSTALL_SMOKE_CORE_COMMANDS.some((argv) => argv.includes('api')), true);
16
16
  assert.equal(PACKED_INSTALL_SMOKE_CORE_COMMANDS.some((argv) => argv.includes('sparkshell')), true);
17
17
  });
18
+ test('packed install smoke covers every installed native hook event with minimal payloads', () => {
19
+ assert.deepEqual(PACKED_INSTALL_NATIVE_HOOK_SMOKE_EVENTS, [
20
+ 'SessionStart',
21
+ 'PreToolUse',
22
+ 'PostToolUse',
23
+ 'UserPromptSubmit',
24
+ 'PreCompact',
25
+ 'PostCompact',
26
+ 'Stop',
27
+ ]);
28
+ for (const eventName of PACKED_INSTALL_NATIVE_HOOK_SMOKE_EVENTS) {
29
+ const payload = buildNativeHookSmokePayload(eventName, '/tmp/omx-packed-hook-smoke');
30
+ assert.equal(payload.hook_event_name, eventName);
31
+ assert.equal(typeof payload.session_id, 'string');
32
+ assert.equal(payload.cwd, '/tmp/omx-packed-hook-smoke');
33
+ }
34
+ });
35
+ test('packed install native hook stdout validation allows empty or JSON output only', () => {
36
+ assert.doesNotThrow(() => validateHookStdout('PostCompact', ''));
37
+ assert.doesNotThrow(() => validateHookStdout('Stop', '{}\n'));
38
+ assert.throws(() => validateHookStdout('UserPromptSubmit', '{not json'), /native hook UserPromptSubmit emitted invalid JSON stdout/);
39
+ });
18
40
  test('parseNpmPackJsonOutput ignores prepack logs before npm pack JSON', () => {
19
41
  const parsed = parseNpmPackJsonOutput([
20
42
  '[sync-plugin-mirror] synced 29 canonical skill directories and plugin metadata',
@@ -1 +1 @@
1
- {"version":3,"file":"smoke-packed-install.test.js","sourceRoot":"","sources":["../../../src/scripts/__tests__/smoke-packed-install.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smoke-packed-install.test.js","sourceRoot":"","sources":["../../../src/scripts/__tests__/smoke-packed-install.test.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,EAC3B,uCAAuC,EACvC,kCAAkC,EAClC,sBAAsB,EACtB,mBAAmB,EACnB,gCAAgC,EAChC,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAEpC,IAAI,CAAC,4DAA4D,EAAE,GAAG,EAAE;IACtE,MAAM,CAAC,SAAS,CAAC,kCAAkC,EAAE;QACnD,CAAC,QAAQ,CAAC;QACV,CAAC,SAAS,CAAC;QACX,CAAC,KAAK,EAAE,QAAQ,CAAC;QACjB,CAAC,YAAY,EAAE,QAAQ,CAAC;KACzB,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EACvE,IAAI,CACL,CAAC;IACF,MAAM,CAAC,KAAK,CACV,kCAAkC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAC9E,IAAI,CACL,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qFAAqF,EAAE,GAAG,EAAE;IAC/F,MAAM,CAAC,SAAS,CAAC,uCAAuC,EAAE;QACxD,cAAc;QACd,YAAY;QACZ,aAAa;QACb,kBAAkB;QAClB,YAAY;QACZ,aAAa;QACb,MAAM;KACP,CAAC,CAAC;IAEH,KAAK,MAAM,SAAS,IAAI,uCAAuC,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,2BAA2B,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC;QACrF,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+EAA+E,EAAE,GAAG,EAAE;IACzF,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,WAAW,CAAC,EACzD,0DAA0D,CAC3D,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kEAAkE,EAAE,GAAG,EAAE;IAC5E,MAAM,MAAM,GAAG,sBAAsB,CAAC;QACpC,gFAAgF;QAChF,GAAG;QACH,KAAK;QACL,0CAA0C;QAC1C,KAAK;QACL,GAAG;QACH,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEd,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mFAAmF,EAAE,GAAG,EAAE;IAC7F,MAAM,SAAS,GAAG,mBAAmB,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5D,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,EAAE;KACX,CAA8D,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;IAC/E,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC/C,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;QACvE,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3E,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;QACzF,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;QAEhE,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAE/C,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;IACtG,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,+BAA+B,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtF,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,uBAAuB,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpG,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;QACvF,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3F,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,uBAAuB,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;QACzG,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;QAChF,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/C,MAAM,QAAQ,GAAG,gCAAgC,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;YACrE,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI;YACxC,MAAM,EAAE,EAAE;SACX,CAA8D,CAAC,CAAC;QAEjE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAC5D,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;IAC1F,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iCAAiC,CAAC,CAAC,CAAC;IAC9E,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtF,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,uBAAuB,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpG,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;QACvF,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3F,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,uBAAuB,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;QACzG,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;QAChF,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,sBAAsB,CAAC,YAAY,EAAE;YAClD,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;gBAChB,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI;gBACxC,MAAM,EAAE,EAAE;aACX,CAA8D;YAC/D,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;YAC7F,CAAC;YACD,GAAG,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SAC/C,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,oDAAoD,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;IACnH,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;IACzG,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iCAAiC,CAAC,CAAC,CAAC;IAC9E,IAAI,CAAC;QACH,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,EAAE;YAC1C,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;gBAChB,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,gBAAgB;aACzB,CAA8D;YAC/D,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE;gBACvB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC3C,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -41,7 +41,7 @@ describe("verify-native-agents", () => {
41
41
  ]),
42
42
  definitions: { executor: definition, "style-reviewer": { ...definition, name: "style-reviewer" } },
43
43
  promptNames: new Set(["executor", "style-reviewer", "explore-harness"]),
44
- pluginManifest: { skills: "./skills/" },
44
+ pluginManifest: { skills: "./skills/", hooks: "./hooks/hooks.json" },
45
45
  });
46
46
  assert.deepEqual(result.installableAgentNames, ["executor"]);
47
47
  });
@@ -146,6 +146,21 @@ describe("verify-native-agents", () => {
146
146
  promptNames: new Set(["executor"]),
147
147
  pluginManifest: { agents: "./agents/" },
148
148
  }));
149
+ await rejectsWithCode("native_agent_plugin_boundary_violation", () => verifyNativeAgents({
150
+ manifest: manifest([{ name: "executor", category: "build", status: "active" }]),
151
+ definitions: { executor: definition },
152
+ promptNames: new Set(["executor"]),
153
+ pluginManifest: { prompts: "./prompts/" },
154
+ }));
155
+ });
156
+ it("allows plugin-scoped lifecycle hooks without treating them as native agents", async () => {
157
+ const result = await verifyNativeAgents({
158
+ manifest: manifest([{ name: "executor", category: "build", status: "active" }]),
159
+ definitions: { executor: definition },
160
+ promptNames: new Set(["executor"]),
161
+ pluginManifest: { hooks: "./hooks/hooks.json" },
162
+ });
163
+ assert.deepEqual(result.installableAgentNames, ["executor"]);
149
164
  });
150
165
  it("keeps merged prompt-backed agents out of the installable set", () => {
151
166
  const nativeManifest = manifest([
@@ -1 +1 @@
1
- {"version":3,"file":"verify-native-agents.test.js","sourceRoot":"","sources":["../../../src/scripts/__tests__/verify-native-agents.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-native-agents.test.js","sourceRoot":"","sources":["../../../src/scripts/__tests__/verify-native-agents.test.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ for (const path of [
10
10
  join(root, 'bin', 'omx-explore-harness.exe'),
11
11
  join(root, 'bin', 'omx-explore-harness.meta.json'),
12
12
  join(root, 'bin', 'native'),
13
+ join(root, 'crates', 'omx-sparkshell', '.omx'),
13
14
  ]) {
14
15
  await rm(path, { recursive: true, force: true });
15
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup-explore-harness.js","sourceRoot":"","sources":["../../src/scripts/cleanup-explore-harness.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEzC,KAAK,MAAM,IAAI,IAAI;IACjB,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,qBAAqB,CAAC;IACxC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,yBAAyB,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,+BAA+B,CAAC;IAClD,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC;CAC5B,EAAE,CAAC;IACF,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"cleanup-explore-harness.js","sourceRoot":"","sources":["../../src/scripts/cleanup-explore-harness.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEzC,KAAK,MAAM,IAAI,IAAI;IACjB,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,qBAAqB,CAAC;IACxC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,yBAAyB,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,+BAA+B,CAAC;IAClD,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,CAAC;CAC/C,EAAE,CAAC;IACF,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex-native-hook.d.ts","sourceRoot":"","sources":["../../src/scripts/codex-native-hook.ts"],"names":[],"mappings":"AAsCA,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,8BAA8B,CAAC;AA4BtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AA6BlE,KAAK,kBAAkB,GACnB,cAAc,GACd,YAAY,GACZ,aAAa,GACb,kBAAkB,GAClB,YAAY,GACZ,aAAa,GACb,MAAM,CAAC;AAEX,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhD,UAAU,yBAAyB;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6BAA6B,CAAC,EAAE,OAAO,2BAA2B,CAAC;CACpE;AAED,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACzC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5C;AAuQD,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,kBAAkB,GAAG,IAAI,GACvC,MAAM,GAAG,IAAI,CAmBf;AAuiBD,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IACP,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC/C,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC,GACL,MAAM,GAAG,IAAI,CAuBf;AAi4BD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMnE;AA25CD,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,wBAAwB,CAAC,CAkQnC;AAOD,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,OAAO,CAGT;AA2ED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAuC3D"}
1
+ {"version":3,"file":"codex-native-hook.d.ts","sourceRoot":"","sources":["../../src/scripts/codex-native-hook.ts"],"names":[],"mappings":"AAsCA,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,8BAA8B,CAAC;AA6BtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAkClE,KAAK,kBAAkB,GACnB,cAAc,GACd,YAAY,GACZ,aAAa,GACb,kBAAkB,GAClB,YAAY,GACZ,aAAa,GACb,MAAM,CAAC;AAEX,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEhD,UAAU,yBAAyB;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6BAA6B,CAAC,EAAE,OAAO,2BAA2B,CAAC;CACpE;AAED,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACzC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5C;AA8QD,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,kBAAkB,GAAG,IAAI,GACvC,MAAM,GAAG,IAAI,CAmBf;AAwoBD,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IACP,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC/C,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC,GACL,MAAM,GAAG,IAAI,CAuBf;AAo4BD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMnE;AA86CD,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,wBAAwB,CAAC,CAgRnC;AAOD,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,OAAO,CAGT;AA2ED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAuC3D"}
@@ -20,12 +20,14 @@ import { maybeNudgeLeaderForAllowedWorkerStop } from "./notify-hook/team-worker-
20
20
  import { resolveCodexExecutionSurface, } from "./codex-execution-surface.js";
21
21
  import { buildNativeHookEvent, } from "../hooks/extensibility/events.js";
22
22
  import { dispatchHookEventRuntime } from "../hooks/extensibility/runtime.js";
23
+ import { getNotificationConfig, getVerbosity } from "../notifications/config.js";
23
24
  import { reconcileHudForPromptSubmit } from "../hud/reconcile.js";
24
25
  import { onPreCompact as buildWikiPreCompactContext, onSessionStart as buildWikiSessionStartContext, } from "../wiki/lifecycle.js";
25
26
  import { readAutoresearchCompletionStatus, readAutoresearchModeStateForActiveDecision } from "../autoresearch/skill-validation.js";
26
27
  import { readRunState } from "../runtime/run-state.js";
27
28
  import { evaluateRalphCompletionAuditEvidence, isRalphCompletePhase } from "../ralph/completion-audit.js";
28
29
  import { getRunContinuationSnapshot, shouldContinueRun } from "../runtime/run-loop.js";
30
+ import { parseUltragoalSteeringDirective, steerUltragoal, } from "../ultragoal/artifacts.js";
29
31
  import { triagePrompt } from "../hooks/triage-heuristic.js";
30
32
  import { readTriageConfig } from "../hooks/triage-config.js";
31
33
  import { readTriageState, writeTriageState, shouldSuppressFollowup, promptSignature, } from "../hooks/triage-state.js";
@@ -186,6 +188,13 @@ async function isNativeSubagentHook(cwd, canonicalSessionId, nativeSessionId, th
186
188
  return false;
187
189
  return candidateIds.some((id) => summary.allSubagentThreadIds.includes(id));
188
190
  }
191
+ function shouldSuppressSubagentLifecycleHookDispatch() {
192
+ const config = getNotificationConfig();
193
+ if (config?.includeChildAgents === true)
194
+ return false;
195
+ const verbosity = getVerbosity(config);
196
+ return verbosity !== "agent" && verbosity !== "verbose";
197
+ }
189
198
  async function recordIgnoredNativeSubagentSessionStart(cwd, canonicalSessionId, childSessionId, metadata, transcriptPath) {
190
199
  await appendToLog(cwd, {
191
200
  event: "subagent_session_start_ignored",
@@ -286,6 +295,110 @@ function readPromptText(payload) {
286
295
  }
287
296
  return "";
288
297
  }
298
+ function extractBalancedJsonObject(text, startIndex) {
299
+ let depth = 0;
300
+ let inString = false;
301
+ let escaped = false;
302
+ for (let index = startIndex; index < text.length; index++) {
303
+ const char = text[index];
304
+ if (inString) {
305
+ if (escaped)
306
+ escaped = false;
307
+ else if (char === "\\")
308
+ escaped = true;
309
+ else if (char === '"')
310
+ inString = false;
311
+ continue;
312
+ }
313
+ if (char === '"') {
314
+ inString = true;
315
+ continue;
316
+ }
317
+ if (char === "{")
318
+ depth += 1;
319
+ else if (char === "}") {
320
+ depth -= 1;
321
+ if (depth === 0)
322
+ return text.slice(startIndex, index + 1);
323
+ }
324
+ }
325
+ return null;
326
+ }
327
+ function normalizePromptSteeringProposal(raw, prompt) {
328
+ const candidate = safeObject(raw);
329
+ const nested = candidate.omx_ultragoal_steer ?? candidate.ultragoal_steer ?? candidate.steering ?? candidate;
330
+ const proposal = parseUltragoalSteeringDirective(JSON.stringify(nested));
331
+ if (!proposal)
332
+ return null;
333
+ if (proposal.source !== "user_prompt_submit")
334
+ return null;
335
+ const normalized = prompt.trim().toLowerCase();
336
+ return {
337
+ ...proposal,
338
+ directiveText: proposal.directiveText ?? safeContextSnippet(prompt, 600),
339
+ promptSignature: proposal.promptSignature ?? promptSignature(normalized),
340
+ idempotencyKey: proposal.idempotencyKey ?? `user_prompt_submit:${promptSignature(normalized)}`,
341
+ };
342
+ }
343
+ function parseUserPromptUltragoalSteeringDirective(prompt) {
344
+ const trimmed = prompt.trim();
345
+ if (!trimmed)
346
+ return null;
347
+ const fenced = trimmed.match(/```(?:omx-ultragoal-steer|ultragoal-steer)\s*([\s\S]*?)```/i);
348
+ if (fenced?.[1]) {
349
+ try {
350
+ return normalizePromptSteeringProposal(JSON.parse(fenced[1]), prompt);
351
+ }
352
+ catch {
353
+ return null;
354
+ }
355
+ }
356
+ const label = trimmed.match(/(?:^|\n)\s*(?:OMX_ULTRAGOAL_STEER|omx\.ultragoal\.steer|omx ultragoal steer)\s*:\s*{/i);
357
+ if (label?.index !== undefined) {
358
+ const brace = trimmed.indexOf("{", label.index);
359
+ const json = brace >= 0 ? extractBalancedJsonObject(trimmed, brace) : null;
360
+ if (json) {
361
+ try {
362
+ return normalizePromptSteeringProposal(JSON.parse(json), prompt);
363
+ }
364
+ catch {
365
+ return null;
366
+ }
367
+ }
368
+ }
369
+ if (trimmed.startsWith("{")) {
370
+ try {
371
+ const parsed = JSON.parse(trimmed);
372
+ const object = safeObject(parsed);
373
+ if ("omx_ultragoal_steer" in object || "ultragoal_steer" in object) {
374
+ return normalizePromptSteeringProposal(parsed, prompt);
375
+ }
376
+ }
377
+ catch {
378
+ return null;
379
+ }
380
+ }
381
+ return null;
382
+ }
383
+ async function applyUserPromptUltragoalSteering(cwd, prompt) {
384
+ const proposal = parseUserPromptUltragoalSteeringDirective(prompt);
385
+ if (!proposal)
386
+ return null;
387
+ try {
388
+ const result = await steerUltragoal(cwd, proposal);
389
+ const status = result.deduped ? "deduped" : result.accepted ? "accepted" : "rejected";
390
+ const reasons = result.rejectedReasons.length > 0 ? ` rejectedReasons=${result.rejectedReasons.join("; ")}` : "";
391
+ return [
392
+ `OMX native UserPromptSubmit applied bounded .omx/ultragoal steering for G002-cli-and-prompt-submit-bridge: ${status}.`,
393
+ `mutation=${result.audit.kind}; source=${result.audit.source}; targets=${result.audit.targetGoalIds.join(",") || "none"}; idempotencyKey=${result.audit.idempotencyKey ?? "none"}.${reasons}`,
394
+ "Only explicit structured steering directives are parsed; normal prose is ignored and cannot mutate .omx/ultragoal.",
395
+ ].join(" ");
396
+ }
397
+ catch (error) {
398
+ const message = error instanceof Error ? error.message : String(error);
399
+ return `OMX native UserPromptSubmit rejected bounded .omx/ultragoal steering for G002-cli-and-prompt-submit-bridge: ${message}`;
400
+ }
401
+ }
289
402
  function sanitizePayloadForHookContext(payload, hookEventName, canonicalSessionId = "") {
290
403
  const sanitized = { ...payload };
291
404
  if (hookEventName === "UserPromptSubmit") {
@@ -582,13 +695,12 @@ async function reopenRalphCompletionAuditBlock(block) {
582
695
  const nowIso = new Date().toISOString();
583
696
  const next = {
584
697
  ...block.state,
585
- active: true,
586
- current_phase: "verifying",
698
+ active: false,
699
+ current_phase: "complete",
587
700
  completion_audit_gate: "blocked",
588
701
  completion_audit_missing_reason: block.reason,
589
702
  completion_audit_blocked_at: nowIso,
590
703
  };
591
- delete next.completed_at;
592
704
  await writeFile(block.path, JSON.stringify(next, null, 2));
593
705
  }
594
706
  async function readActiveRalphState(cwd, stateDir, preferredSessionId, ownerContext) {
@@ -1277,7 +1389,7 @@ function buildAdditionalContextMessage(prompt, skillState, cwd = process.cwd(),
1277
1389
  ? "Ultrawork protocol: ground the task before editing, define pass/fail acceptance criteria, keep shared-file work local, and use direct-tool plus background evidence lanes only for truly independent work. Direct ultrawork provides lightweight verification only; Ralph owns persistence and the full verified-completion promise."
1278
1390
  : null;
1279
1391
  const ultragoalPromptActivationNote = match.skill === "ultragoal"
1280
- ? "Ultragoal protocol: use `omx ultragoal create-goals` / `complete-goals` / `checkpoint` for `.omx/ultragoal` artifacts, then use Codex goal model tools only from the active agent handoff (`get_goal`, `create_goal`, `update_goal`) and never overwrite a different active Codex goal."
1392
+ ? "Ultragoal protocol: use `omx ultragoal create-goals` / `complete-goals` / `checkpoint` for `.omx/ultragoal` artifacts, then use Codex goal model tools only from the active agent handoff (`get_goal`, `create_goal`, `update_goal`) and never overwrite a different active Codex goal. Ultragoal does not call `/goal clear`; for multiple sequential ultragoal runs in one Codex session/thread, manually clear the completed Codex goal in the UI before creating the next aggregate goal."
1281
1393
  : null;
1282
1394
  const combinedTransitionMessage = (() => {
1283
1395
  if (!skillState?.transition_message)
@@ -1489,6 +1601,9 @@ function isStopExempt(payload) {
1489
1601
  || value.includes("limit"));
1490
1602
  }
1491
1603
  async function buildModeBasedStopOutput(mode, cwd, sessionId) {
1604
+ if (await readCanonicalTerminalRunStateForStop(cwd, sessionId, mode)) {
1605
+ return null;
1606
+ }
1492
1607
  const state = await readModeStateForActiveDecision(mode, sessionId?.trim() || undefined, cwd);
1493
1608
  if (!state || !shouldContinueRun(state))
1494
1609
  return null;
@@ -1515,6 +1630,23 @@ function reportsAutoresearchGoalObjectiveMismatch(text) {
1515
1630
  && /\b(?:complete|completion|reconciliation)\b/i.test(text)
1516
1631
  && /objective mismatch/i.test(text);
1517
1632
  }
1633
+ function reportsBlockedPerformanceGoalObjectiveMismatch(state) {
1634
+ const performanceState = safeObject(state);
1635
+ const lastValidation = safeObject(performanceState.lastValidation);
1636
+ if (safeString(performanceState.workflow) !== "performance-goal")
1637
+ return false;
1638
+ if (safeString(performanceState.status) !== "blocked")
1639
+ return false;
1640
+ if (safeString(lastValidation.status) !== "blocked")
1641
+ return false;
1642
+ const evidence = [
1643
+ safeString(lastValidation.evidence),
1644
+ safeString(lastValidation.message),
1645
+ safeString(performanceState.evidence),
1646
+ safeString(performanceState.message),
1647
+ ].join(" ");
1648
+ return /objective mismatch/i.test(evidence);
1649
+ }
1518
1650
  async function findActiveGoalWorkflowReconciliationRequirement(cwd) {
1519
1651
  const ultragoal = await readJsonIfExists(join(cwd, ".omx", "ultragoal", "goals.json"));
1520
1652
  const aggregateCompletion = safeObject(ultragoal?.aggregateCompletion);
@@ -1532,7 +1664,7 @@ async function findActiveGoalWorkflowReconciliationRequirement(cwd) {
1532
1664
  `If get_goal returns a completed task-scoped objective for the same aggregate ultragoal plan, checkpoint ${goalId} with evidence naming ${goalId} plus .omx/ultragoal/goals.json or ledger.jsonl and pass final quality-gate JSON; OMX will reconcile the completed planned scope without mutating Codex goal state.`,
1533
1665
  `If get_goal instead returns a different completed legacy objective and complete checkpointing fails, do not repeat --status complete in this thread.`,
1534
1666
  `Record the non-terminal blocker with: omx ultragoal checkpoint --goal-id ${goalId} --status blocked --codex-goal-json '<different completed get_goal JSON or path>' --evidence '<completed legacy Codex goal blocks create_goal in this thread>'.`,
1535
- "Then continue this ultragoal from a fresh Codex thread in the same repo/worktree and create the intended goal there.",
1667
+ "Then continue only from a Codex goal context with no active/completed conflicting goal in the same repo/worktree and create the intended goal there.",
1536
1668
  ].join(" "),
1537
1669
  };
1538
1670
  }
@@ -1542,6 +1674,9 @@ async function findActiveGoalWorkflowReconciliationRequirement(cwd) {
1542
1674
  continue;
1543
1675
  const state = await readJsonIfExists(join(performanceRoot, entry.name, "state.json"));
1544
1676
  const status = safeString(state?.status);
1677
+ if (reportsBlockedPerformanceGoalObjectiveMismatch(state)) {
1678
+ continue;
1679
+ }
1545
1680
  if (state?.workflow === "performance-goal" && status && status !== "complete") {
1546
1681
  return {
1547
1682
  workflow: "performance-goal",
@@ -1566,8 +1701,8 @@ async function findActiveGoalWorkflowReconciliationRequirement(cwd) {
1566
1701
  workflow: "autoresearch-goal",
1567
1702
  command: `omx autoresearch-goal complete --slug ${safeString(mission.slug) || entry.name} --codex-goal-json '<get_goal JSON or path>'`,
1568
1703
  remediation: [
1569
- "If that command fails with a Codex goal objective mismatch after a fresh get_goal snapshot, do not repeat the same complete command blindly in this thread.",
1570
- "Either retry with a correct fresh snapshot or record an explicit blocked verdict for this autoresearch-goal and continue it from a fresh Codex thread.",
1704
+ "If that command fails with a Codex goal objective mismatch after a refreshed get_goal snapshot, do not repeat the same complete command blindly in this thread.",
1705
+ "Either retry with a correct refreshed snapshot or record an explicit blocked verdict for this autoresearch-goal and continue from the explicit blocker path.",
1571
1706
  ].join(" "),
1572
1707
  };
1573
1708
  }
@@ -2373,7 +2508,7 @@ async function buildStopHookOutput(payload, cwd, stateDir, options = {}) {
2373
2508
  `OMX Ralph completion audit is missing required evidence (${ralphCompletionAuditBlock.reason}; state: ${blockingPath}).`,
2374
2509
  "Continue verification and do not report complete yet.",
2375
2510
  "Record machine-readable completion evidence before stopping:",
2376
- "- either set state.completion_audit = { passed: true, prompt_to_artifact_checklist: [...], verification_evidence: [...] }",
2511
+ '- either set "completion_audit" on the Ralph state object, for example: omx state write --input \'{"mode":"ralph","active":false,"current_phase":"complete","completion_audit":{"passed":true,"prompt_to_artifact_checklist":["..."],"verification_evidence":["..."]}}\' --json',
2377
2512
  "- or set completion_audit_path / completion_audit_evidence_path to a repo-relative JSON file with those same fields.",
2378
2513
  "Markdown artifacts and flat top-level checklist/evidence fields are not accepted by the Ralph Stop gate.",
2379
2514
  ].join(" ");
@@ -2512,6 +2647,7 @@ export async function dispatchCodexNativeHook(payload, options = {}) {
2512
2647
  let skillState = null;
2513
2648
  let triageAdditionalContext = null;
2514
2649
  let goalWorkflowAdditionalContext = null;
2650
+ let ultragoalSteeringAdditionalContext = null;
2515
2651
  const nativeSessionId = safeString(payload.session_id ?? payload.sessionId).trim();
2516
2652
  const threadId = safeString(payload.thread_id ?? payload.threadId).trim();
2517
2653
  const turnId = safeString(payload.turn_id ?? payload.turnId).trim();
@@ -2519,10 +2655,12 @@ export async function dispatchCodexNativeHook(payload, options = {}) {
2519
2655
  let canonicalSessionId = safeString(currentSessionState?.session_id).trim();
2520
2656
  let resolvedNativeSessionId = nativeSessionId;
2521
2657
  let skipCanonicalSessionStartContext = false;
2658
+ let isSubagentSessionStart = false;
2522
2659
  if (hookEventName === "SessionStart" && nativeSessionId) {
2523
2660
  const transcriptPath = safeString(payload.transcript_path ?? payload.transcriptPath).trim();
2524
2661
  const subagentSessionStart = readNativeSubagentSessionStartMetadata(transcriptPath);
2525
2662
  if (subagentSessionStart && canonicalSessionId) {
2663
+ isSubagentSessionStart = true;
2526
2664
  const belongsToCanonicalSession = await nativeSubagentSessionStartBelongsToCanonicalSession(cwd, canonicalSessionId, currentSessionState, subagentSessionStart);
2527
2665
  if (belongsToCanonicalSession) {
2528
2666
  resolvedNativeSessionId = nativeSessionId;
@@ -2570,9 +2708,14 @@ export async function dispatchCodexNativeHook(payload, options = {}) {
2570
2708
  ].filter(Boolean))]
2571
2709
  .map((candidateSessionId) => isNativeSubagentHook(cwd, candidateSessionId, nativeSessionId, threadId)))).some(Boolean)
2572
2710
  : false;
2711
+ const suppressNoisySubagentLifecycleDispatch = (isSubagentSessionStart || isSubagentStop)
2712
+ && shouldSuppressSubagentLifecycleHookDispatch();
2573
2713
  if (hookEventName === "UserPromptSubmit") {
2574
2714
  const prompt = readPromptText(payload);
2575
2715
  goalWorkflowAdditionalContext = await buildGoalWorkflowReconciliationPromptWarning(cwd, prompt).catch(() => null);
2716
+ ultragoalSteeringAdditionalContext = prompt && !isSubagentPromptSubmit
2717
+ ? await applyUserPromptUltragoalSteering(cwd, prompt).catch((error) => `OMX native UserPromptSubmit rejected bounded .omx/ultragoal steering for G002-cli-and-prompt-submit-bridge: ${error instanceof Error ? error.message : String(error)}`)
2718
+ : null;
2576
2719
  if (prompt && !isSubagentPromptSubmit) {
2577
2720
  skillState = buildNativeOutsideTmuxTeamPromptBlockState(prompt, cwd, payload, sessionIdForState, threadId || undefined, turnId || undefined) ?? await recordSkillActivation({
2578
2721
  stateDir,
@@ -2661,7 +2804,7 @@ export async function dispatchCodexNativeHook(payload, options = {}) {
2661
2804
  const reconcileHudForPromptSubmitFn = options.reconcileHudForPromptSubmitFn ?? reconcileHudForPromptSubmit;
2662
2805
  await reconcileHudForPromptSubmitFn(cwd, { sessionId: canonicalSessionId || sessionIdForState || undefined }).catch(() => { });
2663
2806
  }
2664
- if (omxEventName && !skipCanonicalSessionStartContext) {
2807
+ if (omxEventName && !skipCanonicalSessionStartContext && !suppressNoisySubagentLifecycleDispatch) {
2665
2808
  const baseContext = buildBaseContext(cwd, payload, hookEventName, canonicalSessionId);
2666
2809
  if (resolvedNativeSessionId) {
2667
2810
  baseContext.native_session_id = resolvedNativeSessionId;
@@ -2698,7 +2841,12 @@ export async function dispatchCodexNativeHook(payload, options = {}) {
2698
2841
  })
2699
2842
  : isSubagentPromptSubmit
2700
2843
  ? null
2701
- : (buildAdditionalContextMessage(readPromptText(payload), skillState, cwd, payload) ?? goalWorkflowAdditionalContext ?? triageAdditionalContext);
2844
+ : [
2845
+ buildAdditionalContextMessage(readPromptText(payload), skillState, cwd, payload),
2846
+ ultragoalSteeringAdditionalContext,
2847
+ goalWorkflowAdditionalContext,
2848
+ triageAdditionalContext,
2849
+ ].filter((entry) => Boolean(entry)).join("\n\n") || null;
2702
2850
  if (additionalContext) {
2703
2851
  outputJson = {
2704
2852
  hookSpecificOutput: {