oh-my-opencode 5.0.0-beta.8 → 5.0.0-beta.80

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 (1229) hide show
  1. package/.agents/command/publish.md +59 -23
  2. package/.agents/command/remove-deadcode.md +1 -1
  3. package/.agents/skills/codex-qa/scripts/lsp-e2e.sh +1 -3
  4. package/.agents/skills/hyperplan/SKILL.md +5 -5
  5. package/.agents/skills/opencode-qa/scripts/lsp-e2e.sh +1 -1
  6. package/.agents/skills/pre-publish-review/SKILL.md +9 -12
  7. package/.agents/skills/publish/SKILL.md +59 -23
  8. package/.agents/skills/remove-deadcode/SKILL.md +1 -1
  9. package/.agents/skills/security-research/SKILL.md +4 -4
  10. package/.agents/skills/senpi-qa/SKILL.md +80 -0
  11. package/.agents/skills/senpi-qa/scripts/resolve-evidence-dir.mjs +65 -0
  12. package/.agents/skills/senpi-qa/scripts/resolve-evidence-dir.test.mjs +171 -0
  13. package/.agents/skills/tech-debt-audit/SKILL.md +6 -76
  14. package/.opencode/command/publish.md +59 -23
  15. package/.opencode/skills/pre-publish-review/SKILL.md +9 -12
  16. package/README.ja.md +66 -61
  17. package/README.ko.md +67 -62
  18. package/README.md +108 -182
  19. package/README.ru.md +63 -61
  20. package/README.zh-cn.md +62 -61
  21. package/THIRD-PARTY-NOTICES.md +35 -105
  22. package/dist/agents/atlas/agent.d.ts +0 -1
  23. package/dist/agents/gpt-prompt-identity.d.ts +1 -1
  24. package/dist/agents/sisyphus-runtime-prompt-reconciler.d.ts +15 -4
  25. package/dist/agents/types.d.ts +4 -2
  26. package/dist/cli/config-manager/parse-opencode-config-file.d.ts +2 -1
  27. package/dist/cli/doctor/checks/browser-provider.d.ts +2 -0
  28. package/dist/cli/doctor/checks/index.d.ts +2 -0
  29. package/dist/cli/doctor/checks/latest-version.d.ts +11 -0
  30. package/dist/cli/doctor/checks/system-plugin.d.ts +4 -3
  31. package/dist/cli/doctor/framework/constants.d.ts +5 -0
  32. package/dist/cli/doctor/framework/types.d.ts +2 -0
  33. package/dist/cli/fallback-lane-policy.d.ts +1 -0
  34. package/dist/cli/index.js +50191 -58043
  35. package/dist/cli/install-codex/install-codex-test-fixtures.d.ts +1 -1
  36. package/dist/cli/run/on-complete-hook.d.ts +2 -0
  37. package/dist/cli/runtime-commands.d.ts +1 -1
  38. package/dist/cli/worktree-sweep/classify.d.ts +16 -0
  39. package/dist/cli/worktree-sweep/format.d.ts +8 -0
  40. package/dist/cli/worktree-sweep/git.d.ts +19 -0
  41. package/dist/cli/worktree-sweep/index.d.ts +7 -0
  42. package/dist/cli/worktree-sweep/options.d.ts +2 -0
  43. package/dist/cli/worktree-sweep/parse-worktree-list.d.ts +8 -0
  44. package/dist/cli/worktree-sweep/sweep.d.ts +2 -0
  45. package/dist/cli/worktree-sweep/types.d.ts +65 -0
  46. package/dist/cli/worktree-sweep/worktree-sweep.d.ts +2 -0
  47. package/dist/cli-node/index.js +51708 -59537
  48. package/dist/config/index.d.ts +1 -1
  49. package/dist/config/schema/agent-names.d.ts +0 -1
  50. package/dist/config/schema/background-task.d.ts +1 -0
  51. package/dist/config/schema/browser-automation.d.ts +0 -2
  52. package/dist/config/schema/commands.d.ts +1 -1
  53. package/dist/config/schema/hooks.d.ts +1 -2
  54. package/dist/config/schema/oh-my-opencode-config.d.ts +5 -12
  55. package/dist/config/schema/ulw-execute.d.ts +5 -0
  56. package/dist/config/schema.d.ts +0 -1
  57. package/dist/config/validate.d.ts +2 -0
  58. package/dist/config-migration/category-deep-split.d.ts +3 -0
  59. package/dist/config-migration/migration-plans.d.ts +1 -0
  60. package/dist/create-hooks.d.ts +3 -2
  61. package/dist/features/background-agent/compaction-aware-message-resolver.d.ts +1 -0
  62. package/dist/features/background-agent/constants.d.ts +0 -7
  63. package/dist/features/background-agent/error-classifier.d.ts +1 -0
  64. package/dist/features/background-agent/manager.d.ts +9 -1
  65. package/dist/features/background-agent/parent-wake-dispatched-tracker.d.ts +0 -1
  66. package/dist/features/background-agent/parent-wake-notifier-types.d.ts +1 -1
  67. package/dist/features/background-agent/parent-wake-prompt-dispatch.d.ts +1 -1
  68. package/dist/features/background-agent/parent-wake-session-inspector.d.ts +1 -1
  69. package/dist/features/background-agent/subagent-spawn-limits.d.ts +8 -0
  70. package/dist/features/background-agent/types.d.ts +4 -0
  71. package/dist/features/boulder-state/storage.d.ts +1 -1
  72. package/dist/features/btw-side/btw-command-draft.d.ts +7 -0
  73. package/dist/features/btw-side/context-injector.d.ts +15 -0
  74. package/dist/features/btw-side/index.d.ts +8 -0
  75. package/dist/features/btw-side/metadata.d.ts +15 -0
  76. package/dist/features/btw-side/parent-context-budget.d.ts +9 -0
  77. package/dist/features/btw-side/server-session-registry.d.ts +8 -0
  78. package/dist/features/btw-side/tui-adoption-cache.d.ts +13 -0
  79. package/dist/features/btw-side/tui-adoption-guard.d.ts +5 -0
  80. package/dist/features/btw-side/tui-controller-types.d.ts +68 -0
  81. package/dist/features/btw-side/tui-controller.d.ts +19 -0
  82. package/dist/features/btw-side/tui-escape-return.d.ts +12 -0
  83. package/dist/features/btw-side/tui-keymap.d.ts +17 -0
  84. package/dist/features/btw-side/tui-parent-validator.d.ts +6 -0
  85. package/dist/features/btw-side/tui-picker-options.d.ts +20 -0
  86. package/dist/features/btw-side/tui-picker.d.ts +9 -0
  87. package/dist/features/btw-side/tui-prompt-queue.d.ts +8 -0
  88. package/dist/features/btw-side/tui-session-bridge.d.ts +11 -0
  89. package/dist/features/btw-side/tui-session-catalog.d.ts +35 -0
  90. package/dist/features/btw-side/tui-side-removal.d.ts +11 -0
  91. package/dist/features/btw-side/tui-side-start.d.ts +9 -0
  92. package/dist/features/btw-side/tui-wiring.d.ts +8 -0
  93. package/dist/features/builtin-commands/templates/hyperplan.d.ts +1 -1
  94. package/dist/features/builtin-commands/templates/refactor-sections/team-mode-addendum.d.ts +1 -1
  95. package/dist/features/builtin-commands/templates/remove-ai-slops.d.ts +1 -1
  96. package/dist/features/builtin-commands/templates/ulw-execute.d.ts +1 -0
  97. package/dist/features/builtin-commands/types.d.ts +1 -1
  98. package/dist/features/claude-tasks/storage.d.ts +7 -2
  99. package/dist/features/hook-message-injector/index.d.ts +1 -0
  100. package/dist/features/hook-message-injector/sdk-message-lookup.d.ts +1 -0
  101. package/dist/features/monitor/manager-internals.d.ts +1 -1
  102. package/dist/features/monitor/output-injector-types.d.ts +1 -1
  103. package/dist/features/opengateway-provider/index.d.ts +13 -0
  104. package/dist/features/task-toast-manager/manager.d.ts +0 -24
  105. package/dist/features/team-mode/tools/messaging-fallback-wake.d.ts +17 -0
  106. package/dist/features/team-mode/tools/messaging-live-delivery-recipient.d.ts +3 -0
  107. package/dist/features/team-mode/tools/messaging-runtime.d.ts +7 -0
  108. package/dist/hooks/anthropic-context-window-limit-recovery/message-storage-directory.d.ts +0 -3
  109. package/dist/hooks/anthropic-context-window-limit-recovery/state.d.ts +1 -0
  110. package/dist/hooks/anthropic-context-window-limit-recovery/storage/empty-messages.d.ts +0 -1
  111. package/dist/hooks/anthropic-context-window-limit-recovery/tool-result-storage.d.ts +11 -0
  112. package/dist/hooks/atlas/atlas-hook.d.ts +1 -0
  113. package/dist/hooks/atlas/atlas-lifecycle-store.d.ts +50 -0
  114. package/dist/hooks/atlas/event-handler.d.ts +1 -0
  115. package/dist/hooks/atlas/final-wave-approval-gate.test-support.d.ts +50 -0
  116. package/dist/hooks/atlas/system-reminder-templates.d.ts +0 -1
  117. package/dist/hooks/atlas/tool-execute-before.d.ts +3 -0
  118. package/dist/hooks/atlas/types.d.ts +1 -0
  119. package/dist/hooks/claude-code-hooks/session-hook-state.d.ts +1 -0
  120. package/dist/hooks/claude-code-hooks/stop.d.ts +2 -0
  121. package/dist/hooks/claude-code-hooks/todo.d.ts +0 -1
  122. package/dist/hooks/claude-code-hooks/transcript.d.ts +2 -0
  123. package/dist/hooks/comment-checker/__fixtures__/download-probe.fixture.d.ts +1 -0
  124. package/dist/hooks/compaction-context-injector/validated-model.d.ts +2 -0
  125. package/dist/hooks/fsync-skip-warning/index.d.ts +4 -0
  126. package/dist/hooks/hashline-edit-diff-enhancer/hook.d.ts +1 -0
  127. package/dist/hooks/hashline-edit-diff-enhancer/pending-captures.d.ts +13 -0
  128. package/dist/hooks/index.d.ts +1 -2
  129. package/dist/hooks/keyword-detector/hook.d.ts +9 -0
  130. package/dist/hooks/keyword-detector/ultrawork/index.d.ts +2 -0
  131. package/dist/hooks/keyword-detector/ultrawork/source-detector.d.ts +0 -1
  132. package/dist/hooks/model-fallback/hook.d.ts +1 -1
  133. package/dist/hooks/plan-format-validator/hook.d.ts +19 -0
  134. package/dist/hooks/prometheus-md-only/agent-resolution.d.ts +2 -2
  135. package/dist/hooks/runtime-fallback/chat-message-handler.d.ts +2 -0
  136. package/dist/hooks/runtime-fallback/retry-model-payload.d.ts +1 -0
  137. package/dist/hooks/runtime-fallback/runtime-model-settings.d.ts +6 -0
  138. package/dist/hooks/runtime-fallback/session-status-handler.d.ts +1 -1
  139. package/dist/hooks/runtime-fallback/types.d.ts +3 -1
  140. package/dist/hooks/sisyphus-junior-notepad/constants.d.ts +1 -1
  141. package/dist/hooks/todo-continuation-enforcer/types.d.ts +1 -0
  142. package/dist/hooks/{start-work → ulw-execute}/context-info-builder.d.ts +1 -1
  143. package/dist/hooks/{start-work → ulw-execute}/index.d.ts +1 -1
  144. package/dist/hooks/ulw-execute/ulw-execute-hook.d.ts +23 -0
  145. package/dist/hooks/unstable-agent-babysitter/task-message-analyzer.d.ts +1 -0
  146. package/dist/index.js +30870 -27341
  147. package/dist/mcp/index.d.ts +0 -4
  148. package/dist/mcp/types.d.ts +0 -1
  149. package/dist/oh-my-opencode.schema.json +25 -52
  150. package/dist/plugin/chat-message/types.d.ts +6 -4
  151. package/dist/plugin/chat-message/ulw-execute-message.d.ts +5 -0
  152. package/dist/plugin/event-session-lifecycle.d.ts +1 -0
  153. package/dist/plugin/hooks/create-core-hooks.d.ts +2 -2
  154. package/dist/plugin/hooks/create-session-hooks.d.ts +2 -3
  155. package/dist/plugin/hooks/create-transform-hooks.d.ts +2 -0
  156. package/dist/plugin/messages-transform.d.ts +1 -0
  157. package/dist/plugin/stop-continuation.d.ts +3 -0
  158. package/dist/plugin/system-transform.d.ts +5 -1
  159. package/dist/plugin-config/omo-config-chain.d.ts +1 -0
  160. package/dist/plugin-dispose.d.ts +3 -0
  161. package/dist/shared/agent-tool-restrictions.d.ts +0 -1
  162. package/dist/shared/compaction-agent-config-checkpoint.d.ts +1 -0
  163. package/dist/shared/index.d.ts +2 -0
  164. package/dist/shared/legacy-plugin-warning.d.ts +2 -1
  165. package/dist/shared/omo-process-sweep.d.ts +2 -4
  166. package/dist/shared/plugin-entry-migrator.d.ts +4 -3
  167. package/dist/shared/plugin-entry-shape.d.ts +6 -0
  168. package/dist/shared/runtime-fallback-retry-marker.d.ts +16 -0
  169. package/dist/shared/shell-env.d.ts +1 -1
  170. package/dist/skills/ast-grep/AGENTS.md +51 -0
  171. package/dist/skills/ast-grep/SKILL.md +13 -1
  172. package/dist/skills/coding-agent-sessions/AGENTS.md +62 -0
  173. package/dist/skills/coding-agent-sessions/SKILL.md +1 -1
  174. package/dist/skills/data-scientist/SKILL.md +99 -239
  175. package/dist/skills/data-scientist/references/execution-surfaces.md +91 -0
  176. package/dist/skills/data-scientist/references/placement.md +74 -0
  177. package/dist/skills/data-scientist/references/polars-lane.md +95 -0
  178. package/dist/skills/data-scientist/references/uv-setup.md +1 -1
  179. package/dist/skills/data-scientist/references/visualization.md +64 -0
  180. package/dist/skills/data-scientist/scripts/ensure-js-deps.sh +28 -0
  181. package/dist/skills/data-scientist/scripts/ensure-py-deps.sh +37 -0
  182. package/dist/skills/debugging/SKILL.md +3 -1
  183. package/dist/skills/debugging/references/methodology/00-setup.md +12 -0
  184. package/dist/skills/debugging/references/methodology/02-investigate.md +26 -5
  185. package/dist/skills/debugging/references/runtimes/go.md +15 -1
  186. package/dist/skills/debugging/references/runtimes/native-binary.md +38 -0
  187. package/dist/skills/debugging/references/runtimes/node.md +25 -0
  188. package/dist/skills/debugging/references/runtimes/python.md +13 -0
  189. package/dist/skills/debugging/references/runtimes/rust.md +41 -0
  190. package/dist/skills/debugging/references/scripts/dap.mjs +267 -0
  191. package/dist/skills/debugging/references/scripts/dap.test.ts +86 -0
  192. package/dist/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
  193. package/dist/skills/debugging/references/tools/dap.md +103 -0
  194. package/dist/skills/debugging/references/tools/frida.md +193 -0
  195. package/dist/skills/debugging/references/tools/playwright-cli.md +79 -161
  196. package/dist/skills/frontend/ATTRIBUTION.md +10 -0
  197. package/dist/skills/frontend/SKILL.md +7 -3
  198. package/dist/skills/frontend/references/design/README.md +10 -2
  199. package/dist/skills/frontend/references/design/_INDEX.md +1 -0
  200. package/dist/skills/frontend/references/design/ambience-skill.md +145 -0
  201. package/dist/skills/frontend/references/design/aside.md +1 -1
  202. package/dist/skills/frontend/references/design/clone-from-url.md +1 -1
  203. package/dist/skills/frontend/references/design/interaction-skill.md +2 -0
  204. package/dist/skills/frontend/references/design/print-paged-media.md +76 -0
  205. package/dist/skills/frontend/references/designpowers/README.md +1 -1
  206. package/dist/skills/frontend/references/designpowers/lane-a-direction.md +1 -1
  207. package/dist/skills/frontend/references/designpowers/lane-b-execution.md +11 -11
  208. package/dist/skills/frontend/references/designpowers/lane-d-memory.md +3 -3
  209. package/dist/skills/frontend/references/designpowers/orchestration.md +1 -1
  210. package/dist/skills/frontend/references/designpowers/routing.md +5 -5
  211. package/dist/skills/frontend/scripts/perfection/lighthouse-audit.py +2 -2
  212. package/dist/skills/git-master/SKILL.md +1 -1
  213. package/dist/skills/init-deep/SKILL.md +14 -14
  214. package/dist/skills/lsp-setup/SKILL.md +1 -1
  215. package/dist/skills/programming/SKILL.md +1 -1
  216. package/dist/skills/refactor/SKILL.md +5 -5
  217. package/dist/skills/remove-ai-slops/SKILL.md +5 -5
  218. package/dist/skills/review-work/SKILL.md +101 -419
  219. package/dist/skills/ultimate-browsing/ATTRIBUTION.md +32 -86
  220. package/dist/skills/ultimate-browsing/SKILL.md +32 -27
  221. package/dist/skills/ultimate-browsing/engine/AGENTS.md +111 -0
  222. package/dist/skills/ultimate-browsing/engine/templates/package.json +2 -2
  223. package/dist/skills/ultimate-browsing/engine/templates/playwright_mobile_chrome.js +5 -2
  224. package/dist/skills/ultimate-browsing/engine/templates/playwright_real_chrome.js +8 -6
  225. package/dist/skills/ultimate-browsing/engine/tests/test_playwright_stealth.py +86 -0
  226. package/dist/skills/ultimate-browsing/engine/tests/test_playwright_templates.py +4 -7
  227. package/dist/skills/ultimate-browsing/references/chrome-stealth.md +86 -95
  228. package/dist/skills/ultimate-browsing/references/insane-search/README.md +18 -5
  229. package/dist/skills/ultimate-browsing/references/insane-search/playwright.md +16 -13
  230. package/dist/skills/ultimate-browsing/scripts/extract_cookies.py +3 -3
  231. package/dist/skills/{start-work → ulw-execute}/SKILL.md +24 -22
  232. package/dist/skills/ulw-plan/SKILL.md +5 -6
  233. package/dist/skills/ulw-plan/references/full-workflow.md +6 -5
  234. package/dist/skills/ulw-plan/references/intent-unclear.md +2 -2
  235. package/dist/skills/ulw-plan/scripts/scaffold-plan.mjs +2 -1
  236. package/dist/skills/ulw-research/SKILL.md +10 -5
  237. package/dist/skills/visual-qa/AGENTS.md +58 -0
  238. package/dist/skills/visual-qa/SKILL.md +4 -3
  239. package/dist/skills/visual-qa/references/browser-setup.md +75 -0
  240. package/dist/tools/delegate-task/builtin-categories.d.ts +3 -1
  241. package/dist/tools/delegate-task/builtin-category-definition.d.ts +2 -1
  242. package/dist/tools/delegate-task/constants.d.ts +2 -2
  243. package/dist/tools/delegate-task/openai-categories.d.ts +10 -3
  244. package/dist/tools/delegate-task/sync-session-cleanup.d.ts +3 -0
  245. package/dist/tools/delegate-task/sync-session-poller.d.ts +1 -0
  246. package/dist/tools/delegate-task/tool-description.d.ts +3 -1
  247. package/dist/tools/delegate-task/types.d.ts +4 -0
  248. package/dist/tools/session-manager/directory-filter.d.ts +2 -0
  249. package/dist/tui.d.ts +12 -0
  250. package/dist/tui.js +37073 -46672
  251. package/package.json +44 -45
  252. package/packages/git-bash-mcp/dist/cli.js +6 -1
  253. package/packages/git-bash-mcp/package.json +1 -1
  254. package/packages/lsp-core/src/index.ts +1 -0
  255. package/packages/lsp-core/src/lsp/client-diagnostics-concurrency.integration.test.ts +9 -1
  256. package/packages/lsp-core/src/lsp/client-diagnostics-freshness.integration.test.ts +100 -28
  257. package/packages/lsp-core/src/lsp/client-diagnostics-pull-timeout.test.ts +64 -0
  258. package/packages/lsp-core/src/lsp/client-wrapper-outside-cwd.test.ts +78 -0
  259. package/packages/lsp-core/src/lsp/client-wrapper.test.ts +103 -6
  260. package/packages/lsp-core/src/lsp/client-wrapper.ts +50 -16
  261. package/packages/lsp-core/src/lsp/client.ts +32 -3
  262. package/packages/lsp-core/src/lsp/connection.ts +16 -0
  263. package/packages/lsp-core/src/lsp/constants.ts +6 -0
  264. package/packages/lsp-core/src/lsp/controlled-clock-test-support.ts +90 -0
  265. package/packages/lsp-core/src/lsp/errors.ts +15 -0
  266. package/packages/lsp-core/src/lsp/fixtures/workspace-edit-server.mjs +10 -3
  267. package/packages/lsp-core/src/lsp/format-document.test.ts +143 -0
  268. package/packages/lsp-core/src/lsp/format-document.ts +90 -0
  269. package/packages/lsp-core/src/lsp/json-rpc-connection.ts +11 -6
  270. package/packages/lsp-core/src/lsp/manager-lifecycle.test.ts +262 -0
  271. package/packages/lsp-core/src/lsp/manager-max-clients.test.ts +151 -0
  272. package/packages/lsp-core/src/lsp/manager.ts +138 -12
  273. package/packages/lsp-core/src/lsp/outside-context-workspace.ts +33 -0
  274. package/packages/lsp-core/src/lsp/server-definitions.ts +29 -0
  275. package/packages/lsp-core/src/lsp/server-installation.test.ts +376 -0
  276. package/packages/lsp-core/src/lsp/server-installation.ts +200 -27
  277. package/packages/lsp-core/src/lsp/server-resolution-local-binary.test.ts +170 -0
  278. package/packages/lsp-core/src/lsp/server-resolution.ts +18 -5
  279. package/packages/lsp-core/src/lsp/timer-provider.ts +13 -0
  280. package/packages/lsp-core/src/lsp/transport-request-timeout.test.ts +73 -0
  281. package/packages/lsp-core/src/lsp/transport.ts +16 -2
  282. package/packages/lsp-core/src/lsp/types.ts +8 -0
  283. package/packages/lsp-core/src/lsp/workspace-apply-edit-test-support.ts +29 -1
  284. package/packages/lsp-core/src/lsp/workspace-document-state.test.ts +84 -1
  285. package/packages/lsp-core/src/lsp/workspace-document-state.ts +35 -11
  286. package/packages/lsp-core/src/lsp/workspace-markers.ts +18 -0
  287. package/packages/lsp-core/src/mcp.ts +3 -0
  288. package/packages/lsp-core/src/request-context.test.ts +29 -0
  289. package/packages/lsp-core/src/request-context.ts +1 -1
  290. package/packages/lsp-core/src/tool-surface.test.ts +13 -1
  291. package/packages/lsp-core/src/tools/definitions.ts +14 -0
  292. package/packages/lsp-core/src/tools/format.test.ts +56 -0
  293. package/packages/lsp-core/src/tools/format.ts +56 -0
  294. package/packages/lsp-core/src/tools/index.ts +1 -0
  295. package/packages/lsp-core/src/tools/parameters.test.ts +51 -0
  296. package/packages/lsp-core/src/tools/types.ts +10 -0
  297. package/packages/lsp-daemon/dist/cli.js +904 -479
  298. package/packages/lsp-daemon/dist/client.d.ts +10 -0
  299. package/packages/lsp-daemon/dist/client.js +922 -493
  300. package/packages/lsp-daemon/dist/daemon-client.d.ts +1 -0
  301. package/packages/lsp-daemon/dist/daemon-client.js +3 -0
  302. package/packages/lsp-daemon/dist/ensure-daemon.d.ts +6 -1
  303. package/packages/lsp-daemon/dist/ensure-daemon.js +10 -2
  304. package/packages/lsp-daemon/dist/index.js +826 -402
  305. package/packages/lsp-daemon/dist/ownership.js +2 -2
  306. package/packages/lsp-daemon/dist/proxy.js +3 -0
  307. package/packages/lsp-daemon/dist/version-reap.js +1 -1
  308. package/packages/lsp-daemon/package.json +1 -1
  309. package/packages/lsp-tools-mcp/dist/cli.js +764 -341
  310. package/packages/lsp-tools-mcp/dist/lsp/manager.js +274 -138
  311. package/packages/lsp-tools-mcp/dist/mcp.js +789 -368
  312. package/packages/lsp-tools-mcp/dist/request-context.js +12 -13
  313. package/packages/lsp-tools-mcp/dist/tools.js +719 -302
  314. package/packages/lsp-tools-mcp/package.json +1 -1
  315. package/packages/omo-codex/THIRD-PARTY-NOTICES.md +4 -21
  316. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +4 -6
  317. package/packages/omo-codex/plugin/.mcp.json +0 -6
  318. package/packages/omo-codex/plugin/AGENTS.md +47 -0
  319. package/packages/omo-codex/plugin/README.md +6 -2
  320. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +7175 -408
  321. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  322. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  323. package/packages/omo-codex/plugin/components/bootstrap/src/hook.ts +1 -0
  324. package/packages/omo-codex/plugin/components/bootstrap/src/setup.ts +7 -1
  325. package/packages/omo-codex/plugin/components/comment-checker/AGENTS.md +9 -0
  326. package/packages/omo-codex/plugin/components/comment-checker/biome.json +2 -2
  327. package/packages/omo-codex/plugin/components/comment-checker/dist/cli.js +2 -1
  328. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  329. package/packages/omo-codex/plugin/components/comment-checker/package.json +5 -5
  330. package/packages/omo-codex/plugin/components/comment-checker/src/apply-patch.ts +2 -8
  331. package/packages/omo-codex/plugin/components/comment-checker/src/core.ts +1 -2
  332. package/packages/omo-codex/plugin/components/comment-checker/src/request-extractor.ts +1 -1
  333. package/packages/omo-codex/plugin/components/comment-checker/src/runner.ts +1 -0
  334. package/packages/omo-codex/plugin/components/git-bash/AGENTS.md +1 -1
  335. package/packages/omo-codex/plugin/components/git-bash/dist/cli.js +1 -1
  336. package/packages/omo-codex/plugin/components/git-bash/dist/codex-hook.js +2 -1
  337. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  338. package/packages/omo-codex/plugin/components/git-bash/package.json +3 -4
  339. package/packages/omo-codex/plugin/components/git-bash/src/codex-hook.ts +2 -1
  340. package/packages/omo-codex/plugin/components/git-bash/test/codex-hook.test.ts +6 -7
  341. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/AGENTS.md +2 -2
  342. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/biome.json +2 -2
  343. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/directive.md +2 -0
  344. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/cli.js +36 -29
  345. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/codex-hook.js +32 -26
  346. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/types.d.ts +3 -0
  347. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  348. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +5 -5
  349. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/src/codex-hook.ts +32 -28
  350. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/src/types.ts +3 -0
  351. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/cli.test.ts +1 -1
  352. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/codex-hook.test.ts +137 -28
  353. package/packages/omo-codex/plugin/components/lcx/skills/lcx-doctor/SKILL.md +4 -2
  354. package/packages/omo-codex/plugin/components/lsp/AGENTS.md +30 -15
  355. package/packages/omo-codex/plugin/components/lsp/biome.json +2 -2
  356. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +4 -4
  357. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +943 -540
  358. package/packages/omo-codex/plugin/components/lsp/dist/daemon-cli-path.js +1 -1
  359. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  360. package/packages/omo-codex/plugin/components/lsp/package.json +5 -5
  361. package/packages/omo-codex/plugin/components/lsp/src/cli.ts +1 -1
  362. package/packages/omo-codex/plugin/components/lsp/src/codex-hook.ts +1 -1
  363. package/packages/omo-codex/plugin/components/lsp/src/daemon-cli-path.ts +1 -5
  364. package/packages/omo-codex/plugin/components/lsp/test/codex-hook-unavailable.test.ts +6 -7
  365. package/packages/omo-codex/plugin/components/lsp/test/codex-hook.test.ts +1 -2
  366. package/packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts +11 -1
  367. package/packages/omo-codex/plugin/components/rules/AGENTS.md +12 -0
  368. package/packages/omo-codex/plugin/components/rules/README.md +2 -0
  369. package/packages/omo-codex/plugin/components/rules/biome.json +2 -2
  370. package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus/gpt-6.md +123 -0
  371. package/packages/omo-codex/plugin/components/rules/dist/cli.js +91 -68
  372. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  373. package/packages/omo-codex/plugin/components/rules/package.json +7 -7
  374. package/packages/omo-codex/plugin/components/rules/src/config.ts +1 -2
  375. package/packages/omo-codex/plugin/components/rules/src/persistent-cache.ts +1 -2
  376. package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +15 -5
  377. package/packages/omo-codex/plugin/components/rules/src/rules-engine-factory.ts +1 -4
  378. package/packages/omo-codex/plugin/components/rules/src/static-injection.ts +4 -9
  379. package/packages/omo-codex/plugin/components/rules/test/bundled-rules-priority.test.ts +11 -16
  380. package/packages/omo-codex/plugin/components/rules/test/bundled-rules.test.ts +17 -25
  381. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-budget.test.ts +9 -7
  382. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-context.test.ts +0 -6
  383. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-dedup.test.ts +6 -4
  384. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-directive.test.ts +12 -9
  385. package/packages/omo-codex/plugin/components/rules/test/codex-hook.test.ts +28 -37
  386. package/packages/omo-codex/plugin/components/rules/test/dynamic-target-fingerprints.test.ts +1 -2
  387. package/packages/omo-codex/plugin/components/rules/test/engine.test.ts +7 -4
  388. package/packages/omo-codex/plugin/components/rules/test/finder.test.ts +2 -3
  389. package/packages/omo-codex/plugin/components/rules/test/formatter.test.ts +39 -72
  390. package/packages/omo-codex/plugin/components/rules/test/hephaestus-model-variant.test.ts +38 -3
  391. package/packages/omo-codex/plugin/components/rules/test/hook-output.test.ts +2 -3
  392. package/packages/omo-codex/plugin/components/rules/test/matcher.test.ts +2 -3
  393. package/packages/omo-codex/plugin/components/rules/test/package-smoke.test.ts +1 -1
  394. package/packages/omo-codex/plugin/components/rules/test/parser.test.ts +1 -2
  395. package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +29 -6
  396. package/packages/omo-codex/plugin/components/rules/test/rules-engine-consumption.test.ts +3 -6
  397. package/packages/omo-codex/plugin/components/rules/test/scanner.test.ts +1 -2
  398. package/packages/omo-codex/plugin/components/rules/test/sources.test.ts +2 -5
  399. package/packages/omo-codex/plugin/components/rules/test/windows-git-bash-bundled-rule.test.ts +2 -17
  400. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  401. package/packages/omo-codex/plugin/components/teammode/package.json +5 -5
  402. package/packages/omo-codex/plugin/components/teammode/test/thread-title-hook.test.ts +4 -10
  403. package/packages/omo-codex/plugin/components/telemetry/AGENTS.md +8 -0
  404. package/packages/omo-codex/plugin/components/telemetry/biome.json +2 -2
  405. package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +2470 -701
  406. package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +2488 -720
  407. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  408. package/packages/omo-codex/plugin/components/telemetry/package.json +5 -5
  409. package/packages/omo-codex/plugin/components/telemetry/src/codex-hook.ts +1 -4
  410. package/packages/omo-codex/plugin/components/telemetry/src/posthog.ts +4 -14
  411. package/packages/omo-codex/plugin/components/telemetry/src/product-identity.ts +1 -1
  412. package/packages/omo-codex/plugin/components/telemetry/test/diagnostics.test.ts +2 -5
  413. package/packages/omo-codex/plugin/components/ultrawork/AGENTS.md +10 -4
  414. package/packages/omo-codex/plugin/components/ultrawork/README.md +2 -0
  415. package/packages/omo-codex/plugin/components/ultrawork/agents/explorer.toml +1 -1
  416. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-clone-fidelity-reviewer.toml +1 -1
  417. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-code-reviewer.toml +1 -1
  418. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-gate-reviewer.toml +1 -1
  419. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-qa-executor.toml +1 -1
  420. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-high.toml +1 -1
  421. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-low.toml +1 -1
  422. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-medium.toml +1 -1
  423. package/packages/omo-codex/plugin/components/ultrawork/agents/librarian.toml +1 -1
  424. package/packages/omo-codex/plugin/components/ultrawork/agents/metis.toml +1 -1
  425. package/packages/omo-codex/plugin/components/ultrawork/agents/momus.toml +1 -1
  426. package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +4 -4
  427. package/packages/omo-codex/plugin/components/ultrawork/biome.json +2 -2
  428. package/packages/omo-codex/plugin/components/ultrawork/dist/cli.js +500 -4
  429. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  430. package/packages/omo-codex/plugin/components/ultrawork/package.json +5 -6
  431. package/packages/omo-codex/plugin/components/ultrawork/scripts/sync-directive.mjs +30 -14
  432. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +4 -5
  433. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +5 -5
  434. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-unclear.md +2 -2
  435. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -0
  436. package/packages/omo-codex/plugin/components/ultrawork/src/directive-content.ts +4 -0
  437. package/packages/omo-codex/plugin/components/ultrawork/src/directive.ts +5 -2
  438. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook-trigger-policy.test.ts +9 -1
  439. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +0 -136
  440. package/packages/omo-codex/plugin/components/ultrawork/test/directive-source.test.ts +14 -8
  441. package/packages/omo-codex/plugin/components/ultrawork/test/package-smoke.test.ts +12 -1
  442. package/packages/omo-codex/plugin/components/ultrawork/test/skill-pointer.test.ts +0 -2
  443. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/AGENTS.md +4 -4
  444. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/NOTICE +1 -1
  445. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/README.md +6 -6
  446. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/biome.json +2 -2
  447. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/directive.md +11 -11
  448. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/dist/cli.js +16 -16
  449. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +16 -0
  450. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/package.json +12 -12
  451. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/boulder-reader.ts +1 -1
  452. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/cli.ts +1 -1
  453. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/codex-hook.ts +4 -4
  454. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/directive.ts +1 -1
  455. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/index.ts +1 -1
  456. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/types.ts +1 -1
  457. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/boulder-reader.test.ts +3 -3
  458. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/cli.test.ts +4 -11
  459. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/codex-hook.test.ts +24 -22
  460. package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +19 -0
  461. package/packages/omo-codex/plugin/components/ulw-loop/CHANGELOG.md +17 -1
  462. package/packages/omo-codex/plugin/components/ulw-loop/README.md +12 -1
  463. package/packages/omo-codex/plugin/components/ulw-loop/biome.json +2 -2
  464. package/packages/omo-codex/plugin/components/ulw-loop/directive.md +44 -27
  465. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-codex-validation.d.ts +18 -0
  466. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-codex-validation.js +30 -0
  467. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-continuation.js +10 -4
  468. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.d.ts +2 -5
  469. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.js +5 -78
  470. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-template.d.ts +12 -0
  471. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-template.js +114 -0
  472. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.d.ts +7 -1
  473. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.js +57 -46
  474. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-arg-parser.js +2 -2
  475. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-commands.js +21 -8
  476. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.d.ts +2 -1
  477. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.js +12 -1
  478. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.d.ts +1 -1
  479. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.js +40 -37
  480. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +2191 -737
  481. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.d.ts +2 -0
  482. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +28 -8
  483. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.d.ts +8 -5
  484. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.js +35 -23
  485. package/packages/omo-codex/plugin/components/ulw-loop/dist/constants.d.ts +1 -0
  486. package/packages/omo-codex/plugin/components/ulw-loop/dist/constants.js +1 -0
  487. package/packages/omo-codex/plugin/components/ulw-loop/dist/domain-types.d.ts +25 -9
  488. package/packages/omo-codex/plugin/components/ulw-loop/dist/driver-objective-ack.d.ts +4 -0
  489. package/packages/omo-codex/plugin/components/ulw-loop/dist/driver-objective-ack.js +18 -0
  490. package/packages/omo-codex/plugin/components/ulw-loop/dist/evidence-artifacts.d.ts +1 -0
  491. package/packages/omo-codex/plugin/components/ulw-loop/dist/evidence-artifacts.js +37 -0
  492. package/packages/omo-codex/plugin/components/ulw-loop/dist/evidence.d.ts +1 -0
  493. package/packages/omo-codex/plugin/components/ulw-loop/dist/evidence.js +24 -12
  494. package/packages/omo-codex/plugin/components/ulw-loop/dist/ledger.d.ts +4 -0
  495. package/packages/omo-codex/plugin/components/ulw-loop/dist/ledger.js +39 -0
  496. package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.d.ts +2 -0
  497. package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.js +19 -4
  498. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-commit.d.ts +19 -0
  499. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-commit.js +108 -0
  500. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.d.ts +6 -2
  501. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.js +54 -25
  502. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-goal-factory.d.ts +10 -3
  503. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-goal-factory.js +38 -31
  504. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.d.ts +10 -7
  505. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.js +121 -100
  506. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-log.d.ts +16 -0
  507. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-log.js +115 -0
  508. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-missing-recovery.d.ts +18 -0
  509. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-missing-recovery.js +41 -0
  510. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-aggregate.d.ts +7 -0
  511. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-aggregate.js +9 -0
  512. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-artifacts.d.ts +12 -0
  513. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-artifacts.js +104 -0
  514. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-fields.d.ts +13 -1
  515. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-fields.js +65 -9
  516. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-verdicts.js +5 -1
  517. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.d.ts +4 -2
  518. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.js +72 -117
  519. package/packages/omo-codex/plugin/components/ulw-loop/dist/review-blockers.d.ts +2 -0
  520. package/packages/omo-codex/plugin/components/ulw-loop/dist/review-blockers.js +25 -13
  521. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/factory.d.ts +2 -0
  522. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/factory.js +157 -0
  523. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/manifest.d.ts +381 -0
  524. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/manifest.js +127 -0
  525. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/types.d.ts +130 -0
  526. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/types.js +1 -0
  527. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk.d.ts +3 -0
  528. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk.js +3 -0
  529. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-budget-io.d.ts +5 -0
  530. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-budget-io.js +67 -0
  531. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-guard.d.ts +7 -1
  532. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-guard.js +188 -59
  533. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-role-guard.d.ts +2 -0
  534. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-role-guard.js +22 -0
  535. package/packages/omo-codex/plugin/components/ulw-loop/dist/state-lock.d.ts +19 -0
  536. package/packages/omo-codex/plugin/components/ulw-loop/dist/state-lock.js +259 -0
  537. package/packages/omo-codex/plugin/components/ulw-loop/dist/status-next-actions.d.ts +7 -0
  538. package/packages/omo-codex/plugin/components/ulw-loop/dist/status-next-actions.js +41 -0
  539. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering-batch.js +4 -4
  540. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering-mutations.d.ts +3 -2
  541. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering-mutations.js +4 -4
  542. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering-types.d.ts +9 -1
  543. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering.d.ts +3 -2
  544. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering.js +11 -11
  545. package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.js +28 -23
  546. package/packages/omo-codex/plugin/components/ulw-loop/dist/success-criteria-input.d.ts +9 -0
  547. package/packages/omo-codex/plugin/components/ulw-loop/dist/success-criteria-input.js +41 -0
  548. package/packages/omo-codex/plugin/components/ulw-loop/dist/surface.d.ts +19 -0
  549. package/packages/omo-codex/plugin/components/ulw-loop/dist/surface.js +83 -0
  550. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +18 -5
  551. package/packages/omo-codex/plugin/components/ulw-loop/package.json +6 -6
  552. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +7 -2
  553. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +33 -10
  554. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-codex-validation.ts +52 -0
  555. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-continuation.ts +8 -6
  556. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-reconciliation.ts +5 -98
  557. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-template.ts +134 -0
  558. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +59 -77
  559. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-arg-parser.ts +10 -4
  560. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-commands.ts +24 -8
  561. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-output.ts +14 -1
  562. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-subcommands.ts +52 -46
  563. package/packages/omo-codex/plugin/components/ulw-loop/src/cli.ts +8 -6
  564. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +35 -7
  565. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-snapshot.ts +51 -33
  566. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +3 -1
  567. package/packages/omo-codex/plugin/components/ulw-loop/src/constants.ts +1 -0
  568. package/packages/omo-codex/plugin/components/ulw-loop/src/domain-types.ts +27 -9
  569. package/packages/omo-codex/plugin/components/ulw-loop/src/driver-objective-ack.ts +20 -0
  570. package/packages/omo-codex/plugin/components/ulw-loop/src/evidence-artifacts.ts +45 -0
  571. package/packages/omo-codex/plugin/components/ulw-loop/src/evidence.ts +23 -16
  572. package/packages/omo-codex/plugin/components/ulw-loop/src/ledger.ts +38 -0
  573. package/packages/omo-codex/plugin/components/ulw-loop/src/paths.ts +32 -4
  574. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-commit.ts +132 -0
  575. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-crud.ts +67 -54
  576. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-goal-factory.ts +63 -31
  577. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-io.ts +140 -119
  578. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-log.ts +112 -0
  579. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-missing-recovery.ts +61 -0
  580. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-aggregate.ts +11 -0
  581. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-artifacts.ts +123 -0
  582. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-fields.ts +71 -15
  583. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-verdicts.ts +6 -1
  584. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate.ts +92 -136
  585. package/packages/omo-codex/plugin/components/ulw-loop/src/review-blockers.ts +38 -13
  586. package/packages/omo-codex/plugin/components/ulw-loop/src/sdk/factory.ts +218 -0
  587. package/packages/omo-codex/plugin/components/ulw-loop/src/sdk/manifest.ts +156 -0
  588. package/packages/omo-codex/plugin/components/ulw-loop/src/sdk/types.ts +143 -0
  589. package/packages/omo-codex/plugin/components/ulw-loop/src/sdk.ts +3 -0
  590. package/packages/omo-codex/plugin/components/ulw-loop/src/spawn-budget-io.ts +59 -0
  591. package/packages/omo-codex/plugin/components/ulw-loop/src/spawn-guard.ts +196 -52
  592. package/packages/omo-codex/plugin/components/ulw-loop/src/spawn-role-guard.ts +22 -0
  593. package/packages/omo-codex/plugin/components/ulw-loop/src/state-lock.ts +257 -0
  594. package/packages/omo-codex/plugin/components/ulw-loop/src/status-next-actions.ts +45 -0
  595. package/packages/omo-codex/plugin/components/ulw-loop/src/steering-batch.ts +4 -4
  596. package/packages/omo-codex/plugin/components/ulw-loop/src/steering-mutations.ts +5 -4
  597. package/packages/omo-codex/plugin/components/ulw-loop/src/steering-types.ts +13 -1
  598. package/packages/omo-codex/plugin/components/ulw-loop/src/steering.ts +12 -10
  599. package/packages/omo-codex/plugin/components/ulw-loop/src/stop-resume-hook.ts +27 -22
  600. package/packages/omo-codex/plugin/components/ulw-loop/src/success-criteria-input.ts +56 -0
  601. package/packages/omo-codex/plugin/components/ulw-loop/src/surface.ts +115 -0
  602. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-continuation.test.ts +0 -1
  603. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-final.test.ts +131 -82
  604. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-template.test.ts +147 -0
  605. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint.test.ts +16 -22
  606. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-checkpoint-continuation.test.ts +4 -2
  607. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-checkpoint.test.ts +31 -2
  608. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-commands.test.ts +2 -0
  609. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-complete-goals.test.ts +3 -1
  610. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-create-goals.test.ts +35 -8
  611. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-entrypoint.test.ts +38 -4
  612. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-json-errors.test.ts +27 -0
  613. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-scope-required.test.ts +144 -0
  614. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-status-next-actions.test.ts +185 -0
  615. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-steering-batch.test.ts +8 -3
  616. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-validation-batch.test.ts +6 -0
  617. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +37 -2
  618. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-snapshot.test.ts +88 -11
  619. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +0 -3
  620. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/barrier.ts +13 -0
  621. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/cli-session.ts +4 -0
  622. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/commit-child.ts +65 -0
  623. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/commit-cli-qa.mjs +76 -0
  624. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/commit-crash.ts +23 -0
  625. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/commit-mutations.mjs +58 -0
  626. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/commit-writer.ts +65 -0
  627. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/lease-clock.ts +23 -0
  628. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/quality-gate-builder.ts +9 -4
  629. package/packages/omo-codex/plugin/components/ulw-loop/test/guided-recovery.test.ts +67 -0
  630. package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +5 -37
  631. package/packages/omo-codex/plugin/components/ulw-loop/test/paths.test.ts +9 -0
  632. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-commit-log.test.ts +252 -0
  633. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-commit-recovery.test.ts +190 -0
  634. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-io-cross-process.test.ts +106 -0
  635. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-io.test.ts +74 -25
  636. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-log-legacy-projection.test.ts +228 -0
  637. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-log-newest.test.ts +72 -0
  638. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-aggregate-basics.test.ts +258 -0
  639. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-cap-and-dedupe.test.ts +22 -0
  640. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-fields-messages.test.ts +98 -0
  641. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-lazycodex-surface.test.ts +93 -0
  642. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-poisoning-cascades.test.ts +97 -0
  643. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-roles.test.ts +51 -2
  644. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-senpi-surface.test.ts +131 -0
  645. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-single-report.test.ts +241 -0
  646. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate.test.ts +58 -3
  647. package/packages/omo-codex/plugin/components/ulw-loop/test/review-blockers.test.ts +9 -7
  648. package/packages/omo-codex/plugin/components/ulw-loop/test/sdk-completed-plan.test.ts +43 -0
  649. package/packages/omo-codex/plugin/components/ulw-loop/test/sdk-contract.test.ts +137 -0
  650. package/packages/omo-codex/plugin/components/ulw-loop/test/sdk-driver-states.test.ts +174 -0
  651. package/packages/omo-codex/plugin/components/ulw-loop/test/sdk-dx.test.ts +219 -0
  652. package/packages/omo-codex/plugin/components/ulw-loop/test/sdk-session-context.test.ts +169 -0
  653. package/packages/omo-codex/plugin/components/ulw-loop/test/spawn-guard.test.ts +450 -7
  654. package/packages/omo-codex/plugin/components/ulw-loop/test/spawn-role-matrix.test.ts +113 -0
  655. package/packages/omo-codex/plugin/components/ulw-loop/test/state-lock.test.ts +310 -0
  656. package/packages/omo-codex/plugin/components/ulw-loop/test/status-next-actions-surface.test.ts +133 -0
  657. package/packages/omo-codex/plugin/components/ulw-loop/test/steering-batch.test.ts +12 -12
  658. package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +12 -6
  659. package/packages/omo-codex/plugin/components/ulw-loop/test/stop-resume-hook.test.ts +1 -1
  660. package/packages/omo-codex/plugin/components/ulw-loop/test/surface.test.ts +74 -0
  661. package/packages/omo-codex/plugin/components/ulw-loop/test/ultrawork-directive.test.ts +13 -8
  662. package/packages/omo-codex/plugin/components/ulw-loop/vitest.config.ts +1 -0
  663. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  664. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  665. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  666. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  667. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  668. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  669. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  670. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +18 -0
  671. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  672. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  673. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  674. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  675. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  676. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  677. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  678. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +17 -0
  679. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  680. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  681. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  682. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  683. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  684. package/packages/omo-codex/plugin/model-catalog.json +16 -7
  685. package/packages/omo-codex/plugin/package-lock.json +676 -524
  686. package/packages/omo-codex/plugin/package.json +2 -3
  687. package/packages/omo-codex/plugin/scripts/AGENTS.md +39 -0
  688. package/packages/omo-codex/plugin/scripts/auto-update-plan.mjs +1 -2
  689. package/packages/omo-codex/plugin/scripts/auto-update.mjs +0 -9
  690. package/packages/omo-codex/plugin/scripts/canonical-ultrawork-directive.mjs +17 -0
  691. package/packages/omo-codex/plugin/scripts/hook-status-message.mjs +0 -1
  692. package/packages/omo-codex/plugin/scripts/migrate-codex-config/catalog.mjs +16 -7
  693. package/packages/omo-codex/plugin/scripts/migrate-codex-config/multi-agent-v2-guard.mjs +8 -4
  694. package/packages/omo-codex/plugin/scripts/migrate-codex-config/subagent-limit-guard.mjs +19 -90
  695. package/packages/omo-codex/plugin/scripts/migrate-codex-config/toml-section-editor.mjs +1 -1
  696. package/packages/omo-codex/plugin/scripts/sync-skills.d.mts +4 -0
  697. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +111 -64
  698. package/packages/omo-codex/plugin/shared/package.json +3 -4
  699. package/packages/omo-codex/plugin/shared/src/config-loader.ts +2 -102
  700. package/packages/omo-codex/plugin/shared/src/config-migration.ts +0 -1
  701. package/packages/omo-codex/plugin/shared/test/config-loader.test.ts +41 -130
  702. package/packages/omo-codex/plugin/skills/ast-grep/AGENTS.md +51 -0
  703. package/packages/omo-codex/plugin/skills/ast-grep/SKILL.md +13 -1
  704. package/packages/omo-codex/plugin/skills/coding-agent-sessions/AGENTS.md +62 -0
  705. package/packages/omo-codex/plugin/skills/coding-agent-sessions/SKILL.md +1 -1
  706. package/packages/omo-codex/plugin/skills/data-scientist/SKILL.md +99 -239
  707. package/packages/omo-codex/plugin/skills/data-scientist/references/execution-surfaces.md +91 -0
  708. package/packages/omo-codex/plugin/skills/data-scientist/references/placement.md +74 -0
  709. package/packages/omo-codex/plugin/skills/data-scientist/references/polars-lane.md +95 -0
  710. package/packages/omo-codex/plugin/skills/data-scientist/references/uv-setup.md +1 -1
  711. package/packages/omo-codex/plugin/skills/data-scientist/references/visualization.md +64 -0
  712. package/packages/omo-codex/plugin/skills/data-scientist/scripts/ensure-js-deps.sh +28 -0
  713. package/packages/omo-codex/plugin/skills/data-scientist/scripts/ensure-py-deps.sh +37 -0
  714. package/packages/omo-codex/plugin/skills/debugging/SKILL.md +3 -1
  715. package/packages/omo-codex/plugin/skills/debugging/references/methodology/00-setup.md +12 -0
  716. package/packages/omo-codex/plugin/skills/debugging/references/methodology/02-investigate.md +26 -5
  717. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/go.md +15 -1
  718. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/native-binary.md +38 -0
  719. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/node.md +25 -0
  720. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/python.md +13 -0
  721. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/rust.md +41 -0
  722. package/packages/omo-codex/plugin/skills/debugging/references/scripts/dap.mjs +267 -0
  723. package/packages/omo-codex/plugin/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
  724. package/packages/omo-codex/plugin/skills/debugging/references/tools/dap.md +103 -0
  725. package/packages/omo-codex/plugin/skills/debugging/references/tools/frida.md +193 -0
  726. package/packages/omo-codex/plugin/skills/debugging/references/tools/playwright-cli.md +79 -161
  727. package/packages/omo-codex/plugin/skills/frontend/ATTRIBUTION.md +10 -0
  728. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +7 -3
  729. package/packages/omo-codex/plugin/skills/frontend/references/design/README.md +10 -2
  730. package/packages/omo-codex/plugin/skills/frontend/references/design/_INDEX.md +1 -0
  731. package/packages/omo-codex/plugin/skills/frontend/references/design/ambience-skill.md +145 -0
  732. package/packages/omo-codex/plugin/skills/frontend/references/design/aside.md +1 -1
  733. package/packages/omo-codex/plugin/skills/frontend/references/design/clone-from-url.md +1 -1
  734. package/packages/omo-codex/plugin/skills/frontend/references/design/interaction-skill.md +2 -0
  735. package/packages/omo-codex/plugin/skills/frontend/references/design/print-paged-media.md +76 -0
  736. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/README.md +1 -1
  737. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-a-direction.md +1 -1
  738. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-b-execution.md +11 -11
  739. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-d-memory.md +3 -3
  740. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/orchestration.md +1 -1
  741. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/routing.md +5 -5
  742. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/lighthouse-audit.py +2 -2
  743. package/packages/omo-codex/plugin/skills/git-master/SKILL.md +1 -1
  744. package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +20 -18
  745. package/packages/omo-codex/plugin/skills/lcx-doctor/SKILL.md +4 -2
  746. package/packages/omo-codex/plugin/skills/lsp-setup/SKILL.md +1 -1
  747. package/packages/omo-codex/plugin/skills/programming/SKILL.md +1 -1
  748. package/packages/omo-codex/plugin/skills/refactor/SKILL.md +11 -9
  749. package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +11 -9
  750. package/packages/omo-codex/plugin/skills/review-work/SKILL.md +116 -424
  751. package/packages/omo-codex/plugin/skills/ultimate-browsing/ATTRIBUTION.md +32 -86
  752. package/packages/omo-codex/plugin/skills/ultimate-browsing/SKILL.md +32 -27
  753. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/AGENTS.md +111 -0
  754. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/templates/package.json +2 -2
  755. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/templates/playwright_mobile_chrome.js +5 -2
  756. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/templates/playwright_real_chrome.js +8 -6
  757. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/test_playwright_stealth.py +86 -0
  758. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/test_playwright_templates.py +4 -7
  759. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +86 -95
  760. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/README.md +18 -5
  761. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/playwright.md +16 -13
  762. package/packages/omo-codex/plugin/skills/ultimate-browsing/scripts/extract_cookies.py +3 -3
  763. package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +44 -27
  764. package/packages/omo-codex/plugin/skills/{start-work → ulw-execute}/SKILL.md +35 -36
  765. package/packages/omo-codex/plugin/skills/ulw-execute/agents/openai.yaml +2 -0
  766. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +31 -2
  767. package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +33 -10
  768. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +4 -5
  769. package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +5 -5
  770. package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-unclear.md +2 -2
  771. package/packages/omo-codex/plugin/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -0
  772. package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +16 -9
  773. package/packages/omo-codex/plugin/skills/visual-qa/AGENTS.md +58 -0
  774. package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +10 -7
  775. package/packages/omo-codex/plugin/skills/visual-qa/references/browser-setup.md +75 -0
  776. package/packages/omo-codex/plugin/test/AGENTS.md +47 -0
  777. package/packages/omo-codex/plugin/test/aggregate-agents.test.mjs +19 -173
  778. package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +16 -51
  779. package/packages/omo-codex/plugin/test/aggregate-manifest.test.mjs +2 -3
  780. package/packages/omo-codex/plugin/test/aggregate-mcp.test.mjs +2 -7
  781. package/packages/omo-codex/plugin/test/aggregate-model-catalog.test.mjs +14 -4
  782. package/packages/omo-codex/plugin/test/aggregate-plugin-fixture.mjs +175 -13
  783. package/packages/omo-codex/plugin/test/aggregate.test.mjs +78 -2
  784. package/packages/omo-codex/plugin/test/auto-update-release-notes.test.mjs +19 -33
  785. package/packages/omo-codex/plugin/test/auto-update.test.mjs +4 -29
  786. package/packages/omo-codex/plugin/test/bootstrap-default-role.test.mjs +66 -0
  787. package/packages/omo-codex/plugin/test/bootstrap-setup.test.mjs +0 -31
  788. package/packages/omo-codex/plugin/test/canonical-ultrawork-directive.test.mjs +53 -0
  789. package/packages/omo-codex/plugin/test/component-bin-names.test.mjs +2 -2
  790. package/packages/omo-codex/plugin/test/component-bundled-cli.test.mjs +1 -51
  791. package/packages/omo-codex/plugin/test/component-hook-contract-cases.mjs +100 -2
  792. package/packages/omo-codex/plugin/test/hook-status-message.test.mjs +5 -6
  793. package/packages/omo-codex/plugin/test/lcx-contribute-bug-fix-template.test.mjs +21 -27
  794. package/packages/omo-codex/plugin/test/mcp-research-servers.test.mjs +1 -3
  795. package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +35 -35
  796. package/packages/omo-codex/plugin/test/multi-agent-v2-regression.test.mjs +1 -1
  797. package/packages/omo-codex/plugin/test/scaffold-plan.test.mjs +0 -36
  798. package/packages/omo-codex/plugin/test/subagent-limit-migration.test.mjs +107 -15
  799. package/packages/omo-codex/plugin/test/sync-skills-codex-compatibility.test.mjs +168 -0
  800. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +54 -24
  801. package/packages/omo-codex/plugin/test/sync-skills.test.mjs +18 -119
  802. package/packages/omo-codex/plugin/test/teammode-archive-ambiguity.test.mjs +0 -40
  803. package/packages/omo-codex/plugin/test/teammode-communication.test.mjs +6 -62
  804. package/packages/omo-codex/plugin/test/teammode-thread-links.test.mjs +3 -36
  805. package/packages/omo-codex/plugin/test/teammode-transport.test.mjs +0 -44
  806. package/packages/omo-codex/plugin/test/teammode-worktree.test.mjs +2 -6
  807. package/packages/omo-codex/plugin/test/ultrawork-skill-pointer.test.mjs +5 -5
  808. package/packages/omo-codex/plugin/test/ulw-plan-review-state-contract.test.mjs +0 -3
  809. package/packages/omo-codex/scripts/AGENTS.md +36 -0
  810. package/packages/omo-codex/scripts/check-model-catalog-parity.mjs +42 -0
  811. package/packages/omo-codex/scripts/install-cache-copy.test.mjs +27 -1
  812. package/packages/omo-codex/scripts/install-config-autonomous-features.test.mjs +1 -1
  813. package/packages/omo-codex/scripts/install-config-autonomous.test.mjs +2 -1
  814. package/packages/omo-codex/scripts/install-config-git-bash.test.mjs +0 -23
  815. package/packages/omo-codex/scripts/install-config-reasoning.test.mjs +5 -5
  816. package/packages/omo-codex/scripts/install-config.test.mjs +15 -17
  817. package/packages/omo-codex/scripts/install-dist/install-local.mjs +9832 -1445
  818. package/packages/omo-codex/scripts/install-generated-bundle.test.mjs +3 -4
  819. package/packages/omo-codex/scripts/install-git-bash-mcp-env.test.mjs +1 -25
  820. package/packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs +7 -2
  821. package/packages/omo-codex/scripts/install-mcp-runtime.test.mjs +0 -36
  822. package/packages/omo-codex/scripts/install-packaged-local.test.mjs +1 -6
  823. package/packages/{omo-codex/plugin/components/ultrawork/skills/ultrawork/SKILL.md → prompts-core/prompts/ultrawork/codex.md} +44 -34
  824. package/packages/shared-skills/package.json +7 -1
  825. package/packages/shared-skills/skill-source-filter.d.ts +16 -0
  826. package/packages/shared-skills/skill-source-filter.mjs +44 -0
  827. package/packages/shared-skills/skills/ast-grep/AGENTS.md +51 -0
  828. package/packages/shared-skills/skills/ast-grep/SKILL.md +13 -1
  829. package/packages/shared-skills/skills/coding-agent-sessions/AGENTS.md +62 -0
  830. package/packages/shared-skills/skills/coding-agent-sessions/SKILL.md +1 -1
  831. package/packages/shared-skills/skills/data-scientist/SKILL.md +99 -239
  832. package/packages/shared-skills/skills/data-scientist/references/execution-surfaces.md +91 -0
  833. package/packages/shared-skills/skills/data-scientist/references/placement.md +74 -0
  834. package/packages/shared-skills/skills/data-scientist/references/polars-lane.md +95 -0
  835. package/packages/shared-skills/skills/data-scientist/references/uv-setup.md +1 -1
  836. package/packages/shared-skills/skills/data-scientist/references/visualization.md +64 -0
  837. package/packages/shared-skills/skills/data-scientist/scripts/ensure-js-deps.sh +28 -0
  838. package/packages/shared-skills/skills/data-scientist/scripts/ensure-py-deps.sh +37 -0
  839. package/packages/shared-skills/skills/debugging/SKILL.md +3 -1
  840. package/packages/shared-skills/skills/debugging/references/methodology/00-setup.md +12 -0
  841. package/packages/shared-skills/skills/debugging/references/methodology/02-investigate.md +26 -5
  842. package/packages/shared-skills/skills/debugging/references/runtimes/go.md +15 -1
  843. package/packages/shared-skills/skills/debugging/references/runtimes/native-binary.md +38 -0
  844. package/packages/shared-skills/skills/debugging/references/runtimes/node.md +25 -0
  845. package/packages/shared-skills/skills/debugging/references/runtimes/python.md +13 -0
  846. package/packages/shared-skills/skills/debugging/references/runtimes/rust.md +41 -0
  847. package/packages/shared-skills/skills/debugging/references/scripts/dap.mjs +267 -0
  848. package/packages/shared-skills/skills/debugging/references/scripts/dap.test.ts +86 -0
  849. package/packages/shared-skills/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
  850. package/packages/shared-skills/skills/debugging/references/tools/dap.md +103 -0
  851. package/packages/shared-skills/skills/debugging/references/tools/frida.md +193 -0
  852. package/packages/shared-skills/skills/debugging/references/tools/playwright-cli.md +79 -161
  853. package/packages/shared-skills/skills/frontend/ATTRIBUTION.md +10 -0
  854. package/packages/shared-skills/skills/frontend/SKILL.md +7 -3
  855. package/packages/shared-skills/skills/frontend/references/design/README.md +10 -2
  856. package/packages/shared-skills/skills/frontend/references/design/_INDEX.md +1 -0
  857. package/packages/shared-skills/skills/frontend/references/design/ambience-skill.md +145 -0
  858. package/packages/shared-skills/skills/frontend/references/design/aside.md +1 -1
  859. package/packages/shared-skills/skills/frontend/references/design/clone-from-url.md +1 -1
  860. package/packages/shared-skills/skills/frontend/references/design/interaction-skill.md +2 -0
  861. package/packages/shared-skills/skills/frontend/references/design/print-paged-media.md +76 -0
  862. package/packages/shared-skills/skills/frontend/references/designpowers/README.md +1 -1
  863. package/packages/shared-skills/skills/frontend/references/designpowers/lane-a-direction.md +1 -1
  864. package/packages/shared-skills/skills/frontend/references/designpowers/lane-b-execution.md +11 -11
  865. package/packages/shared-skills/skills/frontend/references/designpowers/lane-d-memory.md +3 -3
  866. package/packages/shared-skills/skills/frontend/references/designpowers/orchestration.md +1 -1
  867. package/packages/shared-skills/skills/frontend/references/designpowers/routing.md +5 -5
  868. package/packages/shared-skills/skills/frontend/scripts/perfection/lighthouse-audit.py +2 -2
  869. package/packages/shared-skills/skills/git-master/SKILL.md +1 -1
  870. package/packages/shared-skills/skills/init-deep/SKILL.md +14 -14
  871. package/packages/shared-skills/skills/lsp-setup/SKILL.md +1 -1
  872. package/packages/shared-skills/skills/programming/SKILL.md +1 -1
  873. package/packages/shared-skills/skills/refactor/SKILL.md +5 -5
  874. package/packages/shared-skills/skills/remove-ai-slops/SKILL.md +5 -5
  875. package/packages/shared-skills/skills/review-work/SKILL.md +101 -419
  876. package/packages/shared-skills/skills/ultimate-browsing/ATTRIBUTION.md +32 -86
  877. package/packages/shared-skills/skills/ultimate-browsing/SKILL.md +32 -27
  878. package/packages/shared-skills/skills/ultimate-browsing/engine/AGENTS.md +111 -0
  879. package/packages/shared-skills/skills/ultimate-browsing/engine/templates/package.json +2 -2
  880. package/packages/shared-skills/skills/ultimate-browsing/engine/templates/playwright_mobile_chrome.js +5 -2
  881. package/packages/shared-skills/skills/ultimate-browsing/engine/templates/playwright_real_chrome.js +8 -6
  882. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/test_playwright_stealth.py +86 -0
  883. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/test_playwright_templates.py +4 -7
  884. package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +86 -95
  885. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/README.md +18 -5
  886. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/playwright.md +16 -13
  887. package/packages/shared-skills/skills/ultimate-browsing/scripts/extract_cookies.py +3 -3
  888. package/packages/shared-skills/skills/{start-work → ulw-execute}/SKILL.md +24 -22
  889. package/packages/shared-skills/skills/ulw-plan/SKILL.md +5 -6
  890. package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +6 -5
  891. package/packages/shared-skills/skills/ulw-plan/references/intent-unclear.md +2 -2
  892. package/packages/shared-skills/skills/ulw-plan/scripts/scaffold-plan.mjs +2 -1
  893. package/packages/shared-skills/skills/ulw-research/SKILL.md +10 -5
  894. package/packages/shared-skills/skills/visual-qa/AGENTS.md +58 -0
  895. package/packages/shared-skills/skills/visual-qa/SKILL.md +4 -3
  896. package/packages/shared-skills/skills/visual-qa/references/browser-setup.md +75 -0
  897. package/postinstall.mjs +2 -0
  898. package/script/qa/web-terminal-visual-qa.mjs +2 -0
  899. package/script/qa/xterm-live-terminal.mjs +18 -2
  900. package/.agents/skills/work-with-pr-workspace/evals/evals.json +0 -76
  901. package/.agents/skills/work-with-pr-workspace/iteration-1/benchmark.json +0 -138
  902. package/.agents/skills/work-with-pr-workspace/iteration-1/benchmark.md +0 -42
  903. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/eval_metadata.json +0 -57
  904. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/grading.json +0 -15
  905. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/code-changes.md +0 -454
  906. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/execution-plan.md +0 -136
  907. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/pr-description.md +0 -47
  908. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/verification-strategy.md +0 -163
  909. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/timing.json +0 -1
  910. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/grading.json +0 -15
  911. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/code-changes.md +0 -615
  912. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/execution-plan.md +0 -99
  913. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/pr-description.md +0 -50
  914. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/verification-strategy.md +0 -111
  915. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/timing.json +0 -1
  916. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/eval_metadata.json +0 -37
  917. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/grading.json +0 -11
  918. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/code-changes.md +0 -205
  919. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/execution-plan.md +0 -78
  920. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/pr-description.md +0 -42
  921. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/verification-strategy.md +0 -87
  922. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/timing.json +0 -1
  923. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/grading.json +0 -11
  924. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/code-changes.md +0 -334
  925. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/execution-plan.md +0 -86
  926. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/pr-description.md +0 -23
  927. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/verification-strategy.md +0 -119
  928. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/timing.json +0 -1
  929. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/eval_metadata.json +0 -32
  930. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/grading.json +0 -10
  931. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/code-changes.md +0 -221
  932. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/execution-plan.md +0 -104
  933. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/pr-description.md +0 -41
  934. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/verification-strategy.md +0 -84
  935. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/timing.json +0 -1
  936. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/grading.json +0 -10
  937. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/code-changes.md +0 -342
  938. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/execution-plan.md +0 -131
  939. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/pr-description.md +0 -39
  940. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/verification-strategy.md +0 -128
  941. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/timing.json +0 -1
  942. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/eval_metadata.json +0 -32
  943. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/grading.json +0 -10
  944. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/code-changes.md +0 -143
  945. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/execution-plan.md +0 -82
  946. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/pr-description.md +0 -51
  947. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/verification-strategy.md +0 -69
  948. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/timing.json +0 -1
  949. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/grading.json +0 -10
  950. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/code-changes.md +0 -252
  951. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/execution-plan.md +0 -83
  952. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/pr-description.md +0 -33
  953. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/verification-strategy.md +0 -101
  954. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/timing.json +0 -1
  955. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/eval_metadata.json +0 -32
  956. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/grading.json +0 -10
  957. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/code-changes.md +0 -387
  958. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/execution-plan.md +0 -112
  959. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/pr-description.md +0 -51
  960. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/verification-strategy.md +0 -75
  961. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/timing.json +0 -1
  962. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/grading.json +0 -10
  963. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/code-changes.md +0 -529
  964. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/execution-plan.md +0 -127
  965. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/pr-description.md +0 -42
  966. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/verification-strategy.md +0 -120
  967. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/timing.json +0 -1
  968. package/.agents/skills/work-with-pr-workspace/iteration-1/review.html +0 -1326
  969. package/.opencode/skills/work-with-pr-workspace/evals/evals.json +0 -76
  970. package/.opencode/skills/work-with-pr-workspace/iteration-1/benchmark.json +0 -138
  971. package/.opencode/skills/work-with-pr-workspace/iteration-1/benchmark.md +0 -42
  972. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/eval_metadata.json +0 -57
  973. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/grading.json +0 -15
  974. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/code-changes.md +0 -454
  975. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/execution-plan.md +0 -136
  976. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/pr-description.md +0 -47
  977. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/verification-strategy.md +0 -163
  978. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/timing.json +0 -1
  979. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/grading.json +0 -15
  980. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/code-changes.md +0 -615
  981. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/execution-plan.md +0 -99
  982. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/pr-description.md +0 -50
  983. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/verification-strategy.md +0 -111
  984. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/timing.json +0 -1
  985. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/eval_metadata.json +0 -37
  986. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/grading.json +0 -11
  987. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/code-changes.md +0 -205
  988. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/execution-plan.md +0 -78
  989. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/pr-description.md +0 -42
  990. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/verification-strategy.md +0 -87
  991. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/timing.json +0 -1
  992. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/grading.json +0 -11
  993. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/code-changes.md +0 -334
  994. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/execution-plan.md +0 -86
  995. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/pr-description.md +0 -23
  996. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/verification-strategy.md +0 -119
  997. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/timing.json +0 -1
  998. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/eval_metadata.json +0 -32
  999. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/grading.json +0 -10
  1000. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/code-changes.md +0 -221
  1001. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/execution-plan.md +0 -104
  1002. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/pr-description.md +0 -41
  1003. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/verification-strategy.md +0 -84
  1004. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/timing.json +0 -1
  1005. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/grading.json +0 -10
  1006. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/code-changes.md +0 -342
  1007. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/execution-plan.md +0 -131
  1008. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/pr-description.md +0 -39
  1009. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/verification-strategy.md +0 -128
  1010. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/timing.json +0 -1
  1011. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/eval_metadata.json +0 -32
  1012. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/grading.json +0 -10
  1013. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/code-changes.md +0 -143
  1014. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/execution-plan.md +0 -82
  1015. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/pr-description.md +0 -51
  1016. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/verification-strategy.md +0 -69
  1017. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/timing.json +0 -1
  1018. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/grading.json +0 -10
  1019. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/code-changes.md +0 -252
  1020. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/execution-plan.md +0 -83
  1021. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/pr-description.md +0 -33
  1022. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/verification-strategy.md +0 -101
  1023. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/timing.json +0 -1
  1024. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/eval_metadata.json +0 -32
  1025. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/grading.json +0 -10
  1026. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/code-changes.md +0 -387
  1027. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/execution-plan.md +0 -112
  1028. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/pr-description.md +0 -51
  1029. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/verification-strategy.md +0 -75
  1030. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/timing.json +0 -1
  1031. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/grading.json +0 -10
  1032. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/code-changes.md +0 -529
  1033. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/execution-plan.md +0 -127
  1034. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/pr-description.md +0 -42
  1035. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/verification-strategy.md +0 -120
  1036. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/timing.json +0 -1
  1037. package/.opencode/skills/work-with-pr-workspace/iteration-1/review.html +0 -1326
  1038. package/dist/config/schema/codegraph.d.ts +0 -12
  1039. package/dist/config/schema/start-work.d.ts +0 -5
  1040. package/dist/features/builtin-commands/templates/start-work.d.ts +0 -1
  1041. package/dist/features/builtin-skills/index.d.ts +0 -1
  1042. package/dist/features/builtin-skills/skill-file-loader.d.ts +0 -1
  1043. package/dist/features/builtin-skills/skills/agent-browser-skill.d.ts +0 -1
  1044. package/dist/features/builtin-skills/skills/agent-browser-template.d.ts +0 -1
  1045. package/dist/features/builtin-skills/skills/debugging.d.ts +0 -1
  1046. package/dist/features/builtin-skills/skills/dev-browser.d.ts +0 -1
  1047. package/dist/features/builtin-skills/skills/frontend.d.ts +0 -1
  1048. package/dist/features/builtin-skills/skills/git-master-sections/commit-atomic-planning.d.ts +0 -1
  1049. package/dist/features/builtin-skills/skills/git-master-sections/commit-context-analysis.d.ts +0 -1
  1050. package/dist/features/builtin-skills/skills/git-master-sections/commit-execution-verification.d.ts +0 -1
  1051. package/dist/features/builtin-skills/skills/git-master-sections/commit-workflow.d.ts +0 -1
  1052. package/dist/features/builtin-skills/skills/git-master-sections/history-search-workflow.d.ts +0 -1
  1053. package/dist/features/builtin-skills/skills/git-master-sections/overview.d.ts +0 -1
  1054. package/dist/features/builtin-skills/skills/git-master-sections/quick-reference.d.ts +0 -1
  1055. package/dist/features/builtin-skills/skills/git-master-sections/rebase-workflow.d.ts +0 -1
  1056. package/dist/features/builtin-skills/skills/git-master-skill-metadata.d.ts +0 -1
  1057. package/dist/features/builtin-skills/skills/git-master.d.ts +0 -1
  1058. package/dist/features/builtin-skills/skills/index.d.ts +0 -1
  1059. package/dist/features/builtin-skills/skills/init-deep.d.ts +0 -1
  1060. package/dist/features/builtin-skills/skills/playwright-cli.d.ts +0 -1
  1061. package/dist/features/builtin-skills/skills/playwright-mcp-skill.d.ts +0 -1
  1062. package/dist/features/builtin-skills/skills/playwright.d.ts +0 -1
  1063. package/dist/features/builtin-skills/skills/remove-ai-slops.d.ts +0 -1
  1064. package/dist/features/builtin-skills/skills/review-work.d.ts +0 -1
  1065. package/dist/features/builtin-skills/skills/security-research.d.ts +0 -1
  1066. package/dist/features/builtin-skills/skills/security-review.d.ts +0 -1
  1067. package/dist/features/builtin-skills/skills/team-mode.d.ts +0 -1
  1068. package/dist/features/builtin-skills/skills/visual-qa.d.ts +0 -1
  1069. package/dist/features/builtin-skills/skills.d.ts +0 -1
  1070. package/dist/features/builtin-skills/types.d.ts +0 -1
  1071. package/dist/features/claude-code-plugin-loader/agent-loader.d.ts +0 -1
  1072. package/dist/features/claude-code-plugin-loader/command-loader.d.ts +0 -1
  1073. package/dist/features/claude-code-plugin-loader/discovery-core.d.ts +0 -1
  1074. package/dist/features/claude-code-plugin-loader/discovery-paths.d.ts +0 -1
  1075. package/dist/features/claude-code-plugin-loader/discovery.d.ts +0 -1
  1076. package/dist/features/claude-code-plugin-loader/hook-loader.d.ts +0 -1
  1077. package/dist/features/claude-code-plugin-loader/index.d.ts +0 -1
  1078. package/dist/features/claude-code-plugin-loader/install-path-resolver.d.ts +0 -1
  1079. package/dist/features/claude-code-plugin-loader/installed-plugin-database.d.ts +0 -1
  1080. package/dist/features/claude-code-plugin-loader/loaded-plugin.d.ts +0 -1
  1081. package/dist/features/claude-code-plugin-loader/loader.d.ts +0 -1
  1082. package/dist/features/claude-code-plugin-loader/mcp-server-loader.d.ts +0 -1
  1083. package/dist/features/claude-code-plugin-loader/plugin-key.d.ts +0 -1
  1084. package/dist/features/claude-code-plugin-loader/plugin-manifest.d.ts +0 -1
  1085. package/dist/features/claude-code-plugin-loader/plugin-path-resolver.d.ts +0 -1
  1086. package/dist/features/claude-code-plugin-loader/plugin-settings.d.ts +0 -1
  1087. package/dist/features/claude-code-plugin-loader/scope-filter.d.ts +0 -1
  1088. package/dist/features/claude-code-plugin-loader/skill-loader.d.ts +0 -1
  1089. package/dist/features/claude-code-plugin-loader/types.d.ts +0 -1
  1090. package/dist/hooks/codegraph-bootstrap/command-runner.d.ts +0 -17
  1091. package/dist/hooks/codegraph-bootstrap/hook.d.ts +0 -35
  1092. package/dist/hooks/codegraph-bootstrap/index.d.ts +0 -1
  1093. package/dist/hooks/codegraph-bootstrap/project-root.d.ts +0 -1
  1094. package/dist/hooks/codegraph-bootstrap/status.d.ts +0 -11
  1095. package/dist/hooks/ralph-loop/completion-promise-detector-test-input.d.ts +0 -11
  1096. package/dist/hooks/ralph-loop/loop-session-recovery.d.ts +0 -7
  1097. package/dist/hooks/start-work/start-work-hook.d.ts +0 -23
  1098. package/dist/mcp/codegraph.d.ts +0 -16
  1099. package/dist/plugin/chat-message/start-work-message.d.ts +0 -5
  1100. package/dist/shared/prompt-async-gate/message-inspection-error.d.ts +0 -1
  1101. package/dist/shared/prompt-async-gate/pending-tool-turn.d.ts +0 -1
  1102. package/dist/shared/prompt-async-gate/prompt-message-state.d.ts +0 -1
  1103. package/dist/shared/prompt-async-gate/queue.d.ts +0 -1
  1104. package/dist/shared/prompt-async-gate/recent-dispatches.d.ts +0 -1
  1105. package/dist/shared/prompt-async-gate/reservations.d.ts +0 -1
  1106. package/dist/shared/prompt-async-gate/semantic-dedupe.d.ts +0 -1
  1107. package/dist/shared/prompt-async-gate/session-idle-dispatch.d.ts +0 -1
  1108. package/dist/shared/prompt-async-gate/timing.d.ts +0 -1
  1109. package/dist/shared/prompt-async-gate/types.d.ts +0 -1
  1110. package/dist/skills/data-scientist/references/common-scenarios.md +0 -176
  1111. package/dist/skills/data-scientist/references/execution-templates.md +0 -197
  1112. package/dist/skills/data-scientist/references/integration-patterns.md +0 -153
  1113. package/dist/skills/data-scientist/references/performance-benchmarks.md +0 -37
  1114. package/dist/skills/visual-qa/references/agent-browser-setup.md +0 -45
  1115. package/dist/tools/call-omo-agent/background-agent-executor.d.ts +0 -5
  1116. package/dist/tools/call-omo-agent/message-storage-directory.d.ts +0 -1
  1117. package/dist/tools/delegate-task/anthropic-categories.d.ts +0 -2
  1118. package/dist/tools/delegate-task/model-string-parser.d.ts +0 -1
  1119. package/packages/lsp-tools-mcp/dist/lsp/cleanup-errors.d.ts +0 -1
  1120. package/packages/lsp-tools-mcp/dist/lsp/constants.d.ts +0 -1
  1121. package/packages/lsp-tools-mcp/dist/lsp/language-mappings.d.ts +0 -1
  1122. package/packages/lsp-tools-mcp/dist/lsp/process-signal-cleanup.d.ts +0 -1
  1123. package/packages/lsp-tools-mcp/dist/missing-dependency-result.d.ts +0 -1
  1124. package/packages/omo-codex/plugin/components/codegraph/AGENTS.md +0 -58
  1125. package/packages/omo-codex/plugin/components/codegraph/NODE-RUNTIME-LICENSES.md +0 -2951
  1126. package/packages/omo-codex/plugin/components/codegraph/NOTICE +0 -16
  1127. package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +0 -12244
  1128. package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +0 -9842
  1129. package/packages/omo-codex/plugin/components/codegraph/package.json +0 -33
  1130. package/packages/omo-codex/plugin/components/codegraph/src/cache-gc.ts +0 -29
  1131. package/packages/omo-codex/plugin/components/codegraph/src/cli.ts +0 -79
  1132. package/packages/omo-codex/plugin/components/codegraph/src/hook-input.ts +0 -33
  1133. package/packages/omo-codex/plugin/components/codegraph/src/hook-sweep.ts +0 -25
  1134. package/packages/omo-codex/plugin/components/codegraph/src/hook-types.ts +0 -131
  1135. package/packages/omo-codex/plugin/components/codegraph/src/hook.ts +0 -258
  1136. package/packages/omo-codex/plugin/components/codegraph/src/mcp-bridge.ts +0 -309
  1137. package/packages/omo-codex/plugin/components/codegraph/src/mcp-unavailable.ts +0 -80
  1138. package/packages/omo-codex/plugin/components/codegraph/src/post-tool-use-hook.ts +0 -34
  1139. package/packages/omo-codex/plugin/components/codegraph/src/serve-invocation.ts +0 -29
  1140. package/packages/omo-codex/plugin/components/codegraph/src/serve.ts +0 -263
  1141. package/packages/omo-codex/plugin/components/codegraph/src/session-start-command.ts +0 -106
  1142. package/packages/omo-codex/plugin/components/codegraph/src/session-start-cooldown.ts +0 -145
  1143. package/packages/omo-codex/plugin/components/codegraph/src/session-start-hook-runtime.ts +0 -21
  1144. package/packages/omo-codex/plugin/components/codegraph/src/session-start-lock.ts +0 -139
  1145. package/packages/omo-codex/plugin/components/codegraph/src/session-start-outcome.ts +0 -15
  1146. package/packages/omo-codex/plugin/components/codegraph/src/session-start-paths.ts +0 -32
  1147. package/packages/omo-codex/plugin/components/codegraph/src/session-start-project.ts +0 -109
  1148. package/packages/omo-codex/plugin/components/codegraph/src/session-start-worker-result.ts +0 -148
  1149. package/packages/omo-codex/plugin/components/codegraph/src/session-start-worker.ts +0 -175
  1150. package/packages/omo-codex/plugin/components/codegraph/src/sweep-cli.ts +0 -81
  1151. package/packages/omo-codex/plugin/components/codegraph/test/cache-gc.test.ts +0 -34
  1152. package/packages/omo-codex/plugin/components/codegraph/test/hook-exclusion.test.ts +0 -112
  1153. package/packages/omo-codex/plugin/components/codegraph/test/hook-registration.test.ts +0 -26
  1154. package/packages/omo-codex/plugin/components/codegraph/test/hook-session-start-guard.test.ts +0 -160
  1155. package/packages/omo-codex/plugin/components/codegraph/test/hook-store-upgrade.test.ts +0 -50
  1156. package/packages/omo-codex/plugin/components/codegraph/test/hook-sweep.test.ts +0 -29
  1157. package/packages/omo-codex/plugin/components/codegraph/test/hook.test.ts +0 -320
  1158. package/packages/omo-codex/plugin/components/codegraph/test/mcp-bridge-fixtures.ts +0 -172
  1159. package/packages/omo-codex/plugin/components/codegraph/test/package-runtime.test.ts +0 -91
  1160. package/packages/omo-codex/plugin/components/codegraph/test/provisioned-node-guard.test.ts +0 -100
  1161. package/packages/omo-codex/plugin/components/codegraph/test/serve-built-wrapper.test.ts +0 -76
  1162. package/packages/omo-codex/plugin/components/codegraph/test/serve-mcp-bridge-lifecycle.test.ts +0 -133
  1163. package/packages/omo-codex/plugin/components/codegraph/test/serve-mcp-bridge.test.ts +0 -245
  1164. package/packages/omo-codex/plugin/components/codegraph/test/serve-mcp-facade.test.ts +0 -69
  1165. package/packages/omo-codex/plugin/components/codegraph/test/serve-node-support.test.ts +0 -43
  1166. package/packages/omo-codex/plugin/components/codegraph/test/serve-provision.test.ts +0 -147
  1167. package/packages/omo-codex/plugin/components/codegraph/test/serve-unavailable.test.ts +0 -175
  1168. package/packages/omo-codex/plugin/components/codegraph/test/serve.test.ts +0 -385
  1169. package/packages/omo-codex/plugin/components/codegraph/test/session-start-node-support.test.ts +0 -206
  1170. package/packages/omo-codex/plugin/components/codegraph/test/session-start-project.test.ts +0 -58
  1171. package/packages/omo-codex/plugin/components/codegraph/test/session-start-state.test.ts +0 -104
  1172. package/packages/omo-codex/plugin/components/codegraph/test/session-start-trust-boundary.test.ts +0 -65
  1173. package/packages/omo-codex/plugin/components/codegraph/test/session-start-worker-availability.test.ts +0 -106
  1174. package/packages/omo-codex/plugin/components/codegraph/test/session-start-worker-cooldown.test.ts +0 -116
  1175. package/packages/omo-codex/plugin/components/codegraph/test/session-start-worker-flow.test.ts +0 -258
  1176. package/packages/omo-codex/plugin/components/codegraph/test/sweep-cli.test.ts +0 -56
  1177. package/packages/omo-codex/plugin/components/codegraph/tsconfig.build.json +0 -13
  1178. package/packages/omo-codex/plugin/components/codegraph/tsconfig.json +0 -25
  1179. package/packages/omo-codex/plugin/components/start-work-continuation/LICENSE +0 -21
  1180. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +0 -28
  1181. package/packages/omo-codex/plugin/components/ultrawork/directive.md +0 -477
  1182. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +0 -18
  1183. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +0 -17
  1184. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +0 -17
  1185. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +0 -17
  1186. package/packages/omo-codex/plugin/scripts/migrate-omo-sot/editor.mjs +0 -125
  1187. package/packages/omo-codex/plugin/scripts/migrate-omo-sot/jsonc.mjs +0 -43
  1188. package/packages/omo-codex/plugin/scripts/migrate-omo-sot/scaffold.mjs +0 -29
  1189. package/packages/omo-codex/plugin/scripts/migrate-omo-sot.mjs +0 -121
  1190. package/packages/omo-codex/plugin/skills/data-scientist/references/common-scenarios.md +0 -176
  1191. package/packages/omo-codex/plugin/skills/data-scientist/references/execution-templates.md +0 -197
  1192. package/packages/omo-codex/plugin/skills/data-scientist/references/integration-patterns.md +0 -153
  1193. package/packages/omo-codex/plugin/skills/data-scientist/references/performance-benchmarks.md +0 -37
  1194. package/packages/omo-codex/plugin/skills/start-work/agents/openai.yaml +0 -2
  1195. package/packages/omo-codex/plugin/skills/visual-qa/references/agent-browser-setup.md +0 -45
  1196. package/packages/omo-codex/plugin/test/aggregate-skills.test.mjs +0 -92
  1197. package/packages/omo-codex/plugin/test/component-codegraph-mcp-smoke.test.mjs +0 -76
  1198. package/packages/omo-codex/plugin/test/migrate-omo-sot.test.mjs +0 -179
  1199. package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +0 -314
  1200. package/packages/omo-codex/plugin/test/ulw-plan-scope-contract.test.mjs +0 -24
  1201. package/packages/shared-skills/skills/data-scientist/references/common-scenarios.md +0 -176
  1202. package/packages/shared-skills/skills/data-scientist/references/execution-templates.md +0 -197
  1203. package/packages/shared-skills/skills/data-scientist/references/integration-patterns.md +0 -153
  1204. package/packages/shared-skills/skills/data-scientist/references/performance-benchmarks.md +0 -37
  1205. package/packages/shared-skills/skills/visual-qa/references/agent-browser-setup.md +0 -45
  1206. /package/dist/hooks/{start-work → ulw-execute}/context-info-formatters.d.ts +0 -0
  1207. /package/dist/hooks/{start-work → ulw-execute}/explicit-plan-context.d.ts +0 -0
  1208. /package/dist/hooks/{start-work → ulw-execute}/notepad-scaffold.d.ts +0 -0
  1209. /package/dist/hooks/{start-work → ulw-execute}/parse-user-request.d.ts +0 -0
  1210. /package/dist/hooks/{start-work → ulw-execute}/plan-discovery-context.d.ts +0 -0
  1211. /package/dist/hooks/{start-work → ulw-execute}/plan-selection.d.ts +0 -0
  1212. /package/dist/hooks/{start-work → ulw-execute}/session-plan-affinity.d.ts +0 -0
  1213. /package/dist/hooks/{start-work → ulw-execute}/work-initializer.d.ts +0 -0
  1214. /package/dist/hooks/{start-work → ulw-execute}/worktree-block.d.ts +0 -0
  1215. /package/dist/hooks/{start-work → ulw-execute}/worktree-detector.d.ts +0 -0
  1216. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/.gitattributes +0 -0
  1217. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/CHANGELOG.md +0 -0
  1218. /package/packages/omo-codex/plugin/components/{codegraph → ulw-execute-continuation}/LICENSE +0 -0
  1219. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/plan-checklist.ts +0 -0
  1220. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/boulder-completed.json +0 -0
  1221. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/boulder-mixed-platforms.json +0 -0
  1222. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/boulder-single-codex-work.json +0 -0
  1223. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-all-done.md +0 -0
  1224. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-scaffold.md +0 -0
  1225. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-with-nested-checkboxes.md +0 -0
  1226. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-with-unchecked.md +0 -0
  1227. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/tsconfig.build.json +0 -0
  1228. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/tsconfig.json +0 -0
  1229. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/vitest.config.ts +0 -0
