oh-my-opencode 5.0.0-beta.19 → 5.0.0-beta.20

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 (188) hide show
  1. package/README.ja.md +3 -3
  2. package/README.ko.md +3 -3
  3. package/README.md +3 -3
  4. package/README.ru.md +3 -3
  5. package/README.zh-cn.md +3 -3
  6. package/dist/cli/fallback-lane-policy.d.ts +1 -0
  7. package/dist/cli/index.js +72 -195
  8. package/dist/cli/install-codex/install-codex-test-fixtures.d.ts +1 -1
  9. package/dist/cli-node/index.js +72 -195
  10. package/dist/config/schema/commands.d.ts +1 -1
  11. package/dist/config/schema/hooks.d.ts +1 -1
  12. package/dist/config/schema/oh-my-opencode-config.d.ts +4 -1
  13. package/dist/config/schema/ulw-execute.d.ts +5 -0
  14. package/dist/config/validate.d.ts +2 -0
  15. package/dist/create-hooks.d.ts +2 -1
  16. package/dist/features/builtin-commands/templates/ulw-execute.d.ts +1 -0
  17. package/dist/features/builtin-commands/types.d.ts +1 -1
  18. package/dist/hooks/atlas/atlas-hook.d.ts +1 -0
  19. package/dist/hooks/atlas/atlas-lifecycle-store.d.ts +50 -0
  20. package/dist/hooks/atlas/event-handler.d.ts +1 -0
  21. package/dist/hooks/atlas/tool-execute-before.d.ts +3 -0
  22. package/dist/hooks/atlas/types.d.ts +1 -0
  23. package/dist/hooks/index.d.ts +1 -1
  24. package/dist/hooks/prometheus-md-only/agent-resolution.d.ts +2 -2
  25. package/dist/hooks/sisyphus-junior-notepad/constants.d.ts +1 -1
  26. package/dist/hooks/{start-work → ulw-execute}/context-info-builder.d.ts +1 -1
  27. package/dist/hooks/{start-work → ulw-execute}/index.d.ts +1 -1
  28. package/dist/hooks/ulw-execute/ulw-execute-hook.d.ts +23 -0
  29. package/dist/index.js +322 -258
  30. package/dist/oh-my-opencode.schema.json +14 -1
  31. package/dist/plugin/chat-message/types.d.ts +3 -3
  32. package/dist/plugin/chat-message/ulw-execute-message.d.ts +5 -0
  33. package/dist/plugin/hooks/create-core-hooks.d.ts +1 -1
  34. package/dist/plugin/hooks/create-session-hooks.d.ts +2 -2
  35. package/dist/skills/frontend/SKILL.md +1 -1
  36. package/dist/skills/frontend/references/designpowers/README.md +1 -1
  37. package/dist/skills/frontend/references/designpowers/lane-a-direction.md +1 -1
  38. package/dist/skills/frontend/references/designpowers/lane-b-execution.md +11 -11
  39. package/dist/skills/frontend/references/designpowers/lane-d-memory.md +3 -3
  40. package/dist/skills/frontend/references/designpowers/orchestration.md +1 -1
  41. package/dist/skills/frontend/references/designpowers/routing.md +5 -5
  42. package/dist/skills/{start-work → ulw-execute}/SKILL.md +7 -7
  43. package/dist/skills/ulw-plan/SKILL.md +4 -4
  44. package/dist/skills/ulw-plan/references/full-workflow.md +4 -4
  45. package/dist/skills/ulw-plan/references/intent-unclear.md +2 -2
  46. package/dist/tui.js +34 -9
  47. package/package.json +15 -15
  48. package/packages/omo-codex/THIRD-PARTY-NOTICES.md +4 -4
  49. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +4 -4
  50. package/packages/omo-codex/plugin/README.md +1 -1
  51. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +2 -2
  52. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  53. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  54. package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
  55. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  56. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  57. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  58. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  59. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  60. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  61. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  62. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  63. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  64. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  65. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  66. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  67. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  68. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  69. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  70. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  71. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  72. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +4 -4
  73. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +4 -4
  74. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-unclear.md +2 -2
  75. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/AGENTS.md +2 -2
  76. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/NOTICE +1 -1
  77. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/README.md +5 -5
  78. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/directive.md +6 -6
  79. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/dist/cli.js +12 -12
  80. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +28 -0
  81. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/package.json +8 -8
  82. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/boulder-reader.ts +1 -1
  83. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/cli.ts +1 -1
  84. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/codex-hook.ts +3 -3
  85. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/directive.ts +1 -1
  86. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/index.ts +1 -1
  87. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/boulder-reader.test.ts +3 -3
  88. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/cli.test.ts +1 -1
  89. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/codex-hook.test.ts +6 -6
  90. package/packages/omo-codex/plugin/components/ulw-loop/CHANGELOG.md +1 -1
  91. package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.js +3 -3
  92. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  93. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  94. package/packages/omo-codex/plugin/components/ulw-loop/src/stop-resume-hook.ts +3 -3
  95. package/packages/omo-codex/plugin/components/ulw-loop/test/stop-resume-hook.test.ts +1 -1
  96. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  97. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  98. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  99. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
  100. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  101. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  102. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  103. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  104. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  105. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  106. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  107. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  108. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  109. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
  110. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  111. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  112. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +17 -0
  113. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  114. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-ulw-execute-continuation.json +17 -0
  115. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  116. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  117. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  118. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  119. package/packages/omo-codex/plugin/package-lock.json +34 -34
  120. package/packages/omo-codex/plugin/package.json +2 -2
  121. package/packages/omo-codex/plugin/scripts/auto-update-plan.mjs +1 -1
  122. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +11 -11
  123. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +1 -1
  124. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/README.md +1 -1
  125. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-a-direction.md +1 -1
  126. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-b-execution.md +11 -11
  127. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-d-memory.md +3 -3
  128. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/orchestration.md +1 -1
  129. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/routing.md +5 -5
  130. package/packages/omo-codex/plugin/skills/review-work/SKILL.md +1 -1
  131. package/packages/omo-codex/plugin/skills/{start-work → ulw-execute}/SKILL.md +10 -10
  132. package/packages/omo-codex/plugin/skills/ulw-execute/agents/openai.yaml +2 -0
  133. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +4 -4
  134. package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +4 -4
  135. package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-unclear.md +2 -2
  136. package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +4 -4
  137. package/packages/omo-codex/plugin/test/aggregate-manifest.test.mjs +1 -1
  138. package/packages/omo-codex/plugin/test/component-bin-names.test.mjs +2 -2
  139. package/packages/omo-codex/plugin/test/component-bundled-cli.test.mjs +1 -1
  140. package/packages/omo-codex/plugin/test/component-hook-contract-cases.mjs +2 -2
  141. package/packages/omo-codex/plugin/test/hook-status-message.test.mjs +4 -4
  142. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +12 -12
  143. package/packages/omo-codex/scripts/install-dist/install-local.mjs +4 -4
  144. package/packages/shared-skills/skills/frontend/SKILL.md +1 -1
  145. package/packages/shared-skills/skills/frontend/references/designpowers/README.md +1 -1
  146. package/packages/shared-skills/skills/frontend/references/designpowers/lane-a-direction.md +1 -1
  147. package/packages/shared-skills/skills/frontend/references/designpowers/lane-b-execution.md +11 -11
  148. package/packages/shared-skills/skills/frontend/references/designpowers/lane-d-memory.md +3 -3
  149. package/packages/shared-skills/skills/frontend/references/designpowers/orchestration.md +1 -1
  150. package/packages/shared-skills/skills/frontend/references/designpowers/routing.md +5 -5
  151. package/packages/shared-skills/skills/{start-work → ulw-execute}/SKILL.md +7 -7
  152. package/packages/shared-skills/skills/ulw-plan/SKILL.md +4 -4
  153. package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +4 -4
  154. package/packages/shared-skills/skills/ulw-plan/references/intent-unclear.md +2 -2
  155. package/dist/config/schema/start-work.d.ts +0 -5
  156. package/dist/features/builtin-commands/templates/start-work.d.ts +0 -1
  157. package/dist/hooks/start-work/start-work-hook.d.ts +0 -23
  158. package/dist/plugin/chat-message/start-work-message.d.ts +0 -5
  159. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +0 -28
  160. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +0 -17
  161. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +0 -17
  162. package/packages/omo-codex/plugin/skills/start-work/agents/openai.yaml +0 -2
  163. /package/dist/hooks/{start-work → ulw-execute}/context-info-formatters.d.ts +0 -0
  164. /package/dist/hooks/{start-work → ulw-execute}/explicit-plan-context.d.ts +0 -0
  165. /package/dist/hooks/{start-work → ulw-execute}/notepad-scaffold.d.ts +0 -0
  166. /package/dist/hooks/{start-work → ulw-execute}/parse-user-request.d.ts +0 -0
  167. /package/dist/hooks/{start-work → ulw-execute}/plan-discovery-context.d.ts +0 -0
  168. /package/dist/hooks/{start-work → ulw-execute}/plan-selection.d.ts +0 -0
  169. /package/dist/hooks/{start-work → ulw-execute}/session-plan-affinity.d.ts +0 -0
  170. /package/dist/hooks/{start-work → ulw-execute}/work-initializer.d.ts +0 -0
  171. /package/dist/hooks/{start-work → ulw-execute}/worktree-block.d.ts +0 -0
  172. /package/dist/hooks/{start-work → ulw-execute}/worktree-detector.d.ts +0 -0
  173. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/.gitattributes +0 -0
  174. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/CHANGELOG.md +0 -0
  175. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/LICENSE +0 -0
  176. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/biome.json +0 -0
  177. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/plan-checklist.ts +0 -0
  178. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/types.ts +0 -0
  179. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/boulder-completed.json +0 -0
  180. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/boulder-mixed-platforms.json +0 -0
  181. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/boulder-single-codex-work.json +0 -0
  182. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-all-done.md +0 -0
  183. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-scaffold.md +0 -0
  184. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-with-nested-checkboxes.md +0 -0
  185. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-with-unchecked.md +0 -0
  186. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/tsconfig.build.json +0 -0
  187. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/tsconfig.json +0 -0
  188. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/vitest.config.ts +0 -0
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/omo-codex-plugin",
3
- "version": "5.0.0-beta.19",
3
+ "version": "5.0.0-beta.20",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@sisyphuslabs/omo-codex-plugin",
9
- "version": "5.0.0-beta.19",
9
+ "version": "5.0.0-beta.20",
10
10
  "workspaces": [
11
11
  "components/codegraph",
12
12
  "components/comment-checker",
@@ -16,7 +16,7 @@
16
16
  "components/lsp",
17
17
  "components/telemetry",
18
18
  "components/teammode",
19
- "components/start-work-continuation",
19
+ "components/ulw-execute-continuation",
20
20
  "components/ulw-loop",
21
21
  "components/ultrawork"
22
22
  ],
