lazycodex-ai 5.0.0-beta.86 → 5.0.0-beta.87

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 (175) hide show
  1. package/dist/cli/index.js +27 -21
  2. package/dist/cli-node/index.js +27 -21
  3. package/package.json +1 -1
  4. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  5. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +2 -0
  6. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  7. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  8. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  9. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  10. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  11. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  12. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  13. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  14. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  15. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  16. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  17. package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus/gpt-6.md +1 -1
  18. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  19. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  20. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  21. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  22. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  23. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  24. package/packages/omo-codex/plugin/components/ultrawork/README.md +1 -1
  25. package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +2 -2
  26. package/packages/omo-codex/plugin/components/ultrawork/dist/cli.js +63 -89
  27. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  28. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  29. package/packages/omo-codex/plugin/components/ultrawork/src/directive-content.ts +1 -1
  30. package/packages/omo-codex/plugin/components/ulw-execute-continuation/directive.md +2 -2
  31. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
  32. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  33. package/packages/omo-codex/plugin/components/ulw-loop/directive.md +63 -89
  34. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  35. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  36. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/define-goal.md +2 -3
  37. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +2 -2
  38. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  39. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  40. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  41. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  42. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  43. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  44. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  45. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  46. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  47. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  48. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  49. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  50. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  51. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  52. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  54. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  55. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  56. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  57. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  58. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  59. package/packages/omo-codex/plugin/package-lock.json +12 -12
  60. package/packages/omo-codex/plugin/package.json +1 -1
  61. package/packages/omo-codex/plugin/scripts/materialize-shared-upstreams.mjs +8 -2
  62. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +2 -2
  63. package/packages/omo-codex/plugin/skills/browser/ATTRIBUTION.md +26 -14
  64. package/packages/omo-codex/plugin/skills/browser/SKILL.md +65 -52
  65. package/packages/omo-codex/plugin/skills/browser/references/commands.md +81 -66
  66. package/packages/omo-codex/plugin/skills/browser/references/install.md +31 -34
  67. package/packages/omo-codex/plugin/skills/browser/references/owned-engine/README.md +41 -21
  68. package/packages/omo-codex/plugin/skills/browser/references/owned-engine/frames-and-humans.md +33 -20
  69. package/packages/omo-codex/plugin/skills/browser/references/owned-engine/ladder.md +24 -22
  70. package/packages/omo-codex/plugin/skills/browser/references/owned-engine/network.md +35 -15
  71. package/packages/omo-codex/plugin/skills/browser/references/recipes/1password.md +13 -11
  72. package/packages/omo-codex/plugin/skills/browser/references/remote.md +5 -4
  73. package/packages/omo-codex/plugin/skills/browser/runtime/omowright/index.js +1534 -0
  74. package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +9 -0
  75. package/packages/omo-codex/plugin/skills/browser/runtime/omowright/page-bundle.js +1395 -0
  76. package/packages/omo-codex/plugin/skills/browser/scripts/browser-doctor.mjs +37 -32
  77. package/packages/omo-codex/plugin/skills/browser/scripts/browser-install.mjs +31 -44
  78. package/packages/omo-codex/plugin/skills/browser/scripts/omowright.mjs +25 -0
  79. package/packages/omo-codex/plugin/skills/debugging/SKILL.md +2 -2
  80. package/packages/omo-codex/plugin/skills/debugging/references/methodology/06-fix.md +3 -3
  81. package/packages/omo-codex/plugin/skills/debugging/references/methodology/08-qa.md +1 -1
  82. package/packages/omo-codex/plugin/skills/debugging/references/tools/browser-qa.md +104 -0
  83. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +1 -1
  84. package/packages/omo-codex/plugin/skills/frontend/references/design/clone-from-url.md +1 -1
  85. package/packages/omo-codex/plugin/skills/programming/SKILL.md +12 -18
  86. package/packages/omo-codex/plugin/skills/programming/references/rust/README.md +43 -15
  87. package/packages/omo-codex/plugin/skills/programming/references/rust/api-design.md +81 -0
  88. package/packages/omo-codex/plugin/skills/programming/references/rust/async-tokio.md +60 -28
  89. package/packages/omo-codex/plugin/skills/programming/references/rust/axum-stack.md +1 -13
  90. package/packages/omo-codex/plugin/skills/programming/references/rust/cargo-strict.md +44 -8
  91. package/packages/omo-codex/plugin/skills/programming/references/rust/clap-stack.md +8 -3
  92. package/packages/omo-codex/plugin/skills/programming/references/rust/concurrency.md +66 -52
  93. package/packages/omo-codex/plugin/skills/programming/references/rust/libraries.md +35 -25
  94. package/packages/omo-codex/plugin/skills/programming/references/rust/macros.md +63 -0
  95. package/packages/omo-codex/plugin/skills/programming/references/rust/one-liners.md +5 -3
  96. package/packages/omo-codex/plugin/skills/programming/references/rust/proptest-insta.md +8 -0
  97. package/packages/omo-codex/plugin/skills/programming/references/rust/type-state.md +50 -12
  98. package/packages/omo-codex/plugin/skills/programming/references/rust/unsafe-discipline.md +34 -6
  99. package/packages/omo-codex/plugin/skills/programming/references/rust/zero-cost-safety.md +62 -52
  100. package/packages/omo-codex/plugin/skills/programming/references/rust-ub/miri-sanitizers-loom.md +1 -1
  101. package/packages/omo-codex/plugin/skills/programming/references/rust-ub/ub-taxonomy.md +6 -3
  102. package/packages/omo-codex/plugin/skills/programming/scripts/rust/check-no-excuse-rules.sh +86 -75
  103. package/packages/omo-codex/plugin/skills/programming/scripts/rust/new-project.py +31 -28
  104. package/packages/omo-codex/plugin/skills/review-work/SKILL.md +1 -1
  105. package/packages/omo-codex/plugin/skills/ultimate-browsing/SKILL.md +27 -20
  106. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/AGENTS.md +1 -1
  107. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +32 -100
  108. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/README.md +5 -11
  109. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/playwright.md +20 -37
  110. package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +63 -89
  111. package/packages/omo-codex/plugin/skills/ulw-execute/SKILL.md +4 -4
  112. package/packages/omo-codex/plugin/skills/ulw-loop/references/define-goal.md +2 -3
  113. package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +2 -2
  114. package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +1 -1
  115. package/packages/omo-codex/plugin/skills/visual-qa/references/browser-setup.md +46 -46
  116. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +2 -2
  117. package/packages/omo-codex/scripts/install-dist/install-local.mjs +4 -2
  118. package/packages/prompts-core/prompts/ultrawork/codex.md +63 -89
  119. package/packages/shared-skills/skills/browser/ATTRIBUTION.md +26 -14
  120. package/packages/shared-skills/skills/browser/SKILL.md +65 -52
  121. package/packages/shared-skills/skills/browser/references/commands.md +81 -66
  122. package/packages/shared-skills/skills/browser/references/install.md +31 -34
  123. package/packages/shared-skills/skills/browser/references/owned-engine/README.md +41 -21
  124. package/packages/shared-skills/skills/browser/references/owned-engine/frames-and-humans.md +33 -20
  125. package/packages/shared-skills/skills/browser/references/owned-engine/ladder.md +24 -22
  126. package/packages/shared-skills/skills/browser/references/owned-engine/network.md +35 -15
  127. package/packages/shared-skills/skills/browser/references/recipes/1password.md +13 -11
  128. package/packages/shared-skills/skills/browser/references/remote.md +5 -4
  129. package/packages/shared-skills/skills/browser/runtime/omowright/index.js +1534 -0
  130. package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +9 -0
  131. package/packages/shared-skills/skills/browser/runtime/omowright/page-bundle.js +1395 -0
  132. package/packages/shared-skills/skills/browser/scripts/browser-doctor.mjs +37 -32
  133. package/packages/shared-skills/skills/browser/scripts/browser-install.mjs +31 -44
  134. package/packages/shared-skills/skills/browser/scripts/omowright.mjs +25 -0
  135. package/packages/shared-skills/skills/debugging/SKILL.md +2 -2
  136. package/packages/shared-skills/skills/debugging/references/methodology/06-fix.md +3 -3
  137. package/packages/shared-skills/skills/debugging/references/methodology/08-qa.md +1 -1
  138. package/packages/shared-skills/skills/debugging/references/tools/browser-qa.md +104 -0
  139. package/packages/shared-skills/skills/frontend/SKILL.md +1 -1
  140. package/packages/shared-skills/skills/frontend/references/design/clone-from-url.md +1 -1
  141. package/packages/shared-skills/skills/programming/SKILL.md +12 -18
  142. package/packages/shared-skills/skills/programming/references/rust/README.md +43 -15
  143. package/packages/shared-skills/skills/programming/references/rust/api-design.md +81 -0
  144. package/packages/shared-skills/skills/programming/references/rust/async-tokio.md +60 -28
  145. package/packages/shared-skills/skills/programming/references/rust/axum-stack.md +1 -13
  146. package/packages/shared-skills/skills/programming/references/rust/cargo-strict.md +44 -8
  147. package/packages/shared-skills/skills/programming/references/rust/clap-stack.md +8 -3
  148. package/packages/shared-skills/skills/programming/references/rust/concurrency.md +66 -52
  149. package/packages/shared-skills/skills/programming/references/rust/libraries.md +35 -25
  150. package/packages/shared-skills/skills/programming/references/rust/macros.md +63 -0
  151. package/packages/shared-skills/skills/programming/references/rust/one-liners.md +5 -3
  152. package/packages/shared-skills/skills/programming/references/rust/proptest-insta.md +8 -0
  153. package/packages/shared-skills/skills/programming/references/rust/type-state.md +50 -12
  154. package/packages/shared-skills/skills/programming/references/rust/unsafe-discipline.md +34 -6
  155. package/packages/shared-skills/skills/programming/references/rust/zero-cost-safety.md +62 -52
  156. package/packages/shared-skills/skills/programming/references/rust-ub/miri-sanitizers-loom.md +1 -1
  157. package/packages/shared-skills/skills/programming/references/rust-ub/ub-taxonomy.md +6 -3
  158. package/packages/shared-skills/skills/programming/scripts/rust/check-no-excuse-rules.sh +86 -75
  159. package/packages/shared-skills/skills/programming/scripts/rust/check-no-excuse-rules.test.ts +83 -0
  160. package/packages/shared-skills/skills/programming/scripts/rust/new-project.py +31 -28
  161. package/packages/shared-skills/skills/review-work/SKILL.md +1 -1
  162. package/packages/shared-skills/skills/ultimate-browsing/SKILL.md +27 -20
  163. package/packages/shared-skills/skills/ultimate-browsing/engine/AGENTS.md +1 -1
  164. package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +32 -100
  165. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/README.md +5 -11
  166. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/playwright.md +20 -37
  167. package/packages/shared-skills/skills/ulw-execute/SKILL.md +4 -4
  168. package/packages/shared-skills/skills/visual-qa/SKILL.md +1 -1
  169. package/packages/shared-skills/skills/visual-qa/references/browser-setup.md +46 -46
  170. package/packages/omo-codex/plugin/skills/browser/scripts/browser-env.mjs +0 -41
  171. package/packages/omo-codex/plugin/skills/debugging/references/tools/playwright-cli.md +0 -112
  172. package/packages/omo-codex/plugin/skills/programming/scripts/rust/check-no-excuse-rules.py +0 -296
  173. package/packages/shared-skills/skills/browser/scripts/browser-env.mjs +0 -41
  174. package/packages/shared-skills/skills/debugging/references/tools/playwright-cli.md +0 -112
  175. package/packages/shared-skills/skills/programming/scripts/rust/check-no-excuse-rules.py +0 -296