@@ -1,4 +1,4 @@
1
- <start-work-continuation>
1
+ <ulw-execute-continuation>
2
2
 
3
3
  You are mid-flight on a Prometheus work plan; this turn is an automatic continuation. Do NOT ask whether to continue — the contract is auto-continue until every top-level checkbox is `- [x]`.
4
4
 
@@ -17,11 +17,11 @@ You are mid-flight on a Prometheus work plan; this turn is an automatic continua
17
17
 
18
18
  1. Read `{{PLAN_PATH}}` AND `{{LEDGER_PATH}}` first — they are the only sources of truth for what remains and what evidence exists; do not trust your memory of prior turns.
19
19
  2. When the remaining count is `0`, skip checkbox execution and perform the Final gate now. Otherwise, pick the FIRST unchecked top-level checkbox in `## TODOs` or `## Final Verification Wave`. Ignore nested checkboxes under Acceptance Criteria / Evidence / Definition of Done.
20
- 3. Follow the `start-work` skill in full. The skill is already loaded from your earlier turn — re-read its file at `packages/omo-codex/plugin/skills/start-work/SKILL.md` if you have lost context.
21
- 4. Apply the checkbox's tier from its ledger entry, or classify it now per the start-work skill: LIGHT (default — a narrow change inside existing layers) needs one real-surface proof of the deliverable, with auxiliary surfaces first-class for CLI- or data-shaped work, and only trigger-mapped adversarial classes; HEAVY (new module/abstraction, auth/security, external integration, schema/migration, concurrency, cross-domain refactor, care signals) takes the full per-criterion regime. When unsure, take HEAVY; never downgrade.
20
+ 3. Follow the `ulw-execute` skill in full. The skill is already loaded from your earlier turn — re-read its file at `packages/omo-codex/plugin/skills/ulw-execute/SKILL.md` if you have lost context.
21
+ 4. Apply the checkbox's tier from its ledger entry, or classify it now per the ulw-execute skill: LIGHT (default — a narrow change inside existing layers) needs one real-surface proof of the deliverable, with auxiliary surfaces first-class for CLI- or data-shaped work, and only trigger-mapped adversarial classes; HEAVY (new module/abstraction, auth/security, external integration, schema/migration, concurrency, cross-domain refactor, care signals) takes the full per-criterion regime. When unsure, take HEAVY; never downgrade.
22
22
  5. Decompose the checkbox into atomic sub-tasks. Dispatch them in PARALLEL via `multi_agent_v1.spawn_agent` calls in this same response unless a sub-task has a NAMED blocking dependency (input from another sub-task or shared file). Use `fork_context: false` unless full history is truly required. Put role and specialty instructions inside `message`. Flat `spawn_agent` requiring `task_name` instead (`multi_agent_v2`)? Add `"task_name"`, use `fork_turns: "none"`, `wait_agent` takes only `timeout_ms`, finished agents end on their own.
