lazycodex-ai 5.0.0-beta.46 → 5.0.0-beta.48

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 (105) hide show
  1. package/dist/cli/index.js +15 -15
  2. package/dist/cli-node/index.js +15 -15
  3. package/package.json +1 -1
  4. package/packages/lsp-daemon/dist/cli.js +6 -3
  5. package/packages/lsp-daemon/dist/client.js +6 -3
  6. package/packages/lsp-daemon/dist/ensure-daemon.d.ts +6 -1
  7. package/packages/lsp-daemon/dist/ensure-daemon.js +9 -2
  8. package/packages/lsp-daemon/dist/index.js +6 -3
  9. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  10. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  11. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  12. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  13. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  14. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  15. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  16. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  17. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  18. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
  19. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +6 -3
  20. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  21. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  22. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  23. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  24. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  25. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  26. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  27. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  28. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  29. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  30. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +2 -2
  31. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  32. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-commands.js +15 -7
  33. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.d.ts +1 -1
  34. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.js +1 -1
  35. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +294 -96
  36. package/packages/omo-codex/plugin/components/ulw-loop/dist/constants.d.ts +1 -0
  37. package/packages/omo-codex/plugin/components/ulw-loop/dist/constants.js +1 -0
  38. package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.d.ts +1 -0
  39. package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.js +12 -3
  40. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.d.ts +1 -0
  41. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.js +21 -6
  42. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-missing-recovery.d.ts +1 -0
  43. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-missing-recovery.js +10 -0
  44. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-guard.d.ts +4 -1
  45. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-guard.js +25 -57
  46. package/packages/omo-codex/plugin/components/ulw-loop/dist/state-lock.d.ts +9 -0
  47. package/packages/omo-codex/plugin/components/ulw-loop/dist/state-lock.js +227 -0
  48. package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.js +17 -3
  49. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  50. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  51. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +2 -1
  52. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +10 -7
  53. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-commands.ts +18 -7
  54. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-output.ts +1 -1
  55. package/packages/omo-codex/plugin/components/ulw-loop/src/constants.ts +1 -0
  56. package/packages/omo-codex/plugin/components/ulw-loop/src/paths.ts +24 -3
  57. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-io.ts +25 -5
  58. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-missing-recovery.ts +11 -0
  59. package/packages/omo-codex/plugin/components/ulw-loop/src/spawn-guard.ts +34 -64
  60. package/packages/omo-codex/plugin/components/ulw-loop/src/state-lock.ts +239 -0
  61. package/packages/omo-codex/plugin/components/ulw-loop/src/stop-resume-hook.ts +16 -3
  62. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-template.test.ts +14 -4
  63. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-checkpoint-continuation.test.ts +4 -2
  64. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-checkpoint.test.ts +4 -2
  65. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-commands.test.ts +2 -0
  66. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-complete-goals.test.ts +3 -1
  67. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-create-goals.test.ts +10 -8
  68. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-entrypoint.test.ts +12 -2
  69. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-json-errors.test.ts +2 -0
  70. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-scope-required.test.ts +144 -0
  71. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-status-next-actions.test.ts +7 -5
  72. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-steering-batch.test.ts +8 -3
  73. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-validation-batch.test.ts +6 -0
  74. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/cli-session.ts +4 -0
  75. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/quality-gate-builder.ts +2 -1
  76. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-io-cross-process.test.ts +106 -0
  77. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-io.test.ts +36 -2
  78. package/packages/omo-codex/plugin/components/ulw-loop/test/spawn-guard.test.ts +37 -0
  79. package/packages/omo-codex/plugin/components/ulw-loop/test/state-lock.test.ts +218 -0
  80. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  81. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  82. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  83. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  84. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  85. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  86. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  87. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  88. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  89. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  90. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  91. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  92. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  93. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  94. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  95. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  96. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-ulw-execute-continuation.json +1 -1
  97. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  98. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  99. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  100. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  101. package/packages/omo-codex/plugin/package-lock.json +12 -12
  102. package/packages/omo-codex/plugin/package.json +1 -1
  103. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +2 -1
  104. package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +10 -7
  105. package/packages/omo-codex/scripts/install-dist/install-local.mjs +2 -2
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/omo-codex-plugin",
3
- "version": "5.0.0-beta.46",
3
+ "version": "5.0.0-beta.48",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@sisyphuslabs/omo-codex-plugin",
9
- "version": "5.0.0-beta.46",
9
+ "version": "5.0.0-beta.48",
10
10
  "workspaces": [
11
11
  "components/comment-checker",
12
12
  "components/git-bash",
@@ -90,7 +90,7 @@
90
90
  },
