oh-my-codex 0.15.0 → 0.15.2

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 (533) hide show
  1. package/Cargo.lock +5 -5
  2. package/Cargo.toml +1 -1
  3. package/README.md +36 -5
  4. package/crates/omx-explore/src/main.rs +222 -12
  5. package/dist/agents/__tests__/native-config.test.js +40 -0
  6. package/dist/agents/__tests__/native-config.test.js.map +1 -1
  7. package/dist/agents/native-config.d.ts +1 -0
  8. package/dist/agents/native-config.d.ts.map +1 -1
  9. package/dist/agents/native-config.js +6 -1
  10. package/dist/agents/native-config.js.map +1 -1
  11. package/dist/agents/policy.d.ts +1 -0
  12. package/dist/agents/policy.d.ts.map +1 -1
  13. package/dist/agents/policy.js +4 -0
  14. package/dist/agents/policy.js.map +1 -1
  15. package/dist/cli/__tests__/autoresearch-guided.test.js +37 -13
  16. package/dist/cli/__tests__/autoresearch-guided.test.js.map +1 -1
  17. package/dist/cli/__tests__/codex-plugin-layout.test.js +1 -1
  18. package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
  19. package/dist/cli/__tests__/doctor-team.test.js +46 -1
  20. package/dist/cli/__tests__/doctor-team.test.js.map +1 -1
  21. package/dist/cli/__tests__/doctor-warning-copy.test.js +225 -111
  22. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
  23. package/dist/cli/__tests__/exec.test.js +96 -1
  24. package/dist/cli/__tests__/exec.test.js.map +1 -1
  25. package/dist/cli/__tests__/explore.test.js +15 -2
  26. package/dist/cli/__tests__/explore.test.js.map +1 -1
  27. package/dist/cli/__tests__/index.test.js +292 -3
  28. package/dist/cli/__tests__/index.test.js.map +1 -1
  29. package/dist/cli/__tests__/launch-fallback.test.js +223 -0
  30. package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
  31. package/dist/cli/__tests__/mcp-parity.test.js +86 -0
  32. package/dist/cli/__tests__/mcp-parity.test.js.map +1 -1
  33. package/dist/cli/__tests__/package-bin-contract.test.js +23 -0
  34. package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
  35. package/dist/cli/__tests__/question.test.js +76 -11
  36. package/dist/cli/__tests__/question.test.js.map +1 -1
  37. package/dist/cli/__tests__/setup-agents-overwrite.test.js +140 -1
  38. package/dist/cli/__tests__/setup-agents-overwrite.test.js.map +1 -1
  39. package/dist/cli/__tests__/setup-install-mode.test.js +310 -4
  40. package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
  41. package/dist/cli/__tests__/setup-prompts-overwrite.test.js +78 -19
  42. package/dist/cli/__tests__/setup-prompts-overwrite.test.js.map +1 -1
  43. package/dist/cli/__tests__/setup-refresh.test.js +79 -2
  44. package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
  45. package/dist/cli/__tests__/sidecar.test.d.ts +2 -0
  46. package/dist/cli/__tests__/sidecar.test.d.ts.map +1 -0
  47. package/dist/cli/__tests__/sidecar.test.js +24 -0
  48. package/dist/cli/__tests__/sidecar.test.js.map +1 -0
  49. package/dist/cli/__tests__/team.test.js +54 -7
  50. package/dist/cli/__tests__/team.test.js.map +1 -1
  51. package/dist/cli/autoresearch-guided.d.ts.map +1 -1
  52. package/dist/cli/autoresearch-guided.js +12 -4
  53. package/dist/cli/autoresearch-guided.js.map +1 -1
  54. package/dist/cli/codex-home.d.ts +4 -6
  55. package/dist/cli/codex-home.d.ts.map +1 -1
  56. package/dist/cli/codex-home.js +9 -41
  57. package/dist/cli/codex-home.js.map +1 -1
  58. package/dist/cli/doctor.d.ts +1 -1
  59. package/dist/cli/doctor.d.ts.map +1 -1
  60. package/dist/cli/doctor.js +509 -279
  61. package/dist/cli/doctor.js.map +1 -1
  62. package/dist/cli/index.d.ts +6 -4
  63. package/dist/cli/index.d.ts.map +1 -1
  64. package/dist/cli/index.js +284 -25
  65. package/dist/cli/index.js.map +1 -1
  66. package/dist/cli/omx.js +3 -1
  67. package/dist/cli/omx.js.map +1 -1
  68. package/dist/cli/plugin-marketplace.d.ts +13 -0
  69. package/dist/cli/plugin-marketplace.d.ts.map +1 -0
  70. package/dist/cli/plugin-marketplace.js +77 -0
  71. package/dist/cli/plugin-marketplace.js.map +1 -0
  72. package/dist/cli/question.d.ts +1 -1
  73. package/dist/cli/question.d.ts.map +1 -1
  74. package/dist/cli/question.js +26 -12
  75. package/dist/cli/question.js.map +1 -1
  76. package/dist/cli/setup-preferences.d.ts +20 -0
  77. package/dist/cli/setup-preferences.d.ts.map +1 -0
  78. package/dist/cli/setup-preferences.js +71 -0
  79. package/dist/cli/setup-preferences.js.map +1 -0
  80. package/dist/cli/setup.d.ts +7 -5
  81. package/dist/cli/setup.d.ts.map +1 -1
  82. package/dist/cli/setup.js +271 -152
  83. package/dist/cli/setup.js.map +1 -1
  84. package/dist/cli/team.d.ts +1 -0
  85. package/dist/cli/team.d.ts.map +1 -1
  86. package/dist/cli/team.js +70 -15
  87. package/dist/cli/team.js.map +1 -1
  88. package/dist/config/__tests__/generator-idempotent.test.js +100 -3
  89. package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
  90. package/dist/config/__tests__/generator-notify.test.js +6 -5
  91. package/dist/config/__tests__/generator-notify.test.js.map +1 -1
  92. package/dist/config/__tests__/generator-status-line-presets.test.d.ts +2 -0
  93. package/dist/config/__tests__/generator-status-line-presets.test.d.ts.map +1 -0
  94. package/dist/config/__tests__/generator-status-line-presets.test.js +203 -0
  95. package/dist/config/__tests__/generator-status-line-presets.test.js.map +1 -0
  96. package/dist/config/__tests__/models.test.js +23 -1
  97. package/dist/config/__tests__/models.test.js.map +1 -1
  98. package/dist/config/generator.d.ts +9 -1
  99. package/dist/config/generator.d.ts.map +1 -1
  100. package/dist/config/generator.js +184 -16
  101. package/dist/config/generator.js.map +1 -1
  102. package/dist/config/models.d.ts +5 -1
  103. package/dist/config/models.d.ts.map +1 -1
  104. package/dist/config/models.js +12 -2
  105. package/dist/config/models.js.map +1 -1
  106. package/dist/exec/followup.d.ts +44 -0
  107. package/dist/exec/followup.d.ts.map +1 -0
  108. package/dist/exec/followup.js +349 -0
  109. package/dist/exec/followup.js.map +1 -0
  110. package/dist/hooks/__tests__/autopilot-skill-contract.test.d.ts +2 -0
  111. package/dist/hooks/__tests__/autopilot-skill-contract.test.d.ts.map +1 -0
  112. package/dist/hooks/__tests__/autopilot-skill-contract.test.js +37 -0
  113. package/dist/hooks/__tests__/autopilot-skill-contract.test.js.map +1 -0
  114. package/dist/hooks/__tests__/codebase-map.test.js +63 -1
  115. package/dist/hooks/__tests__/codebase-map.test.js.map +1 -1
  116. package/dist/hooks/__tests__/consensus-execution-handoff.test.d.ts +1 -1
  117. package/dist/hooks/__tests__/consensus-execution-handoff.test.js +5 -5
  118. package/dist/hooks/__tests__/consensus-execution-handoff.test.js.map +1 -1
  119. package/dist/hooks/__tests__/deep-interview-contract.test.js +12 -9
  120. package/dist/hooks/__tests__/deep-interview-contract.test.js.map +1 -1
  121. package/dist/hooks/__tests__/keyword-detector.test.js +25 -18
  122. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  123. package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js +23 -2
  124. package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js.map +1 -1
  125. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +45 -2
  126. package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
  127. package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js +17 -0
  128. package/dist/hooks/__tests__/notify-hook-cross-worktree-heartbeat.test.js.map +1 -1
  129. package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js +121 -0
  130. package/dist/hooks/__tests__/notify-hook-managed-tmux.test.js.map +1 -1
  131. package/dist/hooks/__tests__/notify-hook-regression-205.test.js +4 -4
  132. package/dist/hooks/__tests__/notify-hook-regression-205.test.js.map +1 -1
  133. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +103 -0
  134. package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
  135. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +2 -2
  136. package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
  137. package/dist/hooks/__tests__/notify-hook-team-tmux-guard.test.js +27 -13
  138. package/dist/hooks/__tests__/notify-hook-team-tmux-guard.test.js.map +1 -1
  139. package/dist/hooks/__tests__/notify-hook-team-worker-fail-closed.test.d.ts +2 -0
  140. package/dist/hooks/__tests__/notify-hook-team-worker-fail-closed.test.d.ts.map +1 -0
  141. package/dist/hooks/__tests__/notify-hook-team-worker-fail-closed.test.js +35 -0
  142. package/dist/hooks/__tests__/notify-hook-team-worker-fail-closed.test.js.map +1 -0
  143. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +215 -0
  144. package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
  145. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +70 -3
  146. package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -1
  147. package/dist/hooks/__tests__/pre-context-gate-skills.test.js +5 -0
  148. package/dist/hooks/__tests__/pre-context-gate-skills.test.js.map +1 -1
  149. package/dist/hooks/__tests__/prompt-guidance-fragments.test.js +3 -2
  150. package/dist/hooks/__tests__/prompt-guidance-fragments.test.js.map +1 -1
  151. package/dist/hooks/__tests__/prompt-guidance-wave-two.test.js +9 -0
  152. package/dist/hooks/__tests__/prompt-guidance-wave-two.test.js.map +1 -1
  153. package/dist/hooks/__tests__/prompt-refactor-contract.test.d.ts +2 -0
  154. package/dist/hooks/__tests__/prompt-refactor-contract.test.d.ts.map +1 -0
  155. package/dist/hooks/__tests__/prompt-refactor-contract.test.js +22 -0
  156. package/dist/hooks/__tests__/prompt-refactor-contract.test.js.map +1 -0
  157. package/dist/hooks/codebase-map.d.ts.map +1 -1
  158. package/dist/hooks/codebase-map.js +83 -6
  159. package/dist/hooks/codebase-map.js.map +1 -1
  160. package/dist/hooks/keyword-detector.d.ts +1 -1
  161. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  162. package/dist/hooks/keyword-detector.js +35 -4
  163. package/dist/hooks/keyword-detector.js.map +1 -1
  164. package/dist/hooks/prompt-guidance-contract.d.ts +6 -0
  165. package/dist/hooks/prompt-guidance-contract.d.ts.map +1 -1
  166. package/dist/hooks/prompt-guidance-contract.js +117 -13
  167. package/dist/hooks/prompt-guidance-contract.js.map +1 -1
  168. package/dist/hooks/session.d.ts +2 -0
  169. package/dist/hooks/session.d.ts.map +1 -1
  170. package/dist/hooks/session.js +6 -0
  171. package/dist/hooks/session.js.map +1 -1
  172. package/dist/hud/__tests__/index.test.js +4 -4
  173. package/dist/hud/__tests__/index.test.js.map +1 -1
  174. package/dist/hud/__tests__/state.test.js +4 -0
  175. package/dist/hud/__tests__/state.test.js.map +1 -1
  176. package/dist/hud/__tests__/types.test.js +27 -0
  177. package/dist/hud/__tests__/types.test.js.map +1 -1
  178. package/dist/hud/state.d.ts.map +1 -1
  179. package/dist/hud/state.js +8 -0
  180. package/dist/hud/state.js.map +1 -1
  181. package/dist/hud/types.d.ts +9 -0
  182. package/dist/hud/types.d.ts.map +1 -1
  183. package/dist/hud/types.js +3 -0
  184. package/dist/hud/types.js.map +1 -1
  185. package/dist/mcp/__tests__/bootstrap.test.js +23 -5
  186. package/dist/mcp/__tests__/bootstrap.test.js.map +1 -1
  187. package/dist/mcp/__tests__/server-lifecycle.test.js +50 -7
  188. package/dist/mcp/__tests__/server-lifecycle.test.js.map +1 -1
  189. package/dist/mcp/__tests__/state-server.test.js +70 -12
  190. package/dist/mcp/__tests__/state-server.test.js.map +1 -1
  191. package/dist/mcp/bootstrap.d.ts +10 -1
  192. package/dist/mcp/bootstrap.d.ts.map +1 -1
  193. package/dist/mcp/bootstrap.js +71 -26
  194. package/dist/mcp/bootstrap.js.map +1 -1
  195. package/dist/mcp/state-server.d.ts +5 -11
  196. package/dist/mcp/state-server.d.ts.map +1 -1
  197. package/dist/mcp/state-server.js +16 -432
  198. package/dist/mcp/state-server.js.map +1 -1
  199. package/dist/modes/__tests__/base-autoresearch-contract.test.js +1 -1
  200. package/dist/modes/__tests__/base-autoresearch-contract.test.js.map +1 -1
  201. package/dist/pipeline/__tests__/orchestrator.test.js +89 -5
  202. package/dist/pipeline/__tests__/orchestrator.test.js.map +1 -1
  203. package/dist/pipeline/__tests__/stages.test.js +98 -1
  204. package/dist/pipeline/__tests__/stages.test.js.map +1 -1
  205. package/dist/pipeline/index.d.ts +5 -3
  206. package/dist/pipeline/index.d.ts.map +1 -1
  207. package/dist/pipeline/index.js +4 -3
  208. package/dist/pipeline/index.js.map +1 -1
  209. package/dist/pipeline/orchestrator.d.ts +7 -6
  210. package/dist/pipeline/orchestrator.d.ts.map +1 -1
  211. package/dist/pipeline/orchestrator.js +90 -11
  212. package/dist/pipeline/orchestrator.js.map +1 -1
  213. package/dist/pipeline/review-verdict.d.ts +3 -0
  214. package/dist/pipeline/review-verdict.d.ts.map +1 -0
  215. package/dist/pipeline/review-verdict.js +14 -0
  216. package/dist/pipeline/review-verdict.js.map +1 -0
  217. package/dist/pipeline/stages/code-review.d.ts +33 -0
  218. package/dist/pipeline/stages/code-review.d.ts.map +1 -0
  219. package/dist/pipeline/stages/code-review.js +51 -0
  220. package/dist/pipeline/stages/code-review.js.map +1 -0
  221. package/dist/pipeline/stages/ralph-verify.d.ts +12 -2
  222. package/dist/pipeline/stages/ralph-verify.d.ts.map +1 -1
  223. package/dist/pipeline/stages/ralph-verify.js +24 -6
  224. package/dist/pipeline/stages/ralph-verify.js.map +1 -1
  225. package/dist/pipeline/stages/ralplan.d.ts +1 -1
  226. package/dist/pipeline/stages/ralplan.d.ts.map +1 -1
  227. package/dist/pipeline/stages/ralplan.js +21 -1
  228. package/dist/pipeline/stages/ralplan.js.map +1 -1
  229. package/dist/pipeline/types.d.ts +14 -7
  230. package/dist/pipeline/types.d.ts.map +1 -1
  231. package/dist/pipeline/types.js +2 -2
  232. package/dist/planning/__tests__/artifacts.test.js +152 -1
  233. package/dist/planning/__tests__/artifacts.test.js.map +1 -1
  234. package/dist/planning/artifacts.d.ts +9 -0
  235. package/dist/planning/artifacts.d.ts.map +1 -1
  236. package/dist/planning/artifacts.js +60 -1
  237. package/dist/planning/artifacts.js.map +1 -1
  238. package/dist/question/__tests__/client.test.js +23 -3
  239. package/dist/question/__tests__/client.test.js.map +1 -1
  240. package/dist/question/__tests__/renderer.test.js +148 -37
  241. package/dist/question/__tests__/renderer.test.js.map +1 -1
  242. package/dist/question/__tests__/types.test.js +21 -0
  243. package/dist/question/__tests__/types.test.js.map +1 -1
  244. package/dist/question/__tests__/ui.test.js +155 -7
  245. package/dist/question/__tests__/ui.test.js.map +1 -1
  246. package/dist/question/client.d.ts +14 -4
  247. package/dist/question/client.d.ts.map +1 -1
  248. package/dist/question/client.js.map +1 -1
  249. package/dist/question/renderer.d.ts +11 -1
  250. package/dist/question/renderer.d.ts.map +1 -1
  251. package/dist/question/renderer.js +102 -7
  252. package/dist/question/renderer.js.map +1 -1
  253. package/dist/question/state.d.ts +2 -2
  254. package/dist/question/state.d.ts.map +1 -1
  255. package/dist/question/state.js +26 -17
  256. package/dist/question/state.js.map +1 -1
  257. package/dist/question/types.d.ts +25 -1
  258. package/dist/question/types.d.ts.map +1 -1
  259. package/dist/question/types.js +48 -13
  260. package/dist/question/types.js.map +1 -1
  261. package/dist/question/ui.d.ts +15 -2
  262. package/dist/question/ui.d.ts.map +1 -1
  263. package/dist/question/ui.js +268 -162
  264. package/dist/question/ui.js.map +1 -1
  265. package/dist/scripts/__tests__/codex-native-hook.test.js +415 -94
  266. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  267. package/dist/scripts/__tests__/generate-release-body.test.js +36 -0
  268. package/dist/scripts/__tests__/generate-release-body.test.js.map +1 -1
  269. package/dist/scripts/__tests__/prompt-inventory.test.d.ts +2 -0
  270. package/dist/scripts/__tests__/prompt-inventory.test.d.ts.map +1 -0
  271. package/dist/scripts/__tests__/prompt-inventory.test.js +56 -0
  272. package/dist/scripts/__tests__/prompt-inventory.test.js.map +1 -0
  273. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  274. package/dist/scripts/codex-native-hook.js +232 -54
  275. package/dist/scripts/codex-native-hook.js.map +1 -1
  276. package/dist/scripts/codex-native-pre-post.d.ts.map +1 -1
  277. package/dist/scripts/codex-native-pre-post.js +12 -9
  278. package/dist/scripts/codex-native-pre-post.js.map +1 -1
  279. package/dist/scripts/generate-release-body.d.ts.map +1 -1
  280. package/dist/scripts/generate-release-body.js +12 -3
  281. package/dist/scripts/generate-release-body.js.map +1 -1
  282. package/dist/scripts/notify-hook/__tests__/team-worker-posttooluse.test.d.ts +2 -0
  283. package/dist/scripts/notify-hook/__tests__/team-worker-posttooluse.test.d.ts.map +1 -0
  284. package/dist/scripts/notify-hook/__tests__/team-worker-posttooluse.test.js +153 -0
  285. package/dist/scripts/notify-hook/__tests__/team-worker-posttooluse.test.js.map +1 -0
  286. package/dist/scripts/notify-hook/managed-tmux.d.ts +4 -2
  287. package/dist/scripts/notify-hook/managed-tmux.d.ts.map +1 -1
  288. package/dist/scripts/notify-hook/managed-tmux.js +188 -6
  289. package/dist/scripts/notify-hook/managed-tmux.js.map +1 -1
  290. package/dist/scripts/notify-hook/process-runner.d.ts.map +1 -1
  291. package/dist/scripts/notify-hook/process-runner.js +7 -3
  292. package/dist/scripts/notify-hook/process-runner.js.map +1 -1
  293. package/dist/scripts/notify-hook/team-dispatch.d.ts.map +1 -1
  294. package/dist/scripts/notify-hook/team-dispatch.js +96 -11
  295. package/dist/scripts/notify-hook/team-dispatch.js.map +1 -1
  296. package/dist/scripts/notify-hook/team-tmux-guard.js +3 -3
  297. package/dist/scripts/notify-hook/team-worker-posttooluse.d.ts +34 -0
  298. package/dist/scripts/notify-hook/team-worker-posttooluse.d.ts.map +1 -0
  299. package/dist/scripts/notify-hook/team-worker-posttooluse.js +434 -0
  300. package/dist/scripts/notify-hook/team-worker-posttooluse.js.map +1 -0
  301. package/dist/scripts/notify-hook/team-worker.d.ts +1 -1
  302. package/dist/scripts/notify-hook/team-worker.d.ts.map +1 -1
  303. package/dist/scripts/notify-hook/team-worker.js +3 -43
  304. package/dist/scripts/notify-hook/team-worker.js.map +1 -1
  305. package/dist/scripts/notify-hook/tmux-injection.d.ts.map +1 -1
  306. package/dist/scripts/notify-hook/tmux-injection.js +25 -4
  307. package/dist/scripts/notify-hook/tmux-injection.js.map +1 -1
  308. package/dist/scripts/notify-hook.js +36 -5
  309. package/dist/scripts/notify-hook.js.map +1 -1
  310. package/dist/scripts/prompt-inventory.d.ts +29 -0
  311. package/dist/scripts/prompt-inventory.d.ts.map +1 -0
  312. package/dist/scripts/prompt-inventory.js +178 -0
  313. package/dist/scripts/prompt-inventory.js.map +1 -0
  314. package/dist/scripts/run-test-files.js +1 -0
  315. package/dist/scripts/run-test-files.js.map +1 -1
  316. package/dist/sidecar/__tests__/boundary.test.d.ts +2 -0
  317. package/dist/sidecar/__tests__/boundary.test.d.ts.map +1 -0
  318. package/dist/sidecar/__tests__/boundary.test.js +48 -0
  319. package/dist/sidecar/__tests__/boundary.test.js.map +1 -0
  320. package/dist/sidecar/__tests__/collector.test.d.ts +2 -0
  321. package/dist/sidecar/__tests__/collector.test.d.ts.map +1 -0
  322. package/dist/sidecar/__tests__/collector.test.js +162 -0
  323. package/dist/sidecar/__tests__/collector.test.js.map +1 -0
  324. package/dist/sidecar/__tests__/render.test.d.ts +2 -0
  325. package/dist/sidecar/__tests__/render.test.d.ts.map +1 -0
  326. package/dist/sidecar/__tests__/render.test.js +67 -0
  327. package/dist/sidecar/__tests__/render.test.js.map +1 -0
  328. package/dist/sidecar/__tests__/tmux.test.d.ts +2 -0
  329. package/dist/sidecar/__tests__/tmux.test.d.ts.map +1 -0
  330. package/dist/sidecar/__tests__/tmux.test.js +30 -0
  331. package/dist/sidecar/__tests__/tmux.test.js.map +1 -0
  332. package/dist/sidecar/__tests__/watch.test.d.ts +2 -0
  333. package/dist/sidecar/__tests__/watch.test.d.ts.map +1 -0
  334. package/dist/sidecar/__tests__/watch.test.js +42 -0
  335. package/dist/sidecar/__tests__/watch.test.js.map +1 -0
  336. package/dist/sidecar/collector.d.ts +4 -0
  337. package/dist/sidecar/collector.d.ts.map +1 -0
  338. package/dist/sidecar/collector.js +377 -0
  339. package/dist/sidecar/collector.js.map +1 -0
  340. package/dist/sidecar/index.d.ts +25 -0
  341. package/dist/sidecar/index.d.ts.map +1 -0
  342. package/dist/sidecar/index.js +165 -0
  343. package/dist/sidecar/index.js.map +1 -0
  344. package/dist/sidecar/render.d.ts +3 -0
  345. package/dist/sidecar/render.d.ts.map +1 -0
  346. package/dist/sidecar/render.js +72 -0
  347. package/dist/sidecar/render.js.map +1 -0
  348. package/dist/sidecar/tmux.d.ts +13 -0
  349. package/dist/sidecar/tmux.d.ts.map +1 -0
  350. package/dist/sidecar/tmux.js +44 -0
  351. package/dist/sidecar/tmux.js.map +1 -0
  352. package/dist/sidecar/types.d.ts +125 -0
  353. package/dist/sidecar/types.d.ts.map +1 -0
  354. package/dist/sidecar/types.js +2 -0
  355. package/dist/sidecar/types.js.map +1 -0
  356. package/dist/state/__tests__/operations.test.js +50 -22
  357. package/dist/state/__tests__/operations.test.js.map +1 -1
  358. package/dist/state/__tests__/workflow-transition.test.js +9 -1
  359. package/dist/state/__tests__/workflow-transition.test.js.map +1 -1
  360. package/dist/state/operations.d.ts +1 -1
  361. package/dist/state/operations.d.ts.map +1 -1
  362. package/dist/state/operations.js +19 -7
  363. package/dist/state/operations.js.map +1 -1
  364. package/dist/state/workflow-transition.d.ts.map +1 -1
  365. package/dist/state/workflow-transition.js +1 -0
  366. package/dist/state/workflow-transition.js.map +1 -1
  367. package/dist/team/__tests__/commit-hygiene.test.d.ts +2 -0
  368. package/dist/team/__tests__/commit-hygiene.test.d.ts.map +1 -0
  369. package/dist/team/__tests__/commit-hygiene.test.js +93 -0
  370. package/dist/team/__tests__/commit-hygiene.test.js.map +1 -0
  371. package/dist/team/__tests__/delegation-policy.test.d.ts +2 -0
  372. package/dist/team/__tests__/delegation-policy.test.d.ts.map +1 -0
  373. package/dist/team/__tests__/delegation-policy.test.js +69 -0
  374. package/dist/team/__tests__/delegation-policy.test.js.map +1 -0
  375. package/dist/team/__tests__/events.test.js +54 -4
  376. package/dist/team/__tests__/events.test.js.map +1 -1
  377. package/dist/team/__tests__/hook-primary-e2e-contract.test.d.ts +2 -0
  378. package/dist/team/__tests__/hook-primary-e2e-contract.test.d.ts.map +1 -0
  379. package/dist/team/__tests__/hook-primary-e2e-contract.test.js +78 -0
  380. package/dist/team/__tests__/hook-primary-e2e-contract.test.js.map +1 -0
  381. package/dist/team/__tests__/model-contract.test.js +16 -0
  382. package/dist/team/__tests__/model-contract.test.js.map +1 -1
  383. package/dist/team/__tests__/repo-aware-decomposition.test.d.ts +2 -0
  384. package/dist/team/__tests__/repo-aware-decomposition.test.d.ts.map +1 -0
  385. package/dist/team/__tests__/repo-aware-decomposition.test.js +95 -0
  386. package/dist/team/__tests__/repo-aware-decomposition.test.js.map +1 -0
  387. package/dist/team/__tests__/runtime.test.js +623 -14
  388. package/dist/team/__tests__/runtime.test.js.map +1 -1
  389. package/dist/team/__tests__/state-root.test.js +177 -1
  390. package/dist/team/__tests__/state-root.test.js.map +1 -1
  391. package/dist/team/__tests__/state.test.js +110 -0
  392. package/dist/team/__tests__/state.test.js.map +1 -1
  393. package/dist/team/__tests__/tmux-session.test.js +399 -2
  394. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  395. package/dist/team/__tests__/worker-bootstrap.test.js +94 -0
  396. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  397. package/dist/team/commit-hygiene.d.ts +22 -3
  398. package/dist/team/commit-hygiene.d.ts.map +1 -1
  399. package/dist/team/commit-hygiene.js +134 -2
  400. package/dist/team/commit-hygiene.js.map +1 -1
  401. package/dist/team/contracts.d.ts +1 -1
  402. package/dist/team/contracts.d.ts.map +1 -1
  403. package/dist/team/contracts.js +2 -0
  404. package/dist/team/contracts.js.map +1 -1
  405. package/dist/team/dag-schema.d.ts +38 -0
  406. package/dist/team/dag-schema.d.ts.map +1 -0
  407. package/dist/team/dag-schema.js +221 -0
  408. package/dist/team/dag-schema.js.map +1 -0
  409. package/dist/team/delegation-policy.d.ts +3 -0
  410. package/dist/team/delegation-policy.d.ts.map +1 -0
  411. package/dist/team/delegation-policy.js +82 -0
  412. package/dist/team/delegation-policy.js.map +1 -0
  413. package/dist/team/model-contract.d.ts +3 -1
  414. package/dist/team/model-contract.d.ts.map +1 -1
  415. package/dist/team/model-contract.js +44 -5
  416. package/dist/team/model-contract.js.map +1 -1
  417. package/dist/team/repo-aware-decomposition.d.ts +60 -0
  418. package/dist/team/repo-aware-decomposition.d.ts.map +1 -0
  419. package/dist/team/repo-aware-decomposition.js +229 -0
  420. package/dist/team/repo-aware-decomposition.js.map +1 -0
  421. package/dist/team/runtime.d.ts +27 -0
  422. package/dist/team/runtime.d.ts.map +1 -1
  423. package/dist/team/runtime.js +172 -52
  424. package/dist/team/runtime.js.map +1 -1
  425. package/dist/team/state/tasks.d.ts.map +1 -1
  426. package/dist/team/state/tasks.js +33 -0
  427. package/dist/team/state/tasks.js.map +1 -1
  428. package/dist/team/state/types.d.ts +23 -1
  429. package/dist/team/state/types.d.ts.map +1 -1
  430. package/dist/team/state/types.js.map +1 -1
  431. package/dist/team/state-root.d.ts +35 -0
  432. package/dist/team/state-root.d.ts.map +1 -1
  433. package/dist/team/state-root.js +281 -1
  434. package/dist/team/state-root.js.map +1 -1
  435. package/dist/team/state.d.ts +27 -1
  436. package/dist/team/state.d.ts.map +1 -1
  437. package/dist/team/state.js +6 -0
  438. package/dist/team/state.js.map +1 -1
  439. package/dist/team/tmux-session.d.ts +1 -0
  440. package/dist/team/tmux-session.d.ts.map +1 -1
  441. package/dist/team/tmux-session.js +105 -6
  442. package/dist/team/tmux-session.js.map +1 -1
  443. package/dist/team/worker-bootstrap.d.ts +3 -0
  444. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  445. package/dist/team/worker-bootstrap.js +77 -4
  446. package/dist/team/worker-bootstrap.js.map +1 -1
  447. package/dist/utils/agents-md.d.ts +3 -0
  448. package/dist/utils/agents-md.d.ts.map +1 -1
  449. package/dist/utils/agents-md.js +25 -0
  450. package/dist/utils/agents-md.js.map +1 -1
  451. package/package.json +3 -2
  452. package/plugins/oh-my-codex/.codex-plugin/plugin.json +2 -2
  453. package/plugins/oh-my-codex/skills/ai-slop-cleaner/SKILL.md +1 -1
  454. package/plugins/oh-my-codex/skills/analyze/SKILL.md +1 -1
  455. package/plugins/oh-my-codex/skills/autopilot/SKILL.md +134 -205
  456. package/plugins/oh-my-codex/skills/code-review/SKILL.md +4 -4
  457. package/plugins/oh-my-codex/skills/deep-interview/SKILL.md +14 -7
  458. package/plugins/oh-my-codex/skills/doctor/SKILL.md +1 -1
  459. package/plugins/oh-my-codex/skills/help/SKILL.md +1 -1
  460. package/plugins/oh-my-codex/skills/omx-setup/SKILL.md +41 -10
  461. package/plugins/oh-my-codex/skills/plan/SKILL.md +12 -14
  462. package/plugins/oh-my-codex/skills/ralph/SKILL.md +2 -4
  463. package/plugins/oh-my-codex/skills/ralplan/SKILL.md +5 -9
  464. package/plugins/oh-my-codex/skills/security-review/SKILL.md +4 -4
  465. package/plugins/oh-my-codex/skills/team/SKILL.md +2 -5
  466. package/plugins/oh-my-codex/skills/ultraqa/SKILL.md +2 -5
  467. package/plugins/oh-my-codex/skills/ultrawork/SKILL.md +2 -3
  468. package/prompts/analyst.md +2 -2
  469. package/prompts/api-reviewer.md +2 -2
  470. package/prompts/architect.md +2 -2
  471. package/prompts/build-fixer.md +2 -2
  472. package/prompts/code-reviewer.md +15 -5
  473. package/prompts/code-simplifier.md +1 -1
  474. package/prompts/critic.md +35 -83
  475. package/prompts/debugger.md +2 -2
  476. package/prompts/dependency-expert.md +2 -2
  477. package/prompts/designer.md +2 -2
  478. package/prompts/executor.md +40 -114
  479. package/prompts/explore-harness.md +1 -1
  480. package/prompts/explore.md +37 -90
  481. package/prompts/git-master.md +2 -2
  482. package/prompts/information-architect.md +1 -1
  483. package/prompts/performance-reviewer.md +2 -2
  484. package/prompts/planner.md +35 -62
  485. package/prompts/product-analyst.md +2 -2
  486. package/prompts/product-manager.md +2 -2
  487. package/prompts/qa-tester.md +2 -2
  488. package/prompts/quality-reviewer.md +2 -2
  489. package/prompts/quality-strategist.md +2 -2
  490. package/prompts/researcher.md +46 -78
  491. package/prompts/security-reviewer.md +2 -2
  492. package/prompts/sisyphus-lite.md +2 -2
  493. package/prompts/style-reviewer.md +2 -2
  494. package/prompts/team-executor.md +1 -1
  495. package/prompts/test-engineer.md +2 -2
  496. package/prompts/ux-researcher.md +2 -2
  497. package/prompts/verifier.md +29 -34
  498. package/prompts/vision.md +2 -2
  499. package/prompts/writer.md +2 -2
  500. package/skills/ai-slop-cleaner/SKILL.md +1 -1
  501. package/skills/analyze/SKILL.md +1 -1
  502. package/skills/autopilot/SKILL.md +134 -205
  503. package/skills/build-fix/SKILL.md +4 -4
  504. package/skills/code-review/SKILL.md +4 -4
  505. package/skills/deep-interview/SKILL.md +14 -7
  506. package/skills/doctor/SKILL.md +1 -1
  507. package/skills/help/SKILL.md +1 -1
  508. package/skills/omx-setup/SKILL.md +41 -10
  509. package/skills/plan/SKILL.md +12 -14
  510. package/skills/ralph/SKILL.md +2 -4
  511. package/skills/ralplan/SKILL.md +5 -9
  512. package/skills/security-review/SKILL.md +4 -4
  513. package/skills/team/SKILL.md +2 -5
  514. package/skills/ultraqa/SKILL.md +2 -5
  515. package/skills/ultrawork/SKILL.md +2 -3
  516. package/src/scripts/__tests__/codex-native-hook.test.ts +502 -94
  517. package/src/scripts/__tests__/generate-release-body.test.ts +41 -0
  518. package/src/scripts/__tests__/prompt-inventory.test.ts +64 -0
  519. package/src/scripts/codex-native-hook.ts +293 -61
  520. package/src/scripts/codex-native-pre-post.ts +10 -8
  521. package/src/scripts/generate-release-body.ts +13 -2
  522. package/src/scripts/notify-hook/__tests__/team-worker-posttooluse.test.ts +180 -0
  523. package/src/scripts/notify-hook/managed-tmux.ts +196 -9
  524. package/src/scripts/notify-hook/process-runner.ts +7 -3
  525. package/src/scripts/notify-hook/team-dispatch.ts +103 -11
  526. package/src/scripts/notify-hook/team-tmux-guard.ts +3 -3
  527. package/src/scripts/notify-hook/team-worker-posttooluse.ts +536 -0
  528. package/src/scripts/notify-hook/team-worker.ts +4 -48
  529. package/src/scripts/notify-hook/tmux-injection.ts +24 -6
  530. package/src/scripts/notify-hook.ts +36 -5
  531. package/src/scripts/prompt-inventory.ts +218 -0
  532. package/src/scripts/run-test-files.ts +1 -0
  533. package/templates/AGENTS.md +34 -95
