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
@@ -0,0 +1,28 @@
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.20) Checking Ulw-Execute Continuation"
11
+ }
12
+ ]
13
+ }
14
+ ],
15
+ "SubagentStop": [
16
+ {
17
+ "hooks": [
18
+ {
19
+ "type": "command",
20
+ "command": "node \"${PLUGIN_ROOT}/components/ulw-execute-continuation/dist/cli.js\" hook subagent-stop",
21
+ "timeout": 10,
22
+ "statusMessage": "(OmO 5.0.0-beta.20) Checking Ulw-Execute Continuation"
23
+ }
24
+ ]
25
+ }
26
+ ]
27
+ }
28
+ }
@@ -1,28 +1,28 @@
1
1
  {
2
- "name": "@code-yeongyu/codex-start-work-continuation",
3
- "version": "5.0.0-beta.19",
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.20",
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",
@@ -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
@@ -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";
@@ -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"]);
@@ -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();
@@ -71,7 +71,7 @@ describe("start-work Stop hook", () => {
71
71
  const input = {
72
72
  ...createStopInput(workspace),
73
73
  last_assistant_message: [
74
- "<start-work-blocked-external>",
74
+ "<ulw-execute-blocked-external>",
75
75
  "Blocker: the staging deploy credential is missing.",
76
76
  "Resume when a valid credential is provisioned.",
77
77
  ].join("\n"),
@@ -95,7 +95,7 @@ describe("start-work Stop hook", () => {
95
95
  ...createStopInput(workspace),
96
96
  last_assistant_message: [
97
97
  "ULTRAWORK MODE ENABLED!",
98
- "<start-work-blocked-external>",
98
+ "<ulw-execute-blocked-external>",
99
99
  "Blocker: the staging deploy credential is missing.",
100
100
  ].join("\n"),
101
101
  };
@@ -118,7 +118,7 @@ describe("start-work Stop hook", () => {
118
118
  const fs = createMemoryFs();
119
119
  const input = {
120
120
  ...createStopInput(workspace),
121
- last_assistant_message: "<start-work-blocked-external>",
121
+ last_assistant_message: "<ulw-execute-blocked-external>",
122
122
  };
123
123
 
124
124
  // when
@@ -137,7 +137,7 @@ describe("start-work Stop hook", () => {
137
137
  const fs = createMemoryFs();
138
138
  const input = {
139
139
  ...createStopInput(workspace),
140
- last_assistant_message: ["ULTRAWORK MODE ENABLED!", "<start-work-blocked-external>", " "].join("\n"),
140
+ last_assistant_message: ["ULTRAWORK MODE ENABLED!", "<ulw-execute-blocked-external>", " "].join("\n"),
141
141
  };
142
142
 
143
143
  // when
@@ -156,7 +156,7 @@ describe("start-work Stop hook", () => {
156
156
  const fs = createMemoryFs();
157
157
  const input = {
158
158
  ...createStopInput(workspace),
159
- last_assistant_message: ["Next turn I may need to emit", "<start-work-blocked-external>"].join("\n"),
159
+ last_assistant_message: ["Next turn I may need to emit", "<ulw-execute-blocked-external>"].join("\n"),
160
160
  };
161
161
 
162
162
  // when
@@ -4,7 +4,7 @@
4
4
 
5
5
  - 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
6
 
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.
7
+ - **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
8
 
9
9
  - **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
10
  - **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.
@@ -5,7 +5,7 @@ import { normalizeUlwLoopSessionId, ulwLoopDir } from "./paths.js";
5
5
  // dies mid-turn (crash, kill, context blowup before any Stop) never reaches
6
6
  // this handler. Mid-turn stalls are out of scope by design.
7
7
  const RESUME_CAP = 2;
8
- // Mirrors start-work-continuation's context-pressure bail-out: injecting a
8
+ // Mirrors ulw-execute-continuation's context-pressure bail-out: injecting a
9
9
  // resume directive into an already-overflowing context makes things worse.
10
10
  const CONTEXT_PRESSURE_MARKERS = [
11
11
  "context compacted",
@@ -132,7 +132,7 @@ function readCounter(counterPath) {
132
132
  throw error;
133
133
  }
134
134
  }
135
- // Local ~10-LOC approximation of start-work-continuation's boulder check (no
135
+ // Local ~10-LOC approximation of ulw-execute-continuation's boulder check (no
136
136
  // cross-component import allowed): any continuable work for this session means
137
137
  // that hook owns the Stop event, so this one stays silent.
138
138
  function boulderContinuationWillFire(cwd, sessionId) {
@@ -167,7 +167,7 @@ function transcriptShowsContextPressure(transcriptPath) {
167
167
  throw error;
168
168
  }
169
169
  }
170
- // start-work-continuation owns an active Boulder plan until its final gate marks
170
+ // ulw-execute-continuation owns an active Boulder plan until its final gate marks
171
171
  // the work complete, including the zero-remaining checklist state.
172
172
  function boulderPlanHasChecklist(cwd, entry) {
173
173
  const activePlan = entry["active_plan"];
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook user-prompt-submit --with-ultrawork",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Checking Ulw-Loop Steering"
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Checking Ulw-Loop Steering"
11
11
  }
12
12
  ]
13
13
  }
@@ -20,7 +20,7 @@
20
20
  "type": "command",
21
21
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use",
22
22
  "timeout": 5,
23
- "statusMessage": "(OmO 5.0.0-beta.19) Enforcing Unlimited Ulw-Loop Budget"
23
+ "statusMessage": "(OmO 5.0.0-beta.20) Enforcing Unlimited Ulw-Loop Budget"
24
24
  }
25
25
  ]
26
26
  },
@@ -31,7 +31,7 @@
31
31
  "type": "command",
32
32
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use-spawn",
33
33
  "timeout": 5,
34
- "statusMessage": "(OmO 5.0.0-beta.19) Guarding Ulw-Loop Spawns"
34
+ "statusMessage": "(OmO 5.0.0-beta.20) Guarding Ulw-Loop Spawns"
35
35
  }
36
36
  ]
37
37
  }
@@ -43,7 +43,7 @@
43
43
  "type": "command",
44
44
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook stop",
45
45
  "timeout": 10,
46
- "statusMessage": "(OmO 5.0.0-beta.19) Checking Ulw-Loop Resume"
46
+ "statusMessage": "(OmO 5.0.0-beta.20) Checking Ulw-Loop Resume"
47
47
  }
48
48
  ]
49
49
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-ulw-loop",
3
- "version": "5.0.0-beta.19",
3
+ "version": "5.0.0-beta.20",
4
4
  "description": "Codex plugin: durable repo-native multi-goal orchestration with embedded success criteria and observable evidence audit.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -10,7 +10,7 @@ import type { UlwLoopItem, UlwLoopPlan } from "./types.js";
10
10
 
11
11
  const RESUME_CAP = 2;
12
12
 
13
- // Mirrors start-work-continuation's context-pressure bail-out: injecting a
13
+ // Mirrors ulw-execute-continuation's context-pressure bail-out: injecting a
14
14
  // resume directive into an already-overflowing context makes things worse.
15
15
  const CONTEXT_PRESSURE_MARKERS = [
16
16
  "context compacted",
@@ -136,7 +136,7 @@ function readCounter(counterPath: string): { count: number; ledgerLineCount: num
136
136
  }
137
137
  }
138
138
 
139
- // Local ~10-LOC approximation of start-work-continuation's boulder check (no
139
+ // Local ~10-LOC approximation of ulw-execute-continuation's boulder check (no
140
140
  // cross-component import allowed): any continuable work for this session means
141
141
  // that hook owns the Stop event, so this one stays silent.
142
142
  function boulderContinuationWillFire(cwd: string, sessionId: string): boolean {
@@ -168,7 +168,7 @@ function transcriptShowsContextPressure(transcriptPath: string): boolean {
168
168
  }
169
169
  }
170
170
 
171
- // start-work-continuation owns an active Boulder plan until its final gate marks
171
+ // ulw-execute-continuation owns an active Boulder plan until its final gate marks
172
172
  // the work complete, including the zero-remaining checklist state.
173
173
  function boulderPlanHasChecklist(cwd: string, entry: Record<string, unknown>): boolean {
174
174
  const activePlan = entry["active_plan"];
@@ -99,7 +99,7 @@ describe("runStopResumeHook", () => {
99
99
  expect(runStopResumeHook({ hook_event_name: "Stop" })).toBe("");
100
100
  });
101
101
 
102
- it("#given an active boulder work with remaining plan tasks #when the hook runs #then defers to start-work-continuation", () => {
102
+ it("#given an active boulder work with remaining plan tasks #when the hook runs #then defers to ulw-execute-continuation", () => {
103
103
  writeGoals([pendingGoal()]);
104
104
  const plan = writeBoulderPlan(true);
105
105
  writeFileSync(
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/git-bash/dist/cli.js\" hook post-compact",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Resetting Git Bash MCP Reminder",
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Resetting Git Bash MCP Reminder",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\git-bash\\dist\\cli.js\" hook post-compact"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/lsp/dist/cli.js\" hook post-compact",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Resetting LSP Diagnostics Cache",
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Resetting LSP Diagnostics Cache",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\lsp\\dist\\cli.js\" hook post-compact"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/rules/dist/cli.js\" hook post-compact",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Resetting Project Rule Cache",
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Resetting Project Rule Cache",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\rules\\dist\\cli.js\" hook post-compact"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/codegraph/dist/cli.js\" hook post-tool-use",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Checking CodeGraph Init Guidance",
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Checking CodeGraph Init Guidance",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\codegraph\\dist\\cli.js\" hook post-tool-use"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/comment-checker/dist/cli.js\" hook post-tool-use",
9
9
  "timeout": 30,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Checking Comments",
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Checking Comments",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\comment-checker\\dist\\cli.js\" hook post-tool-use"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/lsp/dist/cli.js\" hook post-tool-use",
9
9
  "timeout": 60,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Checking LSP Diagnostics",
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Checking LSP Diagnostics",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\lsp\\dist\\cli.js\" hook post-tool-use"
12
12
  }
13
13
  ],
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/components/teammode/dist/cli.js\" hook post-tool-use",
10
10
  "timeout": 10,
11
- "statusMessage": "(OmO 5.0.0-beta.19) Checking Thread Title Hygiene",
11
+ "statusMessage": "(OmO 5.0.0-beta.20) Checking Thread Title Hygiene",
12
12
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\teammode\\dist\\cli.js\" hook post-tool-use"
13
13
  }
14
14
  ]
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/rules/dist/cli.js\" hook post-tool-use",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Matching Project Rules",
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Matching Project Rules",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\rules\\dist\\cli.js\" hook post-tool-use"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/ulw-loop/dist/cli.js\" hook pre-tool-use",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Enforcing Unlimited Goal Budget",
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Enforcing Unlimited Goal Budget",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-loop\\dist\\cli.js\" hook pre-tool-use"
12
12
  }
13
13
  ],
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/components/ulw-loop/dist/cli.js\" hook pre-tool-use-spawn",
10
10
  "timeout": 5,
11
- "statusMessage": "(OmO 5.0.0-beta.19) Guarding Ulw-Loop Spawns",
11
+ "statusMessage": "(OmO 5.0.0-beta.20) Guarding Ulw-Loop Spawns",
12
12
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-loop\\dist\\cli.js\" hook pre-tool-use-spawn"
13
13
  }