23
- 6. Every sub-task message MUST be self-contained, executable, not a context handoff: start with `TASK: <imperative assignment>`, then name `DELIVERABLE`, `SCOPE`, and `VERIFY`. It must include all 7 sections and a Manual-QA channel with exact invocation (`curl`, `send-keys`, `browser:control-in-app-browser` action, `page.click`) and PASS/FAIL observable, plus ultraqa classes, artifact, and cleanup receipt. Channels: HTTP (`curl -i`); terminal/TUI (`send-keys` for boot smoke; xterm.js web terminal for color/visual evidence, never `tmux capture-pane`); browser (Codex: `browser:control-in-app-browser` first unless auth/persistent profile needed; else Chrome/agent-browser); computer use.
24
- 7. Treat every worker DoneClaim as untrusted input. Run independent AdversarialVerify before any checkbox can become FullyDone; `confirmed` is the only pass verdict, while `false-positive`, `needs-fix`, and `needs-human-review` loop back to the executor with exact feedback.
23
+ 6. Every sub-task message MUST be self-contained, executable, not a context handoff: start with `TASK: <imperative assignment>`, then name `DELIVERABLE`, `SCOPE`, and `VERIFY`. It must include all 7 sections and a Manual-QA channel with exact invocation (`curl`, `send-keys`, `browser:control-in-app-browser` action, `page.click`) and PASS/FAIL observable, plus ultraqa classes, artifact, and cleanup receipt. Channels: HTTP (`curl -i`); terminal/TUI (`send-keys` for boot smoke; xterm.js web terminal for color/visual evidence, never `tmux capture-pane`); browser (Codex: `browser:control-in-app-browser`; otherwise, or for Chrome semantics/stealth/trace/auth, write and run a `playwright-core` script from js eval with `channel: "chrome"`, persistent contexts on CLONED profiles only); computer use.
24
+ 7. Treat every worker DoneClaim as untrusted input. Run independent AdversarialVerify before any checkbox can become FullyDone; the main session may run AdversarialVerify when no separate reviewer is available. `confirmed` is the only pass verdict, while `false-positive`, `needs-fix`, and `needs-human-review` loop back to the executor with exact feedback.
25
25
  8. Use `multi_agent_v1.wait_agent` for mailbox signals, not proof of completion — a timeout only means no new mailbox update arrived; a running child is alive. For sub-tasks likely to exceed one wait cycle, require `WORKING: <task> - <current phase>` before long passes and `BLOCKED: <reason>` only when progress stops. Send `TASK STILL ACTIVE: return <deliverable> or BLOCKED: <reason>` only when the child is completed without the deliverable, ack-only, or no longer running. If that followup is still silent or ack-only, record inconclusive, do not count it as pass/review approval, close if safe, and respawn a smaller `fork_context: false` task with the missing deliverable.