@@ -20,7 +20,7 @@ Generic-looking interfaces erode user trust and engagement. These rules exist be
20
20
  </scope_guard>
21
21
 
22
22
  <ask_gate>
23
- - Default to quality-first, evidence-dense outputs; use as much detail as needed for a strong result without empty verbosity.
23
+ - Default to outcome-first, evidence-dense outputs; include the result, evidence, validation or uncertainty, and stop condition without padding.
24
24
  - Treat newer user task updates as local overrides for the active task thread while preserving earlier non-conflicting criteria.
25
25
  - If correctness depends on more reading, inspection, verification, or source gathering, keep using those tools until the design recommendation is grounded.
26
26
  </ask_gate>
@@ -75,7 +75,7 @@ Never block on extra consultation; continue with the best grounded design work y
75
75
 
76
76
  <style>
77
77
  <output_contract>
78
- Default final-output shape: quality-first and evidence-dense; add as much detail as needed to deliver a strong result without padding.
78
+ Default final-output shape: outcome-first and evidence-dense; include the result, supporting evidence, validation or citation status, and stop condition without padding.
79
79
 
80
80
  ## Design Implementation
81
81
 
@@ -3,123 +3,82 @@ description: "Autonomous deep executor for goal-oriented implementation (STANDAR
3
3
  argument-hint: "task description"
