lazycodex-ai 5.0.0-beta.42 → 5.0.0-beta.43

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 (56) hide show
  1. package/README.ja.md +2 -2
  2. package/README.ko.md +4 -4
  3. package/README.md +4 -4
  4. package/README.ru.md +2 -2
  5. package/README.zh-cn.md +2 -2
  6. package/dist/cli/index.js +168 -78
  7. package/dist/cli-node/index.js +168 -78
  8. package/package.json +1 -1
  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 +2 -2
  19. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  20. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  21. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  22. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  23. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  24. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  25. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  26. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  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/ulw-execute-continuation/hooks/hooks.json +2 -2
  30. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  31. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  32. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  33. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  34. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  35. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  36. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  37. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  38. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  39. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  40. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  41. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  42. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  43. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  44. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  45. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  46. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  47. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  48. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  49. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-ulw-execute-continuation.json +1 -1
  50. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  51. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  52. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  54. package/packages/omo-codex/plugin/package-lock.json +12 -12
  55. package/packages/omo-codex/plugin/package.json +1 -1
  56. package/packages/omo-codex/scripts/install-dist/install-local.mjs +2 -2
package/README.ja.md CHANGED
@@ -195,7 +195,7 @@ Read this and tell me why it's not just another boilerplate: https://raw.githubu
195
195
 
196
196
  **Sisyphus** (`claude-opus-5` / **`kimi-k3`** / **`gpt-5.6-sol`** / **`glm-5.2`**) はあなたのメインオーケストレーターです。計画を立て、専門家に委任し、攻撃的な並列実行でタスクを完了まで推進します。途中で投げ出すことはありません。Claude Opus 5 と Kimi K3 が推奨デフォルトです。
197
197
 
198
- **Hephaestus** (OpenAI、GitHub Copilot、Vercel、または OpenCode 経由で medium effort の `gpt-5.6-sol` のみを使う) はあなたの自律的なディープワーカーです。レシピではなく、目標を与えてください。手取り足取り教えなくても、コードベースを探索し、パターンを調査し、エンドツーエンドで実行します。*正当なる職人 (The Legitimate Craftsman).*
198
+ **Hephaestus** (OpenAI、OpenAI Codex、GitHub Copilot、または OpenCode 経由で medium effort の `gpt-5.6-sol` のみを使う) はあなたの自律的なディープワーカーです。レシピではなく、目標を与えてください。手取り足取り教えなくても、コードベースを探索し、パターンを調査し、エンドツーエンドで実行します。最強の GPT を使いたいなら、OpenAI の最上位モデル `gpt-6-astra` を指定してください。*正当なる職人 (The Legitimate Craftsman).*
199
199
 
200
200
  **Prometheus** (`claude-fable-5` / **`kimi-k3`**) はあなたの戦略プランナーです。インタビューモードで質問を投げ、スコープを特定し、コードに一行触れる前に詳細な計画を構築します。
201
201
 
@@ -240,7 +240,7 @@ Sisyphus がサブエージェントにタスクを委任する際、モデル
240
240
  | `quick` | 単一ファイルの変更、タイポの修正 |
241
241
  | `ultrabrain` | ハードロジック、アーキテクチャの決定 |
242
242
 
243
- エージェントは作業の種類を伝えるだけで、ハーネスが適切なモデルを選びます。`ultrabrain` は GPT-5.6 Sol max にルーティングされます (OpenAI / Vercel、次に GitHub Copilot、次に OpenCode)。あなたが触るものは何もありません。
243
+ エージェントは作業の種類を伝えるだけで、ハーネスが適切なモデルを選びます。`ultrabrain` は GPT-6 Astra max に、`deep` は GPT-6 Astra high にルーティングされ (OpenAI / OpenAI Codex、次に GitHub Copilot、次に OpenCode)、使えなければ GPT-5.6 Sol にフォールバックします。あなたが触るものは何もありません。
244
244
 
245
245
  ### Claude Code 互換性
246
246
 
package/README.ko.md CHANGED
@@ -196,7 +196,7 @@ Read this and tell me why it's not just another boilerplate: https://raw.githubu
196
196
 
197
197
  **Sisyphus** (`claude-opus-5` / **`kimi-k3`** / **`gpt-5.6-sol`** / **`glm-5.2`**)는 메인 오케스트레이터입니다. 계획을 세우고, 전문가에게 위임하고, 공격적인 병렬 실행으로 작업을 끝까지 밀어붙입니다. 중간에 멈추지 않습니다. Claude Opus 5와 Kimi K3가 권장 기본값입니다.
198
198
 
199
- **Hephaestus** (OpenAI, GitHub Copilot, Vercel 또는 OpenCode에서 medium effort의 `gpt-5.6-sol`만 사용하는)는 자율적으로 깊게 파는 작업자입니다. 레시피가 아니라 목표를 주세요. 코드베이스를 탐색하고, 패턴을 조사하고, 손을 잡아주지 않아도 엔드투엔드로 실행합니다. *The Legitimate Craftsman.*
199
+ **Hephaestus** (OpenAI, OpenAI Codex, GitHub Copilot 또는 OpenCode에서 medium effort의 `gpt-5.6-sol`만 사용하는)는 자율적으로 깊게 파는 작업자입니다. 레시피가 아니라 목표를 주세요. 코드베이스를 탐색하고, 패턴을 조사하고, 손을 잡아주지 않아도 엔드투엔드로 실행합니다. 가장 강력한 GPT를 쓰고 싶다면 OpenAI의 최상위 모델인 `gpt-6-astra`를 지정하세요. *The Legitimate Craftsman.*
200
200
 
201
201
  **Prometheus** (`claude-fable-5` / **`kimi-k3`**)는 전략 플래너입니다. 인터뷰 모드: 질문으로 스코프를 파악하고, 코드에 손대기 전에 상세한 계획을 만듭니다.
202
202
 
@@ -236,12 +236,12 @@ Sisyphus가 서브에이전트에 위임할 때는 모델을 직접 고르지
236
236
 
237
237
  | 카테고리 | 용도 |
238
238
  | :------------------- | :--------------------------------- |
239
- | `visual-engineering` | 프론트엔드, UI/UX, 디자인 |
240
- | `deep` | 자율 리서치 + 실행 |
239
+ | `visual-engineering` | 비주얼 디자인, UI/UX, 프론트엔드 |
240
+ | `deep` | 시각·기술 전반의 심층 작업 |
241
241
  | `quick` | 단일 파일 변경, 오타 수정 |
242
242
  | `ultrabrain` | 어려운 로직, 아키텍처 결정 |
243
243
 
244
- 에이전트는 필요한 작업 종류만 말하고, 하네스가 적합한 모델을 고릅니다. `ultrabrain`은 GPT-5.6 Sol max로 라우팅됩니다(OpenAI / Vercel, 그다음 GitHub Copilot, 그다음 OpenCode). 당신이 건드릴 건 없습니다.
244
+ 에이전트는 필요한 작업 종류만 말하고, 하네스가 적합한 모델을 고릅니다. `ultrabrain`은 GPT-6 Astra max로, `deep`은 GPT-6 Astra high라우팅되고(OpenAI / OpenAI Codex, 그다음 GitHub Copilot, 그다음 OpenCode), 없으면 GPT-5.6 Sol로 넘어갑니다. 당신이 건드릴 건 없습니다.
245
245
 
