lazycodex-ai 5.0.0-beta.3 → 5.0.0-beta.30

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 (386) hide show
  1. package/README.ja.md +25 -21
  2. package/README.ko.md +25 -21
  3. package/README.md +38 -23
  4. package/README.ru.md +24 -20
  5. package/README.zh-cn.md +25 -21
  6. package/dist/cli/config-manager/parse-opencode-config-file.d.ts +2 -1
  7. package/dist/cli/doctor/checks/system-plugin.d.ts +4 -3
  8. package/dist/cli/fallback-lane-policy.d.ts +1 -0
  9. package/dist/cli/index.js +22572 -20322
  10. package/dist/cli/install-codex/install-codex-test-fixtures.d.ts +1 -1
  11. package/dist/cli/run/on-complete-hook.d.ts +2 -0
  12. package/dist/cli/runtime-commands.d.ts +1 -1
  13. package/dist/cli/worktree-sweep/classify.d.ts +16 -0
  14. package/dist/cli/worktree-sweep/format.d.ts +8 -0
  15. package/dist/cli/worktree-sweep/git.d.ts +19 -0
  16. package/dist/cli/worktree-sweep/index.d.ts +7 -0
  17. package/dist/cli/worktree-sweep/options.d.ts +2 -0
  18. package/dist/cli/worktree-sweep/parse-worktree-list.d.ts +8 -0
  19. package/dist/cli/worktree-sweep/sweep.d.ts +2 -0
  20. package/dist/cli/worktree-sweep/types.d.ts +65 -0
  21. package/dist/cli/worktree-sweep/worktree-sweep.d.ts +2 -0
  22. package/dist/cli-node/index.js +22190 -19917
  23. package/package.json +11 -7
  24. package/packages/git-bash-mcp/dist/cli.js +5 -1
  25. package/packages/lsp-daemon/dist/cli.js +645 -296
  26. package/packages/lsp-daemon/dist/client.d.ts +10 -0
  27. package/packages/lsp-daemon/dist/client.js +605 -253
  28. package/packages/lsp-daemon/dist/daemon-client.d.ts +1 -0
  29. package/packages/lsp-daemon/dist/daemon-client.js +3 -0
  30. package/packages/lsp-daemon/dist/ensure-daemon.js +1 -0
  31. package/packages/lsp-daemon/dist/index.js +609 -262
  32. package/packages/lsp-daemon/dist/version-reap.js +1 -1
  33. package/packages/lsp-daemon/package.json +1 -1
  34. package/packages/lsp-tools-mcp/dist/cli.js +564 -217
  35. package/packages/lsp-tools-mcp/dist/lsp/manager.js +115 -92
  36. package/packages/lsp-tools-mcp/dist/mcp.js +566 -219
  37. package/packages/lsp-tools-mcp/dist/request-context.js +12 -13
  38. package/packages/lsp-tools-mcp/dist/tools.js +571 -227
  39. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +4 -4
  40. package/packages/omo-codex/plugin/AGENTS.md +47 -0
  41. package/packages/omo-codex/plugin/README.md +1 -1
  42. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +34 -33
  43. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  44. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  45. package/packages/omo-codex/plugin/components/bootstrap/src/hook.ts +1 -0
  46. package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +293 -116
  47. package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +245 -84
  48. package/packages/omo-codex/plugin/components/codegraph/package.json +4 -4
  49. package/packages/omo-codex/plugin/components/codegraph/src/mcp-bridge.ts +1 -0
  50. package/packages/omo-codex/plugin/components/codegraph/src/session-start-hook-runtime.ts +1 -0
  51. package/packages/omo-codex/plugin/components/comment-checker/AGENTS.md +9 -0
  52. package/packages/omo-codex/plugin/components/comment-checker/biome.json +2 -2
  53. package/packages/omo-codex/plugin/components/comment-checker/dist/cli.js +2 -1
  54. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  55. package/packages/omo-codex/plugin/components/comment-checker/package.json +5 -5
  56. package/packages/omo-codex/plugin/components/comment-checker/src/apply-patch.ts +2 -8
  57. package/packages/omo-codex/plugin/components/comment-checker/src/core.ts +1 -2
  58. package/packages/omo-codex/plugin/components/comment-checker/src/request-extractor.ts +1 -1
  59. package/packages/omo-codex/plugin/components/comment-checker/src/runner.ts +1 -0
  60. package/packages/omo-codex/plugin/components/git-bash/AGENTS.md +1 -1
  61. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  62. package/packages/omo-codex/plugin/components/git-bash/package.json +3 -4
  63. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/biome.json +2 -2
  64. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/cli.js +1 -5
  65. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/codex-hook.js +1 -5
  66. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  67. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +5 -5
  68. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/src/codex-hook.ts +1 -5
  69. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/codex-hook.test.ts +4 -21
  70. package/packages/omo-codex/plugin/components/lsp/AGENTS.md +30 -15
  71. package/packages/omo-codex/plugin/components/lsp/biome.json +2 -2
  72. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +4 -4
  73. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +596 -267
  74. package/packages/omo-codex/plugin/components/lsp/dist/daemon-cli-path.js +1 -1
  75. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  76. package/packages/omo-codex/plugin/components/lsp/package.json +5 -5
  77. package/packages/omo-codex/plugin/components/lsp/src/cli.ts +1 -1
  78. package/packages/omo-codex/plugin/components/lsp/src/codex-hook.ts +1 -1
  79. package/packages/omo-codex/plugin/components/lsp/src/daemon-cli-path.ts +1 -5
  80. package/packages/omo-codex/plugin/components/lsp/test/codex-hook-unavailable.test.ts +6 -7
  81. package/packages/omo-codex/plugin/components/lsp/test/codex-hook.test.ts +1 -2
  82. package/packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts +11 -1
  83. package/packages/omo-codex/plugin/components/rules/AGENTS.md +12 -0
  84. package/packages/omo-codex/plugin/components/rules/biome.json +2 -2
  85. package/packages/omo-codex/plugin/components/rules/dist/cli.js +60 -45
  86. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  87. package/packages/omo-codex/plugin/components/rules/package.json +7 -7
  88. package/packages/omo-codex/plugin/components/rules/src/config.ts +1 -2
  89. package/packages/omo-codex/plugin/components/rules/src/persistent-cache.ts +1 -2
  90. package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +9 -5
  91. package/packages/omo-codex/plugin/components/rules/src/rules-engine-factory.ts +1 -4
  92. package/packages/omo-codex/plugin/components/rules/src/static-injection.ts +4 -9
  93. package/packages/omo-codex/plugin/components/rules/test/bundled-rules-priority.test.ts +11 -16
  94. package/packages/omo-codex/plugin/components/rules/test/bundled-rules.test.ts +17 -25
  95. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-budget.test.ts +9 -7
  96. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-context.test.ts +0 -6
  97. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-dedup.test.ts +6 -4
  98. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-directive.test.ts +12 -9
  99. package/packages/omo-codex/plugin/components/rules/test/codex-hook.test.ts +28 -37
  100. package/packages/omo-codex/plugin/components/rules/test/dynamic-target-fingerprints.test.ts +1 -2
  101. package/packages/omo-codex/plugin/components/rules/test/engine.test.ts +7 -4
  102. package/packages/omo-codex/plugin/components/rules/test/finder.test.ts +2 -3
  103. package/packages/omo-codex/plugin/components/rules/test/formatter.test.ts +39 -72
  104. package/packages/omo-codex/plugin/components/rules/test/hephaestus-model-variant.test.ts +1 -2
  105. package/packages/omo-codex/plugin/components/rules/test/hook-output.test.ts +2 -3
  106. package/packages/omo-codex/plugin/components/rules/test/matcher.test.ts +2 -3
  107. package/packages/omo-codex/plugin/components/rules/test/package-smoke.test.ts +1 -1
  108. package/packages/omo-codex/plugin/components/rules/test/parser.test.ts +1 -2
  109. package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +5 -6
  110. package/packages/omo-codex/plugin/components/rules/test/rules-engine-consumption.test.ts +3 -6
  111. package/packages/omo-codex/plugin/components/rules/test/scanner.test.ts +1 -2
  112. package/packages/omo-codex/plugin/components/rules/test/sources.test.ts +2 -5
  113. package/packages/omo-codex/plugin/components/rules/test/windows-git-bash-bundled-rule.test.ts +2 -17
  114. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  115. package/packages/omo-codex/plugin/components/teammode/package.json +5 -5
  116. package/packages/omo-codex/plugin/components/teammode/test/thread-title-hook.test.ts +3 -9
  117. package/packages/omo-codex/plugin/components/telemetry/AGENTS.md +8 -0
  118. package/packages/omo-codex/plugin/components/telemetry/biome.json +2 -2
  119. package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +2463 -437
  120. package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +2467 -441
  121. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  122. package/packages/omo-codex/plugin/components/telemetry/package.json +5 -5
  123. package/packages/omo-codex/plugin/components/telemetry/src/codex-hook.ts +1 -4
  124. package/packages/omo-codex/plugin/components/telemetry/src/posthog.ts +4 -14
  125. package/packages/omo-codex/plugin/components/telemetry/src/product-identity.ts +1 -1
  126. package/packages/omo-codex/plugin/components/telemetry/test/diagnostics.test.ts +2 -5
  127. package/packages/omo-codex/plugin/components/ultrawork/AGENTS.md +5 -0
  128. package/packages/omo-codex/plugin/components/ultrawork/biome.json +2 -2
  129. package/packages/omo-codex/plugin/components/ultrawork/directive.md +13 -1
  130. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  131. package/packages/omo-codex/plugin/components/ultrawork/package.json +5 -5
  132. package/packages/omo-codex/plugin/components/ultrawork/skills/ultrawork/SKILL.md +13 -1
  133. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +6 -6
  134. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +31 -7
  135. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-clear.md +2 -1
  136. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-unclear.md +5 -5
  137. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook-trigger-policy.test.ts +9 -1
  138. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +0 -136
  139. package/packages/omo-codex/plugin/components/ultrawork/test/skill-pointer.test.ts +0 -2
  140. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/AGENTS.md +5 -4
  141. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/NOTICE +1 -1
  142. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/README.md +5 -5
  143. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/biome.json +2 -2
  144. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/directive.md +6 -6
  145. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/dist/cli.js +12 -12
  146. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +28 -0
  147. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/package.json +12 -12
  148. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/boulder-reader.ts +1 -1
  149. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/cli.ts +1 -1
  150. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/codex-hook.ts +3 -3
  151. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/directive.ts +1 -1
  152. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/index.ts +1 -1
  153. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/boulder-reader.test.ts +3 -3
  154. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/cli.test.ts +1 -4
  155. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/codex-hook.test.ts +8 -22
  156. package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +16 -0
  157. package/packages/omo-codex/plugin/components/ulw-loop/CHANGELOG.md +1 -1
  158. package/packages/omo-codex/plugin/components/ulw-loop/biome.json +2 -2
  159. package/packages/omo-codex/plugin/components/ulw-loop/directive.md +13 -1
  160. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-commands.js +5 -1
  161. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.d.ts +2 -1
  162. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.js +11 -1
  163. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +24 -14
  164. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.js +1 -1
  165. package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.js +1 -1
  166. package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.js +3 -3
  167. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  168. package/packages/omo-codex/plugin/components/ulw-loop/package.json +5 -5
  169. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +3 -2
  170. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/define-goal.md +108 -0
  171. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +1 -0
  172. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-commands.ts +5 -1
  173. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-output.ts +13 -1
  174. package/packages/omo-codex/plugin/components/ulw-loop/src/cli.ts +3 -5
  175. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-snapshot.ts +3 -1
  176. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +3 -1
  177. package/packages/omo-codex/plugin/components/ulw-loop/src/paths.ts +1 -1
  178. package/packages/omo-codex/plugin/components/ulw-loop/src/stop-resume-hook.ts +3 -3
  179. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-continuation.test.ts +0 -1
  180. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-create-goals.test.ts +25 -0
  181. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-entrypoint.test.ts +26 -2
  182. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +2 -2
  183. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-snapshot.test.ts +18 -0
  184. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +0 -3
  185. package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +5 -37
  186. package/packages/omo-codex/plugin/components/ulw-loop/test/paths.test.ts +9 -0
  187. package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +8 -5
  188. package/packages/omo-codex/plugin/components/ulw-loop/test/stop-resume-hook.test.ts +1 -1
  189. package/packages/omo-codex/plugin/components/ulw-loop/test/ultrawork-directive.test.ts +4 -5
  190. package/packages/omo-codex/plugin/components/ulw-loop/vitest.config.ts +1 -0
  191. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  192. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  193. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  194. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
  195. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  196. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  197. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  198. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  199. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  200. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  201. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  202. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  203. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  204. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
  205. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  206. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  207. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +17 -0
  208. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  209. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-ulw-execute-continuation.json +17 -0
  210. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  211. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  212. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  213. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  214. package/packages/omo-codex/plugin/model-catalog.json +3 -3
  215. package/packages/omo-codex/plugin/package-lock.json +681 -395
  216. package/packages/omo-codex/plugin/package.json +2 -2
  217. package/packages/omo-codex/plugin/scripts/AGENTS.md +40 -0
  218. package/packages/omo-codex/plugin/scripts/auto-update-plan.mjs +1 -1
  219. package/packages/omo-codex/plugin/scripts/migrate-codex-config/catalog.mjs +3 -3
  220. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +11 -11
  221. package/packages/omo-codex/plugin/shared/package.json +3 -4
  222. package/packages/omo-codex/plugin/skills/ast-grep/AGENTS.md +51 -0
  223. package/packages/omo-codex/plugin/skills/coding-agent-sessions/AGENTS.md +62 -0
  224. package/packages/omo-codex/plugin/skills/coding-agent-sessions/SKILL.md +3 -2
  225. package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/all-platforms.md +1 -1
  226. package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/senpi.md +4 -4
  227. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/pi_family.py +1 -1
  228. package/packages/omo-codex/plugin/skills/data-scientist/SKILL.md +99 -239
  229. package/packages/omo-codex/plugin/skills/data-scientist/references/execution-surfaces.md +91 -0
  230. package/packages/omo-codex/plugin/skills/data-scientist/references/placement.md +74 -0
  231. package/packages/omo-codex/plugin/skills/data-scientist/references/polars-lane.md +95 -0
  232. package/packages/omo-codex/plugin/skills/data-scientist/references/uv-setup.md +1 -1
  233. package/packages/omo-codex/plugin/skills/data-scientist/references/visualization.md +64 -0
  234. package/packages/omo-codex/plugin/skills/data-scientist/scripts/ensure-js-deps.sh +28 -0
  235. package/packages/omo-codex/plugin/skills/data-scientist/scripts/ensure-py-deps.sh +37 -0
  236. package/packages/omo-codex/plugin/skills/debugging/SKILL.md +2 -0
  237. package/packages/omo-codex/plugin/skills/debugging/references/methodology/00-setup.md +12 -0
  238. package/packages/omo-codex/plugin/skills/debugging/references/methodology/02-investigate.md +21 -0
  239. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/go.md +15 -1
  240. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/native-binary.md +38 -0
  241. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/node.md +25 -0
  242. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/python.md +13 -0
  243. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/rust.md +41 -0
  244. package/packages/omo-codex/plugin/skills/debugging/references/scripts/dap.mjs +267 -0
  245. package/packages/omo-codex/plugin/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
  246. package/packages/omo-codex/plugin/skills/debugging/references/tools/dap.md +103 -0
  247. package/packages/omo-codex/plugin/skills/debugging/references/tools/frida.md +193 -0
  248. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +11 -7
  249. package/packages/omo-codex/plugin/skills/frontend/references/design/_INDEX.md +1 -0
  250. package/packages/omo-codex/plugin/skills/frontend/references/design/print-paged-media.md +76 -0
  251. package/packages/omo-codex/plugin/skills/frontend/references/design/stylegallery.md +80 -0
  252. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/README.md +1 -1
  253. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-a-direction.md +1 -1
  254. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-b-execution.md +11 -11
  255. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-d-memory.md +3 -3
  256. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/orchestration.md +1 -1
  257. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/routing.md +5 -5
  258. package/packages/omo-codex/plugin/skills/review-work/SKILL.md +4 -4
  259. package/packages/omo-codex/plugin/skills/ultimate-browsing/ATTRIBUTION.md +37 -10
  260. package/packages/omo-codex/plugin/skills/ultimate-browsing/SKILL.md +2 -0
  261. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/AGENTS.md +179 -0
  262. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/templates/package.json +1 -1
  263. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
  264. package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +13 -1
  265. package/packages/omo-codex/plugin/skills/{start-work → ulw-execute}/SKILL.md +12 -11
  266. package/packages/omo-codex/plugin/skills/ulw-execute/agents/openai.yaml +2 -0
  267. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +3 -2
  268. package/packages/omo-codex/plugin/skills/ulw-loop/references/define-goal.md +108 -0
  269. package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +1 -0
  270. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +6 -6
  271. package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +31 -7
  272. package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-clear.md +2 -1
  273. package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-unclear.md +5 -5
  274. package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +4 -2
  275. package/packages/omo-codex/plugin/skills/visual-qa/AGENTS.md +58 -0
  276. package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +3 -2
  277. package/packages/omo-codex/plugin/test/AGENTS.md +47 -0
  278. package/packages/omo-codex/plugin/test/aggregate-agents.test.mjs +19 -173
  279. package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +8 -28
  280. package/packages/omo-codex/plugin/test/aggregate-manifest.test.mjs +1 -1
  281. package/packages/omo-codex/plugin/test/aggregate-model-catalog.test.mjs +1 -1
  282. package/packages/omo-codex/plugin/test/aggregate-plugin-fixture.mjs +175 -13
  283. package/packages/omo-codex/plugin/test/aggregate.test.mjs +78 -2
  284. package/packages/omo-codex/plugin/test/auto-update-release-notes.test.mjs +19 -33
  285. package/packages/omo-codex/plugin/test/auto-update.test.mjs +2 -2
  286. package/packages/omo-codex/plugin/test/component-bin-names.test.mjs +2 -2
  287. package/packages/omo-codex/plugin/test/component-bundled-cli.test.mjs +1 -1
  288. package/packages/omo-codex/plugin/test/component-hook-contract-cases.mjs +2 -2
  289. package/packages/omo-codex/plugin/test/hook-status-message.test.mjs +4 -4
  290. package/packages/omo-codex/plugin/test/lcx-contribute-bug-fix-template.test.mjs +21 -27
  291. package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +8 -8
  292. package/packages/omo-codex/plugin/test/scaffold-plan.test.mjs +0 -36
  293. package/packages/omo-codex/plugin/test/sync-skills-codex-compatibility.test.mjs +101 -0
  294. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +12 -12
  295. package/packages/omo-codex/plugin/test/sync-skills.test.mjs +1 -119
  296. package/packages/omo-codex/plugin/test/teammode-archive-ambiguity.test.mjs +0 -40
  297. package/packages/omo-codex/plugin/test/teammode-communication.test.mjs +6 -62
  298. package/packages/omo-codex/plugin/test/teammode-thread-links.test.mjs +3 -36
  299. package/packages/omo-codex/plugin/test/teammode-transport.test.mjs +0 -44
  300. package/packages/omo-codex/plugin/test/teammode-worktree.test.mjs +2 -6
  301. package/packages/omo-codex/plugin/test/ultrawork-skill-pointer.test.mjs +0 -3
  302. package/packages/omo-codex/plugin/test/ulw-plan-review-state-contract.test.mjs +0 -3
  303. package/packages/omo-codex/scripts/install-dist/install-local.mjs +2637 -549
  304. package/packages/shared-skills/skills/ast-grep/AGENTS.md +51 -0
  305. package/packages/shared-skills/skills/coding-agent-sessions/AGENTS.md +62 -0
  306. package/packages/shared-skills/skills/coding-agent-sessions/SKILL.md +3 -2
  307. package/packages/shared-skills/skills/coding-agent-sessions/references/all-platforms.md +1 -1
  308. package/packages/shared-skills/skills/coding-agent-sessions/references/senpi.md +4 -4
  309. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/pi_family.py +1 -1
  310. package/packages/shared-skills/skills/data-scientist/SKILL.md +99 -239
  311. package/packages/shared-skills/skills/data-scientist/references/execution-surfaces.md +91 -0
  312. package/packages/shared-skills/skills/data-scientist/references/placement.md +74 -0
  313. package/packages/shared-skills/skills/data-scientist/references/polars-lane.md +95 -0
  314. package/packages/shared-skills/skills/data-scientist/references/uv-setup.md +1 -1
  315. package/packages/shared-skills/skills/data-scientist/references/visualization.md +64 -0
  316. package/packages/shared-skills/skills/data-scientist/scripts/ensure-js-deps.sh +28 -0
  317. package/packages/shared-skills/skills/data-scientist/scripts/ensure-py-deps.sh +37 -0
  318. package/packages/shared-skills/skills/debugging/SKILL.md +2 -0
  319. package/packages/shared-skills/skills/debugging/references/methodology/00-setup.md +12 -0
  320. package/packages/shared-skills/skills/debugging/references/methodology/02-investigate.md +21 -0
  321. package/packages/shared-skills/skills/debugging/references/runtimes/go.md +15 -1
  322. package/packages/shared-skills/skills/debugging/references/runtimes/native-binary.md +38 -0
  323. package/packages/shared-skills/skills/debugging/references/runtimes/node.md +25 -0
  324. package/packages/shared-skills/skills/debugging/references/runtimes/python.md +13 -0
  325. package/packages/shared-skills/skills/debugging/references/runtimes/rust.md +41 -0
  326. package/packages/shared-skills/skills/debugging/references/scripts/dap.mjs +267 -0
  327. package/packages/shared-skills/skills/debugging/references/scripts/dap.test.ts +86 -0
  328. package/packages/shared-skills/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
  329. package/packages/shared-skills/skills/debugging/references/tools/dap.md +103 -0
  330. package/packages/shared-skills/skills/debugging/references/tools/frida.md +193 -0
  331. package/packages/shared-skills/skills/frontend/SKILL.md +11 -7
  332. package/packages/shared-skills/skills/frontend/references/design/_INDEX.md +1 -0
  333. package/packages/shared-skills/skills/frontend/references/design/print-paged-media.md +76 -0
  334. package/packages/shared-skills/skills/frontend/references/design/stylegallery.md +80 -0
  335. package/packages/shared-skills/skills/frontend/references/designpowers/README.md +1 -1
  336. package/packages/shared-skills/skills/frontend/references/designpowers/lane-a-direction.md +1 -1
  337. package/packages/shared-skills/skills/frontend/references/designpowers/lane-b-execution.md +11 -11
  338. package/packages/shared-skills/skills/frontend/references/designpowers/lane-d-memory.md +3 -3
  339. package/packages/shared-skills/skills/frontend/references/designpowers/orchestration.md +1 -1
  340. package/packages/shared-skills/skills/frontend/references/designpowers/routing.md +5 -5
  341. package/packages/shared-skills/skills/review-work/SKILL.md +3 -3
  342. package/packages/shared-skills/skills/ultimate-browsing/ATTRIBUTION.md +37 -10
  343. package/packages/shared-skills/skills/ultimate-browsing/SKILL.md +2 -0
  344. package/packages/shared-skills/skills/ultimate-browsing/engine/AGENTS.md +179 -0
  345. package/packages/shared-skills/skills/ultimate-browsing/engine/templates/package.json +1 -1
  346. package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
  347. package/packages/shared-skills/skills/{start-work → ulw-execute}/SKILL.md +9 -8
  348. package/packages/shared-skills/skills/ulw-plan/SKILL.md +6 -6
  349. package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +31 -7
  350. package/packages/shared-skills/skills/ulw-plan/references/intent-clear.md +2 -1
  351. package/packages/shared-skills/skills/ulw-plan/references/intent-unclear.md +5 -5
  352. package/packages/shared-skills/skills/ulw-research/SKILL.md +4 -2
  353. package/packages/shared-skills/skills/visual-qa/AGENTS.md +58 -0
  354. package/packages/shared-skills/skills/visual-qa/SKILL.md +3 -2
  355. package/script/qa/web-terminal-visual-qa.mjs +2 -0
  356. package/script/qa/xterm-live-terminal.mjs +18 -2
  357. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +0 -28
  358. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +0 -17
  359. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +0 -17
  360. package/packages/omo-codex/plugin/skills/data-scientist/references/common-scenarios.md +0 -176
  361. package/packages/omo-codex/plugin/skills/data-scientist/references/execution-templates.md +0 -197
  362. package/packages/omo-codex/plugin/skills/data-scientist/references/integration-patterns.md +0 -153
  363. package/packages/omo-codex/plugin/skills/data-scientist/references/performance-benchmarks.md +0 -37
  364. package/packages/omo-codex/plugin/skills/start-work/agents/openai.yaml +0 -2
  365. package/packages/omo-codex/plugin/test/aggregate-skills.test.mjs +0 -92
  366. package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +0 -314
  367. package/packages/omo-codex/plugin/test/ulw-plan-scope-contract.test.mjs +0 -24
  368. package/packages/shared-skills/skills/data-scientist/references/common-scenarios.md +0 -176
  369. package/packages/shared-skills/skills/data-scientist/references/execution-templates.md +0 -197
  370. package/packages/shared-skills/skills/data-scientist/references/integration-patterns.md +0 -153
  371. package/packages/shared-skills/skills/data-scientist/references/performance-benchmarks.md +0 -37
  372. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/.gitattributes +0 -0
  373. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/CHANGELOG.md +0 -0
  374. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/LICENSE +0 -0
  375. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/plan-checklist.ts +0 -0
  376. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/types.ts +0 -0
  377. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/boulder-completed.json +0 -0
  378. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/boulder-mixed-platforms.json +0 -0
  379. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/boulder-single-codex-work.json +0 -0
  380. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-all-done.md +0 -0
  381. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-scaffold.md +0 -0
  382. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-with-nested-checkboxes.md +0 -0
  383. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-with-unchecked.md +0 -0
  384. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/tsconfig.build.json +0 -0
  385. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/tsconfig.json +0 -0
  386. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/vitest.config.ts +0 -0