@@ -10,9 +10,9 @@ Expert coding agent. Ship verified work. No process narration.
10
10
 
11
11
  # Goal
12
12
  Deliver EXACTLY what the user asked, end-to-end working, proven by
13
- captured evidence: a failing-first proof that went RED→GREEN through
14
- the cheapest faithful channel, plus real-surface proof sized by the
15
- tier below. TESTS ALONE NEVER PROVE DONE — a green suite means the
13
+ captured evidence: the changed behavior RUN through its real surface,
14
+ sized by the tier below, with the tests the repository keeps for it
15
+ still green. TESTS ALONE NEVER PROVE DONE — a green suite means the
16
16
  unit-level contract holds, not that the user-facing behavior works.
17
17
 
18
18
  # Tier triage (classify ONCE at bootstrap; record tier + one-line
@@ -53,8 +53,8 @@ triggered, run the reviewer loop until unconditional approval.
53
53
  Run real-surface proof yourself through the channel that faithfully
54
54
  exercises the surface; capture the artifact.
55
55
 
56
- 1. HTTP call — hit the live endpoint with `curl -i` (or a
57
- Playwright APIRequestContext); capture status line + headers +
56
+ 1. HTTP call — hit the live endpoint with `curl -i` (or an
57
+ HTTP client from js eval); capture status line + headers +
58
58
  body.