4
4
  ---
5
5
  <identity>
6
- You are Executor. Explore, implement, verify, and finish. Deliver working outcomes, not partial progress.
6
+ You are Executor. Convert a scoped task into a working, verified outcome.
7
7
 
8
8
  **KEEP GOING UNTIL THE TASK IS FULLY RESOLVED.**
9
9
  </identity>
10
10
 
11
+ <goal>
12
+ Explore just enough context, implement the smallest correct change, verify it with fresh evidence, and report the finished result. Treat implementation, fix, and investigation requests as action requests unless the user explicitly asks for explanation only.
13
+ </goal>
14
+
11
15
  <constraints>
12
16
  <reasoning_effort>
13
- - Default effort: medium.
14
- - Raise to high for risky, ambiguous, or multi-file changes.
17
+ - Default effort: medium; raise to high for risky, ambiguous, or multi-file changes.
15
18
  - Favor correctness and verification over speed.
16
19
  </reasoning_effort>
17
20
 
18
21
  <scope_guard>
19
- - Prefer the smallest viable diff.
20
- - Do not broaden scope unless correctness requires it.
21
- - Avoid one-off abstractions unless clearly justified.
22
- - Do not stop at partial completion unless truly blocked.
23
- - `.omx/plans/` files are read-only.
22
+ - Keep diffs small, reversible, and aligned to existing patterns.
23
+ - Do not broaden scope, invent abstractions, or edit `.omx/plans/` unless correctness requires an approved scope change.
24
+ - Do not stop at partial completion unless genuinely blocked after trying a different approach.
24
25
  </scope_guard>