26
26
  9. After verification of ALL sub-tasks under this checkbox: `apply_patch` the plan to change `- [ ]` → `- [x]`, re-read the plan to confirm the count decreased, append a `task-completed` line to the ledger, then continue.
27
27
  10. Do not start fresh on a sub-agent failure. Re-dispatch with a fix-message: `FAILED: <exact error>` + `Diagnosis: <observation>` + `Fix: <instruction>`.
@@ -32,7 +32,7 @@ You are mid-flight on a Prometheus work plan; this turn is an automatic continua
32
32
  - No `--dry-run` as evidence. No "should work". No "tests pass" as completion proof.
33
33
  - TUI visual evidence MUST render through the real xterm.js web terminal, never `tmux capture-pane`: run `node script/qa/web-terminal-visual-qa.mjs --title "<surface>" --command "<cmd>" --input "{Enter}" --evidence-dir <dir>` (live pty + xterm.js in Chrome; `--from-file <capture>` replays a raw stream), then cite `terminal.png`, `terminal.txt`, and `metadata.json`.
34
34
  - No `as any` / `@ts-ignore` / `@ts-expect-error`. No deleting failing tests.
35
- - Probe every ultraqa adversarial class whose trigger fact holds (malformed input, prompt injection, cancel/resume, stale state, dirty worktree, hung or long commands, flaky tests, misleading success output, repeated interruptions — trigger map in the start-work skill) and capture the observable for each. A clean happy-path artifact alone is NOT a PASS when an applicable class went unprobed; record skipped classes with a one-line not-applicable reason.
35
+ - Probe every ultraqa adversarial class whose trigger fact holds (malformed input, prompt injection, cancel/resume, stale state, dirty worktree, hung or long commands, flaky tests, misleading success output, repeated interruptions — trigger map in the ulw-execute skill) and capture the observable for each. A clean happy-path artifact alone is NOT a PASS when an applicable class went unprobed; record skipped classes with a one-line not-applicable reason.
36
36
  - Cleanup receipt is mandatory. Register each QA teardown (scripts, tmux, browser contexts, PIDs, ports, containers, temp dirs) as a todo when it spawns, then execute it. Leftover QA state = BLOCKED, not PASS.