91
91
  "components/comment-checker": {
92
92
  "name": "@code-yeongyu/codex-comment-checker",
93
- "version": "5.0.0-beta.46",
93
+ "version": "5.0.0-beta.48",
94
94
  "license": "MIT",
95
95
  "bin": {
96
96
  "omo-comment-checker": "dist/cli.js"
@@ -111,7 +111,7 @@
111
111
  },
112
112
  "components/git-bash": {
113
113
  "name": "@sisyphuslabs/codex-git-bash-hook",
114
- "version": "5.0.0-beta.46",
114
+ "version": "5.0.0-beta.48",
115
115
  "bin": {
116
116
  "omo-git-bash-hook": "dist/cli.js"
117
117
  },
@@ -125,7 +125,7 @@
125
125
  },
126
126
  "components/lazycodex-executor-verify": {
127
127
  "name": "@code-yeongyu/codex-lazycodex-executor-verify",
128
- "version": "5.0.0-beta.46",
128
+ "version": "5.0.0-beta.48",
129
129
  "license": "MIT",
130
130
  "bin": {
131
131
  "lazycodex-executor-verify": "dist/cli.js"
@@ -142,7 +142,7 @@
142
142
  },
143
143
  "components/lsp": {
144
144
  "name": "@code-yeongyu/codex-lsp",
145
- "version": "5.0.0-beta.46",
145
+ "version": "5.0.0-beta.48",
146
146
  "license": "MIT",
147
147
  "dependencies": {
148
148
  "@code-yeongyu/lsp-daemon": "file:../../../../lsp-daemon",
@@ -163,7 +163,7 @@
163
163
  },
164
164
  "components/rules": {
165
165
  "name": "@code-yeongyu/codex-rules",
166
- "version": "5.0.0-beta.46",
166
+ "version": "5.0.0-beta.48",
167
167
  "license": "MIT",
168
168
  "dependencies": {
169
169
  "picomatch": "^4.0.7"
@@ -185,7 +185,7 @@
185
185
  },
186
186
  "components/teammode": {
187
187
  "name": "@sisyphuslabs/codex-teammode",
188
- "version": "5.0.0-beta.46",
188
+ "version": "5.0.0-beta.48",
189
189
  "devDependencies": {
190
190
  "@types/node": "^26.2.0",
191
191
  "bun-types": "^1.4.0",
@@ -198,7 +198,7 @@
198
198
  },
199
199
  "components/telemetry": {
200
200
  "name": "@code-yeongyu/codex-telemetry",
201
- "version": "5.0.0-beta.46",
201
+ "version": "5.0.0-beta.48",
202
202
  "license": "MIT",
203
203
  "bin": {
204
204
  "omo-telemetry": "dist/cli.js"
@@ -216,7 +216,7 @@
216
216
  },
217
217
  "components/ultrawork": {
218
218
  "name": "@code-yeongyu/codex-ultrawork",
219
- "version": "5.0.0-beta.46",
219
+ "version": "5.0.0-beta.48",
220
220
  "license": "MIT",
221
221
  "bin": {
222
222
  "omo-ultrawork": "dist/cli.js"
@@ -234,7 +234,7 @@
234
234
  },
235
235
  "components/ulw-execute-continuation": {
236
236
  "name": "@code-yeongyu/codex-ulw-execute-continuation",
237
- "version": "5.0.0-beta.46",
237
+ "version": "5.0.0-beta.48",
238
238
  "license": "MIT",
239
239
  "bin": {
240
240
  "omo-ulw-execute-continuation": "dist/cli.js"
@@ -251,7 +251,7 @@
251
251
  },
252
252
  "components/ulw-loop": {
253
253
  "name": "@code-yeongyu/codex-ulw-loop",
254
- "version": "5.0.0-beta.46",
254
+ "version": "5.0.0-beta.48",
255
255
  "license": "MIT",
256
256
  "bin": {
257
257
  "omo-ulw-loop": "dist/cli.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/omo-codex-plugin",
3
- "version": "5.0.0-beta.46",
3
+ "version": "5.0.0-beta.48",
4
4
  "description": "Aggregate Codex plugin root for OMO components.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -23,7 +23,8 @@ This skill is intentionally compact. The full workflow lives in `references/full
23
23
  - Use the ulw-loop CLI state under `.omo/ulw-loop`; do not hand-edit goal state.
24
24
  - Register goals up front, shaped by `references/define-goal.md` (`omo-agent-toolkit ulw-loop create-goals`, then `create_goal` from the printed handoff), and mirror every atomic step into the live `update_plan` checklist: one ultra-granular step per action, exactly one in_progress, transitions marked the instant they happen.
25
25
  - After any compaction or context loss, re-read brief + goals + ledger FIRST plus `omo-agent-toolkit ulw-loop status --json`, then resume; never re-plan from scratch.
26
- - If `omo-agent-toolkit ulw-loop create-goals` says the existing aggregate is already complete, start unrelated new work with a fresh `--session-id <new-id>` instead of steering or forcing the completed default state. Use `--force` only to intentionally overwrite completed evidence.
26
+ - Every ulw-loop command needs the session scope: pass `--session-id <id>` (the printed handoff and resume directive carry it; `CODEX_THREAD_ID` in the environment also resolves it). The CLI refuses unscoped state (`ULW_LOOP_SESSION_SCOPE_REQUIRED`) instead of touching the shared `.omo/ulw-loop` root.
27
+ - If `omo-agent-toolkit ulw-loop create-goals` says this session's aggregate is already complete, start unrelated new work with a fresh `--session-id <new-id>` (passed on every later call) instead of steering or forcing the completed state. Use `--force` only to intentionally overwrite completed evidence.
27
28
  - Every success criterion needs observable evidence from a real surface: a channel (terminal/TUI via the xterm.js web terminal, HTTP, browser, computer-use) or, for CLI- or data-shaped criteria, an auxiliary surface (CLI stdout, DB diff, parsed config dump).
28
29
  - Evidence is bound to the tree it was captured at (`git rev-parse --short "HEAD^{tree}"`); it goes stale only when tracked content changes — a rebase or amend that keeps the tree identical keeps it valid. When the tree differs, re-run at the current HEAD and re-record, never relabel or regenerate. Record only after cleanup receipts exist.
29
30
  - Delegate code edits, test writes, fixes, and QA execution to right-sized Codex subagents when the workflow requires it.
@@ -13,7 +13,7 @@ Use GPT-5.x style: outcome-first, evidence-bound, atomic decisions, no nested br
13
13
  Deliver every goal in `.omo/ulw-loop/goals.json` end-to-end.
14
14
  Prove EVERY success criterion with captured observable evidence from a real-usage scenario you ran (HTTP / tmux / browser / computer-use below).
15
15
  TESTS ALONE NEVER PROVE DONE. A green test suite is supporting evidence, not completion proof.
16
- Audit each pass, fail, block, steering change, and checkpoint in `.omo/ulw-loop/ledger.jsonl`.
16
+ Audit each pass, fail, block, steering change, and checkpoint in `.omo/ulw-loop/<session-id>/ledger.jsonl`.
17
17
 
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.
@@ -110,13 +110,16 @@ If `ULW_LOOP_CLI` is empty, open the durable notepad first, record the missing C
110
110
 
111
111
  Run one form:
112
112
  ```sh
113
- omo-agent-toolkit ulw-loop create-goals --brief "<brief>" [--validation-batch-json <json-or-path>] --json
114
- omo-agent-toolkit ulw-loop create-goals --brief-file <path> [--validation-batch-json <json-or-path>] --json
115
- cat <brief> | omo-agent-toolkit ulw-loop create-goals --from-stdin [--validation-batch-json <json-or-path>] --json
113
+ omo-agent-toolkit ulw-loop create-goals --session-id <id> --brief "<brief>" [--validation-batch-json <json-or-path>] --json
114
+ omo-agent-toolkit ulw-loop create-goals --session-id <id> --brief-file <path> [--validation-batch-json <json-or-path>] --json
115
+ cat <brief> | omo-agent-toolkit ulw-loop create-goals --session-id <id> --from-stdin [--validation-batch-json <json-or-path>] --json
116
116
  ```
117
- If the existing aggregate is already complete, do not steer or force the
118
- completed default state for unrelated new work. Start a fresh run with
119
- `omo-agent-toolkit ulw-loop create-goals --session-id <new-id> ...`; use `--force`
117
+ Every state subcommand runs against exactly one session scope: pass `--session-id <id>` on every call (the printed handoff and the Stop hook resume directive carry this session's id; `PI_SESSION_ID`, `CODEX_THREAD_ID`, `CODEX_SESSION_ID`, or `OMO_ULW_LOOP_SESSION_ID` in the environment also resolve it). The CLI refuses with `ULW_LOOP_SESSION_SCOPE_REQUIRED` when neither is present instead of touching the shared `.omo/ulw-loop` root, because eval kernels, subprocesses, and hooks do not inherit the session env and every session in the directory would otherwise read and overwrite the same plan. Mutations are serialized across processes by `.omo/ulw-loop/<id>/.state.lock`, so parallel `record-evidence` calls from several workers are safe; `ULW_LOOP_LOCK_TIMEOUT` means another live process held the state for more than 10s — retry, never delete the lock while that process is alive.
118
+ If this session's aggregate is already complete, do not steer or force the
119
+ completed state for unrelated new work. Start a fresh run with
120
+ `omo-agent-toolkit ulw-loop create-goals --session-id <new-id> ...` and keep passing
121
+ that id on every later call; the Stop hook auto-resume follows only the
122
+ Codex session's own id, so a run under a custom id is resumed by hand. Use `--force`
120
123
  only when deliberately overwriting completed evidence.
121
124
  Write state through the CLI path. Do not hand-edit state files.
122
125
 
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- // omo-codex-install:81cf03496fa0db52b428d9e5f1d2a022f753fe60530d84f72d767af03333373f:879dac85ae6e586bf1a885de5058d64fb32d08c1e711105370b8081d72f4a246
2
+ // omo-codex-install:81cf03496fa0db52b428d9e5f1d2a022f753fe60530d84f72d767af03333373f:d9847212c69382c8b1ef908ee03c5b079dc818a67781f34f9cc324074120ee89
3
3
  var __defProp = Object.defineProperty;
4
4
  var __returnValue = (v) => v;
5
5
  function __exportSetter(name, newValue) {
@@ -7977,7 +7977,7 @@ var package_default;
7977
7977
  var init_package = __esm(() => {
7978
7978
  package_default = {
7979
7979
  name: "@oh-my-opencode/omo-codex",
7980
- version: "5.0.0-beta.46",
7980
+ version: "5.0.0-beta.48",
7981
7981
  type: "module",
7982
7982
  private: true,
7983
7983
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",