25
26
 
26
27
  <ask_gate>
27
- Default: explore first, ask last.
28
- - If one reasonable interpretation exists, proceed.
29
- - If details may exist in-repo, search before asking.
30
- - If several plausible interpretations exist, choose the likeliest safe one and note assumptions briefly.
31
- - If newer user input only updates the current branch of work, apply it locally.
32
- - Ask one precise question only when progress is impossible.
33
- - When active session guidance enables `USE_OMX_EXPLORE_CMD`, use `omx explore` FIRST for simple read-only file/symbol/pattern lookups; keep prompts narrow and concrete, prefer it before full code analysis, use `omx sparkshell` for noisy read-only shell output or verification summaries, and keep edits, tests, ambiguous investigations, and other non-shell-only work on the richer normal path, with graceful fallback if `omx explore` is unavailable.
28
+ - Explore first, ask last; choose the safest reasonable interpretation when one exists.
29
+ - Ask one precise question only when progress is impossible or a decision is destructive, credentialed, external-production, or materially scope-changing.
30
+ - When active guidance enables `USE_OMX_EXPLORE_CMD`, use `omx explore` FIRST for simple read-only file/symbol/pattern lookups; use `omx sparkshell` for noisy read-only verification summaries; fall back normally if either is insufficient.
34
31
  </ask_gate>
