oh-my-openagent 5.1.7 → 5.1.8

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 (74) hide show
  1. package/dist/cli/index.js +23 -43
  2. package/dist/cli-node/index.js +23 -43
  3. package/dist/index.js +45 -40
  4. package/dist/shared/index.d.ts +0 -1
  5. package/dist/shared/live-server-route.d.ts +0 -2
  6. package/dist/shared/tmux/tmux-utils/pane-close.d.ts +0 -3
  7. package/dist/shared/tmux/tmux-utils/server-health.d.ts +1 -1
  8. package/dist/skills/browser/runtime/omowright/manifest.json +1 -1
  9. package/dist/skills/debugging/SKILL.md +1 -1
  10. package/dist/skills/debugging/references/methodology/06-fix.md +8 -0
  11. package/dist/tui.js +22 -42
  12. package/package.json +14 -14
  13. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  14. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +6 -3
  15. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  16. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  17. package/packages/omo-codex/plugin/components/bootstrap/test/download.test.ts +0 -16
  18. package/packages/omo-codex/plugin/components/bootstrap/test/environment.test.ts +3 -0
  19. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  20. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  21. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  22. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  23. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  24. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  25. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  26. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  27. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  28. package/packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts +0 -27
  29. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  30. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  31. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  32. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  33. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  34. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  35. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  36. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  37. package/packages/omo-codex/plugin/components/ultrawork/test/directive-source.test.ts +0 -6
  38. package/packages/omo-codex/plugin/components/ultrawork/test/package-smoke.test.ts +0 -15
  39. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
  40. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  41. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  42. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  43. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  44. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  45. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  46. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  47. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  48. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  49. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  50. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  51. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  52. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  54. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  55. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  56. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  57. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  58. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  59. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  60. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  61. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  62. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  63. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  64. package/packages/omo-codex/plugin/package-lock.json +12 -12
  65. package/packages/omo-codex/plugin/package.json +1 -1
  66. package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
  67. package/packages/omo-codex/plugin/skills/debugging/SKILL.md +1 -1
  68. package/packages/omo-codex/plugin/skills/debugging/references/methodology/06-fix.md +8 -0
  69. package/packages/omo-codex/plugin/test/AGENTS.md +11 -0
  70. package/packages/omo-codex/plugin/test/component-bundled-cli.test.mjs +0 -50
  71. package/packages/omo-codex/scripts/install-dist/install-local.mjs +8 -5
  72. package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
  73. package/packages/shared-skills/skills/debugging/SKILL.md +1 -1
  74. package/packages/shared-skills/skills/debugging/references/methodology/06-fix.md +8 -0
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.1.7",
67
+ version: "5.1.8",
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",
@@ -241,7 +241,7 @@ var init_package = __esm(() => {
241
241
  },
242
242
  devDependencies: {
243
243
  "@clack/prompts": "^1.8.1",
244
- "@code-yeongyu/senpi": "2026.9.30",
244
+ "@code-yeongyu/senpi": "2026.10.1-2",
245
245
  "@modelcontextprotocol/sdk": "^1.30.0",
246
246
  "@oh-my-opencode/agents-md-core": "workspace:*",
247
247
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
@@ -299,18 +299,18 @@ var init_package = __esm(() => {
299
299
  typescript: "^7.0.2"
300
300
  },
301
301
  optionalDependencies: {
302
- "oh-my-opencode-darwin-arm64": "5.1.7",
303
- "oh-my-opencode-darwin-x64": "5.1.7",
304
- "oh-my-opencode-darwin-x64-baseline": "5.1.7",
305
- "oh-my-opencode-linux-arm64": "5.1.7",
306
- "oh-my-opencode-linux-arm64-musl": "5.1.7",
307
- "oh-my-opencode-linux-x64": "5.1.7",
308
- "oh-my-opencode-linux-x64-baseline": "5.1.7",
309
- "oh-my-opencode-linux-x64-musl": "5.1.7",
310
- "oh-my-opencode-linux-x64-musl-baseline": "5.1.7",
311
- "oh-my-opencode-windows-arm64": "5.1.7",
312
- "oh-my-opencode-windows-x64": "5.1.7",
313
- "oh-my-opencode-windows-x64-baseline": "5.1.7"
302
+ "oh-my-opencode-darwin-arm64": "5.1.8",
303
+ "oh-my-opencode-darwin-x64": "5.1.8",
304
+ "oh-my-opencode-darwin-x64-baseline": "5.1.8",
305
+ "oh-my-opencode-linux-arm64": "5.1.8",
306
+ "oh-my-opencode-linux-arm64-musl": "5.1.8",
307
+ "oh-my-opencode-linux-x64": "5.1.8",
308
+ "oh-my-opencode-linux-x64-baseline": "5.1.8",
309
+ "oh-my-opencode-linux-x64-musl": "5.1.8",
310
+ "oh-my-opencode-linux-x64-musl-baseline": "5.1.8",
311
+ "oh-my-opencode-windows-arm64": "5.1.8",
312
+ "oh-my-opencode-windows-x64": "5.1.8",
313
+ "oh-my-opencode-windows-x64-baseline": "5.1.8"
314
314
  },
315
315
  overrides: {
316
316
  hono: "^4.13.8",
@@ -7407,7 +7407,7 @@ var init_category_model_requirements = __esm(() => {
7407
7407
  {
7408
7408
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
7409
7409
  model: "gpt-6-astra",
7410
- variant: "xhigh"
7410
+ variant: "high"
7411
7411
  }
7412
7412
  ]
7413
7413
  },
@@ -9516,7 +9516,7 @@ var init_openai_categories = __esm(() => {
9516
9516
  },
9517
9517
  {
9518
9518
  name: "deep-high",
9519
- config: { model: "openai/gpt-6-astra", variant: "xhigh" },
9519
+ config: { model: "openai/gpt-6-astra", variant: "high" },
9520
9520
  description: "Escalation deep lane: a goal whose central decision cannot be settled from evidence alone. Same one-goal, one-deliverable contract as deep-low.",
9521
9521
  callerGuidance: DEEP_HIGH_CATEGORY_CALLER_GUIDANCE,
9522
9522
  promptAppend: DEEP_HIGH_CATEGORY_PROMPT_APPEND,
@@ -68191,28 +68191,6 @@ var init_legacy_workspace_migration = __esm(() => {
68191
68191
  // packages/omo-opencode/src/shared/model-string-parser.ts
68192
68192
  var init_model_string_parser2 = () => {};
68193
68193
 
68194
- // packages/omo-opencode/src/shared/excluded-dirs.ts
68195
- var EXCLUDED_DIR_NAMES, EXCLUDED_DIRS;
68196
- var init_excluded_dirs = __esm(() => {
68197
- EXCLUDED_DIR_NAMES = [
68198
- "node_modules",
68199
- ".git",
68200
- "dist",
68201
- "build",
68202
- ".next",
68203
- ".omo",
68204
- ".sisyphus",
68205
- ".turbo",
68206
- "coverage",
68207
- "out",
68208
- ".cache",
68209
- ".vscode-test",
68210
- "target",
68211
- ".local-ignore"
68212
- ];
68213
- EXCLUDED_DIRS = Object.freeze(new Set(EXCLUDED_DIR_NAMES));
68214
- });
68215
-
68216
68194
  // packages/omo-opencode/src/shared/replace-tool-args.ts
68217
68195
  var init_replace_tool_args = () => {};
68218
68196
 
@@ -68223,7 +68201,6 @@ var init_shared = __esm(() => {
68223
68201
  init_model_resolution_pipeline();
68224
68202
  init_session_category_registry();
68225
68203
  init_model_string_parser2();
68226
- init_excluded_dirs();
68227
68204
  init_frontmatter2();
68228
68205
  init_command_executor2();
68229
68206
  init_contains_path2();
@@ -74610,7 +74587,8 @@ var init_memory = __esm(() => {
74610
74587
  event_caps: OmoMemoryRecallEventCapsSchema.default({ tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 }),
74611
74588
  sidecar_max_tokens: number2().int().positive().default(48000),
74612
74589
  max_concurrent_wakes: number2().int().positive().default(2),
74613
- tool_budget: number2().int().positive().default(8)
74590
+ tool_budget: number2().int().positive().default(8),
74591
+ query_expansion: boolean2().default(false)
74614
74592
  }).strict();
74615
74593
  OmoMemoryNudgeSchema = object({
74616
74594
  enabled: boolean2().default(true),
@@ -74671,7 +74649,8 @@ var init_memory = __esm(() => {
74671
74649
  event_caps: OmoMemoryRecallEventCapsLayerSchema.optional(),
74672
74650
  sidecar_max_tokens: number2().int().positive().optional(),
74673
74651
  max_concurrent_wakes: number2().int().positive().optional(),
74674
- tool_budget: number2().int().positive().optional()
74652
+ tool_budget: number2().int().positive().optional(),
74653
+ query_expansion: boolean2().optional()
74675
74654
  }).strict();
74676
74655
  OmoMemoryNudgeLayerSchema = object({
74677
74656
  enabled: boolean2().optional(),
@@ -74748,7 +74727,8 @@ var init_memory = __esm(() => {
74748
74727
  event_caps: { tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 },
74749
74728
  sidecar_max_tokens: 48000,
74750
74729
  max_concurrent_wakes: 2,
74751
- tool_budget: 8
74730
+ tool_budget: 8,
74731
+ query_expansion: false
74752
74732
  }),
74753
74733
  compile_warn_tokens: number2().int().positive().default(30000),
74754
74734
  agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
@@ -89377,7 +89357,7 @@ var package_default2;
89377
89357
  var init_package2 = __esm(() => {
89378
89358
  package_default2 = {
89379
89359
  name: "@oh-my-opencode/omo-codex",
89380
- version: "5.1.7",
89360
+ version: "5.1.8",
89381
89361
  type: "module",
89382
89362
  private: true,
89383
89363
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -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.1.7",
68
+ version: "5.1.8",
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",
@@ -242,7 +242,7 @@ var init_package = __esm(() => {
242
242
  },
243
243
  devDependencies: {
244
244
  "@clack/prompts": "^1.8.1",
245
- "@code-yeongyu/senpi": "2026.9.30",
245
+ "@code-yeongyu/senpi": "2026.10.1-2",
246
246
  "@modelcontextprotocol/sdk": "^1.30.0",
247
247
  "@oh-my-opencode/agents-md-core": "workspace:*",
248
248
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
@@ -300,18 +300,18 @@ var init_package = __esm(() => {
300
300
  typescript: "^7.0.2"
301
301
  },
302
302
  optionalDependencies: {
303
- "oh-my-opencode-darwin-arm64": "5.1.7",
304
- "oh-my-opencode-darwin-x64": "5.1.7",
305
- "oh-my-opencode-darwin-x64-baseline": "5.1.7",
306
- "oh-my-opencode-linux-arm64": "5.1.7",
307
- "oh-my-opencode-linux-arm64-musl": "5.1.7",
308
- "oh-my-opencode-linux-x64": "5.1.7",
309
- "oh-my-opencode-linux-x64-baseline": "5.1.7",
310
- "oh-my-opencode-linux-x64-musl": "5.1.7",
311
- "oh-my-opencode-linux-x64-musl-baseline": "5.1.7",
312
- "oh-my-opencode-windows-arm64": "5.1.7",
313
- "oh-my-opencode-windows-x64": "5.1.7",
314
- "oh-my-opencode-windows-x64-baseline": "5.1.7"
303
+ "oh-my-opencode-darwin-arm64": "5.1.8",
304
+ "oh-my-opencode-darwin-x64": "5.1.8",
305
+ "oh-my-opencode-darwin-x64-baseline": "5.1.8",
306
+ "oh-my-opencode-linux-arm64": "5.1.8",
307
+ "oh-my-opencode-linux-arm64-musl": "5.1.8",
308
+ "oh-my-opencode-linux-x64": "5.1.8",
309
+ "oh-my-opencode-linux-x64-baseline": "5.1.8",
310
+ "oh-my-opencode-linux-x64-musl": "5.1.8",
311
+ "oh-my-opencode-linux-x64-musl-baseline": "5.1.8",
312
+ "oh-my-opencode-windows-arm64": "5.1.8",
313
+ "oh-my-opencode-windows-x64": "5.1.8",
314
+ "oh-my-opencode-windows-x64-baseline": "5.1.8"
315
315
  },
316
316
  overrides: {
317
317
  hono: "^4.13.8",
@@ -7408,7 +7408,7 @@ var init_category_model_requirements = __esm(() => {
7408
7408
  {
7409
7409
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
7410
7410
  model: "gpt-6-astra",
7411
- variant: "xhigh"
7411
+ variant: "high"
7412
7412
  }
7413
7413
  ]
7414
7414
  },
@@ -9517,7 +9517,7 @@ var init_openai_categories = __esm(() => {
9517
9517
  },
9518
9518
  {
9519
9519
  name: "deep-high",
9520
- config: { model: "openai/gpt-6-astra", variant: "xhigh" },
9520
+ config: { model: "openai/gpt-6-astra", variant: "high" },
9521
9521
  description: "Escalation deep lane: a goal whose central decision cannot be settled from evidence alone. Same one-goal, one-deliverable contract as deep-low.",
9522
9522
  callerGuidance: DEEP_HIGH_CATEGORY_CALLER_GUIDANCE,
9523
9523
  promptAppend: DEEP_HIGH_CATEGORY_PROMPT_APPEND,
@@ -68270,28 +68270,6 @@ var init_legacy_workspace_migration = __esm(() => {
68270
68270
  // packages/omo-opencode/src/shared/model-string-parser.ts
68271
68271
  var init_model_string_parser2 = () => {};
68272
68272
 
68273
- // packages/omo-opencode/src/shared/excluded-dirs.ts
68274
- var EXCLUDED_DIR_NAMES, EXCLUDED_DIRS;
68275
- var init_excluded_dirs = __esm(() => {
68276
- EXCLUDED_DIR_NAMES = [
68277
- "node_modules",
68278
- ".git",
68279
- "dist",
68280
- "build",
68281
- ".next",
68282
- ".omo",
68283
- ".sisyphus",
68284
- ".turbo",
68285
- "coverage",
68286
- "out",
68287
- ".cache",
68288
- ".vscode-test",
68289
- "target",
68290
- ".local-ignore"
68291
- ];
68292
- EXCLUDED_DIRS = Object.freeze(new Set(EXCLUDED_DIR_NAMES));
68293
- });
68294
-
68295
68273
  // packages/omo-opencode/src/shared/replace-tool-args.ts
68296
68274
  var init_replace_tool_args = () => {};
68297
68275
 
@@ -68302,7 +68280,6 @@ var init_shared = __esm(() => {
68302
68280
  init_model_resolution_pipeline();
68303
68281
  init_session_category_registry();
68304
68282
  init_model_string_parser2();
68305
- init_excluded_dirs();
68306
68283
  init_frontmatter2();
68307
68284
  init_command_executor2();
68308
68285
  init_contains_path2();
@@ -74689,7 +74666,8 @@ var init_memory = __esm(() => {
74689
74666
  event_caps: OmoMemoryRecallEventCapsSchema.default({ tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 }),
74690
74667
  sidecar_max_tokens: number2().int().positive().default(48000),
74691
74668
  max_concurrent_wakes: number2().int().positive().default(2),
74692
- tool_budget: number2().int().positive().default(8)
74669
+ tool_budget: number2().int().positive().default(8),
74670
+ query_expansion: boolean2().default(false)
74693
74671
  }).strict();
74694
74672
  OmoMemoryNudgeSchema = object({
74695
74673
  enabled: boolean2().default(true),
@@ -74750,7 +74728,8 @@ var init_memory = __esm(() => {
74750
74728
  event_caps: OmoMemoryRecallEventCapsLayerSchema.optional(),
74751
74729
  sidecar_max_tokens: number2().int().positive().optional(),
74752
74730
  max_concurrent_wakes: number2().int().positive().optional(),
74753
- tool_budget: number2().int().positive().optional()
74731
+ tool_budget: number2().int().positive().optional(),
74732
+ query_expansion: boolean2().optional()
74754
74733
  }).strict();
74755
74734
  OmoMemoryNudgeLayerSchema = object({
74756
74735
  enabled: boolean2().optional(),
@@ -74827,7 +74806,8 @@ var init_memory = __esm(() => {
74827
74806
  event_caps: { tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 },
74828
74807
  sidecar_max_tokens: 48000,
74829
74808
  max_concurrent_wakes: 2,
74830
- tool_budget: 8
74809
+ tool_budget: 8,
74810
+ query_expansion: false
74831
74811
  }),
74832
74812
  compile_warn_tokens: number2().int().positive().default(30000),
74833
74813
  agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
@@ -89456,7 +89436,7 @@ var package_default2;
89456
89436
  var init_package2 = __esm(() => {
89457
89437
  package_default2 = {
89458
89438
  name: "@oh-my-opencode/omo-codex",
89459
- version: "5.1.7",
89439
+ version: "5.1.8",
89460
89440
  type: "module",
89461
89441
  private: true,
89462
89442
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
package/dist/index.js CHANGED
@@ -20373,7 +20373,8 @@ var OmoMemoryRecallSchema = z8.object({
20373
20373
  event_caps: OmoMemoryRecallEventCapsSchema.default({ tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 }),
20374
20374
  sidecar_max_tokens: z8.number().int().positive().default(48000),
20375
20375
  max_concurrent_wakes: z8.number().int().positive().default(2),
20376
- tool_budget: z8.number().int().positive().default(8)
20376
+ tool_budget: z8.number().int().positive().default(8),
20377
+ query_expansion: z8.boolean().default(false)
20377
20378
  }).strict();
20378
20379
  var OmoMemoryNudgeSchema = z8.object({
20379
20380
  enabled: z8.boolean().default(true),
@@ -20434,7 +20435,8 @@ var OmoMemoryRecallLayerSchema = z8.object({
20434
20435
  event_caps: OmoMemoryRecallEventCapsLayerSchema.optional(),
20435
20436
  sidecar_max_tokens: z8.number().int().positive().optional(),
20436
20437
  max_concurrent_wakes: z8.number().int().positive().optional(),
20437
- tool_budget: z8.number().int().positive().optional()
20438
+ tool_budget: z8.number().int().positive().optional(),
20439
+ query_expansion: z8.boolean().optional()
20438
20440
  }).strict();
20439
20441
  var OmoMemoryNudgeLayerSchema = z8.object({
20440
20442
  enabled: z8.boolean().optional(),
@@ -20511,7 +20513,8 @@ var OmoMemorySettingsSchema = z8.object({
20511
20513
  event_caps: { tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 },
20512
20514
  sidecar_max_tokens: 48000,
20513
20515
  max_concurrent_wakes: 2,
20514
- tool_budget: 8
20516
+ tool_budget: 8,
20517
+ query_expansion: false
20515
20518
  }),
20516
20519
  compile_warn_tokens: z8.number().int().positive().default(30000),
20517
20520
  agents: z8.record(z8.string(), OmoMemoryAgentOverridesSchema).default({})
@@ -22968,7 +22971,7 @@ var CATEGORY_MODEL_REQUIREMENTS = {
22968
22971
  {
22969
22972
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
22970
22973
  model: "gpt-6-astra",
22971
- variant: "xhigh"
22974
+ variant: "high"
22972
22975
  }
22973
22976
  ]
22974
22977
  },
@@ -27797,7 +27800,7 @@ var OPENAI_CATEGORIES = [
27797
27800
  },
27798
27801
  {
27799
27802
  name: "deep-high",
27800
- config: { model: "openai/gpt-6-astra", variant: "xhigh" },
27803
+ config: { model: "openai/gpt-6-astra", variant: "high" },
27801
27804
  description: "Escalation deep lane: a goal whose central decision cannot be settled from evidence alone. Same one-goal, one-deliverable contract as deep-low.",
27802
27805
  callerGuidance: DEEP_HIGH_CATEGORY_CALLER_GUIDANCE,
27803
27806
  promptAppend: DEEP_HIGH_CATEGORY_PROMPT_APPEND,
@@ -88276,24 +88279,6 @@ function migrateLegacyWorkspaceDirectory(directory) {
88276
88279
  function isTaskSystemEnabled(config) {
88277
88280
  return config.experimental?.task_system ?? false;
88278
88281
  }
88279
- // packages/omo-opencode/src/shared/excluded-dirs.ts
88280
- var EXCLUDED_DIR_NAMES = [
88281
- "node_modules",
88282
- ".git",
88283
- "dist",
88284
- "build",
88285
- ".next",
88286
- ".omo",
88287
- ".sisyphus",
88288
- ".turbo",
88289
- "coverage",
88290
- "out",
88291
- ".cache",
88292
- ".vscode-test",
88293
- "target",
88294
- ".local-ignore"
88295
- ];
88296
- var EXCLUDED_DIRS = Object.freeze(new Set(EXCLUDED_DIR_NAMES));
88297
88282
  // packages/omo-opencode/src/shared/replace-tool-args.ts
88298
88283
  init_src();
88299
88284
  // packages/omo-opencode/src/cli/config-manager/config-context.ts
@@ -91512,7 +91497,7 @@ var RULE_EXTENSIONS = [".md", ".mdc"];
91512
91497
  var GITHUB_INSTRUCTIONS_PATTERN = /\.instructions\.md$/;
91513
91498
  var AGENTS_FILENAME = "AGENTS.md";
91514
91499
  var GLOBAL_DISTANCE = 9999;
91515
- var EXCLUDED_DIRS2 = new Set(["node_modules", ".git", "dist", "build", ".turbo", ".next", "coverage"]);
91500
+ var EXCLUDED_DIRS = new Set(["node_modules", ".git", "dist", "build", ".turbo", ".next", "coverage"]);
91516
91501
  var SOURCE_PRIORITY = new Map([
91517
91502
  [".omo/rules", 0],
91518
91503
  [".claude/rules", 1],
@@ -91650,7 +91635,7 @@ function findRuleFilesRecursive(dir, results, visited = new Set, boundaryRoot) {
91650
91635
  for (const entry of entries) {
91651
91636
  const fullPath = join50(dir, entry.name);
91652
91637
  if (entry.isDirectory()) {
91653
- if (!EXCLUDED_DIRS2.has(entry.name))
91638
+ if (!EXCLUDED_DIRS.has(entry.name))
91654
91639
  findRuleFilesRecursive(fullPath, results, visited, effectiveBoundary);
91655
91640
  continue;
91656
91641
  }
@@ -98590,7 +98575,7 @@ function getCachedVersion(options = {}) {
98590
98575
  // package.json
98591
98576
  var package_default = {
98592
98577
  name: "oh-my-opencode",
98593
- version: "5.1.7",
98578
+ version: "5.1.8",
98594
98579
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
98595
98580
  main: "./dist/index.js",
98596
98581
  types: "dist/index.d.ts",
@@ -98767,7 +98752,7 @@ var package_default = {
98767
98752
  },
98768
98753
  devDependencies: {
98769
98754
  "@clack/prompts": "^1.8.1",
98770
- "@code-yeongyu/senpi": "2026.9.30",
98755
+ "@code-yeongyu/senpi": "2026.10.1-2",
98771
98756
  "@modelcontextprotocol/sdk": "^1.30.0",
98772
98757
  "@oh-my-opencode/agents-md-core": "workspace:*",
98773
98758
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
@@ -98825,18 +98810,18 @@ var package_default = {
98825
98810
  typescript: "^7.0.2"
98826
98811
  },
98827
98812
  optionalDependencies: {
98828
- "oh-my-opencode-darwin-arm64": "5.1.7",
98829
- "oh-my-opencode-darwin-x64": "5.1.7",
98830
- "oh-my-opencode-darwin-x64-baseline": "5.1.7",
98831
- "oh-my-opencode-linux-arm64": "5.1.7",
98832
- "oh-my-opencode-linux-arm64-musl": "5.1.7",
98833
- "oh-my-opencode-linux-x64": "5.1.7",
98834
- "oh-my-opencode-linux-x64-baseline": "5.1.7",
98835
- "oh-my-opencode-linux-x64-musl": "5.1.7",
98836
- "oh-my-opencode-linux-x64-musl-baseline": "5.1.7",
98837
- "oh-my-opencode-windows-arm64": "5.1.7",
98838
- "oh-my-opencode-windows-x64": "5.1.7",
98839
- "oh-my-opencode-windows-x64-baseline": "5.1.7"
98813
+ "oh-my-opencode-darwin-arm64": "5.1.8",
98814
+ "oh-my-opencode-darwin-x64": "5.1.8",
98815
+ "oh-my-opencode-darwin-x64-baseline": "5.1.8",
98816
+ "oh-my-opencode-linux-arm64": "5.1.8",
98817
+ "oh-my-opencode-linux-arm64-musl": "5.1.8",
98818
+ "oh-my-opencode-linux-x64": "5.1.8",
98819
+ "oh-my-opencode-linux-x64-baseline": "5.1.8",
98820
+ "oh-my-opencode-linux-x64-musl": "5.1.8",
98821
+ "oh-my-opencode-linux-x64-musl-baseline": "5.1.8",
98822
+ "oh-my-opencode-windows-arm64": "5.1.8",
98823
+ "oh-my-opencode-windows-x64": "5.1.8",
98824
+ "oh-my-opencode-windows-x64-baseline": "5.1.8"
98840
98825
  },
98841
98826
  overrides: {
98842
98827
  hono: "^4.13.8",
@@ -111807,6 +111792,26 @@ function readOpencodeConfigSkills(directory) {
111807
111792
  // packages/omo-opencode/src/tools/slashcommand/command-discovery.ts
111808
111793
  import { existsSync as existsSync76, readdirSync as readdirSync23, readFileSync as readFileSync52, statSync as statSync12 } from "fs";
111809
111794
  import { basename as basename15, join as join100 } from "path";
111795
+
111796
+ // packages/omo-opencode/src/shared/excluded-dirs.ts
111797
+ var EXCLUDED_DIR_NAMES = [
111798
+ "node_modules",
111799
+ ".git",
111800
+ "dist",
111801
+ "build",
111802
+ ".next",
111803
+ ".omo",
111804
+ ".sisyphus",
111805
+ ".turbo",
111806
+ "coverage",
111807
+ "out",
111808
+ ".cache",
111809
+ ".vscode-test",
111810
+ "target",
111811
+ ".local-ignore"
111812
+ ];
111813
+ var EXCLUDED_DIRS2 = Object.freeze(new Set(EXCLUDED_DIR_NAMES));
111814
+ // packages/omo-opencode/src/tools/slashcommand/command-discovery.ts
111810
111815
  init_logger2();
111811
111816
 
111812
111817
  // packages/omo-opencode/src/features/builtin-commands/templates/goal.ts
@@ -113330,7 +113335,7 @@ function discoverCommandsFromDir(commandsDir, scope, prefix = "") {
113330
113335
  const commands = [];
113331
113336
  for (const entry of entries) {
113332
113337
  if (entry.isDirectory()) {
113333
- if (EXCLUDED_DIRS.has(entry.name))
113338
+ if (EXCLUDED_DIRS2.has(entry.name))
113334
113339
  continue;
113335
113340
  if (entry.name.startsWith("."))
113336
113341
  continue;
@@ -78,5 +78,4 @@ export * from "./legacy-workspace-migration";
78
78
  export * from "./task-system-enabled";
79
79
  export * from "./parse-tools-config";
80
80
  export { parseModelString } from "./model-string-parser";
81
- export { EXCLUDED_DIRS } from "./excluded-dirs";
82
81
  export * from "./replace-tool-args";
@@ -1,5 +1,3 @@
1
- export declare const LIVE_ROUTE_DISPATCH_LOG = "[live-server-route] dispatch via live listener";
2
- export declare const LIVE_ROUTE_UNAVAILABLE_LOG = "[live-server-route] route unavailable; using in-process client";
3
1
  type RouteResult = {
4
2
  client: unknown;
5
3
  route: "live" | "in-process";
@@ -1,4 +1 @@
1
- import { closeTmuxPaneWithDependencies, type CloseTmuxPaneDependencies } from "@oh-my-opencode/tmux-core";
2
1
  export declare function closeTmuxPane(paneId: string): Promise<boolean>;
3
- export { closeTmuxPaneWithDependencies };
4
- export type { CloseTmuxPaneDependencies };
@@ -1,2 +1,2 @@
1
- export { createServerHealthState, createServerHealthStateForTesting, isServerRunning, markServerRunningInProcess, resetServerCheck, } from "@oh-my-opencode/tmux-core";
1
+ export { createServerHealthState, isServerRunning, markServerRunningInProcess, resetServerCheck, } from "@oh-my-opencode/tmux-core";
2
2
  export type { ServerHealthState } from "@oh-my-opencode/tmux-core";
@@ -5,5 +5,5 @@
5
5
  "index.js": "b6b064fab277031c6c51f5a58b84b31040f9960bf767bf646adc0540c1d25c1b",
6
6
  "page-bundle.js": "bfd51e8383cf47200d57387bbbed258bce5a3a3d00c38fc108034d2888e23f0c"
7
7
  },
8
- "stagedAtUtc": "2026-09-30T23:56:16.088Z"
8
+ "stagedAtUtc": "2026-10-01T14:47:54.204Z"
9
9
  }
@@ -73,7 +73,7 @@ Each phase has exactly one reference. Read it as you enter the phase — not in
73
73
  | 4 | **Oracle Triple** — after 2 consecutive failed rounds, spawn three Oracles with orthogonal framings and synthesize | [references/methodology/04-oracle-triple.md](references/methodology/04-oracle-triple.md) |
74
74
  | 5 | **User decision escalation** — only when evidence exhausted and the call has policy implications | [references/methodology/05-escalate.md](references/methodology/05-escalate.md) |
75
75
  | 6 | **Root cause confirmation** — confirmed only when toggling the suspected cause toggles the bug | [references/methodology/06-fix.md](references/methodology/06-fix.md) |
76
- | 7 | **TDD fix** — red test first, minimal green, no scope expansion | [references/methodology/06-fix.md](references/methodology/06-fix.md) |
76
+ | 7 | **Fix locked by a failing proof** — reuse the owner test that already fails or add one regression that fails on the pre-fix code, minimal green, no scope expansion | [references/methodology/06-fix.md](references/methodology/06-fix.md) |
77
77
  | 8 | **Manual QA** — actually use the system (tmux for CLI, Playwright for browser, real curl for API, real repro for binary) | [references/methodology/08-qa.md](references/methodology/08-qa.md) |
78
78
  | 9 | **Cleanup** — walk the journal, revert every artifact, verify `git diff` shows only fix + test | [references/methodology/09-cleanup.md](references/methodology/09-cleanup.md) |
79
79
  | 10 | **Final verification** — four evidence gates before declaring done | [references/methodology/09-cleanup.md](references/methodology/09-cleanup.md) |
@@ -51,6 +51,14 @@ The "mechanism" field is the acid test. If you can't write the causal chain from
51
51
 
52
52
  Red, green, refactor. No shortcuts.
53
53
 
54
+ ### 0. Look for the owner test first
55
+
56
+ Before writing a reproduction test, find the test that already owns this contract at the strongest boundary. Run it on the pre-fix code:
57
+
58
+ - **It already fails for this bug.** It is the red proof. Record its failure and skip step 1.
59
+ - **It passes but covers the path.** Extend it with the failing case (a table row, a fixture case) instead of adding a parallel test.
60
+ - **No owner exists.** Write the new reproduction test in step 1, and apply the repository's test-authoring gate if it has one.
61
+
54
62
  ### 1. Red — the reproduction as a test
55
63
 
56
64
  Write a test that fails *specifically because of this bug*. Requirements:
package/dist/tui.js CHANGED
@@ -3517,7 +3517,7 @@ var init_category_model_requirements = __esm(() => {
3517
3517
  {
3518
3518
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
3519
3519
  model: "gpt-6-astra",
3520
- variant: "xhigh"
3520
+ variant: "high"
3521
3521
  }
3522
3522
  ]
3523
3523
  },
@@ -5319,7 +5319,7 @@ var init_openai_categories = __esm(() => {
5319
5319
  },
5320
5320
  {
5321
5321
  name: "deep-high",
5322
- config: { model: "openai/gpt-6-astra", variant: "xhigh" },
5322
+ config: { model: "openai/gpt-6-astra", variant: "high" },
5323
5323
  description: "Escalation deep lane: a goal whose central decision cannot be settled from evidence alone. Same one-goal, one-deliverable contract as deep-low.",
5324
5324
  callerGuidance: DEEP_HIGH_CATEGORY_CALLER_GUIDANCE,
5325
5325
  promptAppend: DEEP_HIGH_CATEGORY_PROMPT_APPEND,
@@ -63514,28 +63514,6 @@ var init_legacy_workspace_migration = __esm(() => {
63514
63514
  // packages/omo-opencode/src/shared/model-string-parser.ts
63515
63515
  var init_model_string_parser2 = () => {};
63516
63516
 
63517
- // packages/omo-opencode/src/shared/excluded-dirs.ts
63518
- var EXCLUDED_DIR_NAMES, EXCLUDED_DIRS;
63519
- var init_excluded_dirs = __esm(() => {
63520
- EXCLUDED_DIR_NAMES = [
63521
- "node_modules",
63522
- ".git",
63523
- "dist",
63524
- "build",
63525
- ".next",
63526
- ".omo",
63527
- ".sisyphus",
63528
- ".turbo",
63529
- "coverage",
63530
- "out",
63531
- ".cache",
63532
- ".vscode-test",
63533
- "target",
63534
- ".local-ignore"
63535
- ];
63536
- EXCLUDED_DIRS = Object.freeze(new Set(EXCLUDED_DIR_NAMES));
63537
- });
63538
-
63539
63517
  // packages/omo-opencode/src/shared/replace-tool-args.ts
63540
63518
  var init_replace_tool_args = () => {};
63541
63519
 
@@ -63546,7 +63524,6 @@ var init_shared = __esm(() => {
63546
63524
  init_model_resolution_pipeline();
63547
63525
  init_session_category_registry();
63548
63526
  init_model_string_parser2();
63549
- init_excluded_dirs();
63550
63527
  init_frontmatter2();
63551
63528
  init_command_executor2();
63552
63529
  init_contains_path2();
@@ -69930,7 +69907,8 @@ var init_memory = __esm(() => {
69930
69907
  event_caps: OmoMemoryRecallEventCapsSchema.default({ tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 }),
69931
69908
  sidecar_max_tokens: number2().int().positive().default(48000),
69932
69909
  max_concurrent_wakes: number2().int().positive().default(2),
69933
- tool_budget: number2().int().positive().default(8)
69910
+ tool_budget: number2().int().positive().default(8),
69911
+ query_expansion: boolean2().default(false)
69934
69912
  }).strict();
69935
69913
  OmoMemoryNudgeSchema = object({
69936
69914
  enabled: boolean2().default(true),
@@ -69991,7 +69969,8 @@ var init_memory = __esm(() => {
69991
69969
  event_caps: OmoMemoryRecallEventCapsLayerSchema.optional(),
69992
69970
  sidecar_max_tokens: number2().int().positive().optional(),
69993
69971
  max_concurrent_wakes: number2().int().positive().optional(),
69994
- tool_budget: number2().int().positive().optional()
69972
+ tool_budget: number2().int().positive().optional(),
69973
+ query_expansion: boolean2().optional()
69995
69974
  }).strict();
69996
69975
  OmoMemoryNudgeLayerSchema = object({
69997
69976
  enabled: boolean2().optional(),
@@ -70068,7 +70047,8 @@ var init_memory = __esm(() => {
70068
70047
  event_caps: { tool_args: 400, result_head: 600, assistant: 1500, prompt: 4000 },
70069
70048
  sidecar_max_tokens: 48000,
70070
70049
  max_concurrent_wakes: 2,
70071
- tool_budget: 8
70050
+ tool_budget: 8,
70051
+ query_expansion: false
70072
70052
  }),
70073
70053
  compile_warn_tokens: number2().int().positive().default(30000),
70074
70054
  agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
@@ -74617,7 +74597,7 @@ init_shared();
74617
74597
  // package.json
74618
74598
  var package_default = {
74619
74599
  name: "oh-my-opencode",
74620
- version: "5.1.7",
74600
+ version: "5.1.8",
74621
74601
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
74622
74602
  main: "./dist/index.js",
74623
74603
  types: "dist/index.d.ts",
@@ -74794,7 +74774,7 @@ var package_default = {
74794
74774
  },
74795
74775
  devDependencies: {
74796
74776
  "@clack/prompts": "^1.8.1",
74797
- "@code-yeongyu/senpi": "2026.9.30",
74777
+ "@code-yeongyu/senpi": "2026.10.1-2",
74798
74778
  "@modelcontextprotocol/sdk": "^1.30.0",
74799
74779
  "@oh-my-opencode/agents-md-core": "workspace:*",
74800
74780
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
@@ -74852,18 +74832,18 @@ var package_default = {
74852
74832
  typescript: "^7.0.2"
74853
74833
  },
74854
74834
  optionalDependencies: {
74855
- "oh-my-opencode-darwin-arm64": "5.1.7",
74856
- "oh-my-opencode-darwin-x64": "5.1.7",
74857
- "oh-my-opencode-darwin-x64-baseline": "5.1.7",
74858
- "oh-my-opencode-linux-arm64": "5.1.7",
74859
- "oh-my-opencode-linux-arm64-musl": "5.1.7",
74860
- "oh-my-opencode-linux-x64": "5.1.7",
74861
- "oh-my-opencode-linux-x64-baseline": "5.1.7",
74862
- "oh-my-opencode-linux-x64-musl": "5.1.7",
74863
- "oh-my-opencode-linux-x64-musl-baseline": "5.1.7",
74864
- "oh-my-opencode-windows-arm64": "5.1.7",
74865
- "oh-my-opencode-windows-x64": "5.1.7",
74866
- "oh-my-opencode-windows-x64-baseline": "5.1.7"
74835
+ "oh-my-opencode-darwin-arm64": "5.1.8",
74836
+ "oh-my-opencode-darwin-x64": "5.1.8",
74837
+ "oh-my-opencode-darwin-x64-baseline": "5.1.8",
74838
+ "oh-my-opencode-linux-arm64": "5.1.8",
74839
+ "oh-my-opencode-linux-arm64-musl": "5.1.8",
74840
+ "oh-my-opencode-linux-x64": "5.1.8",
74841
+ "oh-my-opencode-linux-x64-baseline": "5.1.8",
74842
+ "oh-my-opencode-linux-x64-musl": "5.1.8",
74843
+ "oh-my-opencode-linux-x64-musl-baseline": "5.1.8",
74844
+ "oh-my-opencode-windows-arm64": "5.1.8",
74845
+ "oh-my-opencode-windows-x64": "5.1.8",
74846
+ "oh-my-opencode-windows-x64-baseline": "5.1.8"
74867
74847
  },
74868
74848
  overrides: {
74869
74849
  hono: "^4.13.8",