14
14
  ]
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/git-bash/dist/cli.js\" hook pre-tool-use",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Recommending Git Bash MCP",
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Recommending Git Bash MCP",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\git-bash\\dist\\cli.js\" hook pre-tool-use"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/scripts/auto-update.mjs\" hook session-start",
9
9
  "timeout": 15,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Checking Auto Update",
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Checking Auto Update",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\scripts\\auto-update.mjs\" hook session-start"
12
12
  }
13
13
  ],
@@ -8,7 +8,7 @@
8
8
  "command": "node \"${PLUGIN_ROOT}/components/bootstrap/dist/cli.js\" hook session-start",
9
9
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\bootstrap.ps1\"",
10
10
  "timeout": 30,
11
- "statusMessage": "(OmO 5.0.0-beta.19) Checking Bootstrap Provisioning"
11
+ "statusMessage": "(OmO 5.0.0-beta.20) Checking Bootstrap Provisioning"
12
12
  }
13
13
  ]
14
14
  }
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/codegraph/dist/cli.js\" hook session-start",
9
9
  "timeout": 15,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Checking CodeGraph Bootstrap",
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Checking CodeGraph Bootstrap",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\codegraph\\dist\\cli.js\" hook session-start"
12
12
  }
13
13
  ]
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/rules/dist/cli.js\" hook session-start",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Loading Project Rules",
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Loading Project Rules",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\rules\\dist\\cli.js\" hook session-start"
12
12
  }