246
246
  ### Claude Code 호환성
247
247
 
package/README.md CHANGED
@@ -255,7 +255,7 @@ Even with only the following subscriptions, `ultrawork` works well (this project
255
255
 
256
256
  **Sisyphus** (`claude-opus-5` / **`kimi-k3`** / **`gpt-5.6-sol`** / **`glm-5.2`** ) is your main orchestrator. He plans, delegates to specialists, and drives tasks to completion with aggressive parallel execution. He does not stop halfway. Claude Opus 5 and Kimi K3 are the recommended defaults.
257
257
 
258
- **Hephaestus** (`gpt-5.6-sol` through OpenAI, GitHub Copilot, Vercel, or OpenCode at medium effort) is your autonomous deep worker. Give him a goal, not a recipe. He explores the codebase, researches patterns, and executes end-to-end without hand-holding. *The Legitimate Craftsman.*
258
+ **Hephaestus** (`gpt-5.6-sol` through OpenAI, OpenAI Codex, GitHub Copilot, or OpenCode at medium effort) is your autonomous deep worker. Give him a goal, not a recipe. He explores the codebase, researches patterns, and executes end-to-end without hand-holding. Point him at `gpt-6-astra`, OpenAI's most capable model, when you want the strongest GPT available. *The Legitimate Craftsman.*
259
259
 
260
260
  **Prometheus** (`claude-fable-5` / **`kimi-k3`**) is your strategic planner. Interview mode: he asks questions, identifies scope, and builds a detailed plan before a single line of code is touched.
261
261
 
@@ -295,12 +295,12 @@ When Sisyphus delegates to a subagent, it doesn't pick a model. It picks a **cat
295
295
 
296
296
  | Category | What it's for |
297
297
  | :------------------- | :--------------------------------- |
298
- | `visual-engineering` | Frontend, UI/UX, design |
299
- | `deep` | Autonomous research + execution |
298
+ | `visual-engineering` | Visual design, UI/UX, frontend |
299
+ | `deep` | Deep work across visual and technical domains |
300
300
  | `quick` | Single-file changes, typos |
301
301
  | `ultrabrain` | Hard logic, architecture decisions |
302
302
 
303
- The agent says what kind of work it needs; the harness picks the right model. `ultrabrain` routes to GPT-5.6 Sol max (OpenAI / Vercel, then GitHub Copilot, then OpenCode). You touch nothing.
303
+ The agent says what kind of work it needs; the harness picks the right model. `ultrabrain` routes to GPT-6 Astra max and `deep` to GPT-6 Astra high (OpenAI / OpenAI Codex, then GitHub Copilot, then OpenCode); both fall back to GPT-5.6 Sol. You touch nothing.
304
304
 
305
305
  ### Claude Code Compatibility
306
306
 
package/README.ru.md CHANGED
@@ -194,7 +194,7 @@ Read this and tell me why it's not just another boilerplate: https://raw.githubu
194
194
 
195
195
  **Sisyphus** (`claude-opus-5` / **`kimi-k3`** / **`gpt-5.6-sol`** / **`glm-5.2`**) — главный оркестратор. Он планирует, делегирует задачи специалистам и доводит их до завершения с агрессивным параллельным выполнением. Он не останавливается на полпути. Claude Opus 5 и Kimi K3 — рекомендуемые значения по умолчанию.
196
196
 
197
- **Hephaestus** (использует только `gpt-5.6-sol` с medium effort через OpenAI, GitHub Copilot, Vercel или OpenCode) — автономный глубокий исполнитель. Дайте ему цель, а не рецепт. Он исследует кодовую базу, изучает паттерны и выполняет задачи сквозным образом без лишних подсказок. *Законный Мастер.*
197
+ **Hephaestus** (использует только `gpt-5.6-sol` с medium effort через OpenAI, OpenAI Codex, GitHub Copilot или OpenCode) — автономный глубокий исполнитель. Дайте ему цель, а не рецепт. Он исследует кодовую базу, изучает паттерны и выполняет задачи сквозным образом без лишних подсказок. Если нужен самый сильный GPT, укажите ему `gpt-6-astra`, самую мощную модель OpenAI. *Законный Мастер.*
198
198
 
199
199
  **Prometheus** (`claude-fable-5` / **`kimi-k3`**) — стратегический планировщик. Режим интервью: он задаёт вопросы, определяет объём работ и формирует детальный план до того, как написана хотя бы одна строка кода.
200
200
 
@@ -239,7 +239,7 @@ Read this and tell me why it's not just another boilerplate: https://raw.githubu
239
239
  | `quick` | Изменения в одном файле, опечатки |
240
240
  | `ultrabrain` | Сложная логика, архитектурные решения |
241
241
 
242
- Агент сообщает тип задачи, а обвязка подбирает нужную модель. `ultrabrain` направляется в GPT-5.6 Sol max (OpenAI / Vercel, затем GitHub Copilot, затем OpenCode). Вы ни к чему не прикасаетесь.
242
+ Агент сообщает тип задачи, а обвязка подбирает нужную модель. `ultrabrain` направляется в GPT-6 Astra max, а `deep` в GPT-6 Astra high (OpenAI / OpenAI Codex, затем GitHub Copilot, затем OpenCode), а при недоступности откатываются к GPT-5.6 Sol. Вы ни к чему не прикасаетесь.
243
243
 
244
244
  ### Совместимость с Claude Code
245
245
 
package/README.zh-cn.md CHANGED
@@ -201,7 +201,7 @@ Read this and tell me why it's not just another boilerplate: https://raw.githubu
201
201
 
202
202
  **Sisyphus** (`claude-opus-5` / **`kimi-k3`** / **`gpt-5.6-sol`** / **`glm-5.2`**) 是你的主指挥官。他负责制定计划、分配任务给专家团队,并以极其激进的并行策略推动任务直至完成。他从不半途而废。Claude Opus 5 和 Kimi K3 是推荐默认值。
203
203
 
204
- **Hephaestus** (仅通过 OpenAI、GitHub Copilot、Vercel 或 OpenCode 使用 medium effort 的 `gpt-5.6-sol`) 是你的自主深度工作者。你只需要给他目标,不要给他具体做法。他会自动探索代码库模式,从头到尾独立执行任务,绝不会中途要你当保姆。*名副其实的正牌工匠。*
204
+ **Hephaestus** (仅通过 OpenAI、OpenAI Codex、GitHub Copilot 或 OpenCode 使用 medium effort 的 `gpt-5.6-sol`) 是你的自主深度工作者。你只需要给他目标,不要给他具体做法。他会自动探索代码库模式,从头到尾独立执行任务,绝不会中途要你当保姆。想用最强的 GPT,就把他指向 OpenAI 最顶级的模型 `gpt-6-astra`。*名副其实的正牌工匠。*
205
205
 
206
206
  **Prometheus** (`claude-fable-5` / **`kimi-k3`**) 是你的战略规划师。他通过访谈模式,在动一行代码之前,先通过提问确定范围并构建详尽的执行计划。
207
207
 
@@ -246,7 +246,7 @@ Read this and tell me why it's not just another boilerplate: https://raw.githubu
246
246
  | `quick` | 单文件修改、修错字 |
247
247
  | `ultrabrain` | 复杂硬核逻辑、架构决策 |
248
248
 
249
- 智能体只需要说明要做什么类型的工作,框架就会挑选出最合适的模型去干。`ultrabrain` 路由到 GPT-5.6 Sol max(OpenAI / Vercel,其次 GitHub Copilot,再其次 OpenCode)。你完全不需要操心。
249
+ 智能体只需要说明要做什么类型的工作,框架就会挑选出最合适的模型去干。`ultrabrain` 路由到 GPT-6 Astra max,`deep` 路由到 GPT-6 Astra high(OpenAI / OpenAI Codex,其次 GitHub Copilot,再其次 OpenCode),不可用时回退到 GPT-5.6 Sol。你完全不需要操心。
250
250
 
251
251
  ### 完全兼容 Claude Code
252
252
 
package/dist/cli/index.js CHANGED
@@ -54,7 +54,7 @@ var package_default;
54
54
  var init_package = __esm(() => {
55
55
  package_default = {
56
56
  name: "oh-my-opencode",
57
- version: "5.0.0-beta.42",
57
+ version: "5.0.0-beta.43",
58
58
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
59
59
  main: "./dist/index.js",
60
60
  types: "dist/index.d.ts",
@@ -186,14 +186,14 @@ var init_package = __esm(() => {
186
186
  prepare: "bun run build",
187
187
  postinstall: "node postinstall.mjs",
188
188
  prepublishOnly: "bun run clean && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && bun run build",
189
- "test:model-capabilities": "bun test packages/model-core/src/model-capability-aliases.test.ts packages/model-core/src/model-capability-guardrails.test.ts packages/model-core/src/model-capabilities.test.ts packages/omo-opencode/src/cli/doctor/checks/model-resolution.test.ts --bail",
189
+ "test:model-capabilities": "bun test --timeout 20000 packages/model-core/src/model-capability-aliases.test.ts packages/model-core/src/model-capability-guardrails.test.ts packages/model-core/src/model-capabilities.test.ts packages/omo-opencode/src/cli/doctor/checks/model-resolution.test.ts --bail",
190
190
  typecheck: "tsgo --noEmit && bun run typecheck:script && bun run typecheck:packages",
191
191
  "typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/delegate-core/tsconfig.json && tsgo --noEmit -p packages/mcp-stdio-core/tsconfig.json && tsgo --noEmit -p packages/mcp-client-core/tsconfig.json && tsgo --noEmit -p packages/git-bash-mcp/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/lsp-core/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/omo-config-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/tmux-core/tsconfig.json && tsgo --noEmit -p packages/team-core/tsconfig.json && tsgo --noEmit -p packages/openclaw-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/memory-core/tsconfig.json && tsgo --noEmit -p packages/telemetry-core/tsconfig.json && tsgo --noEmit -p packages/claude-code-compat-core/tsconfig.json && tsgo --noEmit -p packages/skills-loader-core/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/plugin/shared/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && tsgo --noEmit -p packages/senpi-task/tsconfig.json && tsgo --noEmit -p packages/pi-goal/tsconfig.json && tsgo --noEmit -p packages/pi-webfetch/tsconfig.json && tsgo --noEmit -p packages/omo-opencode/tsconfig.json && tsgo --noEmit -p packages/omo-native/tsconfig.json",
192
192
  "typecheck:script": "tsgo --noEmit -p script/tsconfig.json",
193
- test: "bun test",
194
- "test:codex": "bun run build:codex-install && bun run build:git-bash-mcp && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && npm --prefix packages/lsp-tools-mcp test && npm --prefix packages/omo-codex/plugin ci && npm --prefix packages/omo-codex/plugin/components/ulw-loop test && bun run --cwd packages/omo-codex/plugin build && node scripts/check-third-party-notices.mjs --ship && bun test packages/omo-opencode/src/cli/cli-installer.platform.test.ts packages/omo-codex/src/install/codex-cache.test.ts packages/omo-codex/src/install/codex-cleanup.test.ts packages/omo-codex/src/install/codex-config-agent-cleanup.test.ts packages/omo-codex/src/install/codex-config-autonomous-features.test.ts packages/omo-codex/src/install/codex-config-reasoning.test.ts packages/omo-codex/src/install/codex-config-toml.test.ts packages/omo-codex/src/install/codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex.test.ts packages/omo-codex/src/install/install-codex-packaged.test.ts packages/omo-codex/src/install/link-cached-plugin-agents.test.ts packages/omo-codex/src/**/*.test.ts packages/utils/src/jsonc-parser.test.ts packages/utils/src/frontmatter.test.ts packages/hashline-core/src/hash-computation.test.ts packages/hashline-core/src/smoke-untested-modules.test.ts packages/rules-engine/src/index.test.ts packages/rules-engine/src/security-boundary.test.ts packages/agents-md-core/src/injector.test.ts packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts && node --test packages/omo-codex/plugin/test/*.test.mjs packages/omo-codex/scripts/install-cache-copy.test.mjs packages/omo-codex/scripts/install-cli-args.test.mjs packages/omo-codex/scripts/install-delegated-command.test.mjs packages/omo-codex/scripts/install-config-autonomous-features.test.mjs packages/omo-codex/scripts/install-config-autonomous.test.mjs packages/omo-codex/scripts/install-config-reasoning.test.mjs packages/omo-codex/scripts/install-config.test.mjs packages/omo-codex/scripts/install-hook-targets.test.mjs packages/omo-codex/scripts/install-project-local-cleanup.test.mjs packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs packages/omo-codex/scripts/install-local-entrypoint.test.mjs packages/omo-codex/scripts/install-local-git-bash-preflight.test.mjs packages/omo-codex/scripts/install-local.test.mjs packages/omo-codex/scripts/install-marketplace-cache.test.mjs packages/omo-codex/scripts/install-mcp-context7-runtime.test.mjs packages/omo-codex/scripts/install-mcp-runtime.test.mjs packages/omo-codex/scripts/install-packaged-local.test.mjs packages/omo-codex/scripts/install-generated-bundle.test.mjs packages/omo-codex/scripts/install-agent-links.test.mjs packages/omo-codex/scripts/install-bin-links.test.mjs",
193
+ test: "bun test --timeout 20000",
194
+ "test:codex": "bun run build:codex-install && bun run build:git-bash-mcp && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && npm --prefix packages/lsp-tools-mcp test && npm --prefix packages/omo-codex/plugin ci && npm --prefix packages/omo-codex/plugin/components/ulw-loop test && bun run --cwd packages/omo-codex/plugin build && node scripts/check-third-party-notices.mjs --ship && bun test --timeout 20000 packages/omo-opencode/src/cli/cli-installer.platform.test.ts packages/omo-codex/src/install/codex-cache.test.ts packages/omo-codex/src/install/codex-cleanup.test.ts packages/omo-codex/src/install/codex-config-agent-cleanup.test.ts packages/omo-codex/src/install/codex-config-autonomous-features.test.ts packages/omo-codex/src/install/codex-config-reasoning.test.ts packages/omo-codex/src/install/codex-config-toml.test.ts packages/omo-codex/src/install/codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex.test.ts packages/omo-codex/src/install/install-codex-packaged.test.ts packages/omo-codex/src/install/link-cached-plugin-agents.test.ts packages/omo-codex/src/**/*.test.ts packages/utils/src/jsonc-parser.test.ts packages/utils/src/frontmatter.test.ts packages/hashline-core/src/hash-computation.test.ts packages/hashline-core/src/smoke-untested-modules.test.ts packages/rules-engine/src/index.test.ts packages/rules-engine/src/security-boundary.test.ts packages/agents-md-core/src/injector.test.ts packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts && node --test packages/omo-codex/plugin/test/*.test.mjs packages/omo-codex/scripts/install-cache-copy.test.mjs packages/omo-codex/scripts/install-cli-args.test.mjs packages/omo-codex/scripts/install-delegated-command.test.mjs packages/omo-codex/scripts/install-config-autonomous-features.test.mjs packages/omo-codex/scripts/install-config-autonomous.test.mjs packages/omo-codex/scripts/install-config-reasoning.test.mjs packages/omo-codex/scripts/install-config.test.mjs packages/omo-codex/scripts/install-hook-targets.test.mjs packages/omo-codex/scripts/install-project-local-cleanup.test.mjs packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs packages/omo-codex/scripts/install-local-entrypoint.test.mjs packages/omo-codex/scripts/install-local-git-bash-preflight.test.mjs packages/omo-codex/scripts/install-local.test.mjs packages/omo-codex/scripts/install-marketplace-cache.test.mjs packages/omo-codex/scripts/install-mcp-context7-runtime.test.mjs packages/omo-codex/scripts/install-mcp-runtime.test.mjs packages/omo-codex/scripts/install-packaged-local.test.mjs packages/omo-codex/scripts/install-generated-bundle.test.mjs packages/omo-codex/scripts/install-agent-links.test.mjs packages/omo-codex/scripts/install-bin-links.test.mjs",
195
195
  "test:fast": "bun run script/test-fast.ts",
196
- "test:senpi": "bun run build:senpi-plugin && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && bun test packages/omo-senpi && bun test ./.agents/skills/senpi-qa/scripts/resolve-evidence-dir.test.mjs",
196
+ "test:senpi": "bun run build:senpi-plugin && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && bun test --timeout 20000 packages/omo-senpi && bun test ./.agents/skills/senpi-qa/scripts/resolve-evidence-dir.test.mjs",
197
197
  "test:windows-codex": "bun run test:codex",
198
198
  "build:git-bash-mcp": "bun run --cwd packages/git-bash-mcp build",
199
199
  "build:ast-grep-mcp": "bun run --cwd packages/ast-grep-mcp build"
@@ -237,7 +237,7 @@ var init_package = __esm(() => {
237
237
  zod: "^4.4.3"
238
238
  },
239
239
  devDependencies: {
240
- "@code-yeongyu/senpi": "2026.9.4-3",
240
+ "@code-yeongyu/senpi": "2026.9.5",
241
241
  "@oh-my-opencode/agents-md-core": "workspace:*",
242
242
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
243
243
  "@oh-my-opencode/boulder-state": "workspace:*",
@@ -278,18 +278,18 @@ var init_package = __esm(() => {
278
278
  typescript: "^7.0.2"
279
279
  },
280
280
  optionalDependencies: {
281
- "oh-my-opencode-darwin-arm64": "5.0.0-beta.42",
282
- "oh-my-opencode-darwin-x64": "5.0.0-beta.42",
283
- "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.42",
284
- "oh-my-opencode-linux-arm64": "5.0.0-beta.42",
285
- "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.42",
286
- "oh-my-opencode-linux-x64": "5.0.0-beta.42",
287
- "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.42",
288
- "oh-my-opencode-linux-x64-musl": "5.0.0-beta.42",
289
- "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.42",
290
- "oh-my-opencode-windows-arm64": "5.0.0-beta.42",
291
- "oh-my-opencode-windows-x64": "5.0.0-beta.42",
292
- "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.42"
281
+ "oh-my-opencode-darwin-arm64": "5.0.0-beta.43",
282
+ "oh-my-opencode-darwin-x64": "5.0.0-beta.43",
283
+ "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.43",
284
+ "oh-my-opencode-linux-arm64": "5.0.0-beta.43",
285
+ "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.43",
286
+ "oh-my-opencode-linux-x64": "5.0.0-beta.43",
287
+ "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.43",
288
+ "oh-my-opencode-linux-x64-musl": "5.0.0-beta.43",
289
+ "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.43",
290
+ "oh-my-opencode-windows-arm64": "5.0.0-beta.43",
291
+ "oh-my-opencode-windows-x64": "5.0.0-beta.43",
292
+ "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.43"
293
293
  },
294
294
  overrides: {
295
295
  "@earendil-works/pi-agent-core": "0.84.2",
@@ -7126,7 +7126,7 @@ var init_agent_model_requirements = __esm(() => {
7126
7126
  fallbackChain: [
7127
7127
  {
7128
7128
  providers: ["anthropic", "github-copilot", "opencode"],
7129
- model: "claude-fable-5",
7129
+ model: "claude-fable-5-1",
7130
7130
  variant: "xhigh"
7131
7131
  },
7132
7132
  {
@@ -7152,10 +7152,9 @@ var init_agent_model_requirements = __esm(() => {
7152
7152
  },
7153
7153
  momus: {
7154
7154
  fallbackChain: [
7155
- { providers: ["openai", "openai-codex"], model: "gpt-5.6-terra", variant: "high" },
7156
- { providers: ["github-copilot"], model: "gpt-5.6-terra", variant: "high" },
7157
- { providers: ["openai", "openai-codex", "opencode"], model: "gpt-5.6-sol", variant: "xhigh" },
7158
- { providers: ["github-copilot"], model: "gpt-5.6-sol", variant: "high" },
7155
+ { providers: ["openai", "openai-codex"], model: "gpt-6-astra", variant: "xhigh" },
7156
+ { providers: ["github-copilot"], model: "gpt-6-astra", variant: "high" },
7157
+ { providers: ["openai", "openai-codex", "opencode"], model: "gpt-6-astra", variant: "high" },
7159
7158
  {
7160
7159
  providers: ["anthropic", "github-copilot", "opencode"],
7161
7160
  model: "claude-opus-5",
@@ -7207,6 +7206,11 @@ var init_category_model_requirements = __esm(() => {
7207
7206
  CATEGORY_MODEL_REQUIREMENTS = {
7208
7207
  "visual-engineering": {
7209
7208
  fallbackChain: [
7209
+ {
7210
+ providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
7211
+ model: "claude-fable-5-1",
7212
+ variant: "max"
7213
+ },
7210
7214
  {
7211
7215
  providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
7212
7216
  model: "claude-opus-5",
@@ -7216,17 +7220,14 @@ var init_category_model_requirements = __esm(() => {
7216
7220
  providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode"],
7217
7221
  model: "kimi-k3",
7218
7222
  variant: "max"
7219
- },
7220
- { providers: ["zai-coding-plan", "opencode-go"], model: "glm-5.2", variant: "max" },
7221
- {
7222
- providers: ["openai", "openai-codex", "github-copilot", "opencode"],
7223
- model: "gpt-5.6-sol",
7224
- variant: "medium"
7225
7223
  }
7226
7224
  ]
7227
7225
  },
7228
7226
  ultrabrain: {
7229
7227
  fallbackChain: [
7228
+ { providers: ["openai", "openai-codex"], model: "gpt-6-astra", variant: "max" },
7229
+ { providers: ["github-copilot"], model: "gpt-6-astra", variant: "max" },
7230
+ { providers: ["openai", "openai-codex", "opencode"], model: "gpt-6-astra", variant: "max" },
7230
7231
  { providers: ["openai", "openai-codex"], model: "gpt-5.6-sol", variant: "max" },
7231
7232
  { providers: ["github-copilot"], model: "gpt-5.6-sol", variant: "max" },
7232
7233
  { providers: ["openai", "openai-codex", "opencode"], model: "gpt-5.6-sol", variant: "max" }
@@ -7234,6 +7235,11 @@ var init_category_model_requirements = __esm(() => {
7234
7235
  },
7235
7236
  deep: {
7236
7237
  fallbackChain: [
7238
+ {
7239
+ providers: ["openai", "openai-codex", "github-copilot", "opencode"],
7240
+ model: "gpt-6-astra",
7241
+ variant: "high"
7242
+ },
7237
7243
  {
7238
7244
  providers: ["openai", "openai-codex", "github-copilot", "opencode"],
7239
7245
  model: "gpt-5.6-sol",
@@ -7245,7 +7251,7 @@ var init_category_model_requirements = __esm(() => {
7245
7251
  fallbackChain: [
7246
7252
  {
7247
7253
  providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
7248
- model: "claude-fable-5",
7254
+ model: "claude-fable-5-1",
7249
7255
  variant: "xhigh"
7250
7256
  },
7251
7257
  {
@@ -7304,6 +7310,11 @@ var init_category_model_requirements = __esm(() => {
7304
7310
  },
7305
7311
  "unspecified-high": {
7306
7312
  fallbackChain: [
7313
+ {
7314
+ providers: ["openai", "openai-codex", "github-copilot", "opencode"],
7315
+ model: "gpt-6-astra",
7316
+ variant: "high"
7317
+ },
7307
7318
  {
7308
7319
  providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
7309
7320
  model: "claude-opus-5",
@@ -7319,17 +7330,16 @@ var init_category_model_requirements = __esm(() => {
7319
7330
  },
7320
7331
  writing: {
7321
7332
  fallbackChain: [
7322
- {
7323
- providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode"],
7324
- model: "kimi-k3",
7325
- variant: "low"
7326
- },
7327
7333
  {
7328
7334
  providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
7329
- model: "claude-opus-5",
7330
- variant: "low"
7335
+ model: "claude-fable-5-1",
7336
+ variant: "medium"
7331
7337
  },
7332
- { providers: ["google", "github-copilot", "opencode"], model: "gemini-3.6-flash" }
7338
+ {
7339
+ providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode"],
7340
+ model: "kimi-k3",
7341
+ variant: "max"
7342
+ }
7333
7343
  ]
7334
7344
  }
7335
7345
  };
@@ -7432,11 +7442,11 @@ var init_model_capability_aliases = __esm(() => {
7432
7442
  EXACT_ALIAS_RULES_BY_MODEL = new Map(EXACT_ALIAS_RULES.map((rule) => [rule.aliasModelID, rule]));
7433
7443
  PATTERN_ALIAS_RULES = [
7434
7444
  {
7435
- ruleID: "openai-gpt-5.6-fast-service-tier-alias",
7436
- description: "Normalizes OpenCode's OpenAI GPT-5.6 fast service-tier IDs to canonical snapshot IDs.",
7445
+ ruleID: "openai-gpt-fast-service-tier-alias",
7446
+ description: "Normalizes OpenCode's OpenAI GPT fast service-tier IDs to canonical snapshot IDs.",
7437
7447
  providerIDs: ["openai"],
7438
7448
  allowedSubproviderHosts: ["vercel"],
7439
- match: (normalizedModelID) => /^gpt-5\.6-(?:sol|terra|luna)-fast$/.test(normalizedModelID),
7449
+ match: (normalizedModelID) => /^(?:gpt-5\.6-(?:sol|terra|luna)|gpt-6-astra)-fast$/.test(normalizedModelID),
7440
7450
  canonicalize: (normalizedModelID) => normalizedModelID.slice(0, -"-fast".length)
7441
7451
  },
7442
7452
  {
@@ -7576,6 +7586,14 @@ var init_model_capability_heuristics = __esm(() => {
7576
7586
  reasoningEfforts: ["none", "minimal", "low", "medium", "high"],
7577
7587
  supportsTemperature: false
7578
7588
  },
7589
+ {
7590
+ family: "gpt-6",
7591
+ includes: ["gpt-6"],
7592
+ variants: ["low", "medium", "high", "xhigh", "max"],
7593
+ reasoningEfforts: ["low", "medium", "high", "xhigh", "max"],
7594
+ reasoningEffortAliases: { none: "low", minimal: "low" },
7595
+ supportsTemperature: false
7596
+ },
7579
7597
  {
7580
7598
  family: "gpt-5",
7581
7599
  includes: ["gpt-5"],
@@ -7941,6 +7959,37 @@ var init_supplemental_entries = __esm(() => {
7941
7959
  output: 262144
7942
7960
  }
7943
7961
  },
7962
+ "claude-fable-5-1": {
7963
+ id: "claude-fable-5-1",
7964
+ family: "claude-fable",
7965
+ reasoning: true,
7966
+ temperature: false,
7967
+ toolCall: true,
7968
+ modalities: {
7969
+ input: ["text", "image", "pdf"],
7970
+ output: ["text"]
7971
+ },
7972
+ limit: {
7973
+ context: 1e6,
7974
+ output: 128000
7975
+ }
7976
+ },
7977
+ "gpt-6-astra": {
7978
+ id: "gpt-6-astra",
7979
+ family: "gpt",
7980
+ reasoning: true,
7981
+ temperature: false,
7982
+ toolCall: true,
7983
+ modalities: {
7984
+ input: ["text", "image"],
7985
+ output: ["text"]
7986
+ },
7987
+ limit: {
7988
+ context: 1050000,
7989
+ input: 922000,
7990
+ output: 128000
7991
+ }
7992
+ },
7944
7993
  "gpt-5.6-sol": {
7945
7994
  id: "gpt-5.6-sol",
7946
7995
  family: "gpt",
@@ -8281,7 +8330,7 @@ function getOverride(modelID) {
8281
8330
  function getProviderOverride(providerID, modelID) {
8282
8331
  if (providerID.trim().toLowerCase() !== "github-copilot")
8283
8332
  return;
8284
- return GITHUB_COPILOT_GPT5_MODEL.test(normalizeLookupModelID2(modelID)) ? GITHUB_COPILOT_GPT5_OVERRIDE : undefined;
8333
+ return GITHUB_COPILOT_GPT_MODEL.test(normalizeLookupModelID2(modelID)) ? GITHUB_COPILOT_GPT_OVERRIDE : undefined;
8285
8334
  }
8286
8335
  function stripSameProviderPrefix(providerID, modelID) {
8287
8336
  const prefix = `${providerID.trim()}/`;
@@ -8420,14 +8469,14 @@ function getModelCapabilities(input) {
8420
8469
  }
8421
8470
  };
8422
8471
  }
8423
- var MODEL_ID_OVERRIDES, GITHUB_COPILOT_GPT5_MODEL, GITHUB_COPILOT_GPT5_OVERRIDE;
8472
+ var MODEL_ID_OVERRIDES, GITHUB_COPILOT_GPT_MODEL, GITHUB_COPILOT_GPT_OVERRIDE;
8424
8473
  var init_get_model_capabilities = __esm(() => {
8425
8474
  init_model_capability_aliases();
8426
8475
  init_model_capability_heuristics();
8427
8476
  init_model_string_parser();
8428
8477
  MODEL_ID_OVERRIDES = {};
8429
- GITHUB_COPILOT_GPT5_MODEL = /(?:^|\/)gpt-5(?:[.-]|$)/;
8430
- GITHUB_COPILOT_GPT5_OVERRIDE = {
8478
+ GITHUB_COPILOT_GPT_MODEL = /(?:^|\/)gpt-[56](?:[.-]|$)/;
8479
+ GITHUB_COPILOT_GPT_OVERRIDE = {
8431
8480
  variants: ["low", "medium", "high"],
8432
8481
  reasoningEfforts: ["none", "minimal", "low", "medium", "high"]
8433
8482
  };
@@ -8779,22 +8828,6 @@ var init_agent_display_names = __esm(() => {
8779
8828
  "athena-junior (council)": "athena-junior"
8780
8829
  };
8781
8830
  });
8782
- // packages/omo-opencode/src/tools/delegate-task/anthropic-categories.ts
8783
- var UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND = `<Category_Context>
8784
- You are working on tasks that don't fit specific categories but require substantial effort.
8785
- </Category_Context>`, UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Use only when no specialist category fits and substantial effort spans systems/modules with broad impact. Use unspecified-low for contained moderate work.</Selection_Gate>`, ANTHROPIC_CATEGORIES;
8786
- var init_anthropic_categories = __esm(() => {
8787
- ANTHROPIC_CATEGORIES = [
8788
- {
8789
- name: "unspecified-high",
8790
- config: { model: "anthropic/claude-opus-5", variant: "xhigh" },
8791
- description: "Tasks that don't fit other categories, high effort required",
8792
- callerGuidance: UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE,
8793
- promptAppend: UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND
8794
- }
8795
- ];
8796
- });
8797
-
8798
8831
  // packages/omo-opencode/src/tools/delegate-task/google-categories.ts
8799
8832
  var VISUAL_CATEGORY_PROMPT_APPEND = `<Category_Context>
8800
8833
  You are working on VISUAL/UI tasks.
@@ -8903,13 +8936,13 @@ var init_google_categories = __esm(() => {
8903
8936
  GOOGLE_CATEGORIES = [
8904
8937
  {
8905
8938
  name: "visual-engineering",
8906
- config: { model: "anthropic/claude-opus-5", variant: "max" },
8907
- description: "Frontend, UI/UX, design, styling, animation",
8939
+ config: { model: "anthropic/claude-fable-5-1", variant: "max" },
8940
+ description: "Visual design, UI/UX, frontend, styling, animation, and design systems",
8908
8941
  promptAppend: VISUAL_CATEGORY_PROMPT_APPEND
8909
8942
  },
8910
8943
  {
8911
8944
  name: "artistry",
8912
- config: { model: "anthropic/claude-fable-5", variant: "xhigh" },
8945
+ config: { model: "anthropic/claude-fable-5-1", variant: "max" },
8913
8946
  description: "Complex problem-solving with unconventional, creative approaches - beyond standard patterns",
8914
8947
  promptAppend: ARTISTRY_CATEGORY_PROMPT_APPEND
8915
8948
  }
@@ -8946,7 +8979,7 @@ var init_kimi_categories = __esm(() => {
8946
8979
  KIMI_CATEGORIES = [
8947
8980
  {
8948
8981
  name: "writing",
8949
- config: { model: "kimi-for-coding/k3", variant: "low" },
8982
+ config: { model: "anthropic/claude-fable-5-1", variant: "medium" },
8950
8983
  description: "Documentation, prose, technical writing",
8951
8984
  promptAppend: WRITING_CATEGORY_PROMPT_APPEND
8952
8985
  }
@@ -8965,16 +8998,58 @@ function isGpt5_6Model(model) {
8965
8998
  const modelName = extractModelName2(model).toLowerCase();
8966
8999
  return modelName.includes("gpt-5.6") || modelName.includes("gpt-5-6");
8967
9000
  }
9001
+ function isGpt6Model(model) {
9002
+ const modelName = extractModelName2(model).toLowerCase();
9003
+ return modelName.includes("gpt-6");
9004
+ }
8968
9005
  var init_types = () => {};
8969
9006
 
8970
9007
  // packages/omo-opencode/src/tools/delegate-task/openai-categories.ts
9008
+ function resolveUltrabrainCategoryPromptAppend(model) {
9009
+ if (model && isGpt6Model(model)) {
9010
+ return ULTRABRAIN_CATEGORY_PROMPT_APPEND_GPT_6_ASTRA;
9011
+ }
9012
+ return ULTRABRAIN_CATEGORY_PROMPT_APPEND;
9013
+ }
8971
9014
  function resolveDeepCategoryPromptAppend(model) {
9015
+ if (model && isGpt6Model(model)) {
9016
+ return DEEP_CATEGORY_PROMPT_APPEND_GPT_6_ASTRA;
9017
+ }
8972
9018
  if (model && (isGpt5_5Model(model) || isGpt5_6Model(model))) {
8973
9019
  return DEEP_CATEGORY_PROMPT_APPEND_GPT_5_5;
8974
9020
  }
8975
9021
  return DEEP_CATEGORY_PROMPT_APPEND;
8976
9022
  }
8977
- var ULTRABRAIN_CATEGORY_PROMPT_APPEND = `<Category_Context>
9023
+ function resolveUnspecifiedHighCategoryPromptAppend(model) {
9024
+ if (model && isGpt6Model(model)) {
9025
+ return UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND_GPT_6_ASTRA;
9026
+ }
9027
+ return UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND;
9028
+ }
9029
+ var ULTRABRAIN_CATEGORY_PROMPT_APPEND_GPT_6_ASTRA = `<Category_Context name="ultrabrain">
9030
+ The orchestrator routed this task here because it is the one genuinely hard, logic-heavy problem in its plan, and it sent a goal rather than steps: choose the approach yourself, and let correctness outrank speed, brevity, and token cost.
9031
+
9032
+ Success means:
9033
+ - every load-bearing claim cites evidence from this turn: a file and line read, a command run, a test executed;
9034
+ - every executable claim was executed: a proposed fix runs, an algorithm passes the boundary cases you enumerated, a verdict on a diff names the failing line;
9035
+ - the conclusion survived your own attempt to break it, and the answer names the strongest counter-case you looked for;
9036
+ - rejected alternatives carry the reason that decided against them, and open assumptions are stated so the orchestrator can overturn them;
9037
+ - one decision-complete recommendation, actionable without a follow-up question.
9038
+
9039
+ Whatever that check leaves unsettled goes in the answer as an open question with what would settle it. When the goal bundles independent problems, solve the one the others depend on and return the rest as separately delegable items.
9040
+ </Category_Context>`, DEEP_CATEGORY_PROMPT_APPEND_GPT_6_ASTRA = `<Category_Context name="deep">
9041
+ The orchestrator routed this task here for depth: one goal, one deliverable, and the time to earn it. The exploration budget is generous: read every file involved, trace callers and dependencies in both directions, and fan out explore and librarian subagents in parallel for the questions a single read wave cannot answer, until you can explain the full mechanism you are about to change; an edit made before that point is the failure this category exists to prevent.
9042
+
9043
+ **MUST USE \`deep\` FOR 3D GRAPHICS, COMPUTER USE, BROWSER USE, BACKEND, LOGIC, ALGORITHMS, CAPTCHA SOLVING, AND MULTIMODAL WORK.**
9044
+
9045
+ The goal is the authorization. Choose how to reach it yourself, and when it lists numbered steps or phases, deliver all of them in this turn as one task; a proposal, a plan awaiting approval, a simplified version, or a proof of concept is unfinished work. When the steps turn out to be independent problems sharing no reasoning, do the one the goal centers on and return the others as separately delegable items with what you learned. A question ends your turn and hands the task back unfinished, so decide from context, record each assumption in the final message, and stop early only for a blocker you cannot route around: a missing secret, a decision only the user can make, or three materially different attempts that all failed.
9046
+
9047
+ Fix the cause: trace at least two levels above the symptom before settling, and prefer the change that makes the failure impossible over the guard that hides it. Depth means understanding the mechanism, so the diff stays as small as the fix allows; on greenfield work choose strong defaults and finish something you would hand to a senior engineer. Close with the delivered change, the evidence that it works, and the assumptions you made.
9048
+ </Category_Context>`, UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND_GPT_6_ASTRA = `<Category_Context name="unspecified-high">
9049
+ The orchestrator routed this task here because it spans systems or modules and fits no specialist category, so breadth of consideration is what this category buys. Before committing to an approach, survey the whole surface the change touches: every caller and consumer of what you will modify, sibling modules that implement the same pattern, the tests, docs, schemas, config, scripts, and CI that encode the current behavior, and the history of the area (git log and blame) for the reasons it is shaped this way. Fan out explore and librarian subagents in parallel when that surface is wider than one read wave covers.
9050
+
9051
+ Weigh at least two ways to do it against what you found, choose one, and say in the final message why it won. Then deliver it across every surface you identified, so behavior stays consistent everywhere the change is observable and no caller, test, doc, schema, or config still describes the old state. A question ends your turn and hands the task back unfinished, so decide from context, record each assumption in the final message, and finish.
9052
+ </Category_Context>`, ULTRABRAIN_CATEGORY_PROMPT_APPEND = `<Category_Context>
8978
9053
  You are working on DEEP LOGICAL REASONING / COMPLEX ARCHITECTURE tasks.
8979
9054
 
8980
9055
  **CRITICAL - CODE STYLE REQUIREMENTS (NON-NEGOTIABLE)**:
@@ -8999,6 +9074,8 @@ You are working on GOAL-ORIENTED AUTONOMOUS tasks.
8999
9074
 
9000
9075
  You are NOT an interactive assistant. You are an autonomous problem-solver.
9001
9076
 
9077
+ **MUST USE \`deep\` FOR 3D GRAPHICS, COMPUTER USE, BROWSER USE, BACKEND, LOGIC, ALGORITHMS, CAPTCHA SOLVING, AND MULTIMODAL WORK.**
9078
+
9002
9079
  BEFORE making ANY changes:
9003
9080
  1. Silently explore the codebase extensively (5-15 minutes of reading is normal)
9004
9081
  2. Read related files, trace dependencies, understand the full context
@@ -9016,6 +9093,8 @@ Minimal status updates. Focus on results, not play-by-play. Report completion wi
9016
9093
  </Category_Context>`, DEEP_CATEGORY_PROMPT_APPEND_GPT_5_5 = `<Category_Context name="deep">
9017
9094
  You are operating in DEEP mode. This is the category reserved for goal-oriented autonomous work on hairy problems that reward thorough exploration and comprehensive solutions.
9018
9095
 
9096
+ **MUST USE \`deep\` FOR 3D GRAPHICS, COMPUTER USE, BROWSER USE, BACKEND, LOGIC, ALGORITHMS, CAPTCHA SOLVING, AND MULTIMODAL WORK.**
9097
+
9019
9098
  The orchestrator chose this category because the task benefits from depth over speed. You should feel empowered to spend the time needed: five to fifteen minutes of silent exploration before the first edit is normal and correct. Rushing to implementation on a deep task is a failure mode, not a feature.
9020
9099
 
9021
9100
  # How deep mode adjusts the base behavior
@@ -9049,23 +9128,27 @@ Approach:
9049
9128
  </Category_Context>`, QUICK_CATEGORY_CALLER_GUIDANCE = `<Caller_Warning>Small/fast model: before delegating, write an explicit prompt with numbered must-do steps, forbidden deviations, and concrete success criteria.</Caller_Warning>`, UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND = `<Category_Context>
9050
9129
  You are working on tasks that don't fit specific categories but require moderate effort.
9051
9130
  </Category_Context>`, UNSPECIFIED_LOW_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Use only when no specialist category fits, effort is moderate, and scope stays within a few files/modules. Prefer any matching specialist category.</Selection_Gate>
9052
- <Caller_Warning>Provide explicit must-do steps, forbidden scope, and concrete success criteria.</Caller_Warning>`, OPENAI_CATEGORIES;
9131
+ <Caller_Warning>Provide explicit must-do steps, forbidden scope, and concrete success criteria.</Caller_Warning>`, UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND = `<Category_Context>
9132
+ You are working on tasks that don't fit specific categories but require substantial effort.
9133
+ </Category_Context>`, UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Use only when no specialist category fits and substantial effort spans systems/modules with broad impact. Use unspecified-low for contained moderate work.</Selection_Gate>`, GPT_FLAGSHIP_GATE_MODELS, OPENAI_CATEGORIES;
9053
9134
  var init_openai_categories = __esm(() => {
9054
9135
  init_types();
9136
+ GPT_FLAGSHIP_GATE_MODELS = ["gpt-6-astra", "gpt-5.6-sol"];
9055
9137
  OPENAI_CATEGORIES = [
9056
9138
  {
9057
9139
  name: "ultrabrain",
9058
- config: { model: "openai/gpt-5.6-sol", variant: "xhigh" },
9140
+ config: { model: "openai/gpt-6-astra", variant: "max" },
9059
9141
  description: "Use ONLY for genuinely hard, logic-heavy tasks. Give clear goals only, not step-by-step instructions.",
9060
- promptAppend: ULTRABRAIN_CATEGORY_PROMPT_APPEND
9142
+ promptAppend: ULTRABRAIN_CATEGORY_PROMPT_APPEND,
9143
+ resolvePromptAppend: resolveUltrabrainCategoryPromptAppend
9061
9144
  },
9062
9145
  {
9063
9146
  name: "deep",
9064
- config: { model: "openai/gpt-5.6-sol", variant: "medium" },
9065
- description: "Goal-oriented autonomous problem-solving on hairy problems requiring deep research. ONE goal + ONE deliverable per call \u2014 multiple goals must fan out as parallel `deep` calls, never bundled into one.",
9147
+ config: { model: "openai/gpt-6-astra", variant: "high" },
9148
+ description: "**MANDATORY: USE deep FOR 3D GRAPHICS, COMPUTER USE, BROWSER USE, BACKEND, LOGIC, ALGORITHMS, CAPTCHA SOLVING, AND MULTIMODAL WORK.** Deep autonomous problem-solving for complex research. ONE goal + ONE deliverable per call \u2014 multiple goals must fan out as parallel `deep` calls, never bundled into one.",
9066
9149
  promptAppend: DEEP_CATEGORY_PROMPT_APPEND,
9067
9150
  resolvePromptAppend: resolveDeepCategoryPromptAppend,
9068
- requiresModel: "gpt-5.6-sol"
9151
+ requiresModel: GPT_FLAGSHIP_GATE_MODELS
9069
9152
  },
9070
9153
  {
9071
9154
  name: "quick",
@@ -9080,6 +9163,14 @@ var init_openai_categories = __esm(() => {
9080
9163
  description: "Tasks that don't fit other categories, low effort required",
9081
9164
  callerGuidance: UNSPECIFIED_LOW_CATEGORY_CALLER_GUIDANCE,
9082
9165
  promptAppend: UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND
9166
+ },
9167
+ {
9168
+ name: "unspecified-high",
9169
+ config: { model: "openai/gpt-6-astra", variant: "high" },
9170
+ description: "Tasks that don't fit other categories, high effort required",
9171
+ callerGuidance: UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE,
9172
+ promptAppend: UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND,
9173
+ resolvePromptAppend: resolveUnspecifiedHighCategoryPromptAppend
9083
9174
  }
9084
9175
  ];
9085
9176
  });
@@ -9090,14 +9181,12 @@ function buildCategoryRecord(selector) {
9090
9181
  }
9091
9182
  var BUILTIN_CATEGORIES, DEFAULT_CATEGORIES, CATEGORY_PROMPT_APPENDS, CATEGORY_DESCRIPTIONS, CATEGORY_CALLER_GUIDANCE, CATEGORY_PROMPT_APPEND_RESOLVERS, BUILTIN_CATEGORY_REQUIRES_MODEL;
9092
9183
  var init_builtin_categories = __esm(() => {
9093
- init_anthropic_categories();
9094
9184
  init_google_categories();
9095
9185
  init_kimi_categories();
9096
9186
  init_openai_categories();
9097
9187
  BUILTIN_CATEGORIES = [
9098
9188
  ...GOOGLE_CATEGORIES,
9099
9189
  ...OPENAI_CATEGORIES,
9100
- ...ANTHROPIC_CATEGORIES,
9101
9190
  ...KIMI_CATEGORIES
9102
9191
  ];
9103
9192
  DEFAULT_CATEGORIES = buildCategoryRecord((definition) => definition.config);
@@ -9105,7 +9194,10 @@ var init_builtin_categories = __esm(() => {
9105
9194
  CATEGORY_DESCRIPTIONS = buildCategoryRecord((definition) => definition.description);
9106
9195
  CATEGORY_CALLER_GUIDANCE = buildCategoryRecord((definition) => definition.callerGuidance);
9107
9196
  CATEGORY_PROMPT_APPEND_RESOLVERS = Object.fromEntries(BUILTIN_CATEGORIES.filter((definition) => definition.resolvePromptAppend !== undefined).map((definition) => [definition.name, definition.resolvePromptAppend]));
9108
- BUILTIN_CATEGORY_REQUIRES_MODEL = Object.fromEntries(BUILTIN_CATEGORIES.filter((definition) => definition.requiresModel !== undefined).map((definition) => [definition.name, definition.requiresModel]));
9197
+ BUILTIN_CATEGORY_REQUIRES_MODEL = Object.fromEntries(BUILTIN_CATEGORIES.filter((definition) => definition.requiresModel !== undefined).map((definition) => [
9198
+ definition.name,
9199
+ typeof definition.requiresModel === "string" ? [definition.requiresModel] : definition.requiresModel
9200
+ ]));
9109
9201
  });
9110
9202
 
9111
9203
  // packages/omo-opencode/src/tools/delegate-task/constants.ts
@@ -82415,7 +82507,6 @@ var init_memory = __esm(() => {
82415
82507
  OmoMemorySettingsSchema = object({
82416
82508
  enabled: boolean2().default(true),
82417
82509
  agent: string2().min(1).default("auto"),
82418
- tool_exposure: _enum2(["direct", "search"]).default("direct"),
82419
82510
  reflection: OmoMemoryReflectionSchema.default({
82420
82511
  enabled: true,
82421
82512
  trigger: { step_count: 25, on_compaction: true },
@@ -82446,7 +82537,6 @@ var init_memory = __esm(() => {
82446
82537
  OmoMemorySettingsLayerSchema = object({
82447
82538
  enabled: boolean2().optional(),
82448
82539
  agent: string2().min(1).optional(),
82449
- tool_exposure: _enum2(["direct", "search"]).optional(),
82450
82540
  reflection: OmoMemoryReflectionLayerSchema.optional(),
82451
82541
  nudge: OmoMemoryNudgeLayerSchema.optional(),
82452
82542
  facts: OmoMemoryFactsLayerSchema.optional(),
@@ -94352,7 +94442,7 @@ var package_default2;
94352
94442
  var init_package2 = __esm(() => {
94353
94443
  package_default2 = {
94354
94444
  name: "@oh-my-opencode/omo-codex",
94355
- version: "5.0.0-beta.42",
94445
+ version: "5.0.0-beta.43",
94356
94446
  type: "module",
94357
94447
  private: true,
94358
94448
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",