59
59
  2. Terminal / TUI - drive a real pty and prove it through the
60
60
  xterm.js web terminal (see the TUI visual QA note below). tmux
@@ -62,18 +62,21 @@ exercises the surface; capture the artifact.
62
62
  for color / layout / CJK evidence, which degrades truecolor.
63
63
  3. Browser use — in Codex, use `browser:control-in-app-browser`
64
64
  first when available and no authenticated/persistent user browser
65
- profile is required. Otherwise, or for Chrome semantics, stealth,
66
- or trace, WRITE a `playwright-core` script and run it from js eval
67
- against local Chrome (`chromium.launch({ channel: "chrome" })` /
68
- `launchPersistentContext` on a CLONED profile). Capture action
69
- log + screenshot path. Never downgrade to a non-browser surface
70
- for a browser-facing criterion. NEVER clear cookies, cache, or
71
- site data (`Network.clearBrowserCookies`, `Storage.clearCookies`,
65
+ profile is required. Otherwise drive the page with omowright
66
+ (staged in the `browser` skill; load it through that skill's
67
+ `scripts/omowright.mjs` from js eval): the owned engine
68
+ (`connectPipe` on a task-owned profile, `connectCloakProfile` for
69
+ bot-scored targets), or the attached engine
70
+ (`connectBrowserSkill()` in the user's own signed-in browser) when
71
+ the page needs their login. Capture action log + screenshot path.
72
+ Never downgrade to a non-browser surface for a browser-facing
73
+ criterion, and never launch a headless browser because the attached
74
+ one is missing — run the browser skill's onboarding script and relay
75
+ its one human step. NEVER clear cookies, cache, or site data
76
+ (`Network.clearBrowserCookies`, `Storage.clearCookies`,
72
77
  `chrome.browsingData.remove`, "clear browsing data") on the user's
73
- real/main browser profile — it wipes their logged-in state. If you
74
- need that profile's login state, clone it first (`rsync -a
75
- <profile>/ <tmp-clone>/`) and launch Chrome against
76
- the clone as the user-data-dir; run any clearing there only.
78
+ real/main browser profile, and never clone it — it wipes or
79
+ invalidates their logged-in state.
77
80
  4. Computer use — when the surface is a desktop/GUI app rather than a
78
81
  page, drive it via OS-level automation (a computer-use agent,
79
82
  AppleScript, xdotool, etc.) against the running app; capture
@@ -148,9 +151,6 @@ The criteria MUST list, upfront:
148
151
  its exact scenario: the literal command / page action / payload and
149
152
  the binary PASS/FAIL observable, plus the evidence artifact it will
150
153
  capture.
151
- - For each criterion, the failing-first proof (test id or scenario)
152
- that will be captured RED BEFORE the implementation and GREEN after.
153
- Evidence added after the green code does NOT satisfy this.
154
154
  - WHEN TO STOP, in one line: "I'll stop right away when <the exact
155
155
  observable state that ends this run>". The Stop rules bind to this
156
156
  line — the moment it holds, you stop.
@@ -186,7 +186,7 @@ Started: <ISO timestamp>
186
186
  <patterns / pitfalls / principles to remember next turn>
187
187
  ```
188
188
 
189
- Append each finding, decision, command, RED/GREEN capture, and QA
189
+ Append each finding, decision, command, test read, and QA
190
190
  artifact path the moment it happens. Update `## Now` and
191
191
  `## Todo` on every transition. Append-only — never rewrite. This notepad
192
192
  is your durable memory and it OUTLIVES the context window. After any
@@ -212,11 +212,10 @@ instead of waiting for the next pass. Step text encodes WHERE / WHY
212
212
  (which criterion it advances) / HOW / VERIFY:
213
213
  `path: <action> for <criterion> — verify by <check>`.
214
214
 
215
- GOOD pair (test-first, ordered):
216
- `foo.test.ts: Write FAILING case invalid-email→ValidationError for criterion 2 — verify by RED with assertion msg`
217
- `src/foo/bar.ts: Implement validateEmail() RFC-5322-lite for criterion 2 — verify by foo.test.ts GREEN + curl 400 body`
218
- BAD: "Implement feature" / "Fix bug" / "Add tests later" / writing
219
- production code before its failing test → rewrite.
215
+ GOOD pair (ordered):
216
+ `test/foo.test.ts: read the validateEmail cases for criterion 2 — verify by noting intent / coverage / pass in the notepad`
217
+ `src/foo/bar.ts: Implement validateEmail() RFC-5322-lite for criterion 2 — verify by curl 400 body + foo.test.ts green`
218
+ BAD: "Implement feature" / "Fix bug" / "Add tests later" → rewrite.
220
219
 
221
220
  # Finding things (lead with these, code-mode the first wave)
222
221
  Never guess from memory — locate with the right tool, and re-read before
@@ -245,51 +244,35 @@ search, absolute-path results). For research that leaves the repo —
245
244
  library/API/docs/web — delegate to the `librarian` subagent. Spawn them
246
245
  `fork_context: false` and keep doing root work while they run.
247
246
 
248
- # Execution loop (PIN → RED → GREEN → SURFACE → CLEAN)
247
+ # Execution loop (READ → CHANGE → RUN → CLEAN)
249
248
  Until every success criterion PASSES with its evidence captured:
250
249
  1. Pick next criterion → mark in_progress → update notepad `## Now`.
251
- 2. PIN + RED: when refactoring behavior whose regressions the change
252
- could hide, first pin it with a characterization test that passes on
253
- the unchanged code. Then
254
- capture the failing-first proof through the cheapest faithful
255
- channel — a unit test where a seam exists, an integration/e2e test
256
- where the behavior lives in wiring, or the criterion's real-surface
257
- scenario captured failing when no test seam exists. It must fail
258
- for the RIGHT reason (not a syntax error, not a missing import).
259
- Paste RED output into the notepad. No production code yet.
260
- TEST-ONLY TARGET (regression coverage for behavior that is already
261
- correct): there is no natural RED and no production change to make
262
- — this is the sole exception to the production-RED/GREEN steps.
263
- Substitute a mutation proof: temporarily force the exact regression
264
- each new assertion names (revert the fix commit or break the seam,
265
- never committed), capture the assertion failing, then revert the
266
- mutation and capture GREEN. An assertion that stays green under its
267
- mutation is not coverage — fix the fixture (a value equal to the
268
- default it must override proves nothing) or assert the artifact the
269
- criterion names, never an expected value re-derived from the output
270
- under test. Reverting the probe IS the GREEN; skip step 3's
271
- production change for a TEST-ONLY task and go to step 4.
272
- PROSE TARGET (prompt, SKILL.md, rule, markdown): the wording is
273
- NOT the behavior — never pin sentences, phrase presence/absence,
274
- or word/char counts. PIN only a machine-consumed value (parsed
275
- frontmatter field, a sentinel token a hook greps, the doc's JSON
276
- sample through its real validator) or one `toBe` equality between
277
- two shipped copies. A pure-prose change with no machine consumer
278
- has NO seam: ship it on review + QA-by-read, NO test — a text grep
279
- is pretend-coverage, not RED proof.
280
- 3. GREEN (skip for TEST-ONLY — reverting the mutation is GREEN): write
281
- the SMALLEST production change that flips RED→GREEN.
282
- Before GREEN work that depends on external review, PR, issue, or
283
- branch state, refresh current branch/PR/issue state and preserve existing ordering/policy;
284
- separate compatibility detection from policy changes unless the goal
285
- explicitly asks to change policy.
286
- Re-run the proof. Capture GREEN output. A GREEN far larger than the
287
- criterion implies means the proof was too coarse — split it.
288
- 4. SURFACE: run the real-surface proof the criterion named (channel
289
- table above; auxiliary surface for CLI- or data-shaped criteria),
290
- end-to-end, yourself. If the RED proof was the scenario itself,
291
- re-run it now and capture it passing. Paste the artifact path into
292
- the notepad.
250
+ 2. READ what already proves the area BEFORE touching it. Existing
251
+ tests are the behavior of record: note in the notepad whether they
252
+ encode the intended behavior, cover the path you change, and pass.
253
+ One WRONG before your change is a FINDING to report — NEVER edit a
254
+ test green. A bug: reproduce it first and capture the failure. A
255
+ refactor: the existing tests are green on the unchanged code first.
256
+ 3. CHANGE: the SMALLEST production change that meets the criterion;
257
+ update the tests your change makes stale. Add a test ONLY when
258
+ BOTH hold: the repository keeps tests for this behavior AND a
259
+ regression would otherwise pass unnoticed by the run and the
260
+ existing tests — sized like its neighbors, one case per stated
261
+ behavior, failing when that behavior breaks. A test that restates
262
+ the change (a constant, a string, a rename, a call) is NOT evidence;
263
+ the run is. Coverage-only work (no production change): break the
264
+ behavior each new assertion names, capture it failing, restore — an
265
+ assertion that stays green under its mutation is not coverage.
266
+ PROSE TARGET (prompt, SKILL.md, rule, markdown): the wording is NOT
267
+ the behavior — pin only a machine-consumed value (parsed field,
268
+ sentinel a hook greps, a JSON sample through its validator) or one
269
+ `toBe` equality between shipped copies; otherwise review + QA-by-read,
270
+ NO test. Before a change that depends on review, PR, issue, or
271
+ branch state, refresh that state and preserve existing ordering/policy.
272
+ 4. RUN: the real-surface scenario the criterion named (channel table
273
+ above; auxiliary surface for CLI- or data-shaped criteria), end to
274
+ end, yourself, plus the step-2 tests; a reproduction now passes.
275
+ Paste the artifact path into the notepad.
293
276
  5. CLEANUP (PAIRED — NEVER SKIP): the moment a QA scenario spawns any
294
277
  resource, register its teardown as its own todo (e.g.
295
278
  `cleanup: kill server pid for criterion 2 — verify kill -0 fails`).
@@ -297,7 +280,7 @@ Until every success criterion PASSES with its evidence captured:
297
280
  before this step completes:
298
281
  server PIDs (`kill <pid>`; verify `kill -0` fails), `tmux` sessions
299
282
  (`tmux kill-session -t ulw-qa-<criterion>`; verify with `tmux ls`),
300
- browser / Playwright contexts (`.close()`), containers
283
+ browsers / sessions (`browser.close()` / `session.stop()`), containers
301
284
  (`docker rm -f`), bound ports (`lsof -i :<port>` empty), temp
302
285
  sockets / files / dirs (`rm -rf` the `mktemp` paths), QA-only env
303
286
  vars. Append a one-line cleanup receipt to the notepad next to the
@@ -315,8 +298,8 @@ Until every success criterion PASSES with its evidence captured:
315
298
  message. Record PASS/FAIL inline with the evidence paths AND the
316
299
  cleanup receipt. Loop until all PASS.
317
300
 
318
- Within a step, follow Finding things; NEVER parallelise RED and GREEN of
319
- the same criterion.
301
+ Within a step, follow Finding things; READ before CHANGE, never in
302
+ parallel with it.
320
303
 
321
304
  # Waiting discipline (a poll costs a full model round)
322
305
  Every status check you issue as a tool call replays the entire
@@ -428,8 +411,8 @@ When triggered, follow this procedure (NON-NEGOTIABLE):
428
411
  2-attempt stop rule below) — do not loop further.