37
37
  - The worktree path (if set in boulder.json) governs every file edit and command. Do not stray into the main repo.
38
38
  - PR or branch implementation/review/merge work requires a task-owned git worktree. Treat the main worktree as read-only context.
@@ -40,15 +40,15 @@ You are mid-flight on a Prometheus work plan; this turn is an automatic continua
40
40
 
41
41
  # Final gate
42
42
 
43
- Before completion, satisfy all five `review-work` lanes and a `debugging` runtime audit; inconclusive lanes or an inconclusive audit fail. Each pass binds to the exact full commit SHA it reviewed. Immediately append a durable task-evidence record to `{{LEDGER_PATH}}` for every passing lane and the debugging audit with its name, full SHA, verdict, and report artifact/source. Before same-SHA reuse after any continuation or compaction, re-read the ledger record and verify the exact lane/SHA pair; memory, chat history, or an unstamped report is not coverage. New commits require fresh applicable coverage. Do not create a PR, PR handoff, branch handoff, merge, or final completion answer until this gate passes. For PR/branch work, stay in the task-owned worktree: create/update the PR, wait for CI/review/Cubic gates, merge by default unless explicitly opted out, then clean up. After the gate and lifecycle pass, mark the Boulder work completed before the final answer. Redact secrets, tokens, credentials, auth headers, cookies, env dumps, logs, and PII. Honor the delivery mode recorded in the goal/ledger at session start: `--make-pr` hands off with the PR URL after the PR opens (merge only on explicit user ask); `--ship` keeps working until the PR is MERGED - CI and review gates fixed and addressed - then removes the worktree and syncs `.omo/` state back.
43
+ Before completion, run your own manual QA on the real surface and a self-review against every acceptance criterion; spawn ONE gate reviewer only when the user demanded strict/rigorous/high-accuracy review; run a `debugging` runtime audit only when a failure was observed. Record the observable evidence under `{{LEDGER_PATH}}`; when a reviewer is spawned, it is allowed at most once per sub-task. Do not create a PR, PR handoff, branch handoff, merge, or final completion answer until this gate passes. For PR/branch work, stay in the task-owned worktree: create/update the PR, wait for CI/review/Cubic gates, merge by default unless explicitly opted out, then clean up. After the gate and lifecycle pass, mark the Boulder work completed before the final answer. Redact secrets, tokens, credentials, auth headers, cookies, env dumps, logs, and PII. Honor the delivery mode recorded in the goal/ledger at session start: `--make-pr` hands off with the PR URL after the PR opens (merge only on explicit user ask); `--ship` keeps working until the PR is MERGED - CI and review gates fixed and addressed - then removes the worktree and syncs `.omo/` state back.
44
44
 
