lazycodex-ai 5.0.0-beta.6 → 5.0.0-beta.61

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 (642) hide show
  1. package/README.ja.md +65 -60
  2. package/README.ko.md +66 -61
  3. package/README.md +65 -72
  4. package/README.ru.md +62 -60
  5. package/README.zh-cn.md +61 -60
  6. package/dist/cli/config-manager/parse-opencode-config-file.d.ts +2 -1
  7. package/dist/cli/doctor/checks/index.d.ts +2 -0
  8. package/dist/cli/doctor/checks/latest-version.d.ts +11 -0
  9. package/dist/cli/doctor/checks/system-plugin.d.ts +4 -3
  10. package/dist/cli/doctor/framework/constants.d.ts +5 -0
  11. package/dist/cli/doctor/framework/types.d.ts +2 -0
  12. package/dist/cli/fallback-lane-policy.d.ts +1 -0
  13. package/dist/cli/index.js +52548 -60412
  14. package/dist/cli/install-codex/install-codex-test-fixtures.d.ts +1 -1
  15. package/dist/cli/run/on-complete-hook.d.ts +2 -0
  16. package/dist/cli/runtime-commands.d.ts +1 -1
  17. package/dist/cli/worktree-sweep/classify.d.ts +16 -0
  18. package/dist/cli/worktree-sweep/format.d.ts +8 -0
  19. package/dist/cli/worktree-sweep/git.d.ts +19 -0
  20. package/dist/cli/worktree-sweep/index.d.ts +7 -0
  21. package/dist/cli/worktree-sweep/options.d.ts +2 -0
  22. package/dist/cli/worktree-sweep/parse-worktree-list.d.ts +8 -0
  23. package/dist/cli/worktree-sweep/sweep.d.ts +2 -0
  24. package/dist/cli/worktree-sweep/types.d.ts +65 -0
  25. package/dist/cli/worktree-sweep/worktree-sweep.d.ts +2 -0
  26. package/dist/cli-node/index.js +51202 -59043
  27. package/package.json +11 -9
  28. package/packages/git-bash-mcp/dist/cli.js +6 -1
  29. package/packages/lsp-daemon/dist/cli.js +902 -479
  30. package/packages/lsp-daemon/dist/client.d.ts +10 -0
  31. package/packages/lsp-daemon/dist/client.js +920 -493
  32. package/packages/lsp-daemon/dist/daemon-client.d.ts +1 -0
  33. package/packages/lsp-daemon/dist/daemon-client.js +3 -0
  34. package/packages/lsp-daemon/dist/ensure-daemon.d.ts +6 -1
  35. package/packages/lsp-daemon/dist/ensure-daemon.js +10 -2
  36. package/packages/lsp-daemon/dist/index.js +824 -402
  37. package/packages/lsp-daemon/dist/ownership.js +2 -2
  38. package/packages/lsp-daemon/dist/proxy.js +3 -0
  39. package/packages/lsp-daemon/dist/version-reap.js +1 -1
  40. package/packages/lsp-daemon/package.json +1 -1
  41. package/packages/lsp-tools-mcp/dist/cli.js +762 -341
  42. package/packages/lsp-tools-mcp/dist/lsp/manager.js +272 -138
  43. package/packages/lsp-tools-mcp/dist/mcp.js +787 -368
  44. package/packages/lsp-tools-mcp/dist/request-context.js +12 -13
  45. package/packages/lsp-tools-mcp/dist/tools.js +717 -302
  46. package/packages/lsp-tools-mcp/package.json +1 -1
  47. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +4 -6
  48. package/packages/omo-codex/plugin/.mcp.json +0 -6
  49. package/packages/omo-codex/plugin/AGENTS.md +47 -0
  50. package/packages/omo-codex/plugin/README.md +6 -2
  51. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +7093 -408
  52. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  53. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  54. package/packages/omo-codex/plugin/components/bootstrap/src/hook.ts +1 -0
  55. package/packages/omo-codex/plugin/components/bootstrap/src/setup.ts +7 -1
  56. package/packages/omo-codex/plugin/components/comment-checker/AGENTS.md +9 -0
  57. package/packages/omo-codex/plugin/components/comment-checker/biome.json +2 -2
  58. package/packages/omo-codex/plugin/components/comment-checker/dist/cli.js +2 -1
  59. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  60. package/packages/omo-codex/plugin/components/comment-checker/package.json +5 -5
  61. package/packages/omo-codex/plugin/components/comment-checker/src/apply-patch.ts +2 -8
  62. package/packages/omo-codex/plugin/components/comment-checker/src/core.ts +1 -2
  63. package/packages/omo-codex/plugin/components/comment-checker/src/request-extractor.ts +1 -1
  64. package/packages/omo-codex/plugin/components/comment-checker/src/runner.ts +1 -0
  65. package/packages/omo-codex/plugin/components/git-bash/AGENTS.md +1 -1
  66. package/packages/omo-codex/plugin/components/git-bash/dist/cli.js +1 -1
  67. package/packages/omo-codex/plugin/components/git-bash/dist/codex-hook.js +2 -1
  68. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  69. package/packages/omo-codex/plugin/components/git-bash/package.json +3 -4
  70. package/packages/omo-codex/plugin/components/git-bash/src/codex-hook.ts +2 -1
  71. package/packages/omo-codex/plugin/components/git-bash/test/codex-hook.test.ts +6 -7
  72. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/AGENTS.md +2 -2
  73. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/biome.json +2 -2
  74. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/directive.md +2 -0
  75. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/cli.js +36 -29
  76. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/codex-hook.js +32 -26
  77. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/types.d.ts +3 -0
  78. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  79. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +5 -5
  80. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/src/codex-hook.ts +32 -28
  81. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/src/types.ts +3 -0
  82. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/cli.test.ts +1 -1
  83. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/codex-hook.test.ts +137 -28
  84. package/packages/omo-codex/plugin/components/lcx/skills/lcx-doctor/SKILL.md +4 -2
  85. package/packages/omo-codex/plugin/components/lsp/AGENTS.md +30 -15
  86. package/packages/omo-codex/plugin/components/lsp/biome.json +2 -2
  87. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +4 -4
  88. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +941 -540
  89. package/packages/omo-codex/plugin/components/lsp/dist/daemon-cli-path.js +1 -1
  90. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  91. package/packages/omo-codex/plugin/components/lsp/package.json +5 -5
  92. package/packages/omo-codex/plugin/components/lsp/src/cli.ts +1 -1
  93. package/packages/omo-codex/plugin/components/lsp/src/codex-hook.ts +1 -1
  94. package/packages/omo-codex/plugin/components/lsp/src/daemon-cli-path.ts +1 -5
  95. package/packages/omo-codex/plugin/components/lsp/test/codex-hook-unavailable.test.ts +6 -7
  96. package/packages/omo-codex/plugin/components/lsp/test/codex-hook.test.ts +1 -2
  97. package/packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts +11 -1
  98. package/packages/omo-codex/plugin/components/rules/AGENTS.md +12 -0
  99. package/packages/omo-codex/plugin/components/rules/README.md +2 -0
  100. package/packages/omo-codex/plugin/components/rules/biome.json +2 -2
  101. package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus/gpt-6.md +123 -0
  102. package/packages/omo-codex/plugin/components/rules/dist/cli.js +91 -68
  103. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  104. package/packages/omo-codex/plugin/components/rules/package.json +7 -7
  105. package/packages/omo-codex/plugin/components/rules/src/config.ts +1 -2
  106. package/packages/omo-codex/plugin/components/rules/src/persistent-cache.ts +1 -2
  107. package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +15 -5
  108. package/packages/omo-codex/plugin/components/rules/src/rules-engine-factory.ts +1 -4
  109. package/packages/omo-codex/plugin/components/rules/src/static-injection.ts +4 -9
  110. package/packages/omo-codex/plugin/components/rules/test/bundled-rules-priority.test.ts +11 -16
  111. package/packages/omo-codex/plugin/components/rules/test/bundled-rules.test.ts +17 -25
  112. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-budget.test.ts +9 -7
  113. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-context.test.ts +0 -6
  114. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-dedup.test.ts +6 -4
  115. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-directive.test.ts +12 -9
  116. package/packages/omo-codex/plugin/components/rules/test/codex-hook.test.ts +28 -37
  117. package/packages/omo-codex/plugin/components/rules/test/dynamic-target-fingerprints.test.ts +1 -2
  118. package/packages/omo-codex/plugin/components/rules/test/engine.test.ts +7 -4
  119. package/packages/omo-codex/plugin/components/rules/test/finder.test.ts +2 -3
  120. package/packages/omo-codex/plugin/components/rules/test/formatter.test.ts +39 -72
  121. package/packages/omo-codex/plugin/components/rules/test/hephaestus-model-variant.test.ts +38 -3
  122. package/packages/omo-codex/plugin/components/rules/test/hook-output.test.ts +2 -3
  123. package/packages/omo-codex/plugin/components/rules/test/matcher.test.ts +2 -3
  124. package/packages/omo-codex/plugin/components/rules/test/package-smoke.test.ts +1 -1
  125. package/packages/omo-codex/plugin/components/rules/test/parser.test.ts +1 -2
  126. package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +29 -6
  127. package/packages/omo-codex/plugin/components/rules/test/rules-engine-consumption.test.ts +3 -6
  128. package/packages/omo-codex/plugin/components/rules/test/scanner.test.ts +1 -2
  129. package/packages/omo-codex/plugin/components/rules/test/sources.test.ts +2 -5
  130. package/packages/omo-codex/plugin/components/rules/test/windows-git-bash-bundled-rule.test.ts +2 -17
  131. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  132. package/packages/omo-codex/plugin/components/teammode/package.json +5 -5
  133. package/packages/omo-codex/plugin/components/teammode/test/thread-title-hook.test.ts +4 -10
  134. package/packages/omo-codex/plugin/components/telemetry/AGENTS.md +8 -0
  135. package/packages/omo-codex/plugin/components/telemetry/biome.json +2 -2
  136. package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +2407 -684
  137. package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +2411 -689
  138. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  139. package/packages/omo-codex/plugin/components/telemetry/package.json +5 -5
  140. package/packages/omo-codex/plugin/components/telemetry/src/codex-hook.ts +1 -4
  141. package/packages/omo-codex/plugin/components/telemetry/src/posthog.ts +4 -14
  142. package/packages/omo-codex/plugin/components/telemetry/src/product-identity.ts +1 -1
  143. package/packages/omo-codex/plugin/components/telemetry/test/diagnostics.test.ts +2 -5
  144. package/packages/omo-codex/plugin/components/ultrawork/AGENTS.md +10 -4
  145. package/packages/omo-codex/plugin/components/ultrawork/README.md +2 -0
  146. package/packages/omo-codex/plugin/components/ultrawork/agents/explorer.toml +1 -1
  147. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-clone-fidelity-reviewer.toml +1 -1
  148. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-code-reviewer.toml +1 -1
  149. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-gate-reviewer.toml +1 -1
  150. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-qa-executor.toml +1 -1
  151. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-high.toml +1 -1
  152. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-low.toml +1 -1
  153. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-medium.toml +1 -1
  154. package/packages/omo-codex/plugin/components/ultrawork/agents/librarian.toml +1 -1
  155. package/packages/omo-codex/plugin/components/ultrawork/agents/metis.toml +1 -1
  156. package/packages/omo-codex/plugin/components/ultrawork/agents/momus.toml +1 -1
  157. package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +1 -1
  158. package/packages/omo-codex/plugin/components/ultrawork/biome.json +2 -2
  159. package/packages/omo-codex/plugin/components/ultrawork/dist/cli.js +499 -4
  160. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  161. package/packages/omo-codex/plugin/components/ultrawork/package.json +5 -6
  162. package/packages/omo-codex/plugin/components/ultrawork/scripts/sync-directive.mjs +30 -14
  163. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +6 -7
  164. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +31 -7
  165. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-clear.md +2 -1
  166. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-unclear.md +5 -5
  167. package/packages/omo-codex/plugin/components/ultrawork/src/directive-content.ts +4 -0
  168. package/packages/omo-codex/plugin/components/ultrawork/src/directive.ts +5 -2
  169. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook-trigger-policy.test.ts +9 -1
  170. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +0 -136
  171. package/packages/omo-codex/plugin/components/ultrawork/test/directive-source.test.ts +14 -8
  172. package/packages/omo-codex/plugin/components/ultrawork/test/package-smoke.test.ts +12 -1
  173. package/packages/omo-codex/plugin/components/ultrawork/test/skill-pointer.test.ts +0 -2
  174. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/AGENTS.md +4 -4
  175. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/NOTICE +1 -1
  176. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/README.md +6 -6
  177. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/biome.json +2 -2
  178. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/directive.md +10 -10
  179. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/dist/cli.js +16 -16
  180. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +16 -0
  181. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/package.json +12 -12
  182. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/boulder-reader.ts +1 -1
  183. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/cli.ts +1 -1
  184. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/codex-hook.ts +4 -4
  185. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/directive.ts +1 -1
  186. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/index.ts +1 -1
  187. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/types.ts +1 -1
  188. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/boulder-reader.test.ts +3 -3
  189. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/cli.test.ts +4 -11
  190. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/codex-hook.test.ts +24 -22
  191. package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +19 -0
  192. package/packages/omo-codex/plugin/components/ulw-loop/CHANGELOG.md +3 -1
  193. package/packages/omo-codex/plugin/components/ulw-loop/README.md +12 -1
  194. package/packages/omo-codex/plugin/components/ulw-loop/biome.json +2 -2
  195. package/packages/omo-codex/plugin/components/ulw-loop/directive.md +46 -24
  196. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-codex-validation.d.ts +16 -0
  197. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-codex-validation.js +25 -0
  198. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-continuation.js +10 -4
  199. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.d.ts +2 -5
  200. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.js +5 -78
  201. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-template.d.ts +12 -0
  202. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-template.js +114 -0
  203. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.d.ts +7 -1
  204. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.js +50 -42
  205. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-arg-parser.js +2 -2
  206. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-commands.js +21 -8
  207. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.d.ts +2 -1
  208. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.js +12 -1
  209. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.d.ts +1 -1
  210. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.js +40 -37
  211. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +1468 -535
  212. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.d.ts +2 -0
  213. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +28 -8
  214. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.d.ts +2 -5
  215. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.js +24 -20
  216. package/packages/omo-codex/plugin/components/ulw-loop/dist/constants.d.ts +1 -0
  217. package/packages/omo-codex/plugin/components/ulw-loop/dist/constants.js +1 -0
  218. package/packages/omo-codex/plugin/components/ulw-loop/dist/domain-types.d.ts +17 -9
  219. package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.d.ts +1 -0
  220. package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.js +13 -4
  221. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.d.ts +1 -0
  222. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.js +34 -4
  223. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-missing-recovery.d.ts +14 -0
  224. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-missing-recovery.js +29 -0
  225. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-aggregate.d.ts +7 -0
  226. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-aggregate.js +9 -0
  227. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-artifacts.d.ts +12 -0
  228. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-artifacts.js +104 -0
  229. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-fields.d.ts +13 -1
  230. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-fields.js +65 -9
  231. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-verdicts.js +5 -1
  232. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.d.ts +4 -2
  233. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.js +72 -117
  234. package/packages/omo-codex/plugin/components/ulw-loop/dist/review-blockers.d.ts +2 -0
  235. package/packages/omo-codex/plugin/components/ulw-loop/dist/review-blockers.js +16 -7
  236. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/factory.d.ts +2 -0
  237. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/factory.js +141 -0
  238. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/manifest.d.ts +46 -0
  239. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/manifest.js +28 -0
  240. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/types.d.ts +127 -0
  241. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/types.js +1 -0
  242. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk.d.ts +3 -0
  243. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk.js +3 -0
  244. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-guard.d.ts +7 -1
  245. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-guard.js +216 -33
  246. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-role-guard.d.ts +2 -0
  247. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-role-guard.js +22 -0
  248. package/packages/omo-codex/plugin/components/ulw-loop/dist/state-lock.d.ts +9 -0
  249. package/packages/omo-codex/plugin/components/ulw-loop/dist/state-lock.js +227 -0
  250. package/packages/omo-codex/plugin/components/ulw-loop/dist/status-next-actions.d.ts +6 -0
  251. package/packages/omo-codex/plugin/components/ulw-loop/dist/status-next-actions.js +33 -0
  252. package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.js +20 -6
  253. package/packages/omo-codex/plugin/components/ulw-loop/dist/surface.d.ts +19 -0
  254. package/packages/omo-codex/plugin/components/ulw-loop/dist/surface.js +75 -0
  255. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +18 -5
  256. package/packages/omo-codex/plugin/components/ulw-loop/package.json +6 -6
  257. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +10 -4
  258. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/define-goal.md +108 -0
  259. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +32 -8
  260. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-codex-validation.ts +40 -0
  261. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-continuation.ts +8 -6
  262. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-reconciliation.ts +5 -98
  263. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-template.ts +134 -0
  264. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +52 -73
  265. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-arg-parser.ts +10 -4
  266. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-commands.ts +24 -8
  267. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-output.ts +14 -1
  268. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-subcommands.ts +52 -46
  269. package/packages/omo-codex/plugin/components/ulw-loop/src/cli.ts +8 -6
  270. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +35 -7
  271. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-snapshot.ts +34 -28
  272. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +3 -1
  273. package/packages/omo-codex/plugin/components/ulw-loop/src/constants.ts +1 -0
  274. package/packages/omo-codex/plugin/components/ulw-loop/src/domain-types.ts +19 -9
  275. package/packages/omo-codex/plugin/components/ulw-loop/src/paths.ts +25 -4
  276. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-io.ts +39 -4
  277. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-missing-recovery.ts +38 -0
  278. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-aggregate.ts +11 -0
  279. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-artifacts.ts +123 -0
  280. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-fields.ts +71 -15
  281. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-verdicts.ts +6 -1
  282. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate.ts +92 -136
  283. package/packages/omo-codex/plugin/components/ulw-loop/src/review-blockers.ts +29 -8
  284. package/packages/omo-codex/plugin/components/ulw-loop/src/sdk/factory.ts +183 -0
  285. package/packages/omo-codex/plugin/components/ulw-loop/src/sdk/manifest.ts +42 -0
  286. package/packages/omo-codex/plugin/components/ulw-loop/src/sdk/types.ts +140 -0
  287. package/packages/omo-codex/plugin/components/ulw-loop/src/sdk.ts +3 -0
  288. package/packages/omo-codex/plugin/components/ulw-loop/src/spawn-guard.ts +226 -31
  289. package/packages/omo-codex/plugin/components/ulw-loop/src/spawn-role-guard.ts +22 -0
  290. package/packages/omo-codex/plugin/components/ulw-loop/src/state-lock.ts +239 -0
  291. package/packages/omo-codex/plugin/components/ulw-loop/src/status-next-actions.ts +36 -0
  292. package/packages/omo-codex/plugin/components/ulw-loop/src/stop-resume-hook.ts +19 -6
  293. package/packages/omo-codex/plugin/components/ulw-loop/src/surface.ts +107 -0
  294. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-continuation.test.ts +0 -1
  295. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-final.test.ts +131 -82
  296. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-template.test.ts +147 -0
  297. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint.test.ts +16 -22
  298. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-checkpoint-continuation.test.ts +4 -2
  299. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-checkpoint.test.ts +31 -2
  300. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-commands.test.ts +2 -0
  301. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-complete-goals.test.ts +3 -1
  302. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-create-goals.test.ts +35 -8
  303. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-entrypoint.test.ts +38 -4
  304. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-json-errors.test.ts +27 -0
  305. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-scope-required.test.ts +144 -0
  306. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-status-next-actions.test.ts +185 -0
  307. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-steering-batch.test.ts +8 -3
  308. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-validation-batch.test.ts +6 -0
  309. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +37 -2
  310. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-snapshot.test.ts +52 -11
  311. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +0 -3
  312. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/cli-session.ts +4 -0
  313. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/quality-gate-builder.ts +9 -4
  314. package/packages/omo-codex/plugin/components/ulw-loop/test/guided-recovery.test.ts +67 -0
  315. package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +5 -37
  316. package/packages/omo-codex/plugin/components/ulw-loop/test/paths.test.ts +9 -0
  317. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-io-cross-process.test.ts +106 -0
  318. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-io.test.ts +36 -2
  319. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-aggregate-basics.test.ts +258 -0
  320. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-cap-and-dedupe.test.ts +22 -0
  321. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-fields-messages.test.ts +98 -0
  322. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-lazycodex-surface.test.ts +93 -0
  323. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-poisoning-cascades.test.ts +97 -0
  324. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-roles.test.ts +51 -2
  325. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-senpi-surface.test.ts +131 -0
  326. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-single-report.test.ts +241 -0
  327. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate.test.ts +58 -3
  328. package/packages/omo-codex/plugin/components/ulw-loop/test/review-blockers.test.ts +9 -7
  329. package/packages/omo-codex/plugin/components/ulw-loop/test/sdk-contract.test.ts +137 -0
  330. package/packages/omo-codex/plugin/components/ulw-loop/test/sdk-driver-states.test.ts +145 -0
  331. package/packages/omo-codex/plugin/components/ulw-loop/test/sdk-session-context.test.ts +148 -0
  332. package/packages/omo-codex/plugin/components/ulw-loop/test/spawn-guard.test.ts +450 -7
  333. package/packages/omo-codex/plugin/components/ulw-loop/test/spawn-role-matrix.test.ts +113 -0
  334. package/packages/omo-codex/plugin/components/ulw-loop/test/state-lock.test.ts +218 -0
  335. package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +8 -5
  336. package/packages/omo-codex/plugin/components/ulw-loop/test/stop-resume-hook.test.ts +1 -1
  337. package/packages/omo-codex/plugin/components/ulw-loop/test/surface.test.ts +74 -0
  338. package/packages/omo-codex/plugin/components/ulw-loop/test/ultrawork-directive.test.ts +13 -8
  339. package/packages/omo-codex/plugin/components/ulw-loop/vitest.config.ts +1 -0
  340. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  341. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  342. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  343. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  344. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  345. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  346. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  347. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +18 -0
  348. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  349. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  350. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  351. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  352. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  353. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  354. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  355. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +17 -0
  356. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  357. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  358. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  359. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  360. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  361. package/packages/omo-codex/plugin/model-catalog.json +16 -7
  362. package/packages/omo-codex/plugin/package-lock.json +676 -524
  363. package/packages/omo-codex/plugin/package.json +2 -3
  364. package/packages/omo-codex/plugin/scripts/AGENTS.md +39 -0
  365. package/packages/omo-codex/plugin/scripts/auto-update-plan.mjs +1 -2
  366. package/packages/omo-codex/plugin/scripts/auto-update.mjs +0 -9
  367. package/packages/omo-codex/plugin/scripts/canonical-ultrawork-directive.mjs +17 -0
  368. package/packages/omo-codex/plugin/scripts/hook-status-message.mjs +0 -1
  369. package/packages/omo-codex/plugin/scripts/migrate-codex-config/catalog.mjs +16 -7
  370. package/packages/omo-codex/plugin/scripts/migrate-codex-config/multi-agent-v2-guard.mjs +8 -4
  371. package/packages/omo-codex/plugin/scripts/migrate-codex-config/subagent-limit-guard.mjs +19 -90
  372. package/packages/omo-codex/plugin/scripts/migrate-codex-config/toml-section-editor.mjs +1 -1
  373. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +96 -57
  374. package/packages/omo-codex/plugin/shared/package.json +3 -4
  375. package/packages/omo-codex/plugin/shared/src/config-loader.ts +2 -102
  376. package/packages/omo-codex/plugin/shared/src/config-migration.ts +0 -1
  377. package/packages/omo-codex/plugin/shared/test/config-loader.test.ts +41 -130
  378. package/packages/omo-codex/plugin/skills/ast-grep/AGENTS.md +51 -0
  379. package/packages/omo-codex/plugin/skills/ast-grep/SKILL.md +1 -1
  380. package/packages/omo-codex/plugin/skills/coding-agent-sessions/AGENTS.md +62 -0
  381. package/packages/omo-codex/plugin/skills/coding-agent-sessions/SKILL.md +1 -1
  382. package/packages/omo-codex/plugin/skills/data-scientist/SKILL.md +99 -239
  383. package/packages/omo-codex/plugin/skills/data-scientist/references/execution-surfaces.md +91 -0
  384. package/packages/omo-codex/plugin/skills/data-scientist/references/placement.md +74 -0
  385. package/packages/omo-codex/plugin/skills/data-scientist/references/polars-lane.md +95 -0
  386. package/packages/omo-codex/plugin/skills/data-scientist/references/uv-setup.md +1 -1
  387. package/packages/omo-codex/plugin/skills/data-scientist/references/visualization.md +64 -0
  388. package/packages/omo-codex/plugin/skills/data-scientist/scripts/ensure-js-deps.sh +28 -0
  389. package/packages/omo-codex/plugin/skills/data-scientist/scripts/ensure-py-deps.sh +37 -0
  390. package/packages/omo-codex/plugin/skills/debugging/SKILL.md +3 -1
  391. package/packages/omo-codex/plugin/skills/debugging/references/methodology/00-setup.md +12 -0
  392. package/packages/omo-codex/plugin/skills/debugging/references/methodology/02-investigate.md +21 -0
  393. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/go.md +15 -1
  394. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/native-binary.md +38 -0
  395. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/node.md +25 -0
  396. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/python.md +13 -0
  397. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/rust.md +41 -0
  398. package/packages/omo-codex/plugin/skills/debugging/references/scripts/dap.mjs +267 -0
  399. package/packages/omo-codex/plugin/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
  400. package/packages/omo-codex/plugin/skills/debugging/references/tools/dap.md +103 -0
  401. package/packages/omo-codex/plugin/skills/debugging/references/tools/frida.md +193 -0
  402. package/packages/omo-codex/plugin/skills/frontend/ATTRIBUTION.md +10 -0
  403. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +15 -8
  404. package/packages/omo-codex/plugin/skills/frontend/references/design/README.md +10 -2
  405. package/packages/omo-codex/plugin/skills/frontend/references/design/_INDEX.md +2 -0
  406. package/packages/omo-codex/plugin/skills/frontend/references/design/ambience-skill.md +145 -0
  407. package/packages/omo-codex/plugin/skills/frontend/references/design/interaction-skill.md +2 -0
  408. package/packages/omo-codex/plugin/skills/frontend/references/design/print-paged-media.md +76 -0
  409. package/packages/omo-codex/plugin/skills/frontend/references/design/stylegallery.md +80 -0
  410. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/README.md +1 -1
  411. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-a-direction.md +1 -1
  412. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-b-execution.md +11 -11
  413. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-d-memory.md +3 -3
  414. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/orchestration.md +1 -1
  415. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/routing.md +5 -5
  416. package/packages/omo-codex/plugin/skills/git-master/SKILL.md +1 -1
  417. package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +20 -18
  418. package/packages/omo-codex/plugin/skills/lcx-doctor/SKILL.md +4 -2
  419. package/packages/omo-codex/plugin/skills/lsp-setup/SKILL.md +1 -1
  420. package/packages/omo-codex/plugin/skills/programming/SKILL.md +1 -1
  421. package/packages/omo-codex/plugin/skills/refactor/SKILL.md +10 -8
  422. package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +7 -5
  423. package/packages/omo-codex/plugin/skills/review-work/SKILL.md +116 -424
  424. package/packages/omo-codex/plugin/skills/ultimate-browsing/ATTRIBUTION.md +38 -11
  425. package/packages/omo-codex/plugin/skills/ultimate-browsing/SKILL.md +26 -9
  426. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/AGENTS.md +110 -0
  427. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/templates/package.json +1 -1
  428. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +23 -18
  429. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/README.md +9 -2
  430. package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +46 -24
  431. package/packages/omo-codex/plugin/skills/{start-work → ulw-execute}/SKILL.md +31 -33
  432. package/packages/omo-codex/plugin/skills/ulw-execute/agents/openai.yaml +2 -0
  433. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +34 -4
  434. package/packages/omo-codex/plugin/skills/ulw-loop/references/define-goal.md +108 -0
  435. package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +32 -8
  436. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +6 -7
  437. package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +31 -7
  438. package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-clear.md +2 -1
  439. package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-unclear.md +5 -5
  440. package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +14 -7
  441. package/packages/omo-codex/plugin/skills/visual-qa/AGENTS.md +58 -0
  442. package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +10 -7
  443. package/packages/omo-codex/plugin/test/AGENTS.md +47 -0
  444. package/packages/omo-codex/plugin/test/aggregate-agents.test.mjs +19 -173
  445. package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +16 -51
  446. package/packages/omo-codex/plugin/test/aggregate-manifest.test.mjs +2 -3
  447. package/packages/omo-codex/plugin/test/aggregate-mcp.test.mjs +2 -7
  448. package/packages/omo-codex/plugin/test/aggregate-model-catalog.test.mjs +14 -4
  449. package/packages/omo-codex/plugin/test/aggregate-plugin-fixture.mjs +175 -13
  450. package/packages/omo-codex/plugin/test/aggregate.test.mjs +78 -2
  451. package/packages/omo-codex/plugin/test/auto-update-release-notes.test.mjs +19 -33
  452. package/packages/omo-codex/plugin/test/auto-update.test.mjs +4 -29
  453. package/packages/omo-codex/plugin/test/bootstrap-default-role.test.mjs +66 -0
  454. package/packages/omo-codex/plugin/test/bootstrap-setup.test.mjs +0 -31
  455. package/packages/omo-codex/plugin/test/canonical-ultrawork-directive.test.mjs +53 -0
  456. package/packages/omo-codex/plugin/test/component-bin-names.test.mjs +2 -2
  457. package/packages/omo-codex/plugin/test/component-bundled-cli.test.mjs +1 -51
  458. package/packages/omo-codex/plugin/test/component-hook-contract-cases.mjs +100 -2
  459. package/packages/omo-codex/plugin/test/hook-status-message.test.mjs +5 -6
  460. package/packages/omo-codex/plugin/test/lcx-contribute-bug-fix-template.test.mjs +21 -27
  461. package/packages/omo-codex/plugin/test/mcp-research-servers.test.mjs +1 -3
  462. package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +35 -35
  463. package/packages/omo-codex/plugin/test/multi-agent-v2-regression.test.mjs +1 -1
  464. package/packages/omo-codex/plugin/test/scaffold-plan.test.mjs +0 -36
  465. package/packages/omo-codex/plugin/test/subagent-limit-migration.test.mjs +107 -15
  466. package/packages/omo-codex/plugin/test/sync-skills-codex-compatibility.test.mjs +168 -0
  467. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +54 -24
  468. package/packages/omo-codex/plugin/test/sync-skills.test.mjs +18 -119
  469. package/packages/omo-codex/plugin/test/teammode-archive-ambiguity.test.mjs +0 -40
  470. package/packages/omo-codex/plugin/test/teammode-communication.test.mjs +6 -62
  471. package/packages/omo-codex/plugin/test/teammode-thread-links.test.mjs +3 -36
  472. package/packages/omo-codex/plugin/test/teammode-transport.test.mjs +0 -44
  473. package/packages/omo-codex/plugin/test/teammode-worktree.test.mjs +2 -6
  474. package/packages/omo-codex/plugin/test/ultrawork-skill-pointer.test.mjs +5 -5
  475. package/packages/omo-codex/plugin/test/ulw-plan-review-state-contract.test.mjs +0 -3
  476. package/packages/omo-codex/scripts/install-dist/install-local.mjs +9652 -1394
  477. package/packages/{omo-codex/plugin/components/ultrawork/skills/ultrawork/SKILL.md → prompts-core/prompts/ultrawork/codex.md} +46 -31
  478. package/packages/shared-skills/package.json +7 -1
  479. package/packages/shared-skills/skill-source-filter.d.ts +16 -0
  480. package/packages/shared-skills/skill-source-filter.mjs +44 -0
  481. package/packages/shared-skills/skills/ast-grep/AGENTS.md +51 -0
  482. package/packages/shared-skills/skills/ast-grep/SKILL.md +1 -1
  483. package/packages/shared-skills/skills/coding-agent-sessions/AGENTS.md +62 -0
  484. package/packages/shared-skills/skills/coding-agent-sessions/SKILL.md +1 -1
  485. package/packages/shared-skills/skills/data-scientist/SKILL.md +99 -239
  486. package/packages/shared-skills/skills/data-scientist/references/execution-surfaces.md +91 -0
  487. package/packages/shared-skills/skills/data-scientist/references/placement.md +74 -0
  488. package/packages/shared-skills/skills/data-scientist/references/polars-lane.md +95 -0
  489. package/packages/shared-skills/skills/data-scientist/references/uv-setup.md +1 -1
  490. package/packages/shared-skills/skills/data-scientist/references/visualization.md +64 -0
  491. package/packages/shared-skills/skills/data-scientist/scripts/ensure-js-deps.sh +28 -0
  492. package/packages/shared-skills/skills/data-scientist/scripts/ensure-py-deps.sh +37 -0
  493. package/packages/shared-skills/skills/debugging/SKILL.md +3 -1
  494. package/packages/shared-skills/skills/debugging/references/methodology/00-setup.md +12 -0
  495. package/packages/shared-skills/skills/debugging/references/methodology/02-investigate.md +21 -0
  496. package/packages/shared-skills/skills/debugging/references/runtimes/go.md +15 -1
  497. package/packages/shared-skills/skills/debugging/references/runtimes/native-binary.md +38 -0
  498. package/packages/shared-skills/skills/debugging/references/runtimes/node.md +25 -0
  499. package/packages/shared-skills/skills/debugging/references/runtimes/python.md +13 -0
  500. package/packages/shared-skills/skills/debugging/references/runtimes/rust.md +41 -0
  501. package/packages/shared-skills/skills/debugging/references/scripts/dap.mjs +267 -0
  502. package/packages/shared-skills/skills/debugging/references/scripts/dap.test.ts +86 -0
  503. package/packages/shared-skills/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
  504. package/packages/shared-skills/skills/debugging/references/tools/dap.md +103 -0
  505. package/packages/shared-skills/skills/debugging/references/tools/frida.md +193 -0
  506. package/packages/shared-skills/skills/frontend/ATTRIBUTION.md +10 -0
  507. package/packages/shared-skills/skills/frontend/SKILL.md +15 -8
  508. package/packages/shared-skills/skills/frontend/references/design/README.md +10 -2
  509. package/packages/shared-skills/skills/frontend/references/design/_INDEX.md +2 -0
  510. package/packages/shared-skills/skills/frontend/references/design/ambience-skill.md +145 -0
  511. package/packages/shared-skills/skills/frontend/references/design/interaction-skill.md +2 -0
  512. package/packages/shared-skills/skills/frontend/references/design/print-paged-media.md +76 -0
  513. package/packages/shared-skills/skills/frontend/references/design/stylegallery.md +80 -0
  514. package/packages/shared-skills/skills/frontend/references/designpowers/README.md +1 -1
  515. package/packages/shared-skills/skills/frontend/references/designpowers/lane-a-direction.md +1 -1
  516. package/packages/shared-skills/skills/frontend/references/designpowers/lane-b-execution.md +11 -11
  517. package/packages/shared-skills/skills/frontend/references/designpowers/lane-d-memory.md +3 -3
  518. package/packages/shared-skills/skills/frontend/references/designpowers/orchestration.md +1 -1
  519. package/packages/shared-skills/skills/frontend/references/designpowers/routing.md +5 -5
  520. package/packages/shared-skills/skills/git-master/SKILL.md +1 -1
  521. package/packages/shared-skills/skills/init-deep/SKILL.md +14 -14
  522. package/packages/shared-skills/skills/lsp-setup/SKILL.md +1 -1
  523. package/packages/shared-skills/skills/programming/SKILL.md +1 -1
  524. package/packages/shared-skills/skills/refactor/SKILL.md +4 -4
  525. package/packages/shared-skills/skills/remove-ai-slops/SKILL.md +1 -1
  526. package/packages/shared-skills/skills/review-work/SKILL.md +101 -419
  527. package/packages/shared-skills/skills/ultimate-browsing/ATTRIBUTION.md +38 -11
  528. package/packages/shared-skills/skills/ultimate-browsing/SKILL.md +26 -9
  529. package/packages/shared-skills/skills/ultimate-browsing/engine/AGENTS.md +110 -0
  530. package/packages/shared-skills/skills/ultimate-browsing/engine/templates/package.json +1 -1
  531. package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +23 -18
  532. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/README.md +9 -2
  533. package/packages/shared-skills/skills/{start-work → ulw-execute}/SKILL.md +20 -19
  534. package/packages/shared-skills/skills/ulw-plan/SKILL.md +7 -8
  535. package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +31 -7
  536. package/packages/shared-skills/skills/ulw-plan/references/intent-clear.md +2 -1
  537. package/packages/shared-skills/skills/ulw-plan/references/intent-unclear.md +5 -5
  538. package/packages/shared-skills/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
  539. package/packages/shared-skills/skills/ulw-research/SKILL.md +8 -3
  540. package/packages/shared-skills/skills/visual-qa/AGENTS.md +58 -0
  541. package/packages/shared-skills/skills/visual-qa/SKILL.md +4 -3
  542. package/script/qa/web-terminal-visual-qa.mjs +2 -0
  543. package/script/qa/xterm-live-terminal.mjs +18 -2
  544. package/packages/lsp-tools-mcp/dist/lsp/cleanup-errors.d.ts +0 -1
  545. package/packages/lsp-tools-mcp/dist/lsp/constants.d.ts +0 -1
  546. package/packages/lsp-tools-mcp/dist/lsp/language-mappings.d.ts +0 -1
  547. package/packages/lsp-tools-mcp/dist/lsp/process-signal-cleanup.d.ts +0 -1
  548. package/packages/lsp-tools-mcp/dist/missing-dependency-result.d.ts +0 -1
  549. package/packages/omo-codex/plugin/components/codegraph/AGENTS.md +0 -58
  550. package/packages/omo-codex/plugin/components/codegraph/NODE-RUNTIME-LICENSES.md +0 -2951
  551. package/packages/omo-codex/plugin/components/codegraph/NOTICE +0 -16
  552. package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +0 -12149
  553. package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +0 -9747
  554. package/packages/omo-codex/plugin/components/codegraph/package.json +0 -33
  555. package/packages/omo-codex/plugin/components/codegraph/src/cache-gc.ts +0 -29
  556. package/packages/omo-codex/plugin/components/codegraph/src/cli.ts +0 -79
  557. package/packages/omo-codex/plugin/components/codegraph/src/hook-input.ts +0 -33
  558. package/packages/omo-codex/plugin/components/codegraph/src/hook-sweep.ts +0 -25
  559. package/packages/omo-codex/plugin/components/codegraph/src/hook-types.ts +0 -131
  560. package/packages/omo-codex/plugin/components/codegraph/src/hook.ts +0 -258
  561. package/packages/omo-codex/plugin/components/codegraph/src/mcp-bridge.ts +0 -309
  562. package/packages/omo-codex/plugin/components/codegraph/src/mcp-unavailable.ts +0 -80
  563. package/packages/omo-codex/plugin/components/codegraph/src/post-tool-use-hook.ts +0 -34
  564. package/packages/omo-codex/plugin/components/codegraph/src/serve-invocation.ts +0 -29
  565. package/packages/omo-codex/plugin/components/codegraph/src/serve.ts +0 -263
  566. package/packages/omo-codex/plugin/components/codegraph/src/session-start-command.ts +0 -106
  567. package/packages/omo-codex/plugin/components/codegraph/src/session-start-cooldown.ts +0 -145
  568. package/packages/omo-codex/plugin/components/codegraph/src/session-start-hook-runtime.ts +0 -21
  569. package/packages/omo-codex/plugin/components/codegraph/src/session-start-lock.ts +0 -139
  570. package/packages/omo-codex/plugin/components/codegraph/src/session-start-outcome.ts +0 -15
  571. package/packages/omo-codex/plugin/components/codegraph/src/session-start-paths.ts +0 -32
  572. package/packages/omo-codex/plugin/components/codegraph/src/session-start-project.ts +0 -109
  573. package/packages/omo-codex/plugin/components/codegraph/src/session-start-worker-result.ts +0 -148
  574. package/packages/omo-codex/plugin/components/codegraph/src/session-start-worker.ts +0 -175
  575. package/packages/omo-codex/plugin/components/codegraph/src/sweep-cli.ts +0 -81
  576. package/packages/omo-codex/plugin/components/codegraph/test/cache-gc.test.ts +0 -34
  577. package/packages/omo-codex/plugin/components/codegraph/test/hook-exclusion.test.ts +0 -112
  578. package/packages/omo-codex/plugin/components/codegraph/test/hook-registration.test.ts +0 -26
  579. package/packages/omo-codex/plugin/components/codegraph/test/hook-session-start-guard.test.ts +0 -160
  580. package/packages/omo-codex/plugin/components/codegraph/test/hook-store-upgrade.test.ts +0 -50
  581. package/packages/omo-codex/plugin/components/codegraph/test/hook-sweep.test.ts +0 -29
  582. package/packages/omo-codex/plugin/components/codegraph/test/hook.test.ts +0 -320
  583. package/packages/omo-codex/plugin/components/codegraph/test/mcp-bridge-fixtures.ts +0 -172
  584. package/packages/omo-codex/plugin/components/codegraph/test/package-runtime.test.ts +0 -91
  585. package/packages/omo-codex/plugin/components/codegraph/test/provisioned-node-guard.test.ts +0 -100
  586. package/packages/omo-codex/plugin/components/codegraph/test/serve-built-wrapper.test.ts +0 -76
  587. package/packages/omo-codex/plugin/components/codegraph/test/serve-mcp-bridge-lifecycle.test.ts +0 -133
  588. package/packages/omo-codex/plugin/components/codegraph/test/serve-mcp-bridge.test.ts +0 -245
  589. package/packages/omo-codex/plugin/components/codegraph/test/serve-mcp-facade.test.ts +0 -69
  590. package/packages/omo-codex/plugin/components/codegraph/test/serve-node-support.test.ts +0 -43
  591. package/packages/omo-codex/plugin/components/codegraph/test/serve-provision.test.ts +0 -147
  592. package/packages/omo-codex/plugin/components/codegraph/test/serve-unavailable.test.ts +0 -175
  593. package/packages/omo-codex/plugin/components/codegraph/test/serve.test.ts +0 -385
  594. package/packages/omo-codex/plugin/components/codegraph/test/session-start-node-support.test.ts +0 -206
  595. package/packages/omo-codex/plugin/components/codegraph/test/session-start-project.test.ts +0 -58
  596. package/packages/omo-codex/plugin/components/codegraph/test/session-start-state.test.ts +0 -104
  597. package/packages/omo-codex/plugin/components/codegraph/test/session-start-trust-boundary.test.ts +0 -65
  598. package/packages/omo-codex/plugin/components/codegraph/test/session-start-worker-availability.test.ts +0 -106
  599. package/packages/omo-codex/plugin/components/codegraph/test/session-start-worker-cooldown.test.ts +0 -116
  600. package/packages/omo-codex/plugin/components/codegraph/test/session-start-worker-flow.test.ts +0 -258
  601. package/packages/omo-codex/plugin/components/codegraph/test/sweep-cli.test.ts +0 -56
  602. package/packages/omo-codex/plugin/components/codegraph/tsconfig.build.json +0 -13
  603. package/packages/omo-codex/plugin/components/codegraph/tsconfig.json +0 -25
  604. package/packages/omo-codex/plugin/components/start-work-continuation/LICENSE +0 -21
  605. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +0 -28
  606. package/packages/omo-codex/plugin/components/ultrawork/directive.md +0 -471
  607. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +0 -18
  608. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +0 -17
  609. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +0 -17
  610. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +0 -17
  611. package/packages/omo-codex/plugin/scripts/migrate-omo-sot/editor.mjs +0 -125
  612. package/packages/omo-codex/plugin/scripts/migrate-omo-sot/jsonc.mjs +0 -43
  613. package/packages/omo-codex/plugin/scripts/migrate-omo-sot/scaffold.mjs +0 -29
  614. package/packages/omo-codex/plugin/scripts/migrate-omo-sot.mjs +0 -121
  615. package/packages/omo-codex/plugin/skills/data-scientist/references/common-scenarios.md +0 -176
  616. package/packages/omo-codex/plugin/skills/data-scientist/references/execution-templates.md +0 -197
  617. package/packages/omo-codex/plugin/skills/data-scientist/references/integration-patterns.md +0 -153
  618. package/packages/omo-codex/plugin/skills/data-scientist/references/performance-benchmarks.md +0 -37
  619. package/packages/omo-codex/plugin/skills/start-work/agents/openai.yaml +0 -2
  620. package/packages/omo-codex/plugin/test/aggregate-skills.test.mjs +0 -92
  621. package/packages/omo-codex/plugin/test/component-codegraph-mcp-smoke.test.mjs +0 -76
  622. package/packages/omo-codex/plugin/test/migrate-omo-sot.test.mjs +0 -179
  623. package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +0 -314
  624. package/packages/omo-codex/plugin/test/ulw-plan-scope-contract.test.mjs +0 -24
  625. package/packages/shared-skills/skills/data-scientist/references/common-scenarios.md +0 -176
  626. package/packages/shared-skills/skills/data-scientist/references/execution-templates.md +0 -197
  627. package/packages/shared-skills/skills/data-scientist/references/integration-patterns.md +0 -153
  628. package/packages/shared-skills/skills/data-scientist/references/performance-benchmarks.md +0 -37
  629. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/.gitattributes +0 -0
  630. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/CHANGELOG.md +0 -0
  631. /package/packages/omo-codex/plugin/components/{codegraph → ulw-execute-continuation}/LICENSE +0 -0
  632. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/plan-checklist.ts +0 -0
  633. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/boulder-completed.json +0 -0
  634. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/boulder-mixed-platforms.json +0 -0
  635. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/boulder-single-codex-work.json +0 -0
  636. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-all-done.md +0 -0
  637. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-scaffold.md +0 -0
  638. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-with-nested-checkboxes.md +0 -0
  639. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-with-unchecked.md +0 -0
  640. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/tsconfig.build.json +0 -0
  641. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/tsconfig.json +0 -0
  642. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/vitest.config.ts +0 -0