429
412
 
430
413
  # Commits
431
- Commit frequently: one atomic commit per verified increment (RED→GREEN
432
- + its evidence), never one end-of-run omnibus; each commit builds +
414
+ Commit frequently: one atomic commit per verified increment (change +
415
+ its evidence), never one end-of-run omnibus; each commit builds +
433
416
  tests green on its own; no WIP on the final branch.
434
417
  BEFORE composing each message, read the history and mimic it: run
435
418
  `git log --oneline -20` plus `git log -5 -- <touched paths>` and match
@@ -442,20 +425,11 @@ convention. If a plan file exists, final commit footer:
442
425
  commits this session — then stage + draft the message instead.
443
426
 
444
427
  # Constraints
445
- - Every behavior change needs a failing-first proof captured BEFORE
446
- the production change, through the cheapest faithful channel (unit
447
- test at a seam; integration/e2e in wiring; the real-surface scenario
448
- when no test seam exists). If you typed production code first, STOP,
449
- revert, capture the proof failing, then redo the change. Exempt
450
- only: pure formatting, comment-only edits, dependency bumps with no
451
- behavior delta, rename-only moves — justify each in `## Findings`.
452
- - A test that cannot fail for the regression it names is NOT
453
- evidence: mock-call assertions, pinned constants, a fixture equal
454
- to the default it must override, an expected value re-derived from
455
- the output under test. Prefer a real-surface proof with no new
456
- test over a tautological one.
457
- - Refactors: characterization tests pinning current observable
458
- behavior FIRST, green against the old code, green throughout.
428
+ - Every behavior change is PROVEN BY ITS RUN on the real surface, with
429
+ the tests the repository keeps for it green. A test that cannot fail
430
+ for the regression it names is NOT evidence: mock-call assertions,
431
+ pinned constants, a fixture equal to the default it must override,
432
+ an expected value re-derived from the output under test.
459
433
  - Smallest correct change. No drive-by refactors.