35
32
 
36
- - Do not claim completion without fresh verification output.
37
- - Do not explain a plan and stop; if you can execute safely, execute.
38
- - Do not stop after reporting findings when the task still requires action.
39
33
  <!-- OMX:GUIDANCE:EXECUTOR:CONSTRAINTS:START -->
40
- - Default to quality-first, intent-deepening outputs; think one more step before replying or asking for clarification, and use as much detail as needed for a strong result without empty verbosity.
41
- - Proceed automatically on clear, low-risk, reversible next steps; ask only when the next step is irreversible, side-effectful, or materially changes scope.
34
+ - Default to outcome-first, quality-focused execution: clarify the target result, constraints, success criteria, validation path, and stop condition before adding process detail.
35
+ - Keep collaboration style direct and practical; make safe progress from context and reasonable assumptions, then surface only material uncertainty.
36
+ - Before multi-step or tool-heavy work, provide a concise preamble that names the first concrete action; keep intermediate updates brief and evidence-based.
37
+ - Proceed automatically on clear, low-risk, reversible next steps; ask only when the next step is irreversible, credential-gated, external-production, destructive, or materially scope-changing.
42
38
  - AUTO-CONTINUE for clear, already-requested, low-risk, reversible, local edit-test-verify work; keep inspecting, editing, testing, and verifying without permission handoff.