@@ -21,7 +21,17 @@ Every subcommand below is implemented. Pass `--json` where supported for machine
21
21
  | `omo-agent-toolkit ulw-loop record-evidence` | Record observable evidence for one criterion. |
22
22
  | `omo-agent-toolkit ulw-loop record-review-blockers` | Mark a goal as review-blocked and add follow-up work from final-review findings. |
23
23
 
24
- The final quality gate parsed by `checkpoint` validates `codeReview`, `manualQa`, `gateReview`, `iteration`, and `criteriaCoverage`. `criteriaCoverage` records the original intent, desired outcome, user-facing outcome review, pass counts, and covered adversarial classes.
24
+ The final quality gate parsed by `checkpoint` requires `manualQa`, `gateReview`, `iteration`, and `criteriaCoverage`; lazycodex accepts optional `codeReview`. Lazycodex defaults to `main-session` self-review, with `category:*` and reviewer acceptors available when needed. `criteriaCoverage` records the original intent, desired outcome, user-facing outcome review, pass counts, and covered adversarial classes. The companion `codex-goal-json` must contain `goal.objective` equal to the plan's `codexObjective` verbatim.
25
+
26
+ A complete passing checkpoint uses both payloads:
27
+
28
+ ```json
29
+ {"goal":{"objective":"Ship the requested behavior","status":"complete"}}
30
+ ```
31
+
32
+ ```json
33
+ {"gateReview":{"by":"main-session","recommendation":"APPROVE","reportPath":".omo/evidence/gate-review.md","evidence":"Gate review passed.","blockers":[],"notes":[]},"manualQa":{"by":"lazycodex-qa-executor","status":"passed","evidence":"Manual QA passed.","surfaceEvidence":[{"id":"cli","criterionRef":"C1","surface":"cli","invocation":"omo-agent-toolkit ulw-loop checkpoint --json","verdict":"passed","artifactRefs":["cli-artifact"]}],"adversarialCases":[{"id":"malformed","criterionRef":"C2","scenario":"Malformed input","expectedBehavior":"Rejected","verdict":"not_applicable","reason":"Not triggered","artifactRefs":["cli-artifact"]}],"artifactRefs":[{"id":"cli-artifact","kind":"cli-transcript","description":"Passing CLI transcript","path":".omo/evidence/cli.txt"}]},"codeReview":{"by":"lazycodex-code-reviewer","recommendation":"APPROVE","codeQualityStatus":"CLEAR","reportPath":".omo/evidence/code-review.md","evidence":"Code review passed.","blockers":[]},"iteration":{"fullRerun":true,"status":"passed","rerunCommands":["bun test"],"evidence":"Full rerun passed."},"criteriaCoverage":{"totalCriteria":2,"passCount":2,"originalIntent":"Ship the requested behavior","desiredOutcome":"The behavior works for users.","userOutcomeReview":"The result matches the requested outcome.","adversarialClassesCovered":["malformed_input"]}}
34
+ ```
25
35
 