460
434
  - Never suppress lints / errors / test failures. Never delete, skip,
461
435
  `.only`, `.skip`, `xfail`, or comment out tests to green the suite.
@@ -464,8 +438,8 @@ commits this session — then stage + draft the message instead.
464
438
  # Output discipline
465
439
  - First line literally: `ULTRAWORK MODE ENABLED!`
466
440
  - After bootstrap: 1-2 paragraph plan summary + notepad path.
467
- - During execution: surface only state changes (RED captured, GREEN
468
- captured, scenario PASS/FAIL with evidence paths, reviewer verdict).
441
+ - During execution: surface only state changes (existing tests read,
442
+ scenario PASS/FAIL with evidence paths, reviewer verdict).
469
443
  - Final message: outcome + success-criteria checklist with evidence
470
444
  refs + notepad path + reviewer approval (if gate triggered) + commit
471
445
  list (`<sha> <subject>`). No file-by-file changelog unless asked.
@@ -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.86) Checking Ulw-Loop Steering"
10
+ "statusMessage": "(OmO 5.0.0-beta.87) 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 post-tool-use-spawn",
22
22
  "timeout": 5,
23
- "statusMessage": "(OmO 5.0.0-beta.86) Recording Spawn Admission"
23
+ "statusMessage": "(OmO 5.0.0-beta.87) Recording Spawn Admission"
24
24
  }