45
45
  # Stop conditions for THIS turn
46
46
 
47
47
  - A top-level checkbox flipped to `- [x]` after the 5-phase QA gate (Phase 1 read, Phase 2 automated, Phase 3 channel scenario, Phase 4 adversarial-class probing, Phase 5 gate decision). Then the Stop hook will re-evaluate; if more checkboxes remain you will be continued again.
48
- - A conclusive external blocker only the user or external state can clear (missing hardware, credential, authorization, or an unavailable service) → after ONE authoritative check, stop retrying and stop reviewer dispatch. Write `<start-work-blocked-external>` as the entire first line of your answer, then state the exact blocker and the observable condition that resumes the work. If ultrawork requires `ULTRAWORK MODE ENABLED!` as the first line, put the blocker marker alone on the second line instead. The Stop hook recognizes both forms and lets this turn end.
49
- - 3 same-failure cycles on one agent-controllable sub-task → escalate via `multi_agent_v1.spawn_agent({"message":"TASK: act as a rigorous reviewer. DELIVERABLE: diagnose the repeated sub-task failure and recommend the next safe action. VERIFY: cite the failing evidence.","fork_context":false})` and stop dispatch.
48
+ - A conclusive external blocker only the user or external state can clear (missing hardware, credential, authorization, or an unavailable service) → after ONE authoritative check, stop retrying and stop reviewer dispatch. Write `<ulw-execute-blocked-external>` as the entire first line of your answer, then state the exact blocker and the observable condition that resumes the work. If ultrawork requires `ULTRAWORK MODE ENABLED!` as the first line, put the blocker marker alone on the second line instead. The Stop hook recognizes both forms and lets this turn end.
49
+ - 3 materially different failed remediation approaches on one agent-controllable sub-task → spawn ONE rigorous reviewer at most once per sub-task; if still blocked, hand off with the external-blocker marker at `:48`.
50
50
  - Safety boundary (destructive command, secret exfiltration, production write) → stop and surface a safe substitute.