@@ -24,6 +24,24 @@ describe("parseCodexGoalSnapshot", () => {
24
24
  expect(snapshot.status).toBe("active");
25
25
  });
26
26
 
27
+ it("reads the objective from a title-bearing ulw-loop status goal", () => {
28
+ // given
29
+ const payload = {
30
+ id: "G002-goal-2-senpi-repo-audit-determine-wh",
31
+ title: "Audit the Senpi repository",
32
+ status: "in_progress",
33
+ successCriteria: [],
34
+ };
35
+
36
+ // when
37
+ const snapshot = parseCodexGoalSnapshot(payload);
38
+
39
+ // then
40
+ expect(snapshot.available).toBe(true);
41
+ expect(snapshot.objective).toBe("Audit the Senpi repository");
42
+ expect(snapshot.status).toBe("active");
43
+ });
44
+
27
45
  it("ignores remaining token budget fields from goal snapshots", () => {
28
46
  // given
29
47
  const payload = { goal: { objective: "X", status: "active" }, remainingTokens: 123 };
@@ -242,7 +242,6 @@ describe("applyPreToolUseGoalBudgetGuard", () => {
242
242
  permissionDecision: "deny",
243
243
  },
244
244
  });
245
- expect(parsed.hookSpecificOutput.permissionDecisionReason).toContain("objective only");
246
245
  expect(parsed.hookSpecificOutput.permissionDecisionReason).toContain("token_budget");
247
246
  expect(parsed.hookSpecificOutput.permissionDecisionReason).toContain("unlimited");
248
247
  expect(parsed.hookSpecificOutput.permissionDecisionReason).toContain("update_goal");
@@ -258,7 +257,6 @@ describe("applyPreToolUseGoalBudgetGuard", () => {
258
257
  // then
259
258
  const parsed = JSON.parse(output);
260
259
  expect(parsed.hookSpecificOutput.permissionDecision).toBe("deny");
261
- expect(parsed.hookSpecificOutput.permissionDecisionReason).toContain("objective only");
262
260
  expect(parsed.hookSpecificOutput.permissionDecisionReason).toContain("update_goal");
263
261
  });
264
262
 
@@ -272,7 +270,6 @@ describe("applyPreToolUseGoalBudgetGuard", () => {
272
270
  // then
273
271
  const parsed = JSON.parse(output);
274
272
  expect(parsed.hookSpecificOutput.permissionDecision).toBe("deny");
275
- expect(parsed.hookSpecificOutput.permissionDecisionReason).toContain("objective only");
276
273
  });
277
274
 
278
275
  it("#given create_goal omits token_budget #when PreToolUse runs #then it stays silent", () => {
@@ -24,9 +24,7 @@ type ShellResult = {
24
24
  };
25
25
 
26
26
  function bootstrapScriptFrom(text: string): string {
27
- const heading = text.indexOf("### 1. Create goals from the brief");
28
- expect(heading).toBeGreaterThanOrEqual(0);
29
- const blockStart = text.indexOf("```sh\n", heading);
27
+ const blockStart = text.indexOf("```sh\n");
30
28
  expect(blockStart).toBeGreaterThanOrEqual(0);
31
29
  const codeStart = blockStart + "```sh\n".length;
32
30
  const blockEnd = text.indexOf("\n```", codeStart);
@@ -90,7 +88,8 @@ describe("hooks/hooks.json", () => {
90
88
  const hooks = await readJson("hooks/hooks.json") as Record<string, unknown>;
91
89
  const events = (hooks["hooks"] as Record<string, unknown>)["UserPromptSubmit"] as readonly Record<string, unknown>[];
92
90
  expect(events.length).toBeGreaterThan(0);
93
- const command = ((events[0]?.["hooks"] as readonly Record<string, unknown>[])[0]?.["command"]) as string;
91
+ const command = (events[0]?.["hooks"] as readonly Record<string, unknown>[] | undefined)?.[0]?.["command"];
92
+ expect(command).toEqual(expect.any(String));
94
93
  expect(command).toContain(`$${"{PLUGIN_ROOT}"}`);
95
94
  expect(command).toContain("dist/cli.js");
96
95
  expect(command).toContain("hook user-prompt-submit");
@@ -129,9 +128,7 @@ describe("skills/ulw-loop/SKILL.md", () => {
129
128
  const text = await readText("skills/ulw-loop/agents/openai.yaml");
130
129
 
131
130
  expect(text).toContain('display_name: "(OmO) ulw-loop"');
132
- expect(text).not.toContain("ulw-loop / ulw-loop");
133
131
  expect(text).toContain('short_description: "Goal-like ultrawork loop for systematic decomposition"');
134
- expect(text).toContain("Use $ulw-loop");
135
132
  });
136
133
 
137
134
  it("#given Codex dollar hinting #when querying ulw-loop #then ulw-loop remains discoverable as an alias", async () => {
@@ -172,7 +169,7 @@ describe("skills/ulw-loop/SKILL.md", () => {
172
169
  ].join("\n"),
173
170
  );
174
171
 
175
- const result = await runShell(`${bootstrap}\n\"$ULW_LOOP_NODE\" \"$ULW_LOOP_CLI\" ulw-loop status --json`, {
172
+ const result = await runShell(`${bootstrap}\n"$ULW_LOOP_NODE" "$ULW_LOOP_CLI" ulw-loop status --json`, {
176
173
  ...process.env,
177
174
  CODEX_HOME: codexHome,
178
175
  HOME: home,
@@ -181,7 +178,6 @@ describe("skills/ulw-loop/SKILL.md", () => {
181
178
 
182
179
  expect(result.code).toBe(0);
183
180
  expect(result.stdout).toContain('"source":"cached-ulw-loop"');
184
- expect(result.stderr).not.toContain("unknown command");
185
181
  } finally {
186
182
  await rm(root, { recursive: true, force: true });
187
183
  }
@@ -189,27 +185,7 @@ describe("skills/ulw-loop/SKILL.md", () => {
189
185
 
190
186
  });
191
187
 
192
- describe("source LOC budget", () => {
193
- it("every source file stays at or under 250 pure LOC", async () => {
194
- const files = [
195
- "src/types.ts", "src/paths.ts", "src/plan-io.ts", "src/plan-crud.ts", "src/goal-status.ts",
196
- "src/evidence.ts", "src/quality-gate.ts", "src/quality-gate-verdicts.ts", "src/checkpoint.ts", "src/review-blockers.ts",
197
- "src/stop-resume-hook.ts", "src/spawn-guard.ts",
198
- "src/steering.ts", "src/codex-goal-instruction.ts", "src/codex-goal-snapshot.ts", "src/codex-hook.ts",
199
- "src/cli.ts", "src/cli-arg-parser.ts", "src/cli-output.ts", "src/cli-steering.ts", "src/cli-commands.ts",
200
- ];
201
- for (const file of files) {
202
- const text = await readText(file);
203
- const pure = text.split("\n").filter((line) => {
204
- const trimmed = line.trim();
205
- return trimmed.length > 0 && !trimmed.startsWith("//");
206
- }).length;
207
- expect(pure, `${file} pure LOC`).toBeLessThanOrEqual(250);
208
- }
209
- });
210
- });
211
-
212
- describe("README implementation contract", () => {
188
+ describe("README implementation contract", () => {
213
189
  it("#given the README #when subcommands are inspected #then every implemented CLI subcommand is documented", async () => {
214
190
  const readme = await readText("README.md");
215
191
 
@@ -218,14 +194,6 @@ describe("README implementation contract", () => {
218
194
  }
219
195
  });
220
196
 
221
- it("#given the README #when stale scaffold language is checked #then it is absent", async () => {
222
- const readme = await readText("README.md");
223
-
224
- expect(readme).not.toMatch(/scaffold only/i);
225
- expect(readme).not.toMatch(/Wave 1/i);
226
- expect(readme).not.toMatch(/lands in later waves/i);
227
- });
228
-
229
197
  it("#given the README #when hooks are described #then both hook channels are documented", async () => {
230
198
  const readme = await readText("README.md");
231
199
 
@@ -7,6 +7,7 @@ import {
7
7
  isWithinAttemptDir,
8
8
  normalizeUlwLoopSessionId,
9
9
  repoRelative,
10
+ resolveUlwLoopSessionIdFromEnv,
10
11
  ulwLoopBriefPath,
11
12
  ulwLoopDir,
12
13
  ulwLoopGoalsPath,
@@ -25,6 +26,14 @@ describe("ulwLoopDir(repo)", () => {
25
26
  });
26
27
  });
27
28
 
29
+ describe("resolveUlwLoopSessionIdFromEnv", () => {
30
+ it("#given a Senpi session env #when resolving scope #then uses the current Pi session id", () => {
31
+ expect(resolveUlwLoopSessionIdFromEnv({ PI_SESSION_ID: "01a00baf-feed-7f4d-a4a9-b8345c67cf72" })).toBe(
32
+ "01a00baf-feed-7f4d-a4a9-b8345c67cf72",
33
+ );
34
+ });
35
+ });
36
+
28
37
  describe("ulw-loop*Path helpers", () => {
29
38
  it("compose artifact filenames under ulwLoopDir", () => {
30
39
  // when/then
@@ -422,11 +422,14 @@ describe("steerUlwLoop", () => {
422
422
  });
423
423
 
424
424
  describe("parseUlwLoopSteeringDirective", () => {
425
- it.each(["OMO_ULW_LOOP_STEER", "omo.ulw-loop.steer", "omo ulw-loop steer", "omo-agent-toolkit ulw-loop steer"])("parses %s pattern", (marker) => {
426
- expect(parseUlwLoopSteeringDirective(`${marker}: ${JSON.stringify(steering())}`)).toMatchObject({
427
- kind: "add_subgoal",
428
- });
429
- });
425
+ it.each(["OMO_ULW_LOOP_STEER", "omo.ulw-loop.steer", "omo ulw-loop steer", "omo-agent-toolkit ulw-loop steer"])(
426
+ "parses %s pattern",
427
+ (marker) => {
428
+ expect(parseUlwLoopSteeringDirective(`${marker}: ${JSON.stringify(steering())}`)).toMatchObject({
429
+ kind: "add_subgoal",
430
+ });
431
+ },
432
+ );
430
433
 
431
434
  it("returns null when no marker", () => {
432
435
  expect(parseUlwLoopSteeringDirective(JSON.stringify(steering()))).toBeNull();
@@ -99,7 +99,7 @@ describe("runStopResumeHook", () => {
99
99
  expect(runStopResumeHook({ hook_event_name: "Stop" })).toBe("");
100
100
  });
101
101
 
102
- it("#given an active boulder work with remaining plan tasks #when the hook runs #then defers to start-work-continuation", () => {
102
+ it("#given an active boulder work with remaining plan tasks #when the hook runs #then defers to ulw-execute-continuation", () => {
103
103
  writeGoals([pendingGoal()]);
104
104
  const plan = writeBoulderPlan(true);
105
105
  writeFileSync(
@@ -5,6 +5,7 @@ import { join } from "node:path";
5
5
  import { describe, expect, it } from "vitest";
6
6
 
7
7
  import { applyUserPromptUlwLoopSteering, type UserPromptSubmitPayload } from "../src/codex-hook.js";
8
+ import { buildUltraworkSkillPointer } from "../src/ultrawork-skill-pointer.js";
8
9
 
9
10
  const DEFAULT_SESSION_ID = "s1";
10
11
 
@@ -76,10 +77,7 @@ describe("standalone ultrawork directive injection", () => {
76
77
  const parsed = JSON.parse(output);
77
78
  const context = parsed.hookSpecificOutput.additionalContext;
78
79
 
79
- expect(context).toMatch(/^<ultrawork-mode>/);
80
- expect(context).toContain(skillFilePath);
81
- expect(context).toContain("create_goal");
82
- expect(context).not.toContain("Tier triage");
80
+ expect(context).toBe(buildUltraworkSkillPointer(skillFilePath).trim());
83
81
  });
84
82
 
85
83
  it("#given a missing ultrawork skill file #when standalone injection runs #then falls back to the full directive", async () => {
@@ -90,8 +88,9 @@ describe("standalone ultrawork directive injection", () => {
90
88
  ultraworkSkillFilePath: missingSkillFilePath,
91
89
  });
92
90
  const parsed = JSON.parse(output);
91
+ const directive = await readFile(new URL("../directive.md", import.meta.url), "utf8");
93
92
 
94
- expect(parsed.hookSpecificOutput.additionalContext).toContain("Tier triage");
93
+ expect(parsed.hookSpecificOutput.additionalContext).toBe(directive.trim());
95
94
  });
96
95
 
97
96
  it("#given the ulw-loop pointer template #when compared to ultrawork #then the copy stays byte-identical", async () => {
@@ -6,5 +6,6 @@ export default defineConfig({
6
6
  environment: "node",
7
7
  pool: "threads",
8
8
  isolate: true,
9
+ env: { PI_SESSION_ID: "" },
9
10
  },
10
11
  });
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/git-bash/dist/cli.js\" hook post-compact",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.3) Resetting Git Bash MCP Reminder",
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Resetting Git Bash MCP Reminder",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\git-bash\\dist\\cli.js\" hook post-compact"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/lsp/dist/cli.js\" hook post-compact",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.3) Resetting LSP Diagnostics Cache",
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Resetting LSP Diagnostics Cache",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\lsp\\dist\\cli.js\" hook post-compact"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/rules/dist/cli.js\" hook post-compact",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.3) Resetting Project Rule Cache",
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Resetting Project Rule Cache",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\rules\\dist\\cli.js\" hook post-compact"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/codegraph/dist/cli.js\" hook post-tool-use",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.3) Checking CodeGraph Init Guidance",
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Checking CodeGraph Init Guidance",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\codegraph\\dist\\cli.js\" hook post-tool-use"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/comment-checker/dist/cli.js\" hook post-tool-use",
9
9
  "timeout": 30,
10
- "statusMessage": "(OmO 5.0.0-beta.3) Checking Comments",
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Checking Comments",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\comment-checker\\dist\\cli.js\" hook post-tool-use"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/lsp/dist/cli.js\" hook post-tool-use",
9
9
  "timeout": 60,
10
- "statusMessage": "(OmO 5.0.0-beta.3) Checking LSP Diagnostics",
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Checking LSP Diagnostics",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\lsp\\dist\\cli.js\" hook post-tool-use"
12
12
  }
13
13
  ],
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/components/teammode/dist/cli.js\" hook post-tool-use",
10
10
  "timeout": 10,
11
- "statusMessage": "(OmO 5.0.0-beta.3) Checking Thread Title Hygiene",
11
+ "statusMessage": "(OmO 5.0.0-beta.30) Checking Thread Title Hygiene",
12
12
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\teammode\\dist\\cli.js\" hook post-tool-use"
13
13
  }
14
14
  ]
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/rules/dist/cli.js\" hook post-tool-use",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.3) Matching Project Rules",
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Matching Project Rules",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\rules\\dist\\cli.js\" hook post-tool-use"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/ulw-loop/dist/cli.js\" hook pre-tool-use",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.3) Enforcing Unlimited Goal Budget",
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Enforcing Unlimited Goal Budget",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-loop\\dist\\cli.js\" hook pre-tool-use"
12
12
  }
13
13
  ],
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/components/ulw-loop/dist/cli.js\" hook pre-tool-use-spawn",
10
10
  "timeout": 5,
11
- "statusMessage": "(OmO 5.0.0-beta.3) Guarding Ulw-Loop Spawns",
11
+ "statusMessage": "(OmO 5.0.0-beta.30) Guarding Ulw-Loop Spawns",
12
12
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-loop\\dist\\cli.js\" hook pre-tool-use-spawn"
13
13
  }
14
14
  ]
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/git-bash/dist/cli.js\" hook pre-tool-use",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.3) Recommending Git Bash MCP",
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Recommending Git Bash MCP",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\git-bash\\dist\\cli.js\" hook pre-tool-use"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/scripts/auto-update.mjs\" hook session-start",
9
9
  "timeout": 15,
10
- "statusMessage": "(OmO 5.0.0-beta.3) Checking Auto Update",
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Checking Auto Update",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\scripts\\auto-update.mjs\" hook session-start"
12
12
  }
13
13
  ],
@@ -8,7 +8,7 @@
8
8
  "command": "node \"${PLUGIN_ROOT}/components/bootstrap/dist/cli.js\" hook session-start",
9
9
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\bootstrap.ps1\"",
10
10
  "timeout": 30,
11
- "statusMessage": "(OmO 5.0.0-beta.3) Checking Bootstrap Provisioning"
11
+ "statusMessage": "(OmO 5.0.0-beta.30) Checking Bootstrap Provisioning"
12
12
  }
13
13
  ]
14
14
  }
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/codegraph/dist/cli.js\" hook session-start",
9
9
  "timeout": 15,
10
- "statusMessage": "(OmO 5.0.0-beta.3) Checking CodeGraph Bootstrap",
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Checking CodeGraph Bootstrap",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\codegraph\\dist\\cli.js\" hook session-start"
12
12
  }
13
13
  ]
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/rules/dist/cli.js\" hook session-start",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.3) Loading Project Rules",
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Loading Project Rules",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\rules\\dist\\cli.js\" hook session-start"
12
12
  }
13
13
  ]
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/telemetry/dist/cli.js\" hook session-start",
9
9
  "timeout": 15,
10
- "statusMessage": "(OmO 5.0.0-beta.3) Recording Session Telemetry",
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Recording Session Telemetry",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\telemetry\\dist\\cli.js\" hook session-start"
12
12
  }
13
13
  ]
@@ -0,0 +1,17 @@
1
+ {
2
+ "hooks": {
3
+ "Stop": [
4
+ {
5
+ "hooks": [
6
+ {
7
+ "type": "command",
8
+ "command": "node \"${PLUGIN_ROOT}/components/ulw-execute-continuation/dist/cli.js\" hook stop",
9
+ "timeout": 10,
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Checking Ulw-Execute Continuation",
11
+ "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-execute-continuation\\dist\\cli.js\" hook stop"
12
+ }
13
+ ]
14
+ }
15
+ ]
16
+ }
17
+ }
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/ulw-loop/dist/cli.js\" hook stop",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.3) Checking Ulw-Loop Resume",
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Checking Ulw-Loop Resume",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-loop\\dist\\cli.js\" hook stop"
12
12
  }
13
13
  ]
@@ -0,0 +1,17 @@
1
+ {
2
+ "hooks": {
3
+ "SubagentStop": [
4
+ {
5
+ "hooks": [
6
+ {
7
+ "type": "command",
8
+ "command": "node \"${PLUGIN_ROOT}/components/ulw-execute-continuation/dist/cli.js\" hook subagent-stop",
9
+ "timeout": 10,
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Checking Ulw-Execute Continuation",
11
+ "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-execute-continuation\\dist\\cli.js\" hook subagent-stop"
12
+ }
13
+ ]
14
+ }
15
+ ]
16
+ }
17
+ }
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/lazycodex-executor-verify/dist/cli.js\" hook subagent-stop",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.3) Verifying LazyCodex Executor Evidence",
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Verifying LazyCodex Executor Evidence",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\lazycodex-executor-verify\\dist\\cli.js\" hook subagent-stop"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/ultrawork/dist/cli.js\" hook user-prompt-submit",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.3) Checking Ultrawork Trigger",
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Checking Ultrawork Trigger",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ultrawork\\dist\\cli.js\" hook user-prompt-submit"
12
12
  }