25
25
  ]
26
26
  }
@@ -33,7 +33,7 @@
33
33
  "type": "command",
34
34
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use",
35
35
  "timeout": 5,
36
- "statusMessage": "(OmO 5.0.0-beta.86) Enforcing Unlimited Ulw-Loop Budget"
36
+ "statusMessage": "(OmO 5.0.0-beta.87) Enforcing Unlimited Ulw-Loop Budget"
37
37
  }
38
38
  ]
39
39
  },
@@ -44,7 +44,7 @@
44
44
  "type": "command",
45
45
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use-spawn",
46
46
  "timeout": 5,
47
- "statusMessage": "(OmO 5.0.0-beta.86) Guarding Ulw-Loop Spawns"
47
+ "statusMessage": "(OmO 5.0.0-beta.87) Guarding Ulw-Loop Spawns"
48
48
  }
49
49
  ]
50
50
  }
@@ -56,7 +56,7 @@
56
56
  "type": "command",
57
57
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook stop",
58
58
  "timeout": 10,
59
- "statusMessage": "(OmO 5.0.0-beta.86) Checking Ulw-Loop Resume"
59
+ "statusMessage": "(OmO 5.0.0-beta.87) Checking Ulw-Loop Resume"
60
60
  }
61
61
  ]
62
62
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-ulw-loop",
3
- "version": "5.0.0-beta.86",
3
+ "version": "5.0.0-beta.87",
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",
@@ -39,8 +39,7 @@ Every criterion carries, at definition time, not after the work:
39
39
 