13
13
  ]
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/telemetry/dist/cli.js\" hook session-start",
9
9
  "timeout": 15,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Recording Session Telemetry",
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Recording Session Telemetry",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\telemetry\\dist\\cli.js\" hook session-start"
12
12
  }
13
13
  ]
@@ -0,0 +1,17 @@
1
+ {
2
+ "hooks": {
3
+ "Stop": [
4
+ {
5
+ "hooks": [
6
+ {
7
+ "type": "command",
8
+ "command": "node \"${PLUGIN_ROOT}/components/ulw-execute-continuation/dist/cli.js\" hook stop",
9
+ "timeout": 10,
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Checking Ulw-Execute Continuation",
11
+ "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-execute-continuation\\dist\\cli.js\" hook stop"
12
+ }
13
+ ]
14
+ }
15
+ ]
16
+ }
17
+ }
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/ulw-loop/dist/cli.js\" hook stop",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Checking Ulw-Loop Resume",
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Checking Ulw-Loop Resume",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-loop\\dist\\cli.js\" hook stop"
12
12
  }
13
13
  ]
@@ -0,0 +1,17 @@
1
+ {
2
+ "hooks": {
3
+ "SubagentStop": [
4
+ {
5
+ "hooks": [
6
+ {
7
+ "type": "command",
8
+ "command": "node \"${PLUGIN_ROOT}/components/ulw-execute-continuation/dist/cli.js\" hook subagent-stop",
9
+ "timeout": 10,
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Checking Ulw-Execute Continuation",
11
+ "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-execute-continuation\\dist\\cli.js\" hook subagent-stop"
12
+ }
13
+ ]
14
+ }
15
+ ]
16
+ }
17
+ }
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/lazycodex-executor-verify/dist/cli.js\" hook subagent-stop",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Verifying LazyCodex Executor Evidence",
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Verifying LazyCodex Executor Evidence",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\lazycodex-executor-verify\\dist\\cli.js\" hook subagent-stop"
12
12
  }
13
13
  ],
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/ultrawork/dist/cli.js\" hook user-prompt-submit",
9
9
  "timeout": 5,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Checking Ultrawork Trigger",
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Checking Ultrawork Trigger",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ultrawork\\dist\\cli.js\" hook user-prompt-submit"
12
12
  }
13
13
  ]
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/ulw-loop/dist/cli.js\" hook user-prompt-submit",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Checking Ulw-Loop Steering",
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Checking Ulw-Loop Steering",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\ulw-loop\\dist\\cli.js\" hook user-prompt-submit"
12
12
  }
13
13
  ]
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/rules/dist/cli.js\" hook user-prompt-submit",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.19) Loading Project Rules",
10
+ "statusMessage": "(OmO 5.0.0-beta.20) Loading Project Rules",
11
11
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\node-dispatch.ps1\" \"${PLUGIN_ROOT}\\components\\rules\\dist\\cli.js\" hook user-prompt-submit"
12
12
  }
13
13
  ]