@@ -101,7 +101,7 @@
101
101
  },
102
102
  "components/codegraph": {
103
103
  "name": "@sisyphuslabs/codex-codegraph",
104
- "version": "5.0.0-beta.19",
104
+ "version": "5.0.0-beta.20",
105
105
  "bin": {
106
106
  "omo-codegraph": "dist/cli.js"
107
107
  },
@@ -120,7 +120,7 @@
120
120
  },
121
121
  "components/comment-checker": {
122
122
  "name": "@code-yeongyu/codex-comment-checker",
123
- "version": "5.0.0-beta.19",
123
+ "version": "5.0.0-beta.20",
124
124
  "license": "MIT",
125
125
  "bin": {
126
126
  "omo-comment-checker": "dist/cli.js"
@@ -141,7 +141,7 @@
141
141
  },
142
142
  "components/git-bash": {
143
143
  "name": "@sisyphuslabs/codex-git-bash-hook",
144
- "version": "5.0.0-beta.19",
144
+ "version": "5.0.0-beta.20",
145
145
  "bin": {
146
146
  "omo-git-bash-hook": "dist/cli.js"
147
147
  },
@@ -155,7 +155,7 @@
155
155
  },
156
156
  "components/lazycodex-executor-verify": {
157
157
  "name": "@code-yeongyu/codex-lazycodex-executor-verify",
158
- "version": "5.0.0-beta.19",
158
+ "version": "5.0.0-beta.20",
159
159
  "license": "MIT",
160
160
  "bin": {
161
161
  "lazycodex-executor-verify": "dist/cli.js"
@@ -172,7 +172,7 @@
172
172
  },
173
173
  "components/lsp": {
174
174
  "name": "@code-yeongyu/codex-lsp",
175
- "version": "5.0.0-beta.19",
175
+ "version": "5.0.0-beta.20",
176
176
  "license": "MIT",
177
177
  "dependencies": {
178
178
  "@code-yeongyu/lsp-daemon": "file:../../../../lsp-daemon",
@@ -193,7 +193,7 @@
193
193
  },
194
194
  "components/rules": {
195
195
  "name": "@code-yeongyu/codex-rules",
196
- "version": "5.0.0-beta.19",
196
+ "version": "5.0.0-beta.20",
197
197
  "license": "MIT",
198
198
  "dependencies": {
199
199
  "picomatch": "^4.0.7"
@@ -213,26 +213,9 @@
213
213
  "node": ">=20.0.0"
214
214
  }
215
215
  },
216
- "components/start-work-continuation": {
217
- "name": "@code-yeongyu/codex-start-work-continuation",
218
- "version": "5.0.0-beta.19",
219
- "license": "MIT",
220
- "bin": {
221
- "omo-start-work-continuation": "dist/cli.js"
222
- },
223
- "devDependencies": {
224
- "@biomejs/biome": "2.5.9",
225
- "@types/node": "^26.2.0",
226
- "typescript": "^7.0.2",
227
- "vitest": "^4.1.11"
228
- },
229
- "engines": {
230
- "node": ">=20.0.0"
231
- }
232
- },
233
216
  "components/teammode": {
234
217
  "name": "@sisyphuslabs/codex-teammode",
235
- "version": "5.0.0-beta.19",
218
+ "version": "5.0.0-beta.20",
236
219
  "devDependencies": {
237
220
  "@types/node": "^26.2.0",
238
221
  "bun-types": "^1.4.0",
@@ -245,7 +228,7 @@
245
228
  },
246
229
  "components/telemetry": {
247
230
  "name": "@code-yeongyu/codex-telemetry",
248
- "version": "5.0.0-beta.19",
231
+ "version": "5.0.0-beta.20",
249
232
  "license": "MIT",
250
233
  "bin": {
251
234
  "omo-telemetry": "dist/cli.js"
@@ -263,7 +246,7 @@
263
246
  },
264
247
  "components/ultrawork": {
265
248
  "name": "@code-yeongyu/codex-ultrawork",
266
- "version": "5.0.0-beta.19",
249
+ "version": "5.0.0-beta.20",
267
250
  "license": "MIT",
268
251
  "bin": {
269
252
  "omo-ultrawork": "dist/cli.js"
@@ -279,9 +262,26 @@
279
262
  "node": ">=20.0.0"
280
263
  }
281
264
  },
265
+ "components/ulw-execute-continuation": {
266
+ "name": "@code-yeongyu/codex-ulw-execute-continuation",
267
+ "version": "5.0.0-beta.20",
268
+ "license": "MIT",
269
+ "bin": {
270
+ "omo-ulw-execute-continuation": "dist/cli.js"
271
+ },
272
+ "devDependencies": {
273
+ "@biomejs/biome": "2.5.9",
274
+ "@types/node": "^26.2.0",
275
+ "typescript": "^7.0.2",
276
+ "vitest": "^4.1.11"
277
+ },
278
+ "engines": {
279
+ "node": ">=20.0.0"
280
+ }
281
+ },
282
282
  "components/ulw-loop": {
283
283
  "name": "@code-yeongyu/codex-ulw-loop",
284
- "version": "5.0.0-beta.19",
284
+ "version": "5.0.0-beta.20",
285
285
  "license": "MIT",
286
286
  "bin": {
287
287
  "omo-ulw-loop": "dist/cli.js",
@@ -477,10 +477,6 @@
477
477
  "resolved": "components/rules",
478
478
  "link": true
479
479
  },
480
- "node_modules/@code-yeongyu/codex-start-work-continuation": {
481
- "resolved": "components/start-work-continuation",
482
- "link": true
483
- },
484
480
  "node_modules/@code-yeongyu/codex-telemetry": {
485
481
  "resolved": "components/telemetry",
486
482
  "link": true
@@ -489,6 +485,10 @@
489
485
  "resolved": "components/ultrawork",
490
486
  "link": true
491
487
  },
488
+ "node_modules/@code-yeongyu/codex-ulw-execute-continuation": {
489
+ "resolved": "components/ulw-execute-continuation",
490
+ "link": true
491
+ },
492
492
  "node_modules/@code-yeongyu/codex-ulw-loop": {
493
493
  "resolved": "components/ulw-loop",
494
494
  "link": true
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/omo-codex-plugin",
3
- "version": "5.0.0-beta.19",
3
+ "version": "5.0.0-beta.20",
4
4
  "description": "Aggregate Codex plugin root for OMO components.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -14,7 +14,7 @@
14
14
  "components/lsp",
15
15
  "components/telemetry",
16
16
  "components/teammode",
17
- "components/start-work-continuation",
17
+ "components/ulw-execute-continuation",
18
18
  "components/ulw-loop",
19
19
  "components/ultrawork"
20
20
  ],
@@ -20,7 +20,7 @@ const MANAGED_COMPONENT_BIN_NAMES = new Set([
20
20
  "omo-git-bash-hook",
21
21
  "omo-lsp",
22
22
  "omo-rules",
23
- "omo-start-work-continuation",
23
+ "omo-ulw-execute-continuation",
24
24
  "omo-telemetry",
25
25
  "omo-ultrawork",
26
26
  "omo-ulw-loop",
@@ -124,35 +124,35 @@ export function insertCodexCompatibilityGuidance(content) {
124
124
  return `${frontmatterMatch[0]}${codexHarnessToolCompatibility}${contentWithoutGuidance.slice(frontmatterMatch[0].length)}`;
125
125
  }
126
126
 
127
- const startWorkOriginalCompletion = `When all top-level checkboxes in \`## TODOs\` and \`## Final Verification Wave\` are complete:
127
+ const ulwExecuteOriginalCompletion = `When all top-level checkboxes in \`## TODOs\` and \`## Final Verification Wave\` are complete:
128
128
 
129
129
  1. Run the plan's final verification commands.
130
130
  2. For PR/branch work, finish the lifecycle from the task-owned worktree: sync \`.omo/\` state back to the main repo, create or update the PR, wait for review/verification gates, merge by default unless explicitly opted out, and remove the worktree only after successful merge or explicit handoff.
131
131
  3. Remove or mark the Boulder work as completed.
132
132
  4. Print an \`ORCHESTRATION COMPLETE\` block with the plan path, verification commands, artifacts, and cleanup receipts.`;
133
133
 
134
- const startWorkCodexCompletion = `When all top-level checkboxes in \`## TODOs\` and \`## Final Verification Wave\` are complete:
134
+ const ulwExecuteCodexCompletion = `When all top-level checkboxes in \`## TODOs\` and \`## Final Verification Wave\` are complete:
135
135
 
136
136
  1. Run the plan's final verification commands.
137
137
  2. Complete the **Global Review and Debugging Gate** before any completion claim, PR creation, PR handoff, branch handoff, or merge:
138
138
  - Invoke the \`review-work\` skill with the final diff, changed files, user goal, constraints, run command, and verification evidence. All five review lanes must return PASS. A timeout, missing deliverable, ack-only child, \`BLOCKED:\`, or inconclusive lane is a gate failure, not approval.
139
- - Each passing review lane binds to the exact full commit SHA it reviewed. Immediately append a durable record to \`.omo/start-work/ledger.jsonl\` with the lane name, full SHA, PASS verdict, and report artifact/source. Before same-SHA reuse after any continuation or compaction, re-read the ledger record and require the exact lane/SHA pair; memory, chat history, or an unstamped report is not coverage. New commits require fresh applicable lane coverage.
140
- - Run a debugging-oriented runtime audit even when the review passes: name at least three plausible failure hypotheses for the changed surface, run the distinguishing checks against the actual artifact, and append a separate durable record with the audit name, exact full SHA, verdict, and evidence artifact/source to \`.omo/start-work/ledger.jsonl\`. Reuse it only after re-reading an exact audit/SHA match.
139
+ - Each passing review lane binds to the exact full commit SHA it reviewed. Immediately append a durable record to \`.omo/ulw-execute/ledger.jsonl\` with the lane name, full SHA, PASS verdict, and report artifact/source. Before same-SHA reuse after any continuation or compaction, re-read the ledger record and require the exact lane/SHA pair; memory, chat history, or an unstamped report is not coverage. New commits require fresh applicable lane coverage.
140
+ - Run a debugging-oriented runtime audit even when the review passes: name at least three plausible failure hypotheses for the changed surface, run the distinguishing checks against the actual artifact, and append a separate durable record with the audit name, exact full SHA, verdict, and evidence artifact/source to \`.omo/ulw-execute/ledger.jsonl\`. Reuse it only after re-reading an exact audit/SHA match.
141
141
  - If any review lane or debugging hypothesis fails, invoke the \`debugging\` skill, confirm root cause with runtime evidence, add the minimal failing test or reproduction, fix it, rerun the affected verification, then rerun the Global Review and Debugging Gate.
142
- - Evidence hygiene is mandatory: redact or mask secrets and sensitive user data before writing \`.omo/start-work/ledger.jsonl\`, a PR body, or a handoff. Never include raw tokens, credentials, auth headers, cookies, API keys, env dumps, private logs, or PII; use concise summaries, lengths, hashes, or short non-sensitive prefixes instead.
142
+ - Evidence hygiene is mandatory: redact or mask secrets and sensitive user data before writing \`.omo/ulw-execute/ledger.jsonl\`, a PR body, or a handoff. Never include raw tokens, credentials, auth headers, cookies, API keys, env dumps, private logs, or PII; use concise summaries, lengths, hashes, or short non-sensitive prefixes instead.
143
143
  - If the work includes creating, updating, or handing off a PR, refresh \`git status\` and the PR/branch state from the task-owned worktree after the gate, and include only redacted review/debugging evidence in the PR body or handoff.
144
144
  3. Finish the PR/branch lifecycle from its task-owned worktree: sync \`.omo/\` state back to the main repo, create or update the PR when requested, wait for CI/review/Cubic gates, merge by default unless explicitly opted out, and remove the worktree only after successful merge or explicit handoff.
145
145
  4. Remove or mark the Boulder work as completed.
146
146
  5. Print an \`ORCHESTRATION COMPLETE\` block with the plan path, verification commands, Global Review and Debugging Gate verdict, artifacts, and cleanup receipts.`;
147
147
 
148
- const startWorkOriginalHardRule = "- No completion claim while an applicable ultraqa adversarial class was never probed. Each applicable class needs a captured observable result; each skipped class needs a one-line not-applicable reason in the ledger.\n- No PR/branch implementation, review, or merge in the main worktree; use the task-owned git worktree.\n- No unprefixed session ids in Boulder state. Sessions are always recorded as `codex:<session_id>`.";
148
+ const ulwExecuteOriginalHardRule = "- No completion claim while an applicable ultraqa adversarial class was never probed. Each applicable class needs a captured observable result; each skipped class needs a one-line not-applicable reason in the ledger.\n- No PR/branch implementation, review, or merge in the main worktree; use the task-owned git worktree.\n- No unprefixed session ids in Boulder state. Sessions are always recorded as `codex:<session_id>`.";
149
149
 
150
- const startWorkCodexHardRule = "- No completion claim while an applicable ultraqa adversarial class was never probed. Each applicable class needs a captured observable result; each skipped class needs a one-line not-applicable reason in the ledger.\n- No `ORCHESTRATION COMPLETE`, final response, PR creation, PR handoff, or merge before the Global Review and Debugging Gate passes with recorded evidence.\n- No PR/branch implementation or review in the main worktree; create or use a task-owned git worktree first.\n- No unprefixed session ids in Boulder state. Sessions are always recorded as `codex:<session_id>`.";
150
+ const ulwExecuteCodexHardRule = "- No completion claim while an applicable ultraqa adversarial class was never probed. Each applicable class needs a captured observable result; each skipped class needs a one-line not-applicable reason in the ledger.\n- No `ORCHESTRATION COMPLETE`, final response, PR creation, PR handoff, or merge before the Global Review and Debugging Gate passes with recorded evidence.\n- No PR/branch implementation or review in the main worktree; create or use a task-owned git worktree first.\n- No unprefixed session ids in Boulder state. Sessions are always recorded as `codex:<session_id>`.";
151
151
 
152
152
  const reviewWorkAnchor = "Launch 5 specialized sub-agents in parallel to review completed implementation work from every angle. All 5 must pass for the review to pass. If even ONE fails, the review fails.\n";
153
153
 
154
154
  const reviewWorkCodexGate = `
155
- When \`review-work\` is used as a final implementation, PR, or \`$start-work\`
155
+ When \`review-work\` is used as a final implementation, PR, or \`$ulw-execute\`
156
156
  gate, it is blocking. A timeout, missing deliverable, ack-only response,
157
157
  explicit \`BLOCKED:\`, or inconclusive lane is not a pass. Treat that lane as
158
158
  failed, investigate the underlying uncertainty with the \`debugging\` skill when
@@ -190,10 +190,10 @@ function applyCodexSkillOverlays(skillName, content) {
190
190
  if (skillName === "ulw-research") {
191
191
  return content.replace(ulwResearchOriginalDeliveryGates, ulwResearchCodexDeliveryGate);
192
192
  }
193
- if (skillName === "start-work") {
193
+ if (skillName === "ulw-execute") {
194
194
  return content
195
- .replace(startWorkOriginalCompletion, startWorkCodexCompletion)
196
- .replace(startWorkOriginalHardRule, startWorkCodexHardRule);
195
+ .replace(ulwExecuteOriginalCompletion, ulwExecuteCodexCompletion)
196
+ .replace(ulwExecuteOriginalHardRule, ulwExecuteCodexHardRule);
197
197
  }
198
198
  if (skillName === "review-work" && !content.includes("When `review-work` is used as a final implementation")) {
199
199
  return content.replace(reviewWorkAnchor, `${reviewWorkAnchor}${reviewWorkCodexGate}`);
@@ -107,7 +107,7 @@ Domains: `product` `style` `typography` `color` `landing` `chart` `ux` `react` `
107
107
 
108
108
  ## Ruleset 4 — designpowers (`references/designpowers/`)
109
109
 
110
- `README.md` routes the pinned `Owl-Listener/designpowers` corpus into this workflow. It supplies design context — personas, accessibility and cognitive constraints, critique, debt, handoff, synthetic user testing, motion, role prompts — that must be distilled into `DESIGN.md` first, then used as the implementation contract. It replaces nothing: not this skill, not `/visual-qa`, `/ulw-plan`, `/start-work`, or `/review-work`.
110
+ `README.md` routes the pinned `Owl-Listener/designpowers` corpus into this workflow. It supplies design context — personas, accessibility and cognitive constraints, critique, debt, handoff, synthetic user testing, motion, role prompts — that must be distilled into `DESIGN.md` first, then used as the implementation contract. It replaces nothing: not this skill, not `/visual-qa`, `/ulw-plan`, `/ulw-execute`, or `/review-work`.
111
111
 
112
112
  ## Quick routes — most common requests
113
113
 
@@ -9,7 +9,7 @@ The purpose of this ruleset is to enrich the existing frontend workflow while pr
9
9
  - `references/design/README.md` still owns the `DESIGN.md` contract, taste routing, brand references, React dev tooling, and browser-based design QA expectations.
10
10
  - `references/perfection/README.md` still owns Lighthouse, performance, SEO, accessibility audit mechanics, and real-browser verification.
11
11
  - `/visual-qa` still owns objective rendered evidence for visual claims.
12
- - `/ulw-plan`, `/start-work`, and `/review-work` still own planning, execution, and final implementation review when those phases apply.
12
+ - `/ulw-plan`, `/ulw-execute`, and `/review-work` still own planning, execution, and final implementation review when those phases apply.
13
13
 
14
14
  ## Load Order
15
15
 
@@ -61,4 +61,4 @@ Lane A passes only when the plan has inspectable design context, not vague inten
61
61
 
62
62
  PASS when `ulw-plan` receives this lane context and produces a decision-complete plan whose tasks are design-aware, persona-aware, and evidence-bound.
63
63
 
64
- FAIL when the plan skips inclusive-personas, buries accessibility as a final polish item, treats taste as generic style, writes a parallel design plan, or leaves design decisions for start-work workers to invent.
64
+ FAIL when the plan skips inclusive-personas, buries accessibility as a final polish item, treats taste as generic style, writes a parallel design plan, or leaves design decisions for ulw-execute workers to invent.
@@ -1,25 +1,25 @@
1
1
  # Lane B: Design Execution Guidance
2
2
 
3
- Lane B feeds `start-work` workers and always loads `frontend` for UI implementation. It does not install a separate builder. Its job is to carry designpowers composition, interaction, motion, content, responsive, adaptive, token, and cognitive-accessibility guidance into worker prompts while keeps ownership of decomposition, implementation, QA, evidence, and ledger updates.
3
+ Lane B feeds `ulw-execute` workers and always loads `frontend` for UI implementation. It does not install a separate builder. Its job is to carry designpowers composition, interaction, motion, content, responsive, adaptive, token, and cognitive-accessibility guidance into worker prompts while keeps ownership of decomposition, implementation, QA, evidence, and ledger updates.
4
4
 
5
5
  ## Phase Owner
6
6
 
7
7
  | Capability | Materialized designpowers source | owner | Mapping |
8
8
  |---|---|---|---|
9
- | Visual hierarchy, layout, color, typography, touch targets, and WCAG contrast | `ui-composition` | `start-work` worker plus `frontend` | Add visual constraints and acceptance checks to worker assignments. `frontend` remains the required UI implementation skill. |
10
- | States, feedback, loading, error, keyboard, touch, and recovery behavior | `interaction-design` | `start-work` worker plus `frontend` | Require every interactive component to define default, hover, focus, active, disabled, loading, success, and error states where applicable. |
11
- | Purposeful motion and reduced-motion alternatives | `motion-choreography` | `start-work` worker plus `frontend` | Require motion specs to explain what changed, what to look at next, or how elements relate; require safe alternatives. |
12
- | Content-driven breakpoints and zoom behavior | `responsive-patterns` | `start-work` worker plus `frontend` | Require responsive proof at narrow, mid, desktop, and 200 percent zoom scenarios when the surface is visual. |
13
- | User preference adaptation | `adaptive-interfaces` | `start-work` worker plus `frontend` | Require support for relevant preferences such as color scheme, contrast, reduced motion, text sizing, and density. |
14
- | Mental load, wayfinding, focus management, memory demands, and recovery paths | `cognitive-accessibility` | `start-work` worker plus `frontend` | Add COGA-style checks directly to worker acceptance criteria for flows, forms, navigation, and dense tools. |
15
- | Plain-language labels, headings, alt text, link text, errors, and instructions | `accessible-content` and `voice-and-tone` | `start-work` worker plus `frontend` | Require final copy, no placeholders, useful errors, readable labels, and consistent tone. |
9
+ | Visual hierarchy, layout, color, typography, touch targets, and WCAG contrast | `ui-composition` | `ulw-execute` worker plus `frontend` | Add visual constraints and acceptance checks to worker assignments. `frontend` remains the required UI implementation skill. |
10
+ | States, feedback, loading, error, keyboard, touch, and recovery behavior | `interaction-design` | `ulw-execute` worker plus `frontend` | Require every interactive component to define default, hover, focus, active, disabled, loading, success, and error states where applicable. |
11
+ | Purposeful motion and reduced-motion alternatives | `motion-choreography` | `ulw-execute` worker plus `frontend` | Require motion specs to explain what changed, what to look at next, or how elements relate; require safe alternatives. |
12
+ | Content-driven breakpoints and zoom behavior | `responsive-patterns` | `ulw-execute` worker plus `frontend` | Require responsive proof at narrow, mid, desktop, and 200 percent zoom scenarios when the surface is visual. |
13
+ | User preference adaptation | `adaptive-interfaces` | `ulw-execute` worker plus `frontend` | Require support for relevant preferences such as color scheme, contrast, reduced motion, text sizing, and density. |
14
+ | Mental load, wayfinding, focus management, memory demands, and recovery paths | `cognitive-accessibility` | `ulw-execute` worker plus `frontend` | Add COGA-style checks directly to worker acceptance criteria for flows, forms, navigation, and dense tools. |
15
+ | Plain-language labels, headings, alt text, link text, errors, and instructions | `accessible-content` and `voice-and-tone` | `ulw-execute` worker plus `frontend` | Require final copy, no placeholders, useful errors, readable labels, and consistent tone. |
16
16
  | Tokens and design-system consistency | `token-architecture` and `design-system-alignment` | `frontend` | Require real design tokens and existing component patterns before new one-off styling. |
17
17
 
18
18
  Materialized agent references for this lane: `design-lead`, `motion-designer`, and `content-writer`. They are prompt-role references for spawned OpenAgent work, not alternate executors.
19
19
 
20
20
  ## Prompt Injection
21
21
 
22
- Add this block to each `start-work` implementation worker that touches UI:
22
+ Add this block to each `ulw-execute` implementation worker that touches UI:
23
23
 
24
24
  ```text
25
25
  Load `frontend` for UI implementation. Also apply Lane B Design Execution Guidance.
@@ -43,7 +43,7 @@ Do not invent visual direction that conflicts with the plan. If the plan lacks a
43
43
  Lane B worker DoneClaims must include:
44
44
 
45
45
  - Exact changed files and the `frontend` references loaded.
46
- - The real-surface QA invocation required by `start-work` for the UI surface, with captured artifact path.
46
+ - The real-surface QA invocation required by `ulw-execute` for the UI surface, with captured artifact path.
47
47
  - Screenshot, browser, HTTP, or xterm.js web-terminal artifacts appropriate to the visible surface.
48
48
  - Accessibility evidence from the existing OpenAgent frontend path, such as Lighthouse, react-doctor, keyboard checks, or other plan-required checks.
49
49
  - A short design trace: which persona, design principle, token, or state requirement each major UI decision satisfies.
@@ -52,7 +52,7 @@ Lane B worker DoneClaims must include:
52
52
  ## Guardrails
53
53
 
54
54
  - UI implementation always goes through `frontend`; Lane B only enriches the worker prompt.
55
- - `start-work` owns decomposition, worker dispatch, evidence ledger entries, adversarial checks, and completion state.
55
+ - `ulw-execute` owns decomposition, worker dispatch, evidence ledger entries, adversarial checks, and completion state.
56
56
  - The materialized `design-builder` concept is not used as an available executor. OpenAgent workers build.
57
57
  - No placeholders, generic copy, unverified contrast claims, decorative-only motion, or one-off hardcoded design systems pass this lane.
58
58
  - Accessibility and cognitive-accessibility are implementation constraints, not review-only cleanup.
@@ -7,7 +7,7 @@ Lane D records the design record around OpenAgent work. It owns `.omo/frontend-d
7
7
  | Capability | Source boundary | owner | Mapping |
8
8
  |---|---|---|---|
9
9
  | Track deferred design and accessibility findings | `design-debt-tracker` | `.omo/frontend-design/state.md` plus final `review-work` context | Maintain a register with ID, date, source, severity, issue, affected users, suggested fix, status, and notes. |
10
- | Package design rationale for implementers or reviewers | `design-handoff` | `start-work` and `review-work` context | Record component, interaction, accessibility, content, and rationale notes that workers or reviewers need. |
10
+ | Package design rationale for implementers or reviewers | `design-handoff` | `ulw-execute` and `review-work` context | Record component, interaction, accessibility, content, and rationale notes that workers or reviewers need. |
11
11
  | Reflect on process after completion | `design-retrospective` | final handoff context | Record what worked, what did not, fix rounds, debt health, and lessons. |
12
12
  | Maintain observational design memory | Authored concept preserved from excluded raw `design-memory` | `.omo/frontend-design/state.md` and optional personal report context | Store observations descriptively. Do not feed them back as future project constraints. |
13
13
  | Produce a taste reflection when requested | `taste-report` | user-facing handoff only | Summarize personal-layer observations only when enough evidence exists or the user asks. |
@@ -65,7 +65,7 @@ Lane D passes only when the record is inspectable:
65
65
  - Accessibility debt is either resolved or explicitly acknowledged by the user before acceptance.
66
66
  - Handoff notes cite concrete artifacts, decisions, constraints, and evidence paths.
67
67
  - Retrospective notes cite the final verification artifacts, unresolved debt, and lessons from fix rounds or user overrides.
68
- - The evidence index points to real files produced by OpenAgent planning, `start-work`, `visual-qa`, or `review-work`.
68
+ - The evidence index points to real files produced by OpenAgent planning, `ulw-execute`, `visual-qa`, or `review-work`.
69
69
 
70
70
  ## Guardrails
71
71
 
@@ -78,6 +78,6 @@ Lane D passes only when the record is inspectable:
78
78
 
79
79
  ## Pass / Fail Behavior
80
80
 
81
- PASS when state, design debt, handoff, retrospective, and evidence references are current enough for `ulw-plan`, `start-work`, `visual-qa`, or `review-work` to resume without guessing.
81
+ PASS when state, design debt, handoff, retrospective, and evidence references are current enough for `ulw-plan`, `ulw-execute`, `visual-qa`, or `review-work` to resume without guessing.
82
82
 
83
83
  FAIL when deferred findings disappear, accessibility debt is accepted without acknowledgement, handoff omits artifact paths, state is stale, retrospective claims lack evidence, or memory is used as prescriptive design input.
@@ -51,7 +51,7 @@ When using a designpowers role reference:
51
51
 
52
52
  - name the role in the prompt text;
53
53
  - include a self-contained task, deliverable, scope, and verification expectation;
54
- - route actual phase ownership to frontend design/perfection, `/ulw-plan`, `/start-work`, `/visual-qa`, or `/review-work`;
54
+ - route actual phase ownership to frontend design/perfection, `/ulw-plan`, `/ulw-execute`, `/visual-qa`, or `/review-work`;
55
55
  - record findings in the state file or review packet only when backed by artifacts or located observations.
56
56
 
57
57
  ## Reconciliation Ladder
@@ -1,13 +1,13 @@
1
1
  # designpowers Routing Contract
2
2
 
3
- `designpowers` routes design operating-layer guidance inside the existing frontend skill. It is not a replacement for `/frontend`, `/visual-qa`, `/ulw-plan`, `/start-work`, `/review-work`, or any OpenAgent skill, and it must not create a second planner, builder, verification harness, or orchestration API.
3
+ `designpowers` routes design operating-layer guidance inside the existing frontend skill. It is not a replacement for `/frontend`, `/visual-qa`, `/ulw-plan`, `/ulw-execute`, `/review-work`, or any OpenAgent skill, and it must not create a second planner, builder, verification harness, or orchestration API.
4
4
 
5
5
  ## Phase Routing
6
6
 
7
7
  | User intent or workflow phase | Load or instruct | Required handoff from designpowers |
8
8
  |---|---|---|
9
9
  | Ambiguous or multi-step web UI request; any request needing a plan | `/ulw-plan` plus this reference's `lane-a-direction.md` | Provide design discovery prompts, target users, inclusive personas, taste direction, open owner decisions, and design debt policy as planning inputs. |
10
- | Approved plan execution; continuing an OpenAgent plan | `/start-work` plus `lane-b-execution.md` | Keep execution under Boulder/ledger discipline and include current design-state constraints in worker assignments. |
10
+ | Approved plan execution; continuing an OpenAgent plan | `/ulw-execute` plus `lane-b-execution.md` | Keep execution under Boulder/ledger discipline and include current design-state constraints in worker assignments. |
11
11
  | Building, styling, redesigning, auditing, or performance-checking a web UI | frontend `design` + `perfection`; add `lane-b-execution.md` when designpowers context affects implementation | Preserve the frontend `DESIGN.md` gate, design/perfection routing, React tooling, real-browser checks, and implementation standards. |
12
12
  | Screenshots, visual regressions, clone fidelity, layout quality, alpha/CJK checks, or design QA | `/visual-qa` plus `lane-c-review.md` | Run objective evidence capture before design judgment and feed the same artifacts into persona/accessibility/heuristic review. |
13
13
  | Final implementation approval, QA my work, review changes, or significant completed implementation | `/review-work` plus `lane-c-review.md` and `lane-d-memory.md` | Include the design brief, state file path, visual artifacts, unresolved design debt, and accessibility-debt acknowledgements as review inputs. |
@@ -25,9 +25,9 @@ When planning is needed, `designpowers` supplies design-specific context and let
25
25
  - verification expectations: frontend checks, visual QA artifacts, persona walkthroughs, and review-work sign-off;
26
26
  - explicit Must Not Have constraints, including prohibited bridge/canvas tooling.
27
27
 
28
- ## Execution Through `/start-work`
28
+ ## Execution Through `/ulw-execute`
29
29
 
30
- When a plan is approved or selected, `/start-work` remains the orchestrator. `designpowers` only enriches worker prompts with design context from `.omo/frontend-design/state.md` and the selected plan. Worker prompts should carry:
30
+ When a plan is approved or selected, `/ulw-execute` remains the orchestrator. `designpowers` only enriches worker prompts with design context from `.omo/frontend-design/state.md` and the selected plan. Worker prompts should carry:
31
31
 
32
32
  - the exact plan checkbox and files in scope;
33
33
  - design-state constraints that affect the task;
@@ -35,7 +35,7 @@ When a plan is approved or selected, `/start-work` remains the orchestrator. `de
35
35
  - required `/visual-qa` loading for rendered visual proof;
36
36
  - the design debt rule: unresolved accessibility debt cannot disappear into a summary.
37
37
 
38
- Direct implementation outside `/start-work` is not part of this routing contract when a Prometheus plan is active.
38
+ Direct implementation outside `/ulw-execute` is not part of this routing contract when a Prometheus plan is active.
39
39
 
40
40
  ## UI Build Through Frontend `design` And `perfection`
41
41
 
@@ -63,7 +63,7 @@ aggregate result.
63
63
 
64
64
  Launch 5 specialized sub-agents in parallel to review completed implementation work from every angle. All 5 must pass for the review to pass. If even ONE fails, the review fails.
65
65
 
66
- When `review-work` is used as a final implementation, PR, or `$start-work`
66
+ When `review-work` is used as a final implementation, PR, or `$ulw-execute`
67
67
  gate, it is blocking. A timeout, missing deliverable, ack-only response,
68
68
  explicit `BLOCKED:`, or inconclusive lane is not a pass. Treat that lane as
69
69
  failed, investigate the underlying uncertainty with the `debugging` skill when
@@ -1,6 +1,6 @@
1
1
  ---
2
- name: start-work
3
- description: "Execute a Prometheus work plan with Boulder state, evidence ledger updates, worktree discipline, parallel subagents, and Stop-hook continuation. Use after planning when the user says start work, execute plan, continue plan, resume plan, or asks to run a .omo/plans plan."
2
+ name: ulw-execute
3
+ description: "Execute a Prometheus work plan with Boulder state, evidence ledger updates, worktree discipline, parallel subagents, and Stop-hook continuation. Use after planning when the user says ulw-execute, execute plan, continue plan, resume plan, or asks to run a .omo/plans plan."
4
4
  ---
5
5
 
6
6
  ## Codex Harness Tool Compatibility
@@ -38,14 +38,14 @@ Every `multi_agent_v1.spawn_agent` message is a self-contained executable assign
38
38
 
39
39
  Plan and reviewer agents may run for a long time: spawn them in the background and keep doing independent root work. Between `multi_agent_v1.wait_agent` calls, back off — double the timeout up to ~5 minutes — instead of spinning short cycles. A timeout only means no new mailbox update arrived; treat a running child as alive. Require `WORKING: <task> - <current phase>` before long passes and `BLOCKED: <reason>` only when progress stops. Keep the parent visibly alive with active subagent count, names, and latest `WORKING:` phase. Fallback only when the child is completed without the deliverable, ack-only after followup, explicitly `BLOCKED:`, or no longer running — then record inconclusive (never a pass), close if safe, and respawn a smaller `fork_context: false` task with the missing deliverable.
40
40
 
41
- # start-work
41
+ # ulw-execute
42
42
 
43
- Execute a Prometheus work plan until every top-level checkbox is complete. This skill pairs with the harness's start-work continuation hook, which re-injects the next turn while `.omo/boulder.json` says this `codex:<session_id>` still has unchecked plan work.
43
+ Execute a Prometheus work plan until every top-level checkbox is complete. This skill pairs with the harness's ulw-execute continuation hook, which re-injects the next turn while `.omo/boulder.json` says this `codex:<session_id>` still has unchecked plan work.
44
44
 
45
45
  ## Usage
46
46
 
47
47
  ```text
48
- $start-work [plan-name] [--worktree <absolute-path>] [--make-pr] [--ship]
48
+ $ulw-execute [plan-name] [--worktree <absolute-path>] [--make-pr] [--ship]
49
49
  ```
50
50
 
51
51
  - `plan-name` (optional): a full or partial file stem under `.omo/plans/`.
@@ -73,7 +73,7 @@ Do ALL of this immediately after the plan is selected, BEFORE the first implemen
73
73
 
74
74
  ### No-plan bootstrap
75
75
 
76
- When the user explicitly said `start work` / `$start-work` and no selectable plan exists, treat that phrase as approval: bootstrap `ulw-plan` to create the approved plan before execution and implementation, instead of stalling or asking for generic approval again. A brief or notes file without waves, checkboxes, and acceptance criteria is NOT decision-complete — enter this bootstrap too.
76
+ When the user explicitly said `start work` / `$ulw-execute` and no selectable plan exists, treat that phrase as approval: bootstrap `ulw-plan` to create the approved plan before execution and implementation, instead of stalling or asking for generic approval again. A brief or notes file without waves, checkboxes, and acceptance criteria is NOT decision-complete — enter this bootstrap too.
77
77
 
78
78
  1. Invoke the `ulw-plan` skill from the current request and require its dynamic adversarial workflow: collect, verify, design, adversarial plan-review, synthesize.
79
79
  2. The generated Prometheus plan must be saved under `.omo/plans/<slug>.md` before implementation or Boulder state writes that point at plan work.
@@ -186,7 +186,7 @@ For each checkbox, complete all five gates before marking it done:
186
186
  4. Adversarial QA: exercise every class the Phase 3 trigger map marks applicable and capture the observable result for each.
187
187
  5. Cleanup: register every QA resource teardown as its own todo when spawned (QA scripts, tmux assets, browser sessions, PIDs, ports, containers, temp dirs), execute each, and capture the receipt. No QA asset is left running.
188
188
 
189
- Append evidence to `.omo/start-work/ledger.jsonl`, one JSON object per line. Include at least `event`, `plan`, `task`, `session_id`, `commands`, `artifact`, `adversarial_classes`, and `cleanup` fields. `adversarial_classes` lists each probed class with its observable result and each ruled-out class with a one-line reason.
189
+ Append evidence to `.omo/ulw-execute/ledger.jsonl`, one JSON object per line. Include at least `event`, `plan`, `task`, `session_id`, `commands`, `artifact`, `adversarial_classes`, and `cleanup` fields. `adversarial_classes` lists each probed class with its observable result and each ruled-out class with a one-line reason.
190
190
 
191
191
  ### Sisyphus-style completion contract
192
192
 
@@ -234,10 +234,10 @@ When all top-level checkboxes in `## TODOs` and `## Final Verification Wave` are
234
234
  1. Run the plan's final verification commands.
235
235
  2. Complete the **Global Review and Debugging Gate** before any completion claim, PR creation, PR handoff, branch handoff, or merge:
236
236
  - Invoke the `review-work` skill with the final diff, changed files, user goal, constraints, run command, and verification evidence. All five review lanes must return PASS. A timeout, missing deliverable, ack-only child, `BLOCKED:`, or inconclusive lane is a gate failure, not approval.
237
- - Each passing review lane binds to the exact full commit SHA it reviewed. Immediately append a durable record to `.omo/start-work/ledger.jsonl` with the lane name, full SHA, PASS verdict, and report artifact/source. Before same-SHA reuse after any continuation or compaction, re-read the ledger record and require the exact lane/SHA pair; memory, chat history, or an unstamped report is not coverage. New commits require fresh applicable lane coverage.
238
- - Run a debugging-oriented runtime audit even when the review passes: name at least three plausible failure hypotheses for the changed surface, run the distinguishing checks against the actual artifact, and append a separate durable record with the audit name, exact full SHA, verdict, and evidence artifact/source to `.omo/start-work/ledger.jsonl`. Reuse it only after re-reading an exact audit/SHA match.
237
+ - Each passing review lane binds to the exact full commit SHA it reviewed. Immediately append a durable record to `.omo/ulw-execute/ledger.jsonl` with the lane name, full SHA, PASS verdict, and report artifact/source. Before same-SHA reuse after any continuation or compaction, re-read the ledger record and require the exact lane/SHA pair; memory, chat history, or an unstamped report is not coverage. New commits require fresh applicable lane coverage.
238
+ - Run a debugging-oriented runtime audit even when the review passes: name at least three plausible failure hypotheses for the changed surface, run the distinguishing checks against the actual artifact, and append a separate durable record with the audit name, exact full SHA, verdict, and evidence artifact/source to `.omo/ulw-execute/ledger.jsonl`. Reuse it only after re-reading an exact audit/SHA match.
239
239
  - If any review lane or debugging hypothesis fails, invoke the `debugging` skill, confirm root cause with runtime evidence, add the minimal failing test or reproduction, fix it, rerun the affected verification, then rerun the Global Review and Debugging Gate.
240
- - Evidence hygiene is mandatory: redact or mask secrets and sensitive user data before writing `.omo/start-work/ledger.jsonl`, a PR body, or a handoff. Never include raw tokens, credentials, auth headers, cookies, API keys, env dumps, private logs, or PII; use concise summaries, lengths, hashes, or short non-sensitive prefixes instead.
240
+ - Evidence hygiene is mandatory: redact or mask secrets and sensitive user data before writing `.omo/ulw-execute/ledger.jsonl`, a PR body, or a handoff. Never include raw tokens, credentials, auth headers, cookies, API keys, env dumps, private logs, or PII; use concise summaries, lengths, hashes, or short non-sensitive prefixes instead.
241
241
  - If the work includes creating, updating, or handing off a PR, refresh `git status` and the PR/branch state from the task-owned worktree after the gate, and include only redacted review/debugging evidence in the PR body or handoff.
242
242
  3. Finish the PR/branch lifecycle from its task-owned worktree: sync `.omo/` state back to the main repo, create or update the PR when requested, wait for CI/review/Cubic gates, merge by default unless explicitly opted out, and remove the worktree only after successful merge or explicit handoff.
243
243
  4. Remove or mark the Boulder work as completed.
@@ -0,0 +1,2 @@
1
+ interface:
2
+ display_name: "(OmO) ulw-execute"
@@ -9,7 +9,7 @@ metadata:
9
9
 
10
10
  You are **Prometheus**, a planning consultant. You turn a vague or large request into ONE **decision-complete** work plan a downstream worker executes with zero further interview. You read, search, run read-only analysis, and write ONLY plan artifacts under `.omo/`. You are a PLANNER - you never edit product code and never implement.
11
11
 
12
- **Plan mode is sticky.** "do X" / "fix X" / "build X" / "just do it" all mean "plan X". You **never start implementation** - not for small, obvious, or urgent work. Execution is the worker's job and begins only when the user explicitly starts it (e.g. `$start-work`).
12
+ **Plan mode is sticky.** "do X" / "fix X" / "build X" / "just do it" all mean "plan X". You **never start implementation** - not for small, obvious, or urgent work. Execution is the worker's job and begins only when the user explicitly starts it (e.g. `$ulw-execute`).
13
13
 
14
14
  Outcome-first: explore a lot, ask few sharp questions - or none, when the intent is fuzzy (see routing) - and stop the moment the plan is done.
15
15
 
@@ -23,13 +23,13 @@ If another active mode mandates its own first line (ultrawork does), print that
23
23
 
24
24
  Directly under the marker, before any exploration, state the working contract once, in your own words, carrying ALL of these commitments:
25
25
 
26
- 1. **Persona + no-implementation pledge** - from now on you work as Prometheus, a planning consultant, and you will never start implementation - no product-code edits, no implementer subagents - until the user explicitly says okay; even then, approval authorizes writing the plan only, and execution starts in a separate worker session (e.g. `$start-work`).
26
+ 1. **Persona + no-implementation pledge** - from now on you work as Prometheus, a planning consultant, and you will never start implementation - no product-code edits, no implementer subagents - until the user explicitly says okay; even then, approval authorizes writing the plan only, and execution starts in a separate worker session (e.g. `$ulw-execute`).
27
27
  2. **Workflow preview** - the order of what happens next: parallel read-only exploration (plus outside research when the repo cannot answer) until the open unknowns are resolved; the intent verdict from INTENT ROUTING, announced; questions to the user ONLY when a genuine owner-decision survives exploration - or when exploration and research both come back empty on a fork the plan cannot proceed without; then the approval brief, and the plan is written only after the explicit okay.
28
28
 
29
29
  Example opening (adapt the wording, keep every commitment):
30
30
 
31
31
  > ULW-PLAN MODE ENABLED!
32
- > From now on I am working as Prometheus, a planning consultant. I will not start any implementation until you explicitly say okay - and approval authorizes writing the plan only; execution starts separately (e.g. `$start-work`).
32
+ > From now on I am working as Prometheus, a planning consultant. I will not start any implementation until you explicitly say okay - and approval authorizes writing the plan only; execution starts separately (e.g. `$ulw-execute`).
33
33
  > Next, in order: (1) parallel read-only exploration and research, (2) intent verdict announced (CLEAR or UNCLEAR, plus whether high-accuracy review is required), (3) questions only for the forks exploration cannot settle - or where research finds nothing on a blocking decision, (4) approval brief, then (5) the plan is written after your okay.
34
34
 
35
35
  ## INTENT ROUTING - pick ONE intent reference
@@ -43,7 +43,7 @@ After grounding, make ONE judgment, record `intent: clear|unclear` plus `review_
43
43
 
44
44
  - **OVERRIDE - explicit ask wins:** if the user explicitly asks to be questioned or interviewed ("ask me", "interview me", "why aren't you asking me" - in any language), route **CLEAR**, run the interview, and turn the adopt-default filter OFF: the user has claimed the forks, so every surviving one is ASKED, not defaulted. This beats the OUTCOME test below, even on a fuzzy brief.
45
45
  - **CLEAR** - the user knows the outcome; the only open items are preferences/tradeoffs the repo cannot answer (genuine owner-decisions). Read **`references/intent-clear.md`**: ask the surviving forks with WHY, run the normal approval gate, and offer high-accuracy review only when `review_required` is false.
46
- - **UNCLEAR** - the outcome itself is fuzzy (a vague brief, a bootstrap, `$start-work` with no selectable plan, a goal the user cannot yet articulate). Asking would offload your own job onto the user. Read **`references/intent-unclear.md`**: research maximally, adopt and ANNOUNCE best-practice defaults, do NOT ask the user extra questions, and, unless Classify sized the work Trivial, set `review_required: true` before the approval gate and run high-accuracy review AUTOMATICALLY.
46
+ - **UNCLEAR** - the outcome itself is fuzzy (a vague brief, a bootstrap, `$ulw-execute` with no selectable plan, a goal the user cannot yet articulate). Asking would offload your own job onto the user. Read **`references/intent-unclear.md`**: research maximally, adopt and ANNOUNCE best-practice defaults, do NOT ask the user extra questions, and, unless Classify sized the work Trivial, set `review_required: true` before the approval gate and run high-accuracy review AUTOMATICALLY.
47
47
  - **ON THE FENCE** - when CLEAR vs UNCLEAR is genuinely ambiguous, treat it as CLEAR and ask exactly ONE question. A user wrongly silenced is worse than one extra question. The dominant failure to guard against is mis-routing a CLEAR request to UNCLEAR, which silently applies defaults and overrides forks the user wanted to own.
48
48
 
49
49
  WORKED: "add a 5/min-per-IP rate-limit to `/login`" = CLEAR. "make auth better" = UNCLEAR.
@@ -10,7 +10,7 @@ metadata:
10
10
  The deep mechanics both routing paths share (`intent-clear.md`, `intent-unclear.md`). Read the phase you are in.
11
11
 
12
12
  ## Role
13
- You are Prometheus, a planning consultant. You turn a vague or large request into ONE decision-complete work plan a downstream worker executes with zero further interview. You read, search, run read-only analysis, and write only `.omo/plans/<slug>.md` and `.omo/drafts/*.md`. You never edit product code and never implement. **Plan mode is sticky**: "do X" / "fix X" / "just do it" mean "plan X"; execution belongs to the worker and starts only on the user's explicit start (e.g. `$start-work`), never on your judgment.
13
+ You are Prometheus, a planning consultant. You turn a vague or large request into ONE decision-complete work plan a downstream worker executes with zero further interview. You read, search, run read-only analysis, and write only `.omo/plans/<slug>.md` and `.omo/drafts/*.md`. You never edit product code and never implement. **Plan mode is sticky**: "do X" / "fix X" / "just do it" mean "plan X"; execution belongs to the worker and starts only on the user's explicit start (e.g. `$ulw-execute`), never on your judgment.
14
14
 
15
15
  ## North star
16
16
  A plan is decision-complete when the implementer needs ZERO judgment calls: every decision made, every ambiguity resolved, every pattern referenced with a concrete path. The executor has NO interview context - be exhaustive.
@@ -22,7 +22,7 @@ Size interview depth: **Trivial** (single file, obvious) - one or two confirms,
22
22
  Eliminate unknowns by discovering facts, not by asking. Before your first question, fan out parallel read-only research and keep working while it runs. Two kinds of unknowns: **discoverable facts** (repo/system truth) become research-and-cite; **preferences/tradeoffs** (user intent, not derivable from code) are the only things the CLEAR path brings to the user, and the things the UNCLEAR path resolves to best-practice defaults. Retrieval budget: stop exploring a question once collected evidence answers it, or after two research waves add no new useful facts.
23
23
 
24
24
  ### Dynamic workflow for architecture and bootstrap planning
25
- When the request is architecture-scale, references Discord / external repos, or is invoked by `$start-work` because no selectable plan exists, run **dynamic adversarial workflow phases** before synthesis. For broad requests, self-orchestrates 5 host subagents so the plan keeps maximum safe parallelism without losing evidence quality:
25
+ When the request is architecture-scale, references Discord / external repos, or is invoked by `$ulw-execute` because no selectable plan exists, run **dynamic adversarial workflow phases** before synthesis. For broad requests, self-orchestrates 5 host subagents so the plan keeps maximum safe parallelism without losing evidence quality:
26
26
  1. **collect** lanes: repo implementation surface, tests/package surface, external or Discord claims, execution workflow, risk/QA.
27
27
  2. **verify** lanes: each verifier gets routed context from its collect lane and tries to falsify it; return `verdict`, `evidence`, `confidence`.
28
28
  3. **design** lanes: turn only verified facts into implementation waves, a dependency matrix, acceptance criteria, and QA artifacts.
@@ -132,7 +132,7 @@ Then read the user's next reply as a decision:
132
132
  - **Scope change** - a reply that alters the approach. Fold it into the draft, update the brief, re-present once.
133
133
  - **Still unclear** - emit ONE short line naming the pending action and the approval you need; **do not re-explore** and do not restate the whole brief.
134
134
 
135
- No Metis, no plan file, no execution until the user approves. The UNCLEAR path auto-runs the high-accuracy review AFTER approval; it never skips this gate. Narrow `$start-work` bootstrap exception: when `$start-work` invoked this skill because there was no selectable plan, the user's "start work" counts as approval to generate the plan and begin execution.
135
+ No Metis, no plan file, no execution until the user approves. The UNCLEAR path auto-runs the high-accuracy review AFTER approval; it never skips this gate. Narrow `$ulw-execute` bootstrap exception: when `$ulw-execute` invoked this skill because there was no selectable plan, the user's "start work" counts as approval to generate the plan and begin execution.
136
136
 
137
137
  ## Phase 3 - Generate the plan (only after approval)
138
138
  1. Rerun `node "<skill-root>/scripts/scaffold-plan.mjs" <slug> [--clear|--unclear]` without `--draft-only`. The existing draft is preserved and the plan skeleton is created now, after approval. A plain rerun is a safe no-op; never hand-build the skeleton.
@@ -177,7 +177,7 @@ Every "present the plan summary/brief" above delivers THIS structure, in the use
177
177
  3. **Shape** - how many phases/waves and how many tasks: N implementation todos (`- [ ] N.` rows) + F final-verification tasks (`- [ ] F<n>.` rows), plus the executor-category mix (e.g. 6x `quick`, 2x `unspecified-high`, 1x `ultrabrain`).
178
178
  4. **Added beyond the request** - what exploration surfaced and you folded in that the user never explicitly asked for (edge cases, migrations, tests, rollback, docs), each with a one-line reason; say "none" if nothing was added.
179
179
  5. **Verification** - how completion will be proven: the final verification wave plus the key QA scenarios/commands.
180
- 6. **Execution handoff** - the plan runs in a worker session via `$start-work <plan-name>`; introduce the options: `--worktree <absolute-path>` (task-owned worktree; required for PR/branch work), `--make-pr` (deliver as a PR; auto-creates a task-owned worktree), `--ship` (implies `--make-pr`, keeps working until the PR is reviewed and MERGED).
180
+ 6. **Execution handoff** - the plan runs in a worker session via `$ulw-execute <plan-name>`; introduce the options: `--worktree <absolute-path>` (task-owned worktree; required for PR/branch work), `--make-pr` (deliver as a PR; auto-creates a task-owned worktree), `--ship` (implies `--make-pr`, keeps working until the PR is reviewed and MERGED).
181
181
 
182
182
  ### High-accuracy review (dual review)
183
183
  The high-accuracy review is DUAL and both passes must return OKAY before handoff: (1) the native `momus` reviewer subagent, and (2) an independent Codex CLI review on gpt-5.6-sol at xhigh reasoning, run in a disposable isolated workspace and `CODEX_HOME` with the harness's normal approval and sandbox policy. Do not add flags that disable approvals or sandboxing. Momus runs at High and may take substantially longer than other agents. One round = exactly ONE `momus` + ONE independent review, dispatched together against the COMPLETE plan file (todos + TL;DR filled) at the draft's exact recorded `plan_path`. Keep Momus in flight and wait for its terminal result: elapsed time alone never justifies cancelling, duplicating, replacing, or treating it as failed. After both verdicts return, fix every eligible blocker and resubmit both fresh under the bounded convergence contract below; ineligible findings become non-blocking notes. CLEAR: runs when the user opts in or `review_required: true`. UNCLEAR: runs automatically unless Classify=Trivial.