26
36
  Validation batches are optional review boundaries declared at plan creation with `--validation-batch-json '[{"batchId":"VB001","memberIds":[...],"finalGoalId":"..."}]'`. The batch-final goal cannot complete until every other member is complete or superseded-resolved, every member criterion is pass, and a quality gate's coverage counts match the recomputed member criteria. Steering split/supersede mutations keep batch membership consistent and record `batch_updated`.
27
37
 
@@ -35,6 +45,7 @@ This directory is a component of the aggregate `@sisyphuslabs/omo-codex-plugin`
35
45
  - `PreToolUse` matching the spawn tool tokens -> `node "${PLUGIN_ROOT}/dist/cli.js" hook pre-tool-use-spawn` (fan-out cap + gate-artifact preflight)
36
46
  - `Stop` -> `node "${PLUGIN_ROOT}/dist/cli.js" hook stop` (auto-resume with a two-strike no-progress cap)
37
47
  - `skills/ulw-loop/` for the bundled `ulw-loop` skill.
48
+ - `directive.md`, the ultrawork directive read at runtime when `--with-ultrawork` falls back to the full text. This package is published standalone and takes no dependency on `@oh-my-opencode/prompts-core`, so it intentionally bundles its own byte-identical copy of the canonical `packages/prompts-core/prompts/ultrawork/codex.md`. The copy is generated by `components/ultrawork/scripts/sync-directive.mjs` and pinned byte-for-byte by `test/ultrawork-directive.test.ts`; do not hand-edit it.
38
49
  - `bin.omo-ulw-loop` -> `dist/cli.js` for standalone CLI invocation.