51
- - All top-level checkboxes `- [x]` AND the Global Review and Debugging Gate passed → print the ORCHESTRATION COMPLETE block and end.
51
+ - All top-level checkboxes `- [x]` AND the Final gate passed → print the ORCHESTRATION COMPLETE block and end.
52
52
 
53
53
  # Output discipline
54
54
 
@@ -57,4 +57,4 @@ Before completion, satisfy all five `review-work` lanes and a `debugging` runtim
57
57
 
58
58
  Begin now. If no checkbox remains, run the Final gate; otherwise pick the next checkbox, dispatch the parallel sub-agents, verify, mark, continue.
59
59
 
60
- </start-work-continuation>
60
+ </ulw-execute-continuation>
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- // components/start-work-continuation/src/cli.ts
3
+ // components/ulw-execute-continuation/src/cli.ts
4
4
  import { readFileSync as readFileSync4 } from "node:fs";
5
5
  import { stdin as processStdin, stdout as processStdout } from "node:process";
6
6
 
7
- // components/start-work-continuation/src/boulder-reader.ts
7
+ // components/ulw-execute-continuation/src/boulder-reader.ts
8
8
  import { existsSync as existsSync2, readFileSync as readFileSync2 } from "node:fs";
9
9
  import { isAbsolute, join, relative, resolve } from "node:path";
10
10
 
11
- // components/start-work-continuation/src/plan-checklist.ts
11
+ // components/ulw-execute-continuation/src/plan-checklist.ts
12
12
  import { existsSync, readFileSync } from "node:fs";
13
13
  var TODO_HEADING_PATTERN = /^##[ \t]+TODOs(?:[ \t]+#+)?[ \t]*$/i;
14
14
  var FINAL_VERIFICATION_HEADING_PATTERN = /^##[ \t]+Final Verification Wave(?:[ \t]+#+)?[ \t]*$/i;
@@ -153,7 +153,7 @@ function emptyChecklist() {
153
153
  return { completed: 0, remaining: 0, total: 0, nextTaskLabel: null };
154
154
  }
155
155
 
156
- // components/start-work-continuation/src/boulder-reader.ts
156
+ // components/ulw-execute-continuation/src/boulder-reader.ts
157
157
  var SESSION_ID_PREFIX_PATTERN = /^(codex|opencode):/;
