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.
- package/dist/cli/index.js +27 -21
- package/dist/cli-node/index.js +27 -21
- package/package.json +1 -1
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +2 -0
- package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
- package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
- package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
- package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus/gpt-6.md +1 -1
- package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/rules/package.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/README.md +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +2 -2
- package/packages/omo-codex/plugin/components/ultrawork/dist/cli.js +63 -89
- package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/src/directive-content.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/directive.md +2 -2
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/directive.md +63 -89
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/define-goal.md +2 -3
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +2 -2
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/package-lock.json +12 -12
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/scripts/materialize-shared-upstreams.mjs +8 -2
- package/packages/omo-codex/plugin/scripts/sync-skills.mjs +2 -2
- package/packages/omo-codex/plugin/skills/browser/ATTRIBUTION.md +26 -14
- package/packages/omo-codex/plugin/skills/browser/SKILL.md +65 -52
- package/packages/omo-codex/plugin/skills/browser/references/commands.md +81 -66
- package/packages/omo-codex/plugin/skills/browser/references/install.md +31 -34
- package/packages/omo-codex/plugin/skills/browser/references/owned-engine/README.md +41 -21
- package/packages/omo-codex/plugin/skills/browser/references/owned-engine/frames-and-humans.md +33 -20
- package/packages/omo-codex/plugin/skills/browser/references/owned-engine/ladder.md +24 -22
- package/packages/omo-codex/plugin/skills/browser/references/owned-engine/network.md +35 -15
- package/packages/omo-codex/plugin/skills/browser/references/recipes/1password.md +13 -11
- package/packages/omo-codex/plugin/skills/browser/references/remote.md +5 -4
- package/packages/omo-codex/plugin/skills/browser/runtime/omowright/index.js +1534 -0
- package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +9 -0
- package/packages/omo-codex/plugin/skills/browser/runtime/omowright/page-bundle.js +1395 -0
- package/packages/omo-codex/plugin/skills/browser/scripts/browser-doctor.mjs +37 -32
- package/packages/omo-codex/plugin/skills/browser/scripts/browser-install.mjs +31 -44
- package/packages/omo-codex/plugin/skills/browser/scripts/omowright.mjs +25 -0
- package/packages/omo-codex/plugin/skills/debugging/SKILL.md +2 -2
- package/packages/omo-codex/plugin/skills/debugging/references/methodology/06-fix.md +3 -3
- package/packages/omo-codex/plugin/skills/debugging/references/methodology/08-qa.md +1 -1
- package/packages/omo-codex/plugin/skills/debugging/references/tools/browser-qa.md +104 -0
- package/packages/omo-codex/plugin/skills/frontend/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/frontend/references/design/clone-from-url.md +1 -1
- package/packages/omo-codex/plugin/skills/programming/SKILL.md +12 -18
- package/packages/omo-codex/plugin/skills/programming/references/rust/README.md +43 -15
- package/packages/omo-codex/plugin/skills/programming/references/rust/api-design.md +81 -0
- package/packages/omo-codex/plugin/skills/programming/references/rust/async-tokio.md +60 -28
- package/packages/omo-codex/plugin/skills/programming/references/rust/axum-stack.md +1 -13
- package/packages/omo-codex/plugin/skills/programming/references/rust/cargo-strict.md +44 -8
- package/packages/omo-codex/plugin/skills/programming/references/rust/clap-stack.md +8 -3
- package/packages/omo-codex/plugin/skills/programming/references/rust/concurrency.md +66 -52
- package/packages/omo-codex/plugin/skills/programming/references/rust/libraries.md +35 -25
- package/packages/omo-codex/plugin/skills/programming/references/rust/macros.md +63 -0
- package/packages/omo-codex/plugin/skills/programming/references/rust/one-liners.md +5 -3
- package/packages/omo-codex/plugin/skills/programming/references/rust/proptest-insta.md +8 -0
- package/packages/omo-codex/plugin/skills/programming/references/rust/type-state.md +50 -12
- package/packages/omo-codex/plugin/skills/programming/references/rust/unsafe-discipline.md +34 -6
- package/packages/omo-codex/plugin/skills/programming/references/rust/zero-cost-safety.md +62 -52
- package/packages/omo-codex/plugin/skills/programming/references/rust-ub/miri-sanitizers-loom.md +1 -1
- package/packages/omo-codex/plugin/skills/programming/references/rust-ub/ub-taxonomy.md +6 -3
- package/packages/omo-codex/plugin/skills/programming/scripts/rust/check-no-excuse-rules.sh +86 -75
- package/packages/omo-codex/plugin/skills/programming/scripts/rust/new-project.py +31 -28
- package/packages/omo-codex/plugin/skills/review-work/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/ultimate-browsing/SKILL.md +27 -20
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/AGENTS.md +1 -1
- package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +32 -100
- package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/README.md +5 -11
- package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/playwright.md +20 -37
- package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +63 -89
- package/packages/omo-codex/plugin/skills/ulw-execute/SKILL.md +4 -4
- package/packages/omo-codex/plugin/skills/ulw-loop/references/define-goal.md +2 -3
- package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +2 -2
- package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/visual-qa/references/browser-setup.md +46 -46
- package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +2 -2
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +4 -2
- package/packages/prompts-core/prompts/ultrawork/codex.md +63 -89
- package/packages/shared-skills/skills/browser/ATTRIBUTION.md +26 -14
- package/packages/shared-skills/skills/browser/SKILL.md +65 -52
- package/packages/shared-skills/skills/browser/references/commands.md +81 -66
- package/packages/shared-skills/skills/browser/references/install.md +31 -34
- package/packages/shared-skills/skills/browser/references/owned-engine/README.md +41 -21
- package/packages/shared-skills/skills/browser/references/owned-engine/frames-and-humans.md +33 -20
- package/packages/shared-skills/skills/browser/references/owned-engine/ladder.md +24 -22
- package/packages/shared-skills/skills/browser/references/owned-engine/network.md +35 -15
- package/packages/shared-skills/skills/browser/references/recipes/1password.md +13 -11
- package/packages/shared-skills/skills/browser/references/remote.md +5 -4
- package/packages/shared-skills/skills/browser/runtime/omowright/index.js +1534 -0
- package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +9 -0
- package/packages/shared-skills/skills/browser/runtime/omowright/page-bundle.js +1395 -0
- package/packages/shared-skills/skills/browser/scripts/browser-doctor.mjs +37 -32
- package/packages/shared-skills/skills/browser/scripts/browser-install.mjs +31 -44
- package/packages/shared-skills/skills/browser/scripts/omowright.mjs +25 -0
- package/packages/shared-skills/skills/debugging/SKILL.md +2 -2
- package/packages/shared-skills/skills/debugging/references/methodology/06-fix.md +3 -3
- package/packages/shared-skills/skills/debugging/references/methodology/08-qa.md +1 -1
- package/packages/shared-skills/skills/debugging/references/tools/browser-qa.md +104 -0
- package/packages/shared-skills/skills/frontend/SKILL.md +1 -1
- package/packages/shared-skills/skills/frontend/references/design/clone-from-url.md +1 -1
- package/packages/shared-skills/skills/programming/SKILL.md +12 -18
- package/packages/shared-skills/skills/programming/references/rust/README.md +43 -15
- package/packages/shared-skills/skills/programming/references/rust/api-design.md +81 -0
- package/packages/shared-skills/skills/programming/references/rust/async-tokio.md +60 -28
- package/packages/shared-skills/skills/programming/references/rust/axum-stack.md +1 -13
- package/packages/shared-skills/skills/programming/references/rust/cargo-strict.md +44 -8
- package/packages/shared-skills/skills/programming/references/rust/clap-stack.md +8 -3
- package/packages/shared-skills/skills/programming/references/rust/concurrency.md +66 -52
- package/packages/shared-skills/skills/programming/references/rust/libraries.md +35 -25
- package/packages/shared-skills/skills/programming/references/rust/macros.md +63 -0
- package/packages/shared-skills/skills/programming/references/rust/one-liners.md +5 -3
- package/packages/shared-skills/skills/programming/references/rust/proptest-insta.md +8 -0
- package/packages/shared-skills/skills/programming/references/rust/type-state.md +50 -12
- package/packages/shared-skills/skills/programming/references/rust/unsafe-discipline.md +34 -6
- package/packages/shared-skills/skills/programming/references/rust/zero-cost-safety.md +62 -52
- package/packages/shared-skills/skills/programming/references/rust-ub/miri-sanitizers-loom.md +1 -1
- package/packages/shared-skills/skills/programming/references/rust-ub/ub-taxonomy.md +6 -3
- package/packages/shared-skills/skills/programming/scripts/rust/check-no-excuse-rules.sh +86 -75
- package/packages/shared-skills/skills/programming/scripts/rust/check-no-excuse-rules.test.ts +83 -0
- package/packages/shared-skills/skills/programming/scripts/rust/new-project.py +31 -28
- package/packages/shared-skills/skills/review-work/SKILL.md +1 -1
- package/packages/shared-skills/skills/ultimate-browsing/SKILL.md +27 -20
- package/packages/shared-skills/skills/ultimate-browsing/engine/AGENTS.md +1 -1
- package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +32 -100
- package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/README.md +5 -11
- package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/playwright.md +20 -37
- package/packages/shared-skills/skills/ulw-execute/SKILL.md +4 -4
- package/packages/shared-skills/skills/visual-qa/SKILL.md +1 -1
- package/packages/shared-skills/skills/visual-qa/references/browser-setup.md +46 -46
- package/packages/omo-codex/plugin/skills/browser/scripts/browser-env.mjs +0 -41
- package/packages/omo-codex/plugin/skills/debugging/references/tools/playwright-cli.md +0 -112
- package/packages/omo-codex/plugin/skills/programming/scripts/rust/check-no-excuse-rules.py +0 -296
- package/packages/shared-skills/skills/browser/scripts/browser-env.mjs +0 -41
- package/packages/shared-skills/skills/debugging/references/tools/playwright-cli.md +0 -112
- package/packages/shared-skills/skills/programming/scripts/rust/check-no-excuse-rules.py +0 -296
package/dist/cli/index.js
CHANGED
|
@@ -64,7 +64,7 @@ var package_default;
|
|
|
64
64
|
var init_package = __esm(() => {
|
|
65
65
|
package_default = {
|
|
66
66
|
name: "oh-my-opencode",
|
|
67
|
-
version: "5.0.0-beta.
|
|
67
|
+
version: "5.0.0-beta.87",
|
|
68
68
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
69
69
|
main: "./dist/index.js",
|
|
70
70
|
types: "dist/index.d.ts",
|
|
@@ -247,7 +247,7 @@ var init_package = __esm(() => {
|
|
|
247
247
|
zod: "^4.6.5"
|
|
248
248
|
},
|
|
249
249
|
devDependencies: {
|
|
250
|
-
"@code-yeongyu/senpi": "2026.9.23-
|
|
250
|
+
"@code-yeongyu/senpi": "2026.9.23-4",
|
|
251
251
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
252
252
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
253
253
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -283,22 +283,23 @@ var init_package = __esm(() => {
|
|
|
283
283
|
"@xterm/xterm": "^6.0.0",
|
|
284
284
|
"bun-types": "1.4.2",
|
|
285
285
|
"node-pty": "^1.1.0",
|
|
286
|
+
omowright: "github:code-yeongyu/omowright#25781c8ac04f9aae358b06551520b792ac45c6ed",
|
|
286
287
|
"puppeteer-core": "^25.11.0",
|
|
287
288
|
typescript: "^7.0.2"
|
|
288
289
|
},
|
|
289
290
|
optionalDependencies: {
|
|
290
|
-
"oh-my-opencode-darwin-arm64": "5.0.0-beta.
|
|
291
|
-
"oh-my-opencode-darwin-x64": "5.0.0-beta.
|
|
292
|
-
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.
|
|
293
|
-
"oh-my-opencode-linux-arm64": "5.0.0-beta.
|
|
294
|
-
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.
|
|
295
|
-
"oh-my-opencode-linux-x64": "5.0.0-beta.
|
|
296
|
-
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.
|
|
297
|
-
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.
|
|
298
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.
|
|
299
|
-
"oh-my-opencode-windows-arm64": "5.0.0-beta.
|
|
300
|
-
"oh-my-opencode-windows-x64": "5.0.0-beta.
|
|
301
|
-
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.
|
|
291
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.87",
|
|
292
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.87",
|
|
293
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.87",
|
|
294
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.87",
|
|
295
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.87",
|
|
296
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.87",
|
|
297
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.87",
|
|
298
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.87",
|
|
299
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.87",
|
|
300
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.87",
|
|
301
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.87",
|
|
302
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.87"
|
|
302
303
|
},
|
|
303
304
|
overrides: {
|
|
304
305
|
"@earendil-works/pi-agent-core": "0.84.2",
|
|
@@ -7419,7 +7420,7 @@ var init_category_model_requirements = __esm(() => {
|
|
|
7419
7420
|
},
|
|
7420
7421
|
quick: {
|
|
7421
7422
|
fallbackChain: [
|
|
7422
|
-
{ providers: ["chatgpt-subscription"], model: "gpt-6-luna-fast", variant: "low" },
|
|
7423
|
+
{ providers: ["openai", "chatgpt-subscription"], model: "gpt-6-luna-fast", variant: "low" },
|
|
7423
7424
|
{ providers: ["deepseek"], model: "deepseek-flash", variant: "off" },
|
|
7424
7425
|
{
|
|
7425
7426
|
providers: ["qwen-token-plan", "alibaba-token-plan", "bailian-coding-plan"],
|
|
@@ -7464,7 +7465,7 @@ var init_category_model_requirements = __esm(() => {
|
|
|
7464
7465
|
{
|
|
7465
7466
|
providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
|
|
7466
7467
|
model: "claude-opus-5-5",
|
|
7467
|
-
variant: "
|
|
7468
|
+
variant: "medium"
|
|
7468
7469
|
},
|
|
7469
7470
|
{ providers: ["zai-coding-plan", "opencode-go"], model: "glm-5.3", variant: "max" },
|
|
7470
7471
|
{
|
|
@@ -7475,6 +7476,7 @@ var init_category_model_requirements = __esm(() => {
|
|
|
7475
7476
|
]
|
|
7476
7477
|
},
|
|
7477
7478
|
writing: {
|
|
7479
|
+
requiresAnyModel: true,
|
|
7478
7480
|
fallbackChain: [
|
|
7479
7481
|
{
|
|
7480
7482
|
providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
|
|
@@ -9460,7 +9462,7 @@ var init_openai_categories = __esm(() => {
|
|
|
9460
9462
|
},
|
|
9461
9463
|
{
|
|
9462
9464
|
name: "unspecified-high",
|
|
9463
|
-
config: { model: "anthropic/claude-opus-5-5", variant: "
|
|
9465
|
+
config: { model: "anthropic/claude-opus-5-5", variant: "medium" },
|
|
9464
9466
|
description: "Tasks that don't fit other categories, high effort required",
|
|
9465
9467
|
callerGuidance: UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE,
|
|
9466
9468
|
promptAppend: UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND,
|
|
@@ -74482,6 +74484,8 @@ var init_model_profile = __esm(() => {
|
|
|
74482
74484
|
init_fallback_models();
|
|
74483
74485
|
OmoModelProfileInputSchema = object({
|
|
74484
74486
|
display_name: string2().optional(),
|
|
74487
|
+
family: _enum(["daily", "geeky"]).optional(),
|
|
74488
|
+
tier: _enum(["normal", "heavy"]).optional(),
|
|
74485
74489
|
models: array(union([string2(), OmoFallbackModelObjectSchema])).optional()
|
|
74486
74490
|
}).strict();
|
|
74487
74491
|
OmoModelProfileSchema = preprocess((value) => isRecord8(value) ? normalizeLegacyModelFields(value) : value, OmoModelProfileInputSchema);
|
|
@@ -77075,8 +77079,7 @@ var init_openai_only_model_catalog = __esm(() => {
|
|
|
77075
77079
|
OPENAI_ONLY_CATEGORY_OVERRIDES = {
|
|
77076
77080
|
artistry: { model: "openai/gpt-5.6-sol", variant: "xhigh" },
|
|
77077
77081
|
quick: { model: "openai/gpt-6-luna-fast" },
|
|
77078
|
-
"visual-engineering": { model: "openai/gpt-5.6-sol", variant: "high" }
|
|
77079
|
-
writing: { model: "openai/gpt-5.6-sol", variant: "medium" }
|
|
77082
|
+
"visual-engineering": { model: "openai/gpt-5.6-sol", variant: "high" }
|
|
77080
77083
|
};
|
|
77081
77084
|
});
|
|
77082
77085
|
|
|
@@ -77267,7 +77270,7 @@ function generateModelConfig(config) {
|
|
|
77267
77270
|
return {
|
|
77268
77271
|
$schema: SCHEMA_URL,
|
|
77269
77272
|
agents: Object.fromEntries(Object.entries(CLI_AGENT_MODEL_REQUIREMENTS).filter(([role, req]) => !(role === "sisyphus" && req.requiresAnyModel)).map(([role]) => [role, { model: ULTIMATE_FALLBACK }])),
|
|
77270
|
-
categories: Object.fromEntries(Object.
|
|
77273
|
+
categories: Object.fromEntries(Object.entries(CLI_CATEGORY_MODEL_REQUIREMENTS).filter(([, req]) => !req.requiresAnyModel).map(([cat]) => [cat, { model: ULTIMATE_FALLBACK }]))
|
|
77271
77274
|
};
|
|
77272
77275
|
}
|
|
77273
77276
|
const agents = {};
|
|
@@ -77335,6 +77338,9 @@ function generateModelConfig(config) {
|
|
|
77335
77338
|
}
|
|
77336
77339
|
for (const [cat, req] of Object.entries(CLI_CATEGORY_MODEL_REQUIREMENTS)) {
|
|
77337
77340
|
const fallbackChain = cat === "unspecified-high" && !avail.isMaxPlan ? CLI_CATEGORY_MODEL_REQUIREMENTS["unspecified-low"].fallbackChain : req.fallbackChain;
|
|
77341
|
+
if (req.requiresAnyModel && !isAnyFallbackEntryAvailable(fallbackChain, avail)) {
|
|
77342
|
+
continue;
|
|
77343
|
+
}
|
|
77338
77344
|
if (req.requiresModel && !isRequiredModelAvailable(req.requiresModel, req.fallbackChain, avail)) {
|
|
77339
77345
|
continue;
|
|
77340
77346
|
}
|
|
@@ -88753,7 +88759,7 @@ var package_default2;
|
|
|
88753
88759
|
var init_package2 = __esm(() => {
|
|
88754
88760
|
package_default2 = {
|
|
88755
88761
|
name: "@oh-my-opencode/omo-codex",
|
|
88756
|
-
version: "5.0.0-beta.
|
|
88762
|
+
version: "5.0.0-beta.87",
|
|
88757
88763
|
type: "module",
|
|
88758
88764
|
private: true,
|
|
88759
88765
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
package/dist/cli-node/index.js
CHANGED
|
@@ -65,7 +65,7 @@ var package_default;
|
|
|
65
65
|
var init_package = __esm(() => {
|
|
66
66
|
package_default = {
|
|
67
67
|
name: "oh-my-opencode",
|
|
68
|
-
version: "5.0.0-beta.
|
|
68
|
+
version: "5.0.0-beta.87",
|
|
69
69
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
70
70
|
main: "./dist/index.js",
|
|
71
71
|
types: "dist/index.d.ts",
|
|
@@ -248,7 +248,7 @@ var init_package = __esm(() => {
|
|
|
248
248
|
zod: "^4.6.5"
|
|
249
249
|
},
|
|
250
250
|
devDependencies: {
|
|
251
|
-
"@code-yeongyu/senpi": "2026.9.23-
|
|
251
|
+
"@code-yeongyu/senpi": "2026.9.23-4",
|
|
252
252
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
253
253
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
254
254
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -284,22 +284,23 @@ var init_package = __esm(() => {
|
|
|
284
284
|
"@xterm/xterm": "^6.0.0",
|
|
285
285
|
"bun-types": "1.4.2",
|
|
286
286
|
"node-pty": "^1.1.0",
|
|
287
|
+
omowright: "github:code-yeongyu/omowright#25781c8ac04f9aae358b06551520b792ac45c6ed",
|
|
287
288
|
"puppeteer-core": "^25.11.0",
|
|
288
289
|
typescript: "^7.0.2"
|
|
289
290
|
},
|
|
290
291
|
optionalDependencies: {
|
|
291
|
-
"oh-my-opencode-darwin-arm64": "5.0.0-beta.
|
|
292
|
-
"oh-my-opencode-darwin-x64": "5.0.0-beta.
|
|
293
|
-
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.
|
|
294
|
-
"oh-my-opencode-linux-arm64": "5.0.0-beta.
|
|
295
|
-
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.
|
|
296
|
-
"oh-my-opencode-linux-x64": "5.0.0-beta.
|
|
297
|
-
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.
|
|
298
|
-
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.
|
|
299
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.
|
|
300
|
-
"oh-my-opencode-windows-arm64": "5.0.0-beta.
|
|
301
|
-
"oh-my-opencode-windows-x64": "5.0.0-beta.
|
|
302
|
-
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.
|
|
292
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.87",
|
|
293
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.87",
|
|
294
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.87",
|
|
295
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.87",
|
|
296
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.87",
|
|
297
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.87",
|
|
298
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.87",
|
|
299
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.87",
|
|
300
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.87",
|
|
301
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.87",
|
|
302
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.87",
|
|
303
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.87"
|
|
303
304
|
},
|
|
304
305
|
overrides: {
|
|
305
306
|
"@earendil-works/pi-agent-core": "0.84.2",
|
|
@@ -7420,7 +7421,7 @@ var init_category_model_requirements = __esm(() => {
|
|
|
7420
7421
|
},
|
|
7421
7422
|
quick: {
|
|
7422
7423
|
fallbackChain: [
|
|
7423
|
-
{ providers: ["chatgpt-subscription"], model: "gpt-6-luna-fast", variant: "low" },
|
|
7424
|
+
{ providers: ["openai", "chatgpt-subscription"], model: "gpt-6-luna-fast", variant: "low" },
|
|
7424
7425
|
{ providers: ["deepseek"], model: "deepseek-flash", variant: "off" },
|
|
7425
7426
|
{
|
|
7426
7427
|
providers: ["qwen-token-plan", "alibaba-token-plan", "bailian-coding-plan"],
|
|
@@ -7465,7 +7466,7 @@ var init_category_model_requirements = __esm(() => {
|
|
|
7465
7466
|
{
|
|
7466
7467
|
providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
|
|
7467
7468
|
model: "claude-opus-5-5",
|
|
7468
|
-
variant: "
|
|
7469
|
+
variant: "medium"
|
|
7469
7470
|
},
|
|
7470
7471
|
{ providers: ["zai-coding-plan", "opencode-go"], model: "glm-5.3", variant: "max" },
|
|
7471
7472
|
{
|
|
@@ -7476,6 +7477,7 @@ var init_category_model_requirements = __esm(() => {
|
|
|
7476
7477
|
]
|
|
7477
7478
|
},
|
|
7478
7479
|
writing: {
|
|
7480
|
+
requiresAnyModel: true,
|
|
7479
7481
|
fallbackChain: [
|
|
7480
7482
|
{
|
|
7481
7483
|
providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
|
|
@@ -9461,7 +9463,7 @@ var init_openai_categories = __esm(() => {
|
|
|
9461
9463
|
},
|
|
9462
9464
|
{
|
|
9463
9465
|
name: "unspecified-high",
|
|
9464
|
-
config: { model: "anthropic/claude-opus-5-5", variant: "
|
|
9466
|
+
config: { model: "anthropic/claude-opus-5-5", variant: "medium" },
|
|
9465
9467
|
description: "Tasks that don't fit other categories, high effort required",
|
|
9466
9468
|
callerGuidance: UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE,
|
|
9467
9469
|
promptAppend: UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND,
|
|
@@ -74561,6 +74563,8 @@ var init_model_profile = __esm(() => {
|
|
|
74561
74563
|
init_fallback_models();
|
|
74562
74564
|
OmoModelProfileInputSchema = object({
|
|
74563
74565
|
display_name: string2().optional(),
|
|
74566
|
+
family: _enum(["daily", "geeky"]).optional(),
|
|
74567
|
+
tier: _enum(["normal", "heavy"]).optional(),
|
|
74564
74568
|
models: array(union([string2(), OmoFallbackModelObjectSchema])).optional()
|
|
74565
74569
|
}).strict();
|
|
74566
74570
|
OmoModelProfileSchema = preprocess((value) => isRecord8(value) ? normalizeLegacyModelFields(value) : value, OmoModelProfileInputSchema);
|
|
@@ -77154,8 +77158,7 @@ var init_openai_only_model_catalog = __esm(() => {
|
|
|
77154
77158
|
OPENAI_ONLY_CATEGORY_OVERRIDES = {
|
|
77155
77159
|
artistry: { model: "openai/gpt-5.6-sol", variant: "xhigh" },
|
|
77156
77160
|
quick: { model: "openai/gpt-6-luna-fast" },
|
|
77157
|
-
"visual-engineering": { model: "openai/gpt-5.6-sol", variant: "high" }
|
|
77158
|
-
writing: { model: "openai/gpt-5.6-sol", variant: "medium" }
|
|
77161
|
+
"visual-engineering": { model: "openai/gpt-5.6-sol", variant: "high" }
|
|
77159
77162
|
};
|
|
77160
77163
|
});
|
|
77161
77164
|
|
|
@@ -77346,7 +77349,7 @@ function generateModelConfig(config) {
|
|
|
77346
77349
|
return {
|
|
77347
77350
|
$schema: SCHEMA_URL,
|
|
77348
77351
|
agents: Object.fromEntries(Object.entries(CLI_AGENT_MODEL_REQUIREMENTS).filter(([role, req]) => !(role === "sisyphus" && req.requiresAnyModel)).map(([role]) => [role, { model: ULTIMATE_FALLBACK }])),
|
|
77349
|
-
categories: Object.fromEntries(Object.
|
|
77352
|
+
categories: Object.fromEntries(Object.entries(CLI_CATEGORY_MODEL_REQUIREMENTS).filter(([, req]) => !req.requiresAnyModel).map(([cat]) => [cat, { model: ULTIMATE_FALLBACK }]))
|
|
77350
77353
|
};
|
|
77351
77354
|
}
|
|
77352
77355
|
const agents = {};
|
|
@@ -77414,6 +77417,9 @@ function generateModelConfig(config) {
|
|
|
77414
77417
|
}
|
|
77415
77418
|
for (const [cat, req] of Object.entries(CLI_CATEGORY_MODEL_REQUIREMENTS)) {
|
|
77416
77419
|
const fallbackChain = cat === "unspecified-high" && !avail.isMaxPlan ? CLI_CATEGORY_MODEL_REQUIREMENTS["unspecified-low"].fallbackChain : req.fallbackChain;
|
|
77420
|
+
if (req.requiresAnyModel && !isAnyFallbackEntryAvailable(fallbackChain, avail)) {
|
|
77421
|
+
continue;
|
|
77422
|
+
}
|
|
77417
77423
|
if (req.requiresModel && !isRequiredModelAvailable(req.requiresModel, req.fallbackChain, avail)) {
|
|
77418
77424
|
continue;
|
|
77419
77425
|
}
|
|
@@ -88832,7 +88838,7 @@ var package_default2;
|
|
|
88832
88838
|
var init_package2 = __esm(() => {
|
|
88833
88839
|
package_default2 = {
|
|
88834
88840
|
name: "@oh-my-opencode/omo-codex",
|
|
88835
|
-
version: "5.0.0-beta.
|
|
88841
|
+
version: "5.0.0-beta.87",
|
|
88836
88842
|
type: "module",
|
|
88837
88843
|
private: true,
|
|
88838
88844
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lazycodex-ai",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.87",
|
|
4
4
|
"description": "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -7292,6 +7292,8 @@ function isRecord6(value) {
|
|
|
7292
7292
|
}
|
|
7293
7293
|
var OmoModelProfileInputSchema = object({
|
|
7294
7294
|
display_name: string2().optional(),
|
|
7295
|
+
family: _enum(["daily", "geeky"]).optional(),
|
|
7296
|
+
tier: _enum(["normal", "heavy"]).optional(),
|
|
7295
7297
|
models: array(union([string2(), OmoFallbackModelObjectSchema])).optional()
|
|
7296
7298
|
}).strict();
|
|
7297
7299
|
var OmoModelProfileSchema = preprocess((value) => isRecord6(value) ? normalizeLegacyModelFields(value) : value, OmoModelProfileInputSchema);
|
|
@@ -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.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.87) Checking Bootstrap Provisioning"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sisyphuslabs/codex-bootstrap",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.87",
|
|
4
4
|
"description": "Codex SessionStart bootstrap component that provisions LazyCodex runtime dependencies from a detached worker.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": true,
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use",
|
|
10
10
|
"timeout": 5,
|
|
11
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.87) Recommending Git Bash MCP"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"type": "command",
|
|
21
21
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-compact",
|
|
22
22
|
"timeout": 5,
|
|
23
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
23
|
+
"statusMessage": "(OmO 5.0.0-beta.87) Resetting Git Bash MCP Reminder"
|
|
24
24
|
}
|
|
25
25
|
]
|
|
26
26
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/components/lazycodex-executor-verify/dist/cli.js\" hook subagent-stop",
|
|
10
10
|
"timeout": 10,
|
|
11
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.87) Verifying LazyCodex Executor Evidence"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/codex-lazycodex-executor-verify",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.87",
|
|
4
4
|
"description": "Codex SubagentStop evidence verifier for LazyCodex executor completions.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "npm@11.12.1",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"version": "5.0.0-beta.
|
|
4
|
-
"inputDigest": "sha256:
|
|
3
|
+
"version": "5.0.0-beta.87",
|
|
4
|
+
"inputDigest": "sha256:72acd620e3bb18d2b7ff2299536bc0c48b009811a865fa1504e934010d24ea98",
|
|
5
5
|
"outputs": [
|
|
6
6
|
{
|
|
7
7
|
"path": "cli.d.ts",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
|
|
10
10
|
"timeout": 60,
|
|
11
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.87) Checking LSP Diagnostics"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"type": "command",
|
|
22
22
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-compact",
|
|
23
23
|
"timeout": 5,
|
|
24
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
24
|
+
"statusMessage": "(OmO 5.0.0-beta.87) Resetting LSP Diagnostics Cache"
|
|
25
25
|
}
|
|
26
26
|
]
|
|
27
27
|
}
|
|
@@ -53,7 +53,7 @@ Arm an available completion or state-change subscription when starting a build,
|
|
|
53
53
|
|
|
54
54
|
Scale the scope of checks to the change and keep the rigor. A non-behavioral single-file edit needs diagnostics on that file. A single-domain behavior change adds related tests and one run of the affected entry point. Multi-file or cross-cutting work adds the build and user-visible behavior exercised through its real surface. omo-codex injects LSP diagnostics after edits; reported errors are blocking until resolved. Broaden or repeat checks only when a new change, failure, or open concern justifies it; otherwise keep moving toward completion.
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
Read existing tests first - the behavior of record: update those your change makes stale; one wrong before your change is a finding, not a test to edit green. Reproduce a bug before fixing it. The run proves the change: add a test only where the repository keeps tests for this behavior and a regression would otherwise pass unnoticed - sized like its neighbors, never restating the change.
|
|
57
57
|
|
|
58
58
|
### Test Discipline
|
|
59
59
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook session-start",
|
|
9
9
|
"timeout": 10,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.87) Loading Project Rules"
|
|
11
11
|
}
|
|
12
12
|
]
|
|
13
13
|
}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"type": "command",
|
|
20
20
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook user-prompt-submit",
|
|
21
21
|
"timeout": 10,
|
|
22
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
22
|
+
"statusMessage": "(OmO 5.0.0-beta.87) Loading Project Rules"
|
|
23
23
|
}
|
|
24
24
|
]
|
|
25
25
|
}
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"type": "command",
|
|
33
33
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
|
|
34
34
|
"timeout": 10,
|
|
35
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
35
|
+
"statusMessage": "(OmO 5.0.0-beta.87) Matching Project Rules"
|
|
36
36
|
}
|
|
37
37
|
]
|
|
38
38
|
}
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"type": "command",
|
|
46
46
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-compact",
|
|
47
47
|
"timeout": 10,
|
|
48
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
48
|
+
"statusMessage": "(OmO 5.0.0-beta.87) Resetting Project Rule Cache"
|
|
49
49
|
}
|
|
50
50
|
]
|
|
51
51
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
|
|
10
10
|
"timeout": 10,
|
|
11
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.87) Checking Thread Title Hygiene"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/codex-telemetry",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.87",
|
|
4
4
|
"description": "Codex plugin component that emits omo-codex anonymous daily-active telemetry on SessionStart.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "npm@11.12.1",
|
|
@@ -11,7 +11,7 @@ All 12 bundled agent TOMLs set `model = "gpt-6-astra"`; each role keeps its own
|
|
|
11
11
|
| Mandate | Behavior |
|
|
12
12
|
|---|---|
|
|
13
13
|
| Goal + binding success criteria | Call `create_goal` (or open with a `# Goal` block) listing the deliverable + **3+ realistic QA scenarios** (happy path, edge cases, adjacent-surface regression). Each scenario MUST name which **Manual-QA channel** it will use. "Tests pass" is supporting signal, NEVER completion proof. |
|
|
14
|
-
| Manual-QA channels (TESTS ALONE NEVER PROVE DONE) | A dedicated top-level section enumerates the **four** channels you can use to verify a criterion in reality: **(1) HTTP call** (`curl -i` /
|
|
14
|
+
| Manual-QA channels (TESTS ALONE NEVER PROVE DONE) | A dedicated top-level section enumerates the **four** channels you can use to verify a criterion in reality: **(1) HTTP call** (`curl -i` / an HTTP client from js eval), **(2) tmux** (`tmux new-session` + `send-keys` + `capture-pane`), **(3) Browser use** (in Codex, `browser:control-in-app-browser` first when no authenticated/persistent browser profile is needed; otherwise omowright driving the real page — the owned engine for a browser you launch, the attached engine for the user's signed-in browser), **(4) Computer use** (OS-level GUI automation against the running app). Every criterion picks one channel, builds a real-usage scenario, runs it, and captures the artifact — every time. Aux surfaces (CLI stdout / DB diff / parsed config) only count for genuinely CLI- or data-shaped criteria. |
|
|
15
15
|
| Surface + paired cleanup | Execution loop step 4 (**SURFACE-AS-SCENARIO**) runs the chosen channel scenario end-to-end. Step 5 (**CLEANUP, PAIRED**) tears down every QA-spawned process / tmux session / browser context / container / port / temp dir, with a one-line receipt appended to the notepad. Leftover state → NOT done. |
|
|
16
16
|
| Durable /tmp notepad | `mktemp -t ulw-$(date +%Y%m%d-%H%M%S).XXXXXX.md` with sections `Plan`, `Success criteria + QA scenarios`, `Now`, `Todo`, `Findings`, `Learnings`. **Append**, never rewrite. |
|
|
17
17
|
| Obsessive atomic todos | Every action — even one-line edits, `ls`, single test runs — becomes a todo. Format: `path: <action> for <criterion> — verify by <check>`. One in_progress at a time, mark completed immediately. |
|
|
@@ -94,10 +94,10 @@ Critical path: Task 1 -> Task 2 -> Task 6
|
|
|
94
94
|
- [ ] <verifiable condition with the exact command or assertion>
|
|
95
95
|
|
|
96
96
|
QA scenarios (MANDATORY - task incomplete without these):
|
|
97
|
-
> Name the exact tool AND its exact invocation - not "verify it works". Browser use: in Codex, prefer `browser:control-in-app-browser`; otherwise
|
|
97
|
+
> Name the exact tool AND its exact invocation - not "verify it works". Browser use: in Codex, prefer `browser:control-in-app-browser`; otherwise omowright from js eval (staged in the `browser` skill) — `connectPipe`/`connectCloakProfile` for a browser you own, `connectBrowserSkill()` for the user's signed-in browser; never a clone of the live profile. Computer use: OS-level GUI automation for a non-browser desktop app.
|
|
98
98
|
```
|
|
99
99
|
Scenario: <happy path>
|
|
100
|
-
Tool: <bash | curl | tmux | browser:control-in-app-browser |
|
|
100
|
+
Tool: <bash | curl | tmux | browser:control-in-app-browser | omowright(js eval; owned or attached engine) | computer-use>
|
|
101
101
|
Steps: <exact command / API call / page action with concrete inputs - URL, payload, keystrokes, selectors>
|
|
102
102
|
Expected: <concrete, binary pass/fail observable>
|
|
103
103
|
Evidence: <attemptDir>/task-<N>-<slug>.<ext> (attemptDir = currentAttemptDir from `omo-agent-toolkit ulw-loop status --json`, .omo/evidence/ulw/<session>/<goalId>/a<attempt>)
|