13
13
  ]
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/ulw-loop/dist/cli.js\" hook user-prompt-submit",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.3) Checking Ulw-Loop Steering",
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Checking Ulw-Loop Steering",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-loop\\dist\\cli.js\" hook user-prompt-submit"
12
12
  }
13
13
  ]
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/rules/dist/cli.js\" hook user-prompt-submit",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.3) Loading Project Rules",
10
+ "statusMessage": "(OmO 5.0.0-beta.30) Loading Project Rules",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\rules\\dist\\cli.js\" hook user-prompt-submit"
12
12
  }
13
13
  ]
@@ -1,15 +1,15 @@
1
1
  {
2
- "version": "2026-07-11.gpt-5.6-sol-372k-high",
2
+ "version": "2026-08-27.gpt-5.6-sol-650k-high",
3
3
  "current": {
4
4
  "model": "gpt-5.6-sol",
5
- "model_context_window": 372000,
5
+ "model_context_window": 650000,
6
6
  "model_reasoning_effort": "high",
7
7
  "plan_mode_reasoning_effort": "xhigh"
8
8
  },
9
9
  "roles": {
10
10
  "default": {
11
11
  "model": "gpt-5.6-sol",
12
- "model_context_window": 372000,
12
+ "model_context_window": 650000,
13
13
  "model_reasoning_effort": "high",
14
14
  "plan_mode_reasoning_effort": "xhigh"
15
15
  },