158
158
  function readContinuationState(cwd, sessionId) {
159
159
  const boulderPath = getBoulderFilePath(cwd);
@@ -171,7 +171,7 @@ function readContinuationState(cwd, sessionId) {
171
171
  planName: work.planName,
172
172
  planPath,
173
173
  boulderPath,
174
- ledgerPath: join(cwd, ".omo", "start-work", "ledger.jsonl"),
174
+ ledgerPath: join(cwd, ".omo", "ulw-execute", "ledger.jsonl"),
175
175
  worktreePath: work.worktreePath ?? null,
176
176
  checklist
177
177
  };
@@ -297,11 +297,11 @@ function isRecord(value) {
297
297
  return typeof value === "object" && value !== null && !Array.isArray(value);
298
298
  }
299
299
 
300
- // components/start-work-continuation/src/directive.ts
300
+ // components/ulw-execute-continuation/src/directive.ts
301
301
  import { readFileSync as readFileSync3 } from "node:fs";
302
- var START_WORK_CONTINUATION_DIRECTIVE = readFileSync3(new URL("../directive.md", import.meta.url), "utf8");
302
+ var ULW_EXECUTE_CONTINUATION_DIRECTIVE = readFileSync3(new URL("../directive.md", import.meta.url), "utf8");
303
303
 
304
- // components/start-work-continuation/src/codex-hook.ts
304
+ // components/ulw-execute-continuation/src/codex-hook.ts
305
305
  function runStopHook(input, fs) {
306
306
  if (!isStopInput(input))
307
307
  return "";
@@ -333,13 +333,13 @@ function renderDirective(state, sessionId) {
333
333
  LEDGER_PATH: state.ledgerPath,
334
334
  SESSION_ID: sessionId
335
335
  };
336
- let rendered = START_WORK_CONTINUATION_DIRECTIVE;
336
+ let rendered = ULW_EXECUTE_CONTINUATION_DIRECTIVE;
337
337
  for (const [placeholder, value] of Object.entries(replacements)) {
338
338
  rendered = rendered.replaceAll(`{{${placeholder}}}`, value);
339
339
  }
340
340
  return rendered;
341
341
  }
342
- var EXTERNAL_BLOCKER_MARKER = "<start-work-blocked-external>";
342
+ var EXTERNAL_BLOCKER_MARKER = "<ulw-execute-blocked-external>";
343
343
  var ULTRAWORK_OPENER = "ULTRAWORK MODE ENABLED!";
344
344
  function hasAllowedExternalBlockerMarker(lastAssistantMessage) {
345
345
  if (lastAssistantMessage === undefined)
@@ -378,7 +378,7 @@ function isStopInput(value) {
378
378
  return isRecord2(value) && isStopHookEventName(value["hook_event_name"]) && typeof value["session_id"] === "string" && typeof value["turn_id"] === "string" && typeof value["transcript_path"] === "string" && typeof value["cwd"] === "string" && typeof value["model"] === "string" && typeof value["permission_mode"] === "string" && typeof value["stop_hook_active"] === "boolean" && optionalString(value["last_assistant_message"]);
379
379
  }
380
380
  function isStopHookEventName(value) {
381
- return value === "Stop" || value === "SubagentStop";
381
+ return value === "Stop";
382
382
  }
383
383
  function optionalString(value) {
384
384
  return value === undefined || typeof value === "string";
@@ -387,7 +387,7 @@ function isRecord2(value) {
387
387
  return typeof value === "object" && value !== null && !Array.isArray(value);
388
388
  }
389
389
 
390
- // components/start-work-continuation/src/cli.ts
390
+ // components/ulw-execute-continuation/src/cli.ts
391
391
  var nodeFileSystem = {
392
392
  readFileSync(path, encoding) {
393
393
  return readFileSync4(path, encoding);
@@ -398,7 +398,7 @@ var subcommand = process.argv[3];
398
398
  if (command === "hook" && (subcommand === "stop" || subcommand === "subagent-stop")) {
399
399
  await runHookCli();
400
400
  } else {
401
- process.stderr.write(`Usage: omo-start-work-continuation hook <stop|subagent-stop>
401
+ process.stderr.write(`Usage: omo-ulw-execute-continuation hook <stop|subagent-stop>
402
402
  `);
403
403
  process.exitCode = 1;
404
404
  }
@@ -422,13 +422,13 @@ function parseHookInput(raw) {
422
422
  }
423
423
  }
424
424
  function readStdin() {
425
- return new Promise((resolve2) => {
425
+ return new Promise((resolve) => {
426
426
  let data = "";
427
427
  processStdin.setEncoding("utf8");
428
428
  processStdin.on("data", (chunk) => {
429
429
  data += chunk;
430
430
  });
431
- processStdin.once("error", () => resolve2(data));
432
- processStdin.once("end", () => resolve2(data));
431
+ processStdin.once("error", () => resolve(data));
432
+ processStdin.once("end", () => resolve(data));
433
433
  });
434
434
  }
@@ -0,0 +1,16 @@
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.80) Checking Ulw-Execute Continuation"
11
+ }
12
+ ]
13
+ }
14
+ ]
15
+ }
16
+ }
@@ -1,28 +1,28 @@
1
1
  {
2
- "name": "@code-yeongyu/codex-start-work-continuation",
3
- "version": "5.0.0-beta.8",
4
- "description": "Codex Stop hook continuation injector for omo-codex start-work plans.",
2
+ "name": "@code-yeongyu/codex-ulw-execute-continuation",
3
+ "version": "5.0.0-beta.80",
4
+ "description": "Codex Stop hook continuation injector for omo-codex ulw-execute plans.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
7
7
  "license": "MIT",
8
- "homepage": "https://github.com/code-yeongyu/codex-start-work-continuation",
8
+ "homepage": "https://github.com/code-yeongyu/codex-ulw-execute-continuation",
9
9
  "repository": {
10
10
  "type": "git",
11
- "url": "git+https://github.com/code-yeongyu/codex-start-work-continuation.git"
11
+ "url": "git+https://github.com/code-yeongyu/codex-ulw-execute-continuation.git"
12
12
  },
13
13
  "bugs": {
14
- "url": "https://github.com/code-yeongyu/codex-start-work-continuation/issues"
14
+ "url": "https://github.com/code-yeongyu/codex-ulw-execute-continuation/issues"
15
15
  },
16
16
  "keywords": [
17
17
  "codex",
18
18
  "codex-plugin",
19
- "start-work",
19
+ "ulw-execute",
20
20
  "continuation",
21
21
  "hooks",
22
22
  "boulder"
23
23
  ],
24
24
  "bin": {
25
- "omo-start-work-continuation": "./dist/cli.js"
25
+ "omo-ulw-execute-continuation": "./dist/cli.js"
26
26
  },
27
27
  "scripts": {
28
28
  "build": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && bun build src/cli.ts --target node --format esm --outfile dist/cli.js",
@@ -42,10 +42,10 @@
42
42
  "NOTICE"
43
43
  ],
44
44
  "devDependencies": {
45
- "@biomejs/biome": "2.4.16",
46
- "@types/node": "^25.9.3",
47
- "typescript": "^6.0.3",
48
- "vitest": "^4.1.8"
45
+ "@biomejs/biome": "2.5.9",
46
+ "@types/node": "^26.2.0",
47
+ "typescript": "^7.0.2",
48
+ "vitest": "^4.1.11"
49
49
  },
50
50
  "engines": {
51
51
  "node": ">=20.0.0"
@@ -50,7 +50,7 @@ export function readContinuationState(cwd: string, sessionId: string): Continuat
50
50
  planName: work.planName,
51
51
  planPath,
52
52
  boulderPath,
53
- ledgerPath: join(cwd, ".omo", "start-work", "ledger.jsonl"),
53
+ ledgerPath: join(cwd, ".omo", "ulw-execute", "ledger.jsonl"),
54
54
  worktreePath: work.worktreePath ?? null,
55
55
  checklist,
56
56
  };
@@ -17,7 +17,7 @@ const subcommand = process.argv[3];
17
17
  if (command === "hook" && (subcommand === "stop" || subcommand === "subagent-stop")) {
18
18
  await runHookCli();
19
19
  } else {
20
- process.stderr.write("Usage: omo-start-work-continuation hook <stop|subagent-stop>\n");
20
+ process.stderr.write("Usage: omo-ulw-execute-continuation hook <stop|subagent-stop>\n");
21
21
  process.exitCode = 1;
22
22
  }
23
23
 
@@ -1,6 +1,6 @@
1
1
  import type { ContinuationState } from "./boulder-reader.js";
2
2
  import { readContinuationState } from "./boulder-reader.js";
3
- import { START_WORK_CONTINUATION_DIRECTIVE } from "./directive.js";
3
+ import { ULW_EXECUTE_CONTINUATION_DIRECTIVE } from "./directive.js";
4
4
  import type { ReadonlyFileSystem, StopHookEventName, StopHookOutput, StopInput } from "./types.js";
5
5
 
6
6
  export function runStopHook(input: unknown, fs: ReadonlyFileSystem): string {
@@ -33,14 +33,14 @@ function renderDirective(state: ContinuationState, sessionId: string): string {
33
33
  LEDGER_PATH: state.ledgerPath,
34
34
  SESSION_ID: sessionId,
35
35
  } as const;
36
- let rendered = START_WORK_CONTINUATION_DIRECTIVE;
36
+ let rendered = ULW_EXECUTE_CONTINUATION_DIRECTIVE;
37
37
  for (const [placeholder, value] of Object.entries(replacements)) {
38
38
  rendered = rendered.replaceAll(`{{${placeholder}}}`, value);
39
39
  }
40
40
  return rendered;
41
41
  }
42
42
 
43
- const EXTERNAL_BLOCKER_MARKER = "<start-work-blocked-external>";
43
+ const EXTERNAL_BLOCKER_MARKER = "<ulw-execute-blocked-external>";
44
44
  const ULTRAWORK_OPENER = "ULTRAWORK MODE ENABLED!";
45
45
 
46
46
  // The marker alone is not enough to end the turn. `directive.md` requires the exact blocker and
@@ -96,7 +96,7 @@ function isStopInput(value: unknown): value is StopInput {
96
96
  }
97
97
 
98
98
  function isStopHookEventName(value: unknown): value is StopHookEventName {
99
- return value === "Stop" || value === "SubagentStop";
99
+ return value === "Stop";
100
100
  }
101
101
 
102
102
  function optionalString(value: unknown): boolean {
@@ -1,6 +1,6 @@
1
1
  import { readFileSync } from "node:fs";
2
2
 
3
- export const START_WORK_CONTINUATION_DIRECTIVE: string = readFileSync(
3
+ export const ULW_EXECUTE_CONTINUATION_DIRECTIVE: string = readFileSync(
4
4
  new URL("../directive.md", import.meta.url),
5
5
  "utf8",
6
6
  );
@@ -1,5 +1,5 @@
1
1
  export type { ContinuationState, PlanChecklist } from "./boulder-reader.js";
2
2
  export { readContinuationState } from "./boulder-reader.js";
3
3
  export { runStopHook } from "./codex-hook.js";
4
- export { START_WORK_CONTINUATION_DIRECTIVE } from "./directive.js";
4
+ export { ULW_EXECUTE_CONTINUATION_DIRECTIVE } from "./directive.js";
5
5
  export type { ReadonlyFileSystem, StopHookEventName, StopHookOutput, StopInput } from "./types.js";
@@ -1,4 +1,4 @@
1
- export const STOP_HOOK_EVENTS = ["Stop", "SubagentStop"] as const;
1
+ export const STOP_HOOK_EVENTS = ["Stop"] as const;
2
2
  export type StopHookEventName = (typeof STOP_HOOK_EVENTS)[number];
3
3
 
4
4
  export type StopInput = {
@@ -11,7 +11,7 @@ afterEach(() => {
11
11
  for (const root of cleanupRoots.splice(0)) rmSync(root, { recursive: true, force: true });
12
12
  });
13
13
 
14
- describe("start-work plan checklist consumption", () => {
14
+ describe("ulw-execute plan checklist consumption", () => {
15
15
  it("#given scaffold headings and canonical numbered rows #when parsed #then structured totals and next label match", () => {
16
16
  // given
17
17
  const planPath = createPlan(SCAFFOLD_PLAN_MARKDOWN);
@@ -242,7 +242,7 @@ describe("start-work plan checklist consumption", () => {
242
242
  });
243
243
  });
244
244
 
245
- describe("start-work boulder state reader", () => {
245
+ describe("ulw-execute boulder state reader", () => {
246
246
  it("#given active codex work with remaining checklist #when state is read #then continuation fields match baseline", () => {
247
247
  // given
248
248
  const workspace = createWorkspace({
@@ -258,7 +258,7 @@ describe("start-work boulder state reader", () => {
258
258
  planName: "launch-plan",
259
259
  planPath: join(workspace, ".omo", "plans", "plan.md"),
260
260
  boulderPath: join(workspace, ".omo", "boulder.json"),
261
- ledgerPath: join(workspace, ".omo", "start-work", "ledger.jsonl"),
261
+ ledgerPath: join(workspace, ".omo", "ulw-execute", "ledger.jsonl"),
262
262
  worktreePath: null,
263
263
  checklist: {
264
264
  completed: 2,
@@ -12,7 +12,7 @@ afterEach(() => {
12
12
  for (const root of cleanupRoots.splice(0)) rmSync(root, { recursive: true, force: true });
13
13
  });
14
14
 
15
- describe("start-work continuation CLI", () => {
15
+ describe("ulw-execute continuation CLI", () => {
16
16
  it("#given valid Stop stdin #when CLI runs #then stdout contains block JSON", () => {
17
17
  // given
18
18
  const cwd = createWorkspace(["codex:s1"]);
@@ -26,12 +26,9 @@ describe("start-work continuation CLI", () => {
26
26
  expect(result.status).toBe(0);
27
27
  const output = parseStopHookOutput(result.stdout);
28
28
  expect(output.decision).toBe("block");
29
- expect(output.reason).toContain("Remaining top-level checkboxes: `2` of `4`");
30
- expect(output.reason).toContain("Next incomplete task: `1. Implement checklist parser parity`");
31
- expect(output.reason).toContain("Your session id in boulder.json: `codex:s1`");
32
29
  });
33
30
 
34
- it("#given valid SubagentStop stdin #when CLI runs #then stdout contains block JSON", () => {
31
+ it("#given valid SubagentStop stdin #when CLI runs #then stdout is empty", () => {
35
32
  // given
36
33
  const cwd = createWorkspace(["codex:s1"]);
37
34
  const payload = JSON.stringify(makePayload(cwd, false, "SubagentStop"));
@@ -42,7 +39,7 @@ describe("start-work continuation CLI", () => {
42
39
  // then
43
40
  if (result.error !== undefined) throw result.error;
44
41
  expect(result.status).toBe(0);
45
- expect(result.stdout).toContain('"decision":"block"');
42
+ expect(result.stdout).toBe("");
46
43
  });
47
44
 
48
45
  it("#given active stop hook stdin #when CLI runs #then stdout is empty and exit is zero", () => {
@@ -122,11 +119,7 @@ function createWorkspace(sessionIds: readonly string[]): string {
122
119
  return root;
123
120
  }
124
121
 
125
- function makePayload(
126
- cwd: string,
127
- stopHookActive: boolean,
128
- eventName: "Stop" | "SubagentStop",
129
- ): Record<string, string | boolean> {
122
+ function makePayload(cwd: string, stopHookActive: boolean, eventName: string): Record<string, string | boolean> {
130
123
  return {
131
124
  session_id: "s1",
132
125
  turn_id: "t1",
@@ -14,7 +14,7 @@ afterEach(() => {
14
14
  for (const root of cleanupRoots.splice(0)) rmSync(root, { recursive: true, force: true });
15
15
  });
16
16
 
17
- describe("start-work Stop hook", () => {
17
+ describe("ulw-execute Stop hook", () => {
18
18
  it("#given stop hook is already active #when hook runs #then returns empty output", () => {
19
19
  // given
20
20
  const fs = createMemoryFs();
@@ -58,16 +58,23 @@ describe("start-work Stop hook", () => {
58
58
  const output = runStopHook(createStopInput(workspace), fs);
59
59
 
60
60
  // then
61
- const parsed = parseBlockOutput(output);
62
- expect(parsed.decision).toBe("block");
63
- expect(parsed.reason).toContain("- Plan: `launch-plan`");
64
- expect(parsed.reason).toContain(`- Plan file: \`${join(workspace, ".omo", "plans", "plan.md")}\``);
65
- expect(parsed.reason).toContain(`- Boulder state: \`${join(workspace, ".omo", "boulder.json")}\``);
66
- expect(parsed.reason).toContain("- Remaining top-level checkboxes: `2` of `4`");
67
- expect(parsed.reason).toContain("- Next incomplete task: `1. Implement checklist parser parity`");
68
- expect(parsed.reason).toContain("- Worktree: `/tmp/worktree`");
69
- expect(parsed.reason).toContain(`- Ledger: \`${join(workspace, ".omo", "start-work", "ledger.jsonl")}\``);
70
- expect(parsed.reason).toContain("- Your session id in boulder.json: `codex:sess_abc`");
61
+ expect(parseBlockOutput(output).decision).toBe("block");
62
+ });
63
+
64
+ it("#given active Boulder work and a SubagentStop event #when hook runs #then returns empty output", () => {
65
+ // given
66
+ const workspace = createWorkspace({
67
+ boulderJson: createBoulderJson({ sessionIds: ["codex:sess_abc"], status: "active" }),
68
+ planMarkdown: SCAFFOLD_PLAN_MARKDOWN,
69
+ });
70
+ const fs = createMemoryFs();
71
+ const input = { ...createStopInput(workspace), hook_event_name: "SubagentStop" as const };
72
+
73
+ // when
74
+ const output = runStopHook(input, fs);
75
+
76
+ // then
77
+ expect(output).toBe("");
71
78
  });
72
79
 
73
80
  it("#given active codex work and an external-blocker marker #when hook runs #then returns empty output", () => {
@@ -80,7 +87,7 @@ describe("start-work Stop hook", () => {
80
87
  const input = {
81
88
  ...createStopInput(workspace),
82
89
  last_assistant_message: [
83
- "<start-work-blocked-external>",
90
+ "<ulw-execute-blocked-external>",
84
91
  "Blocker: the staging deploy credential is missing.",
85
92
  "Resume when a valid credential is provisioned.",
86
93
  ].join("\n"),
@@ -104,7 +111,7 @@ describe("start-work Stop hook", () => {
104
111
  ...createStopInput(workspace),
105
112
  last_assistant_message: [
106
113
  "ULTRAWORK MODE ENABLED!",
107
- "<start-work-blocked-external>",
114
+ "<ulw-execute-blocked-external>",
108
115
  "Blocker: the staging deploy credential is missing.",
109
116
  ].join("\n"),
110
117
  };
@@ -127,7 +134,7 @@ describe("start-work Stop hook", () => {
127
134
  const fs = createMemoryFs();
128
135
  const input = {
129
136
  ...createStopInput(workspace),
130
- last_assistant_message: "<start-work-blocked-external>",
137
+ last_assistant_message: "<ulw-execute-blocked-external>",
131
138
  };
132
139
 
133
140
  // when
@@ -146,7 +153,7 @@ describe("start-work Stop hook", () => {
146
153
  const fs = createMemoryFs();
147
154
  const input = {
148
155
  ...createStopInput(workspace),
149
- last_assistant_message: ["ULTRAWORK MODE ENABLED!", "<start-work-blocked-external>", " "].join("\n"),
156
+ last_assistant_message: ["ULTRAWORK MODE ENABLED!", "<ulw-execute-blocked-external>", " "].join("\n"),
150
157
  };
151
158
 
152
159
  // when
@@ -165,7 +172,7 @@ describe("start-work Stop hook", () => {
165
172
  const fs = createMemoryFs();
166
173
  const input = {
167
174
  ...createStopInput(workspace),
168
- last_assistant_message: ["Next turn I may need to emit", "<start-work-blocked-external>"].join("\n"),
175
+ last_assistant_message: ["Next turn I may need to emit", "<ulw-execute-blocked-external>"].join("\n"),
169
176
  };
170
177
 
171
178
  // when
@@ -187,12 +194,7 @@ describe("start-work Stop hook", () => {
187
194
  const output = runStopHook(createStopInput(workspace), fs);
188
195
 
189
196
  // then
190
- const parsed = parseBlockOutput(output);
191
- expect(parsed.decision).toBe("block");
192
- expect(parsed.reason).toContain("- Remaining top-level checkboxes: `0` of `1`");
193
- expect(parsed.reason).toContain("- Next incomplete task: `none (final gate pending)`");
194
- expect(parsed.reason).toContain("When the remaining count is `0`, skip checkbox execution");
195
- expect(parsed.reason).toContain("re-read the ledger record and verify the exact lane/SHA pair");
197
+ expect(parseBlockOutput(output).decision).toBe("block");
196
198
  });
197
199
 
198
200
  it("#given context-window pressure in transcript #when hook runs #then it does not inject continuation text", () => {
@@ -42,7 +42,26 @@ Conventions for human contributors and AI agents working on this repository.
42
42
  - CLI commands use the `omo-agent-toolkit ulw-loop` form.
43
43
  - Do not use any alternate legacy CLI alias anywhere.
44
44
 
45
+ ## Layout
46
+
47
+ - `src/cli.ts`: bin entry (`omo-ulw-loop`, `ulw`, `ulw-loop` all map to `dist/cli.js`); documented invocation form `omo-agent-toolkit ulw-loop <subcommand>`.
48
+ - `src/cli-commands.ts`: subcommand dispatch (`ULW_LOOP_SUBCOMMANDS`, `ulwLoopCommand`, flag/value readers).
49
+ - `src/plan-io.ts`: plan persistence, append-only `ledger.jsonl`, `withUlwLoopMutationLock`.
50
+ - `src/quality-gate.ts` (188 LOC), `src/checkpoint.ts` (247), `src/steering.ts` (203): state-transition hotspots (evidence containment, checkpoint reconciliation, steering mutations).
51
+ - `src/quality-gate-artifacts.ts`: artifact-ref / surface-kind primitives shared by the gate validator; `src/quality-gate-aggregate.ts`: non-throwing defect pre-pass that aggregates every gate defect into one error.
52
+ - `src/codex-hook.ts`: UserPromptSubmit steering injection + `create_goal` budget guard.
53
+ - `src/spawn-guard.ts`, `src/stop-resume-hook.ts`: spawn guards, Stop auto-resume.
54
+ - `src/surface.ts`: toolkit surface + reviewer-identity resolution (`lazycodex` default; staged `surface.json` marker or `OMO_AGENT_TOOLKIT_SURFACE` selects `omo-senpi`).
55
+ - `src/ultrawork-skill-pointer.ts`: byte-identical mirror of ultrawork's pointer (pinned by `plugin/test/ultrawork-skill-pointer.test.mjs`).
56
+ - `directive.md`: runtime-read directive (never inlined into TypeScript). GENERATED from the canonical `packages/prompts-core/prompts/ultrawork/codex.md` by `components/ultrawork/scripts/sync-directive.mjs` and checked in, because this package is published standalone with no prompts-core dependency. Do not hand-edit; byte identity is pinned by `test/ultrawork-directive.test.ts`.
57
+
45
58
  ## Build and Hooks
46
59
 
47
60
  - Build output goes to `dist/`.
48
61
  - `hooks/hooks.json` wires `hook user-prompt-submit --with-ultrawork` (UserPromptSubmit), `hook pre-tool-use` (create_goal budget), `hook pre-tool-use-spawn` (spawn guards), and `hook stop` (auto-resume).
62
+
63
+ ## Commands
64
+
65
+ - `npm test` (vitest --run) / `npm run test:watch`; focused: `bunx vitest run test/<file>.test.ts`
66
+ - `npm run typecheck` / `npm run lint` / `npm run build` (`tsc -p tsconfig.build.json`) / `npm run check`
67
+ - These stay npm even though the repo root is bun-driven: `.github/workflows/ci.yml` runs this component as `npm --prefix "$component" run check` (the loop selects every component whose `package.json` declares `scripts.check`, which includes this one), `scripts.check` itself shells `npm run build`, and the surrounding plugin tree is installed with `npm --prefix packages/omo-codex/plugin ci` in both `ci.yml` and `publish.yml`. Run the bun equivalents (`bun run test`, `bunx tsc -p tsconfig.build.json`, `bunx biome check .`) locally if you prefer, but do not rewrite this section to bun-only while CI invokes npm here.
@@ -2,9 +2,25 @@
2
2
 
3
3
  ## [0.1.0] - unreleased
4
4
 
5
+ - **Fix:** a `goals.json` written outside the commit log (the removed `omo_agent_toolkit` tool path rewrote it wholesale, never stamping `revision`) no longer loses to an older `revisions/` snapshot when it holds goals that snapshot lacks; the cache wins, is stamped with the snapshot's revision, and the next publish folds it into revision N+1 instead of colliding on an existing record. Raw `ledger.jsonl` lines appended after a published revision are attributed to that revision rather than to the pre-store past a later `ledgerResetRevision` discards. Locked reads and every commit now refuse to rewrite `goals.json` while the reconciled ledger names a `goal_added` goal the projection lacks (`ULW_LOOP_PROJECTION_TRUNCATED`, `details.missingGoalIds`) instead of silently truncating the plan (code-yeongyu/oh-my-openagent#8328).
6
+ - Status nextActions and missing-plan recovery now follow the calling surface: omo-senpi teaches the eval SDK methods and current attempt directory without asking for a driver snapshot; LazyCodex retains its existing CLI guidance byte-for-byte.
7
+
8
+ - Async `.state.lock` holders now keep their file descriptor open and refresh a 30-second lease through it. An expired lease can be reclaimed even while its process remains alive; sync hooks and older lease-less records retain dead-pid-only ownership. Windows filesystems that refuse unlinking an open lock fail closed. Interrupted kernels can recover after lease expiry without deleting a live owner's lock.
9
+ - Plan and audit mutations publish one immutable `revisions/<revision>.json` record using create-only hard links. Published revision paths are never deleted or reused.
10
+ - `ULW_LOOP_PUBLISH_CONFLICT` retries the complete mutation once while its lock token remains owned.
11
+ - A displaced writer receives `ULW_LOOP_LOCK_LOST` instead of overwriting its successor's state.
12
+ - Filesystems without atomic hard links fail closed with `ULW_LOOP_PUBLISH_UNSUPPORTED_FS` (no copy fallback).
13
+ - Additive plan fields `revision`, `brief`, and `ledgerResetRevision`, plus ledger `revision` and `id`, remain optional on legacy reads. The first mutation hydrates a legacy brief, and objective migration is folded into that mutation rather than committed by a read. Force recreation advances the revision and filters older audit entries instead of truncating the ledger.
14
+ - `goals.json`, `ledger.jsonl`, and `brief.md` are complete-file, temp-and-rename derived views. Shared readers reconcile committed records after a crash, including audit-only steering and idempotency, and locked reads repair lagging views. Logical audit order is revision/sequence, not completion order. Older CLIs see complete but possibly lagging or transiently regressed caches; after force recreation they may see pre-reset entries until views are replaced. Hook budget counters remain separate from plan/audit state. Reconciliation now materializes the logical ledger in memory, replacing the earlier streaming-only dedup implementation.
15
+ - Reconciling a plan reads only the newest commit record (newest revision first, stopping at the first valid one) instead of parsing every record in `revisions/`, so a status probe stays independent of how many revisions a session has committed. The full scan remains where the audit trail needs every record.
16
+
17
+ - SDK contexts now reject session IDs that normalize to null with `ULW_LOOP_SESSION_ID_INVALID`, before any session state directory is created.
18
+
19
+ - LazyCodex native spawns now require an explicit bundled role before plan, budget, or artifact checks. Unknown and unnamed roles fail loudly; Senpi admission is unchanged. Guidance follows the actual spawn schema, including V2 `agent_type` when exposed. Installer/bootstrap provide an opt-out-able, ownership-checked medium-worker `default` for unnamed non-forks. An unnamed full-history fork still skips role application inside Codex: configuration cannot repair that upstream gap, and enforcement depends on Codex invoking the trusted hook. Legacy schemas without `agent_type` retain message-carried instructions but are rejected by the schema-blind guard rather than silently falling through.
20
+
5
21
  - Bundled `directive.md` picks up the ultrawork test-proportionality change: the execution-loop PIN step asks for characterization pins only when refactoring behavior whose regressions the change could hide. Stays byte-identical to `prompts-core/ultrawork/codex.md` and the ultrawork component's `directive.md`.
6
22
 
7
- - **Hooks:** new `Stop` hook auto-resumes a turn that died with unfinished goals (defers to start-work-continuation while its plan has remaining tasks, bails under context pressure, and caps at two resumes without ledger movement via a separate `.stuck` marker). New `PreToolUse` spawn guard adds a per-session fan-out cap (`OMO_SPAWN_FANOUT_LIMIT`, default 60) and denies final gate-reviewer spawns while the reviewer artifacts the gate audits are missing.
23
+ - **Hooks:** new `Stop` hook auto-resumes a turn that died with unfinished goals (defers to ulw-execute-continuation while its plan has remaining tasks, bails under context pressure, and caps at two resumes without ledger movement via a separate `.stuck` marker). New `PreToolUse` spawn guard adds a per-session fan-out cap (`OMO_SPAWN_FANOUT_LIMIT`, default 60) and denies final gate-reviewer spawns while the reviewer artifacts the gate audits are missing.
8
24
 
9
25
  - **Memory:** steering ledger entries no longer embed the full plan four times (`before`/`after` at both the audit and entry level). Accepted steers now record a compact `UlwLoopSteeringPlanSnapshot` (plan counters + only the goals the mutation touched), shrinking a measured real-world entry from 189KB to 7.8KB (~24x) and ending quadratic `ledger.jsonl` growth over long runs.
10
26
  - **Memory:** steering dedup (`--idempotency-key` / `promptSignature`) streams the ledger line-by-line with a substring pre-filter instead of `JSON.parse`-ing every entry into memory; dedup returns strip legacy full-plan `before`/`after` payloads from re-surfaced audits. `readSteeringLedgerEntries` streams too.
@@ -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",