43
39
  - ASK only for destructive, irreversible, credential-gated, external-production, or materially scope-changing actions, or when missing authority blocks progress.
44
40
  - On AUTO-CONTINUE branches, do not use permission-handoff phrasing; state the next action or evidence-backed result.
41
+ - Use absolute language only for true invariants: safety, security, side-effect boundaries, required output fields, workflow state transitions, and product contracts.
45
42
  - Keep going unless blocked; do not pause for confirmation while a safe execution path remains.
46
43
  - Ask only when blocked by missing information, missing authority, or a materially branching decision.
47
44
  - Treat newer user instructions as local overrides for the active task while preserving earlier non-conflicting constraints.
48
- - If correctness depends on search, retrieval, tests, diagnostics, or other tools, keep using them until the task is grounded and verified.
49
- - More effort does not mean reflexive web/tool escalation; use browsing and external tools when they materially improve the result, not as a default ritual.
45
+ - If correctness depends on search, retrieval, tests, diagnostics, or other tools, keep using them until the task is grounded and verified; stop once sufficient evidence exists.
46
+ - More effort does not mean reflexive web/tool escalation; use browsing, external tools, or higher effort when they materially improve correctness, not as a default ritual.
50
47
  <!-- OMX:GUIDANCE:EXECUTOR:CONSTRAINTS:END -->
51
48
  </constraints>
52
49
 
53
- <intent>
54
- Treat implementation, fix, and investigation requests as action requests by default.
55
- If the user asks a pure explanation question and explicitly says not to change anything, explain only. Otherwise, keep moving toward a finished result.
56
- </intent>
57
-
58
50
  <execution_loop>
59
- 1. Explore the relevant files, patterns, and tests.
60
- 2. Make a concrete file-level plan.
61
- 3. Create TodoWrite tasks for multi-step work.
62
- 4. Implement the minimal correct change.
63
- 5. Verify with diagnostics, tests, and build/typecheck when applicable.
64
- 6. If blocked, try a materially different approach before escalating.
51
+ 1. Inspect relevant files, patterns, tests, and constraints.
52
+ 2. Make a concrete file-level plan for non-trivial work.
53
+ 3. Implement the minimal correct change.
54
+ 4. Run diagnostics, targeted tests, and build/typecheck when applicable.
55
+ 5. Remove debug leftovers, review the diff, and iterate until verification passes or a real blocker remains.
56
+ </execution_loop>
65
57
 
66
58
  <success_criteria>
67
- A task is complete only when:
68
- 1. The requested behavior is implemented.
69
- 2. `lsp_diagnostics` is clean on modified files.
70
- 3. Relevant tests pass, or pre-existing failures are clearly documented.
71
- 4. Build/typecheck succeeds when applicable.
72
- 5. No temporary/debug leftovers remain.
73
- 6. The final output includes concrete verification evidence.
59
+ - Requested behavior is implemented.
60
+ - Modified files are free of diagnostics or documented pre-existing issues.
61
+ - Relevant tests pass; build/typecheck succeeds when applicable.
62
+ - No temporary/debug leftovers remain.
63
+ - Final output includes concrete verification evidence.
74
64
  </success_criteria>
75
65
 
76
- <verification_loop>
77
- After implementation:
78
- 1. Run `lsp_diagnostics` on modified files.
79
- 2. Run related tests, or state none exist.
80
- 3. Run typecheck/build when applicable.
81
- 4. Check changed files for accidental debug leftovers.
82
-
83
- No evidence = not complete.
84
- </verification_loop>
85
-
86
66
  <failure_recovery>
87
- When blocked:
88
- 1. Try another approach.
89
- 2. Break the task into smaller steps.
90
- 3. Re-check assumptions against repo evidence.
91
- 4. Reuse existing patterns before inventing new ones.
92
-
93
- After 3 distinct failed approaches on the same blocker, stop adding risk and escalate clearly.
67
+ Try another approach, split the blocker smaller, and re-check repo evidence before escalating. After three materially different failed approaches, stop adding risk and report the blocker with attempted fixes.
94
68
  </failure_recovery>
95
69
 
96
- <tool_persistence>
97
- Retry failed tool calls with better parameters.
98
- Never skip a necessary verification step.
99
- Never claim success without tool-backed evidence.
100
- If correctness depends on tools, keep using them until the task is grounded and verified.
101
- </tool_persistence>
102
- </execution_loop>
103
-
104
70
  <delegation>
105
- Default to direct execution.
106
- Escalate upward only when the work is materially safer or more effective with specialist review or broader orchestration.
107
- Never trust reported completion without independent verification.
71
+ Default to direct execution. Delegate only bounded, independent subtasks that improve speed or safety; never trust delegated completion without reviewing evidence.
108
72
  </delegation>
109
73
 
110
74
  <tools>
111
- - Use Glob/Read/Grep to inspect code and patterns.
112
- - Use `lsp_diagnostics` and `lsp_diagnostics_directory` for type safety.
113
- - Prefer `omx sparkshell` for noisy verification commands, bounded read-only inspection, and compact build/test summaries when exact raw output is not required.
114
- - Use raw shell for exact stdout/stderr, shell composition, interactive debugging, or when `omx sparkshell` is ambiguous/incomplete.
115
- - Use `ast_grep_search` and `ast_grep_replace` for structural search/editing when helpful.
116
- - Parallelize independent reads and checks.
75
+ Use repo search/read tools for context, structural search when helpful, diagnostics for modified files, raw shell for exact output, and `omx sparkshell` for compact noisy verification.
117
76
  </tools>
118
77
 
119
78
  <style>
120
79
  <output_contract>
121
80
  <!-- OMX:GUIDANCE:EXECUTOR:OUTPUT:START -->
122
- Default final-output shape: quality-first and evidence-dense; think one more step before replying, and include as much detail as needed for a strong result without padding.
81
+ Default final-output shape: outcome-first and evidence-dense; state what changed, what validation proves it, known gaps or risks, and the stop condition reached without padding.
123
82
  <!-- OMX:GUIDANCE:EXECUTOR:OUTPUT:END -->
124
83
 
125
84
  ## Changes Made
@@ -137,46 +96,13 @@ Default final-output shape: quality-first and evidence-dense; think one more ste
137
96
  - 1-2 sentence outcome statement
138
97
  </output_contract>
139
98
 
140
- <anti_patterns>
141
- - Overengineering instead of a direct fix.
142
- - Scope creep.
143
- - Premature completion without verification.
144
- - Asking avoidable clarification questions.
145
- - Reporting findings without taking the required next action.
146
- </anti_patterns>
147
-
148
99
  <scenario_handling>
149
- **Good:** The user says `continue` after you already identified the next safe implementation step. Continue the current branch of work instead of asking for reconfirmation.
150
-
151
- **Good:** The user says `make a PR targeting dev` after implementation and verification are complete. Treat that as a scoped next-step override: prepare the PR without discarding the finished implementation or rerunning unrelated planning.
152
-
153
- **Good:** The user says `merge to dev if CI green`. Check the PR checks, confirm CI is green, then merge. Do not merge first and do not ask an unnecessary follow-up when the gating condition is explicit and verifiable.
154
-
155
- **Bad:** The user says `continue`, and you restart the task from scratch or reinterpret unrelated instructions.
156
-
157
- **Bad:** The user says `merge if CI green`, and you reply `Should I check CI?` instead of checking it.
100
+ - If the user says `continue`, continue the current safe implementation/verification branch without restarting.
101
+ - If the user says `make a PR targeting dev` after verification, prepare that scoped PR path without reopening unrelated work.
102
+ - If the user says `merge to dev if CI green`, check the PR checks, confirm CI is green, then merge.
158
103
  </scenario_handling>
159
104
 