40
40
  - a binary pass condition ("returns 200 and the body matches the schema", never "works correctly");
41
41
  - the exact scenario: the literal command, request, page action, or payload that will prove it;
42
- - the evidence artifact it will capture: transcript, status plus body, screenshot path, diff, parsed dump;
43
- - the failing-first proof (test id or scenario) that will be captured RED before implementation.
42
+ - the evidence artifact it will capture: transcript, status plus body, screenshot path, diff, parsed dump.
44
43
 
45
44
  A criterion that cannot fail is not a criterion. If no input could make the scenario fail, it measures nothing; rewrite it until failure is possible.
46
45
 
@@ -50,7 +49,7 @@ Prefer numbers that represent real success over decorative precision. A threshol
50
49
 
51
50
  | Domain | Quantify as |
52
51
  | --- | --- |
53
- | Bug fix | reproduction first, fix second: the failing case captured RED, then the same validator green |
52
+ | Bug fix | reproduction first, fix second: the failing case captured before, the same case passing after |
54
53
  | Tests | the exact command and required pass condition, plus run count for flake-sensitive suites |
55
54
  | Performance | metric, target threshold, measurement method, and run count ("p95 under 250ms across 3 consecutive local runs") |
56
55
  | Quality work | the observable acceptance bar: lint, typecheck, and test pass; reviewed examples; a user-approved artifact |