39
50
 
40
51
  This component ships a CLI, a skill, and hooks. It does not expose an MCP server.
@@ -1,9 +1,9 @@
1
1
  {
2
- "$schema": "https://biomejs.dev/schemas/2.4.16/schema.json",
2
+ "$schema": "https://biomejs.dev/schemas/2.5.9/schema.json",
3
3
  "linter": {
4
4
  "enabled": true,
5
5
  "rules": {
6
- "recommended": true,
6
+ "preset": "recommended",
7
7
  "style": {
8
8
  "noDefaultExport": "error",
9
9
  "noEnum": "error",
@@ -46,8 +46,8 @@ first-class for CLI- or data-shaped work; self-review recorded in the
46
46
  notepad instead of the reviewer loop.
47
47
  HEAVY — anything a fact above names: 3+ success criteria (happy,
48
48
  edge, regression, adversarial risk), each with its own channel
49
- scenario and both evidence pieces; reviewer loop until unconditional
50
- approval.
49
+ scenario and both evidence pieces; when the verification gate is
50
+ triggered, run the reviewer loop until unconditional approval.
51
51
 
52
52
  # Manual-QA channels
53
53
  Run real-surface proof yourself through the channel that faithfully
@@ -66,7 +66,13 @@ exercises the surface; capture the artifact.
66
66
  if Chrome is not available, download and use agent-browser
67
67
  (https://github.com/vercel-labs/agent-browser). Capture action
68
68
  log + screenshot path. Never downgrade to a non-browser surface
69
- for a browser-facing criterion.
69
+ for a browser-facing criterion. NEVER clear cookies, cache, or
70
+ site data (`Network.clearBrowserCookies`, `Storage.clearCookies`,
71
+ `chrome.browsingData.remove`, "clear browsing data") on the user's
72
+ real/main browser profile — it wipes their logged-in state. If you
73
+ need that profile's login state, clone it first (`rsync -a
74
+ <profile>/ <tmp-clone>/`) and launch Chrome / agent-browser against
75
+ the clone as the user-data-dir; run any clearing there only.
70
76
  4. Computer use — when the surface is a desktop/GUI app rather than a
71
77
  page, drive it via OS-level automation (a computer-use agent,
72
78
  AppleScript, xdotool, etc.) against the running app; capture
@@ -126,6 +132,12 @@ exactly `objective`; do not include `status`. Only when no goal tool
126
132
  exists on this surface, open your reply with a `# Goal` block treated
127
133
  as binding. Goals are unlimited; never invent a numeric budget or
128
134
  limit.
135
+ Check `get_goal` first: continue a matching active goal instead of
136
+ duplicating one; surface a conflicting one. Write the objective
137
+ outcome-first: the concrete thing that will be TRUE when done (an
138
+ outcome, never an activity), the named deliverable surfaces, and
139
+ explicit scope bounds — a vague objective produces vague criteria,
140
+ and vague criteria cannot be proven.
129
141
  The criteria MUST list, upfront:
130
142
  - The user-visible deliverable in one line, and the tier with its
131
143
  justification.
@@ -217,8 +229,8 @@ and utility functions to batch commands and reduce output. Keep direct calls
217
229
  when one result chooses the next action, outputs are already small, semantic
218
230
  judgment is required between calls, approval or side effects are involved,
219
231
  or native artifacts / citations must be preserved.
220
- - Architecture / flow / blast radius → `codegraph_explore` first when
221
- `codegraph_*` exists; if unavailable, continue with repo tools and LSP.
232
+ - Architecture / flow / blast radius → explore agents plus LSP references
233
+ and impact; do not guess from conventions.
222
234
  - **SYMBOLS REQUIRE LSP** — definitions, references, rename impact,
223
235
  workspace symbols, and diagnostics use the available `lsp_*` tools, not
224
236
  text search. Run diagnostics after edits and treat errors as blocking.
@@ -328,17 +340,26 @@ make the child continue old parent context instead of the delegated task.
328
340
  If your tool list has a flat `spawn_agent` with a required `task_name` instead of `multi_agent_v1.*` (`multi_agent_v2`), rewrite: `fork_context: false` becomes `fork_turns: "none"`, `send_input` becomes `send_message`, finished agents end on their own (no `close_agent`; `followup_task` re-tasks, `interrupt_agent` stops), and `wait_agent` takes only `timeout_ms`, returning on any child mailbox activity.
329
341
 
330
342
  # TOML-backed subagent routing compatibility
331
- Installed role TOMLs (`~/.codex/agents/`) bind ONLY via `agent_type`.
332
- `multi_agent_v1.spawn_agent` exposes `agent_type`; the deployed
333
- `multi_agent_v2` `collaboration.spawn_agent` schema does NOT (verified
334
- 2026-07-11: only `fork_turns`, `message`, `task_name`). On a v2 surface,
335
- omit `agent_type`, describe the role and difficulty tier inside
336
- `message`, and expect the session model for children. Difficulty tiers
337
- when `agent_type` IS exposed: low -> `lazycodex-worker-low`
338
- (gpt-5.6-luna/high), medium -> `lazycodex-worker-medium`
339
- (gpt-5.6-luna/max), high -> `lazycodex-worker-high` (gpt-5.6-sol/max);
340
- explorer/librarian carry their own TOMLs (gpt-5.6-luna/low). Difficulty
341
- (model power) is orthogonal to LIGHT/HEAVY rigor (process size).
343
+ Inspect the ACTUAL spawn tool schema, not a version or namespace assumption.
344
+ When `agent_type` is exposed (V1 or V2), EVERY spawn MUST pass an exact
345
+ LazyCodex role: `explorer`, `librarian`, `plan`, `metis`, `momus`,
346
+ `lazycodex-worker-low`, `lazycodex-worker-medium`, `lazycodex-worker-high`,
347
+ `lazycodex-code-reviewer`, `lazycodex-qa-executor`, `lazycodex-gate-reviewer`,
348
+ or `lazycodex-clone-fidelity-reviewer`. Map implementation difficulty to
349
+ worker low/medium/high; their installed TOMLs supply model and instructions.
350
+ Never select generic `worker`/`default` or describe a role instead of selecting it.
351
+ Use `fork_turns: "none"` on V2 or `fork_context: false` on V1 unless full
352
+ history is deliberately required; even a deliberate fork MUST name its role.
353
+
354
+ Legacy-schema exception: ONLY when `agent_type` is absent, omit that unsupported
355
+ field and carry the role, difficulty, and complete instructions in `message`;
356
+ explicitly disable history. This cannot select a specialized TOML. The managed
357
+ `default` supplies the medium worker for unnamed non-forks, unless opted out or
358
+ blocked by a preserved user default. The spawn guard cannot see the schema and
359
+ rejects unnamed requests: report incompatible routing, do not retry generically.
360
+ An unnamed full-history fork skips role application inside Codex; no LazyCodex
361
+ config can fix that upstream gap. Never claim this path has been repaired.
362
+ Difficulty (model power) is orthogonal to LIGHT/HEAVY rigor (process size).
342
363
 
343
364
  Treat child status as a progress signal, not a timeout counter. For
344
365
  work likely to exceed one wait cycle, tell the child to send
@@ -373,16 +394,17 @@ BLOCKED: <reason>`. After four silent or ack-only checks, close the lane as
373
394
  inconclusive, record that it is not approval, and respawn smaller only
374
395
  if the deliverable is still required.
375
396
 
376
- # Verification gate (TRIGGERED, NOT OPTIONAL)
397
+ # Verification gate (TRIGGERED ONLY ON EXPLICIT DEMAND)
377
398
 
378
- Trigger when ANY apply:
379
- - Tier is HEAVY.
380
- - User demanded strict, rigorous, or proper review.
381
- LIGHT tier records a self-review in the notepad instead: re-read the
382
- diff, run diagnostics, confirm each criterion's evidence, and state in
383
- one line why the tier held.
399
+ Trigger ONLY when the user explicitly demanded strict, rigorous, proper,
400
+ or high-accuracy review of this work, in any language (for example,
401
+ 고정밀 or 엄격). The tier alone never triggers the gate. HEAVY without
402
+ such a demand records the same self-review as LIGHT.
403
+ LIGHT and non-triggered HEAVY work records a self-review in the notepad
404
+ instead: re-read the diff, run diagnostics, confirm each criterion's
405
+ evidence, and state in one line why the tier held.
384
406
 
385
- Procedure (NON-NEGOTIABLE):
407
+ When triggered, follow this procedure (NON-NEGOTIABLE):
386
408
  1. Spawn a child with `fork_context: false` and a self-contained reviewer
387
409
  assignment in `message`. The `multi_agent_v1.spawn_agent` schema cannot select a
388
410
  TOML-backed reviewer role, so paste the reviewer requirements into
@@ -0,0 +1,16 @@
1
+ import type { UlwLoopScope } from "./paths.js";
2
+ import type { UlwLoopItem, UlwLoopPlan } from "./types.js";
3
+ import { UlwLoopError } from "./types.js";
4
+ export declare function validateCheckpointCodexGoal(input: {
5
+ readonly repoRoot: string;
6
+ readonly plan: UlwLoopPlan;
7
+ readonly goal: UlwLoopItem;
8
+ readonly raw: string | undefined;
9
+ readonly evidence: string;
10
+ readonly scope?: UlwLoopScope;
11
+ }): Promise<{
12
+ readonly raw: unknown;
13
+ readonly nextActions: readonly string[];
14
+ readonly warnings: readonly string[];
15
+ }>;
16
+ export declare function combineCheckpointValidationErrors(codexError: UlwLoopError, gateError: UlwLoopError): UlwLoopError;
@@ -0,0 +1,25 @@
1
+ import { CodexGoalSnapshotError, formatCodexGoalReconciliation, readCodexGoalSnapshotInput, reconcileCodexGoalSnapshot, } from "./codex-goal-snapshot.js";
2
+ import { codexGoalMode, compatibleCodexObjectives, expectedCodexObjective } from "./goal-status.js";
3
+ import { UlwLoopError } from "./types.js";
4
+ export async function validateCheckpointCodexGoal(input) {
5
+ const snapshot = await readCodexGoalSnapshotInput(input.raw, input.repoRoot);
6
+ const expected = expectedCodexObjective(input.plan, input.goal);
7
+ const reconciliation = reconcileCodexGoalSnapshot(snapshot, {
8
+ expectedObjective: expected,
9
+ ...(codexGoalMode(input.plan) === "aggregate"
10
+ ? { acceptedObjectives: compatibleCodexObjectives(input.plan) }
11
+ : {}),
12
+ });
13
+ if (!reconciliation.ok)
14
+ throw new CodexGoalSnapshotError(formatCodexGoalReconciliation(reconciliation));
15
+ return {
16
+ raw: snapshot?.raw,
17
+ nextActions: reconciliation.warnings,
18
+ warnings: reconciliation.warnings.filter((warning) => warning.startsWith("driver_objective_differs")),
19
+ };
20
+ }
21
+ export function combineCheckpointValidationErrors(codexError, gateError) {
22
+ return new UlwLoopError(`${codexError.message}\n${gateError.message}`, "ULW_LOOP_QUALITY_GATE_INVALID", {
23
+ details: { ...(codexError.details ?? {}), ...(gateError.details ?? {}) },
24
+ });
25
+ }
@@ -1,4 +1,5 @@
1
1
  import { checkpointUlwLoop } from "./checkpoint.js";
2
+ import { checkpointTemplate } from "./checkpoint-template.js";
2
3
  import { hasFlag, parseCodexGoalJson, readValue } from "./cli-arg-parser.js";
3
4
  import { blockedDecisionHandoff, printJson } from "./cli-output.js";
4
5
  import { buildCodexGoalInstruction } from "./codex-goal-instruction.js";
@@ -15,13 +16,18 @@ export async function checkpointAndContinue(repoRoot, args, scope) {
15
16
  return { ...result, plan: next.plan, next: { resumed: next.resumed, goal: next.goal, instruction } };
16
17
  }
17
18
  export async function checkpoint(repoRoot, argv, json, scope) {
19
+ if (hasFlag(argv, "--print-template")) {
20
+ const template = await checkpointTemplate(repoRoot, scope, readValue(argv, "--goal-id"));
21
+ if (json)
22
+ printJson({ ok: true, ...template });
23
+ else
24
+ printJson(template);
25
+ return 0;
26
+ }
18
27
  const goalId = required(argv, "--goal-id");
19
28
  const statusValue = checkpointStatus(required(argv, "--status"));
20
29
  const evidence = required(argv, "--evidence");
21
- const codexGoalJson = await parseCodexGoalJson(statusValue === "complete" ? required(argv, "--codex-goal-json") : readValue(argv, "--codex-goal-json"));
22
- if (statusValue === "complete" && codexGoalJson === undefined) {
23
- throw new UlwLoopError("Missing --codex-goal-json.", "ULW_LOOP_CODEX_GOAL_JSON_REQUIRED");
24
- }
30
+ const codexGoalJson = await parseCodexGoalJson(readValue(argv, "--codex-goal-json"));
25
31
  const qualityGateJson = readValue(argv, "--quality-gate-json");
26
32
  const args = {
27
33
  goalId,
@@ -1,5 +1,2 @@
1
- import { type UlwLoopScope } from "./paths.js";
2
- import type { UlwLoopItem, UlwLoopPlan } from "./types.js";
3
- export declare function canReconcileCompletedTaskScopedAggregateSnapshot(repoRoot: string, plan: UlwLoopPlan, goal: UlwLoopItem, snapshotObjective: string, evidence: string, scope?: UlwLoopScope): Promise<boolean>;
4
- export declare function canReconcileActiveFinalTaskScopedAggregateSnapshot(repoRoot: string, plan: UlwLoopPlan, goal: UlwLoopItem, snapshotObjective: string, evidence: string, scope?: UlwLoopScope): Promise<boolean>;
5
- export declare function buildTaskScopedAggregateReconciliationHint(goal: UlwLoopItem, final: boolean): string;
1
+ import { UlwLoopError } from "./types.js";
2
+ export declare function combineCheckpointValidationErrors(codexError: UlwLoopError, gateError: UlwLoopError): UlwLoopError;
@@ -1,79 +1,6 @@
1
- import { existsSync } from "node:fs";
2
- import { readFile } from "node:fs/promises";
3
- import { codexGoalMode, isFinalRunCompletionCandidate } from "./goal-status.js";
4
- import { ulwLoopBriefPath } from "./paths.js";
5
- import { ULW_LOOP_DIR, ULW_LOOP_GOALS, ULW_LOOP_LEDGER } from "./types.js";
6
- function normalizeObjective(value) {
7
- return value.replace(/\s+/g, " ").trim();
8
- }
9
- function textMentionsUlwLoopPlanArtifact(value) {
10
- const normalized = (value ?? "").toLowerCase();
11
- return (normalized.includes(ULW_LOOP_DIR.toLowerCase()) ||
12
- normalized.includes(ULW_LOOP_GOALS.toLowerCase()) ||
13
- normalized.includes(ULW_LOOP_LEDGER.toLowerCase()));
14
- }
15
- function textMentionsGoalId(value, goalId) {
16
- return (value ?? "").toLowerCase().includes(goalId.toLowerCase());
17
- }
18
- function textHasCompletionValidationEvidence(value) {
19
- const normalized = (value ?? "").toLowerCase();
20
- const done = /\b(?:planned work|implementation|deliverables?|scope|task|work)\b/.test(normalized) &&
21
- /\b(?:done|complete|completed|finished|shipped)\b/.test(normalized);
22
- const verified = /\b(?:validation|verification|tests?|build|lint|review|quality gate|code-review)\b/.test(normalized) &&
23
- /\b(?:passed|complete|completed|clean|green|approve|approved|clear)\b/.test(normalized);
24
- return done && verified;
25
- }
26
- async function snapshotObjectiveMapsToUlwLoopPlan(repoRoot, snapshotObjective, scope) {
27
- const actual = normalizeObjective(snapshotObjective).toLowerCase();
28
- if (textMentionsUlwLoopPlanArtifact(actual))
29
- return true;
30
- if (actual.length < 24 || !existsSync(ulwLoopBriefPath(repoRoot, scope)))
31
- return false;
32
- try {
33
- const brief = normalizeObjective(await readFile(ulwLoopBriefPath(repoRoot, scope), "utf8")).toLowerCase();
34
- return brief.length >= 24 && (brief.includes(actual) || actual.includes(brief));
35
- }
36
- catch (error) {
37
- if (error instanceof Error)
38
- return false;
39
- throw error;
40
- }
41
- }
42
- export async function canReconcileCompletedTaskScopedAggregateSnapshot(repoRoot, plan, goal, snapshotObjective, evidence, scope) {
43
- if (codexGoalMode(plan) !== "aggregate")
44
- return false;
45
- if (goal.status !== "in_progress" || plan.activeGoalId !== goal.id)
46
- return false;
47
- if (isFinalRunCompletionCandidate(plan, goal)) {
48
- return snapshotObjectiveMapsToUlwLoopPlan(repoRoot, snapshotObjective, scope);
49
- }
50
- if (!textMentionsUlwLoopPlanArtifact(evidence) || !textMentionsGoalId(evidence, goal.id))
51
- return false;
52
- if (!textHasCompletionValidationEvidence(evidence))
53
- return false;
54
- return snapshotObjectiveMapsToUlwLoopPlan(repoRoot, snapshotObjective, scope);
55
- }
56
- export async function canReconcileActiveFinalTaskScopedAggregateSnapshot(repoRoot, plan, goal, snapshotObjective, evidence, scope) {
57
- if (codexGoalMode(plan) !== "aggregate")
58
- return false;
59
- if (goal.status !== "in_progress" || plan.activeGoalId !== goal.id)
60
- return false;
61
- if (!isFinalRunCompletionCandidate(plan, goal))
62
- return false;
63
- if (!textHasCompletionValidationEvidence(evidence))
64
- return false;
65
- return snapshotObjectiveMapsToUlwLoopPlan(repoRoot, snapshotObjective, scope);
66
- }
67
- function buildCompletedLegacyGoalRemediation(goal) {
68
- return [
69
- "If get_goal returns a different completed legacy/thread objective, do not repeat --status complete in this thread.",
70
- `Record a non-terminal blocker with: omo-agent-toolkit ulw-loop checkpoint --goal-id ${goal.id} --status blocked --evidence "<completed legacy Codex goal blocks create_goal in this thread>" --codex-goal-json "<different completed get_goal JSON or path>".`,
71
- "Then continue only from a Codex goal context with no active/completed conflicting goal, in the same repo/worktree, and create the intended goal there.",
72
- ].join(" ");
73
- }
74
- export function buildTaskScopedAggregateReconciliationHint(goal, final) {
75
- if (final) {
76
- return ` Final task-scoped aggregate reconciliation requires the checkpoint goal to be the active in-progress final OMO goal and the completed get_goal objective to map to the ulw-loop brief or artifact. ${buildCompletedLegacyGoalRemediation(goal)}`;
77
- }
78
- return ` Completed task-scoped aggregate reconciliation requires the checkpoint goal to be the active in-progress OMO goal, evidence that names that active OMO goal id, names .omo/ulw-loop/goals.json or ledger.jsonl, includes completed implementation plus validation/review evidence, and a get_goal objective that maps to the ulw-loop brief/artifact. ${buildCompletedLegacyGoalRemediation(goal)}`;
1
+ import { UlwLoopError } from "./types.js";
2
+ export function combineCheckpointValidationErrors(codexError, gateError) {
3
+ return new UlwLoopError(`${codexError.message}\n${gateError.message}`, "ULW_LOOP_QUALITY_GATE_INVALID", {
4
+ details: { ...(codexError.details ?? {}), ...(gateError.details ?? {}) },
5
+ });
79
6
  }
@@ -0,0 +1,12 @@
1
+ import { type UlwLoopScope } from "./paths.js";
2
+ import { type UlwLoopToolkitSurface } from "./surface.js";
3
+ export interface CheckpointTemplate {
4
+ readonly qualityGateTemplate: Record<string, unknown>;
5
+ readonly codexGoalTemplate: Record<string, unknown>;
6
+ readonly attemptDir?: string;
7
+ readonly guidance?: string;
8
+ }
9
+ export interface CheckpointTemplateDependencies {
10
+ readonly surface?: UlwLoopToolkitSurface;
11
+ }
12
+ export declare function checkpointTemplate(repoRoot: string, scope?: UlwLoopScope, goalId?: string, dependencies?: CheckpointTemplateDependencies): Promise<CheckpointTemplate>;
@@ -0,0 +1,114 @@
1
+ import { ulwLoopAttemptEvidenceDir } from "./paths.js";
2
+ import { readUlwLoopPlan } from "./plan-io.js";
3
+ import { resolveToolkitSurface } from "./surface.js";
4
+ import { UlwLoopError } from "./types.js";
5
+ function artifactPath(base, name) {
6
+ return `${base}/${name}`;
7
+ }
8
+ function gateTemplate(surface, base) {
9
+ const artifacts = [
10
+ {
11
+ id: "artifact-cli",
12
+ kind: "cli-transcript",
13
+ description: "<replace:artifact description>",
14
+ path: artifactPath(base, "cli-transcript.txt"),
15
+ },
16
+ {
17
+ id: "artifact-data",
18
+ kind: "data-diff",
19
+ description: "<replace:artifact description>",
20
+ path: artifactPath(base, "data-diff.txt"),
21
+ },
22
+ ];
23
+ const manualQa = {
24
+ by: "main-session",
25
+ status: "passed",
26
+ evidence: "<replace:manual QA evidence>",
27
+ surfaceEvidence: [
28
+ {
29
+ id: "surface-cli",
30
+ criterionRef: "<replace:criterion id>",
31
+ surface: "cli",
32
+ invocation: "<replace:command>",
33
+ verdict: "passed",
34
+ artifactRefs: ["artifact-cli"],
35
+ },
36
+ {
37
+ id: "surface-data",
38
+ criterionRef: "<replace:criterion id>",
39
+ surface: "data",
40
+ invocation: "<replace:command>",
41
+ verdict: "passed",
42
+ artifactRefs: ["artifact-data"],
43
+ },
44
+ ],
45
+ adversarialCases: [
46
+ {
47
+ id: "<replace:adversarial case id>",
48
+ criterionRef: "<replace:criterion id>",
49
+ scenario: "<replace:scenario>",
50
+ expectedBehavior: "<replace:expected behavior>",
51
+ verdict: "not_applicable",
52
+ reason: "<replace:reason>",
53
+ artifactRefs: ["artifact-cli"],
54
+ },
55
+ ],
56
+ artifactRefs: artifacts,
57
+ };
58
+ const common = {
59
+ manualQa,
60
+ gateReview: {
61
+ by: surface === "omo-senpi" ? "category:deep" : "main-session",
62
+ recommendation: "APPROVE",
63
+ reportPath: artifactPath(base, "gate-review.md"),
64
+ evidence: "<replace:gate review evidence>",
65
+ blockers: [],
66
+ notes: [],
67
+ },
68
+ iteration: {
69
+ fullRerun: true,
70
+ status: "passed",
71
+ rerunCommands: ["<replace:verification command>"],
72
+ evidence: "<replace:iteration evidence>",
73
+ },
74
+ criteriaCoverage: {
75
+ totalCriteria: 0,
76
+ passCount: 0,
77
+ originalIntent: "<replace:original intent>",
78
+ desiredOutcome: "<replace:desired outcome>",
79
+ userOutcomeReview: "<replace:user outcome review>",
80
+ adversarialClassesCovered: ["<replace:adversarial class>"],
81
+ },
82
+ };
83
+ return common;
84
+ }
85
+ export async function checkpointTemplate(repoRoot, scope, goalId, dependencies) {
86
+ const plan = await readUlwLoopPlan(repoRoot, scope);
87
+ const surface = dependencies?.surface ?? resolveToolkitSurface();
88
+ const targetId = goalId ?? plan.activeGoalId;
89
+ const active = plan.goals.find((goal) => goal.id === targetId);
90
+ if (goalId !== undefined && active === undefined)
91
+ throw new UlwLoopError(`Unknown ulw-loop id: ${goalId}.`, "ULW_LOOP_GOAL_NOT_FOUND", { details: { goalId } });
92
+ const hasAttempt = plan.evidenceLayoutVersion === 2 && active !== undefined;
93
+ const attemptDir = hasAttempt ? ulwLoopAttemptEvidenceDir(active.id, active.attempt, scope) : ".omo/evidence";
94
+ const guidance = [
95
+ "codex-goal-json requires goal.objective to equal the plan's codexObjective verbatim; do not paraphrase it.",
96
+ "Fill every <replace:...> value with plausible non-empty evidence and use real, non-empty artifact files.",
97
+ 'Passing codex-goal-json example: {"goal":{"objective":"<plan codexObjective verbatim>","status":"complete"}}.',
98
+ 'Passing quality-gate-json example requires gateReview {"by":"category:deep","recommendation":"APPROVE","evidence":"review passed","reportPath":"<attemptDir>/gate-review.md","blockers":[],"notes":[]}, manualQa.artifactRefs objects, iteration, and criteriaCoverage.',
99
+ ...(surface === "lazycodex"
100
+ ? [
101
+ "Self-review defaults: manualQa.by and gateReview.by are main-session. Alternatives: manualQa.by accepts lazycodex-qa-executor; gateReview.by accepts lazycodex-gate-reviewer, category:deep, category:unspecified-high, or category:unspecified-low. Optional codeReview.by accepts lazycodex-code-reviewer or main-session.",
102
+ ]
103
+ : []),
104
+ ...(hasAttempt ? [] : ["This plan is evidence-layout v1; artifacts go under .omo/evidence/."]),
105
+ ].join(" ");
106
+ return {
107
+ qualityGateTemplate: gateTemplate(surface, attemptDir),
108
+ codexGoalTemplate: {
109
+ goal: { objective: plan.codexObjective ?? "<replace:codex objective>", status: "complete" },
110
+ },
111
+ guidance,
112
+ ...(hasAttempt ? { attemptDir } : {}),
113
+ };
114
+ }
@@ -1,4 +1,5 @@
1
1
  import type { UlwLoopScope } from "./paths.js";
2
+ import { type UlwLoopToolkitSurface } from "./surface.js";
2
3
  import type { UlwLoopAggregateCompletion, UlwLoopItem, UlwLoopLedgerEntry, UlwLoopPlan } from "./types.js";
3
4
  export interface CheckpointUlwLoopArgs {
4
5
  readonly goalId: string;
@@ -7,10 +8,15 @@ export interface CheckpointUlwLoopArgs {
7
8
  readonly codexGoalJson?: string;
8
9
  readonly qualityGateJson?: string;
9
10
  }
11
+ export interface CheckpointUlwLoopDependencies {
12
+ readonly surface?: UlwLoopToolkitSurface;
13
+ }
10
14
  export interface CheckpointUlwLoopResult {
11
15
  readonly plan: UlwLoopPlan;
12
16
  readonly goal: UlwLoopItem;
13
17
  readonly ledgerEntry: UlwLoopLedgerEntry;
14
18
  readonly aggregateCompletion?: UlwLoopAggregateCompletion;
19
+ readonly nextActions: readonly string[];
20
+ readonly warnings: readonly string[];
15
21
  }
16
- export declare function checkpointUlwLoop(repoRoot: string, args: CheckpointUlwLoopArgs, scope?: UlwLoopScope): Promise<CheckpointUlwLoopResult>;
22
+ export declare function checkpointUlwLoop(repoRoot: string, args: CheckpointUlwLoopArgs, scope?: UlwLoopScope, dependencies?: CheckpointUlwLoopDependencies): Promise<CheckpointUlwLoopResult>;