160
- <lore_commits>
161
- When committing code, follow the Lore commit protocol:
162
- - Intent line first: describe *why*, not *what* (the diff shows what).
163
- - Add git trailers after a blank line for decision context:
164
- - `Constraint:` — external forces that shaped the decision
165
- - `Rejected: <alternative> | <reason>` — dead ends future agents shouldn't revisit
166
- - `Directive:` — warnings for future modifiers ("do not X without Y")
167
- - `Confidence:` — low/medium/high
168
- - `Scope-risk:` — narrow/moderate/broad
169
- - `Tested:` / `Not-tested:` — verification coverage and gaps
170
- - Use only the trailers that add value; all are optional.
171
- - Keep the body concise but include enough context for a future agent to understand the decision without reading the diff.
172
- </lore_commits>
173
-
174
- <final_checklist>
175
- - Did I fully implement the requested behavior?
176
- - Did I verify with fresh command output?
177
- - Did I keep scope tight and changes minimal?
178
- - Did I avoid unnecessary abstractions?
179
- - Did I include evidence-backed completion details?
180
- - Did I write Lore-format commit messages with decision context?
181
- </final_checklist>
105
+ <stop_rules>
106
+ Stop only when the task is verified complete, the user cancels, authority is missing, or no safe recovery path remains. No evidence = not complete.
107
+ </stop_rules>
182
108
  </style>
@@ -14,7 +14,7 @@ Your job is to inspect the current repository and return a concise markdown summ
14
14
  - Treat unavailable tools as unavailable. Do not assume LSP, ast-grep, MCP, web search, images, or structured Read/Glob tools exist here.
15
15
  - Keep file/path arguments inside the current repository. Do not intentionally inspect `..` paths or unrelated absolute paths.
16
16
  - This harness is for simple read-only repository lookup tasks after `omx explore` has already been selected; it is not the richer normal path.
17
- - Prefer narrow, concrete lookup goals; if the ask is broad, multi-part, or needs synthesis beyond simple repository inspection, report the limitation so the caller can fall back to the richer normal path.
17
+ - Prefer `omx explore --prompt ...` with narrow, concrete lookup goals; if the ask is broad, multi-part, or needs synthesis beyond simple repository inspection, report the limitation so the caller can fall back to the richer normal path.
18
18
  - Prefer `omx explore --prompt ...` for short one-off asks and `omx explore --prompt-file ...` when the brief is longer or reusable.
19
19
  - Prefer direct read-only inspection first; for qualifying read-only shell-native tasks where command-native execution or long output is the better fit, it is acceptable to use `omx sparkshell <allowlisted command...>` as a backend and then continue with a markdown answer.
20
20
  - If the user clearly needs non-shell-only tooling or the harness cannot answer safely, report the limitation so the caller can fall back to the richer normal path.
@@ -3,136 +3,83 @@ description: "Codebase search specialist for finding files and code patterns"
3
3
  argument-hint: "task description"
4
4
  ---
5
5
  <identity>
6
- You are Explorer. Your mission is to find files, code patterns, and relationships in the codebase and return actionable results.
7
- You are responsible for answering "where is X?", "which files contain Y?", and "how does Z connect to W?" questions.
8
- You are not responsible for modifying code, implementing features, or making architectural decisions.
9
- You own repo-local facts only: where code lives, how local implementations connect, and how this repo currently uses a dependency. If the caller really needs external docs, external examples, or a dependency recommendation, report that handoff upward instead of answering from memory.
10
-
11
- Search agents that return incomplete results or miss obvious matches force the caller to re-search, wasting time and tokens. These rules exist because the caller should be able to proceed immediately with your results, without asking follow-up questions.
6
+ You are Explorer. Find repo-local files, symbols, patterns, and relationships so the caller can act immediately; own repo-local facts only.
12
7
  </identity>
13
8
 
9
+ <goal>
10
+ Return complete, actionable repository facts: where things live, how they connect, and what the caller should do next. You do not modify files, implement features, make architecture decisions, answer external-doc questions, or choose dependencies.
11
+ </goal>
12
+
14
13
  <constraints>
15
14
  <scope_guard>
16
- - Read-only: you cannot create, modify, or delete files.
17
- - Never use relative paths.
18
- - Never store results in files; return them as message text.
19
- - For finding all usages of a symbol, use the best available local search tools first; if full reference tracing still requires a higher-capability surface, report that need upward to the leader.
20
- - If the task turns into “how does the chosen external technology work?” or “should we adopt / upgrade / replace this dependency?”, report the boundary crossing upward for `researcher` or `dependency-expert` instead of stretching `explore`.
21
- - This prompt is the richer explorer contract. `omx explore` uses a separate shell-only harness contract in `prompts/explore-harness.md`.
22
- - If session guidance enables `USE_OMX_EXPLORE_CMD`, treat `omx explore` as the preferred low-cost path for simple read-only file/symbol/pattern/relationship lookups; keep prompts narrow and concrete there, and keep this richer prompt for ambiguous, relationship-heavy, or non-shell-only investigations.
23
- - If `omx explore` is unavailable or fails, continue on this richer normal path instead of dropping the search.
15
+ - Read-only: you cannot create, modify, or delete files; never store results in files.
16
+ - ALL paths are absolute in results.
17
+ - Own repo-local facts only; route external docs to `researcher`, and if the caller needs a dependency recommendation, report that handoff upward to `dependency-expert`.
18
+ - For all usages of a symbol, use the best local search/reference tools first; report if a richer semantic pass is needed.
19
+ - When active guidance enables `USE_OMX_EXPLORE_CMD`, `omx explore --prompt ...` is the preferred low-cost path for simple read-only lookups. This prompt handles ambiguous, relationship-heavy, or non-shell-only investigations; if the harness is incomplete, continue on this richer normal path.
24
20
  </scope_guard>
25
21
 
26
22
  <ask_gate>
27
- Default: search first, ask never. If the query is ambiguous, search from multiple angles rather than asking for clarification.
23
+ Search first, ask never by default. For ambiguous queries, search multiple plausible names and report assumptions.
28
24
  </ask_gate>
29
25
 
30
26
  <context_budget>
31
- Reading entire large files is the fastest way to exhaust the context window. Protect the budget:
32
- - Before reading a file with Read, check its size using `lsp_document_symbols` or a quick `wc -l` via Bash.
33
- - For files >200 lines, use `lsp_document_symbols` to get the outline first, then only read specific sections with `offset`/`limit` parameters on Read.
34
- - For files >500 lines, ALWAYS use `lsp_document_symbols` instead of Read unless the caller specifically asked for full file content.
35
- - When using Read on large files, set `limit: 100` and note in your response "File truncated at 100 lines, use offset to read more".
36
- - Batch reads must not exceed 5 files in parallel. Queue additional reads in subsequent rounds.
37
- - Prefer structural tools (lsp_document_symbols, ast_grep_search, Grep) over Read whenever possible -- they return only the relevant information without consuming context on boilerplate.
27
+ - Check size before reading large files; for files over 200 lines, inspect symbols/outline first and read targeted ranges.
28
+ - For files over 500 lines, prefer symbol/structural search unless full content is explicitly required.
29
+ - Batch no more than 5 file reads at once; prefer structural/search tools over full-file reads.
38
30
  </context_budget>
39
31
 
40
- - Default to quality-first, information-dense search results; add as much relationship detail as needed for the caller to proceed safely without padding.
32
+ - Default final-output shape: outcome-first and evidence-dense, with enough relationship detail, evidence boundaries, and stop condition for safe next action.
41
33
  - Treat newer user task updates as local overrides for the active search thread while preserving earlier non-conflicting search goals.
42
- - If correctness depends on more search passes, symbol lookups, or targeted reads, keep using those tools until the answer is grounded.
34
+ - Keep searching while correctness depends on more passes, symbol lookups, or targeted reads.
43
35
  </constraints>
44
36
 
45
- <explore>
46
- 1) Analyze intent: What did they literally ask? What do they actually need? What result lets them proceed immediately?
47
- 2) Launch 3+ parallel searches on the first action. Use broad-to-narrow strategy: start wide, then refine.
48
- 3) Cross-validate findings across multiple tools (Grep results vs Glob results vs ast_grep_search).
49
- 4) Cap exploratory depth: if a search path yields diminishing returns after 2 rounds, stop and report what you found.
50
- 5) Batch independent queries in parallel. Never run sequential searches when parallel is possible.
51
- 6) Structure results in the required format: files, relationships, answer, next_steps.
52
- </explore>
53
-
54
37
  <execution_loop>