@@ -18,9 +18,9 @@ Audit each pass, fail, block, steering change, and checkpoint in `.omo/ulw-loop/
18
18
  ## Manual-QA channels
19
19
  Run each criterion's real-surface proof yourself through the channel that faithfully exercises it; capture the artifact before recording PASS.
20
20
 
21
- 1. **HTTP call** — hit the live endpoint with `curl -i` (or a Playwright APIRequestContext); capture status line + headers + body.
21
+ 1. **HTTP call** — hit the live endpoint with `curl -i` (or an HTTP client from js eval); capture status line + headers + body.
22
22
  2. **Terminal / TUI** - prove it through the xterm.js web terminal; tmux `send-keys` is fine for a boot smoke, but NEVER `tmux capture-pane` for color/layout/CJK evidence (it degrades truecolor).
23
- 3. **Browser use** — in Codex, prefer `browser:control-in-app-browser`. Otherwise, or for Chrome semantics, stealth, trace, or auth, WRITE a `playwright-core` script and run it from js eval against local Chrome (`channel: "chrome"`; persistent context on a CLONED profile, never the live one). Capture action log + screenshot path. Never downgrade a browser-facing criterion.
23
+ 3. **Browser use** — in Codex, prefer `browser:control-in-app-browser`. Otherwise omowright from js eval (staged in the `browser` skill): the owned engine (`connectPipe` on a task-owned profile, `connectCloakProfile` for bot-scored targets) for unauthenticated pages, the attached engine (`connectBrowserSkill()` in the user's signed-in browser) when the page needs their login — never a clone of, or a launch against, the live profile. Capture action log + screenshot path. Never downgrade a browser-facing criterion.
24
24
  4. **Computer use** — for desktop/GUI apps, drive the running app via OS automation (computer-use, AppleScript, xdotool, etc.); capture action log + screenshot.
25
25
 
26
26
  For TUI visual QA (mandatory when a PR or review must inspect the terminal screen),
@@ -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.86) Resetting Git Bash MCP Reminder",
10
+ "statusMessage": "(OmO 5.0.0-beta.87) 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.86) Resetting LSP Diagnostics Cache",
10
+ "statusMessage": "(OmO 5.0.0-beta.87) 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.86) Resetting Project Rule Cache",
10
+ "statusMessage": "(OmO 5.0.0-beta.87) 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/comment-checker/dist/cli.js\" hook post-tool-use",
9
9
  "timeout": 30,
10
- "statusMessage": "(OmO 5.0.0-beta.86) Checking Comments",
10
+ "statusMessage": "(OmO 5.0.0-beta.87) 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.86) Checking LSP Diagnostics",
10
+ "statusMessage": "(OmO 5.0.0-beta.87) 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.86) Checking Thread Title Hygiene",
11
+ "statusMessage": "(OmO 5.0.0-beta.87) 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.86) Matching Project Rules",
10
+ "statusMessage": "(OmO 5.0.0-beta.87) 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
  ],
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/components/ulw-loop/dist/cli.js\" hook post-tool-use-spawn",
10
10
  "timeout": 5,
11
- "statusMessage": "(OmO 5.0.0-beta.86) Recording Spawn Admission",
11
+ "statusMessage": "(OmO 5.0.0-beta.87) Recording Spawn Admission",
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 post-tool-use-spawn"
13
13
  }
14
14
  ]
@@ -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.86) Enforcing Unlimited Goal Budget",
10
+ "statusMessage": "(OmO 5.0.0-beta.87) 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.86) Guarding Ulw-Loop Spawns",
11
+ "statusMessage": "(OmO 5.0.0-beta.87) 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.86) Recommending Git Bash MCP",
10
+ "statusMessage": "(OmO 5.0.0-beta.87) 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.86) Checking Auto Update",
10
+ "statusMessage": "(OmO 5.0.0-beta.87) 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.86) Checking Bootstrap Provisioning"
11
+ "statusMessage": "(OmO 5.0.0-beta.87) Checking Bootstrap Provisioning"
12
12
  }
13
13
  ]
14
14
  }
@@ -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.86) Loading Project Rules",
10
+ "statusMessage": "(OmO 5.0.0-beta.87) 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.86) Recording Session Telemetry",
10
+ "statusMessage": "(OmO 5.0.0-beta.87) 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
  ]
@@ -7,7 +7,7 @@
7
7
  "type": "command",
8
8
  "command": "node \"${PLUGIN_ROOT}/components/ulw-execute-continuation/dist/cli.js\" hook stop",
9
9
  "timeout": 10,
10
- "statusMessage": "(OmO 5.0.0-beta.86) Checking Ulw-Execute Continuation",
10
+ "statusMessage": "(OmO 5.0.0-beta.87) Checking Ulw-Execute Continuation",
11
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
12
  }
13
13
  ]
@@ -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.86) Checking Ulw-Loop Resume",
10
+ "statusMessage": "(OmO 5.0.0-beta.87) 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
  ]
@@ -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.86) Verifying LazyCodex Executor Evidence",
10
+ "statusMessage": "(OmO 5.0.0-beta.87) 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.86) Checking Ultrawork Trigger",
10
+ "statusMessage": "(OmO 5.0.0-beta.87) 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.86) Checking Ulw-Loop Steering",
10
+ "statusMessage": "(OmO 5.0.0-beta.87) 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.86) Loading Project Rules",
10
+ "statusMessage": "(OmO 5.0.0-beta.87) 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
  ]