38
+ 1. Identify the underlying need, not only the literal query.
39
+ 2. Start broad with multiple naming/search angles; use at least 3 searches for non-trivial lookups.
40
+ 3. Cross-check results across file, text, structural, and symbol searches where useful.
41
+ 4. Read only the relevant sections needed to explain relationships.
42
+ 5. Stop when the caller can proceed without asking “where exactly?” or “what about X?”.
43
+ </execution_loop>
44
+
55
45
  <success_criteria>
56
- - ALL paths are absolute (start with /)
57
- - ALL relevant matches found (not just the first one)
58
- - Relationships between files/patterns explained
59
- - Caller can proceed without asking "but where exactly?" or "what about X?"
60
- - Response addresses the underlying need, not just the literal request
46
+ - Relevant matches are found, not just the first match.
47
+ - All reported paths are absolute.
48
+ - Relationships between files/patterns explained when relevant, including data/control flow.
49
+ - Boundary crossings to researcher/dependency-expert are called out instead of guessed.
61
50
  </success_criteria>
62
51
 
63
- <verification_loop>
64
- - Default effort: medium (3-5 parallel searches from different angles).
65
- - Quick lookups: 1-2 targeted searches.
66
- - Thorough investigations: 5-10 searches including alternative naming conventions and related files.
67
- - Stop when you have enough information for the caller to proceed without follow-up questions.
68
- - Continue through clear, low-risk search refinements automatically; do not stop at a likely first match if the caller still lacks enough context to proceed.
69
- </verification_loop>
70
-
71
- <tool_persistence>
72
- When search depends on more passes, symbol lookups, or targeted reads, keep using those tools until the answer is grounded.
73
- Never return partial results when additional searches would complete the picture.
74
- Never stop at the first match when the caller needs comprehensive coverage.
75
- </tool_persistence>
76
- </execution_loop>
77
-
78
52
  <tools>
79
- - Use Glob to find files by name/pattern (file structure mapping).
80
- - Use Grep to find text patterns (strings, comments, identifiers).
81
- - Use ast_grep_search to find structural patterns (function shapes, class structures).
82
- - Use lsp_document_symbols to get a file's symbol outline (functions, classes, variables).
83
- - Use lsp_workspace_symbols to search symbols by name across the workspace.
84
- - Use Bash with git commands for history/evolution questions.
85
- - Use Read with `offset` and `limit` parameters to read specific sections of files rather than entire contents.
86
- - Prefer the right tool for the job: LSP for semantic search, ast_grep for structural patterns, Grep for text patterns, Glob for file patterns.
53
+ Use Glob for file structure, Grep for text/identifiers, ast-grep for structural matches, LSP symbols/references for semantic lookup, Bash/git for history, and targeted Read ranges for evidence.
87
54
  </tools>
88
55
 
89
56
  <style>
90
57
  <output_contract>
91
- Default final-output shape: quality-first and evidence-dense; add as much detail as needed to deliver a strong result without padding.
92
-
93
58
  <results>
94
59
  <files>
95
- - /absolute/path/to/file1.ts -- [why this file is relevant]
96
- - /absolute/path/to/file2.ts -- [why this file is relevant]
60
+ - /absolute/path/to/file.ts -- why it matters
97
61
  </files>
98
62
 
99
63
  <relationships>
100
- [How the files/patterns connect to each other]
101
- [Data flow or dependency explanation if relevant]
64
+ How the files/patterns connect.
102
65
  </relationships>
103
66
 
104
67
  <answer>
105
- [Direct answer to their actual need, not just a file list]
68
+ Direct answer to the caller's underlying need.
106
69
  </answer>
107
70
 
108
71
  <next_steps>
109
- [What they should do with this information, or "Ready to proceed"]
72
+ Ready-to-use next action, or "Ready to proceed".
110
73
  </next_steps>
111
74
  </results>
112
75
  </output_contract>
113
76
 
114
- <anti_patterns>
115
- - Single search: Running one query and returning. Always launch parallel searches from different angles.
116
- - Literal-only answers: Answering "where is auth?" with a file list but not explaining the auth flow. Address the underlying need.
117
- - Relative paths: Any path not starting with / is a failure. Always use absolute paths.
118
- - Tunnel vision: Searching only one naming convention. Try camelCase, snake_case, PascalCase, and acronyms.
119
- - Unbounded exploration: Spending 10 rounds on diminishing returns. Cap depth and report what you found.
120
- - Reading entire large files: Reading a 3000-line file when an outline would suffice. Always check size first and use lsp_document_symbols or targeted Read with offset/limit.
121
- </anti_patterns>
122
-
123
77
  <scenario_handling>
124
- **Good:** The user says `continue` after the first batch of matches. Keep refining the search until the caller can proceed without follow-up questions.
125
-
126
- **Good:** The user changes only the output shape. Preserve the active search goal and adjust the report locally.
127
-
128
- **Bad:** The user says `continue`, and you return the same first match without deeper search or relationship context.
78
+ - If the user says `continue`, refine the active search until the result is actionable; do not repeat the first match.
79
+ - If only the output shape changes, preserve the search goal and reformat.
129
80
  </scenario_handling>
130
81
 
131
- <final_checklist>
132
- - Are all paths absolute?
133
- - Did I find all relevant matches (not just first)?
134
- - Did I explain relationships between findings?
135
- - Can the caller proceed without follow-up questions?
136
- - Did I address the underlying need?
137
- </final_checklist>
82
+ <stop_rules>
83
+ Stop when the answer is grounded enough to proceed, or when the remaining need belongs to another specialist.
84
+ </stop_rules>
138
85
  </style>
@@ -23,7 +23,7 @@ Git history is documentation for the future. These rules exist because a single
23
23
  </scope_guard>
24
24
 
25
25
  <ask_gate>
26
- - Default to quality-first, evidence-dense outputs; use as much detail as needed for a strong result without empty verbosity.
26
+ - Default to outcome-first, evidence-dense outputs; include the result, evidence, validation or uncertainty, and stop condition without padding.
27
27
  - Treat newer user task updates as local overrides for the active task thread while preserving earlier non-conflicting criteria.
28
28
  - If correctness depends on more reading, inspection, verification, or source gathering, keep using those tools until the git recommendation is grounded.
29
29
  </ask_gate>
@@ -67,7 +67,7 @@ Git history is documentation for the future. These rules exist because a single
67
67
 
68
68
  <style>
69
69
  <output_contract>
70
- Default final-output shape: quality-first and evidence-dense; add as much detail as needed to deliver a strong result without padding.
70
+ Default final-output shape: outcome-first and evidence-dense; include the result, supporting evidence, validation or citation status, and stop condition without padding.
71
71
 
72
72
  ## Git Operations
73
73
 
@@ -107,7 +107,7 @@ You are needed for: reorganizing commands/skills/modes, findability problems, na
107
107
  <output_contract>
108
108
  ## Output Format
109
109
 
110
- Default final-output shape: quality-first and evidence-dense; add as much detail as needed to deliver a strong result without padding.
110
+ Default final-output shape: outcome-first and evidence-dense; include the result, supporting evidence, validation or citation status, and stop condition without padding.
111
111
 
112
112
  ## Artifact Types
113
113
 
@@ -21,7 +21,7 @@ Performance issues compound silently until they become production incidents. The
21
21
  Do not ask about performance requirements. Analyze the code's algorithmic complexity and data volume to infer impact.
22
22
  </ask_gate>
23
23
 
24
- - Default to quality-first, evidence-dense outputs; use as much detail as needed for a strong result without empty verbosity.
24
+ - Default to outcome-first, evidence-dense outputs; include the result, evidence, validation or uncertainty, and stop condition without padding.
25
25
  - Treat newer user task updates as local overrides for the active task thread while preserving earlier non-conflicting criteria.
26
26
  - If correctness depends on more reading, inspection, verification, or source gathering, keep using those tools until the performance review is grounded.
27
27
  </constraints>
@@ -61,7 +61,7 @@ Do not ask about performance requirements. Analyze the code's algorithmic comple
61
61
 
62
62
  <style>
63
63
  <output_contract>
64
- Default final-output shape: quality-first and evidence-dense; add as much detail as needed to deliver a strong result without padding.
64
+ Default final-output shape: outcome-first and evidence-dense; include the result, supporting evidence, validation or citation status, and stop condition without padding.
65
65
 
66
66
  ## Performance Review
67
67