YeonGyu-Kim
8e55f4ee5d
fix: export fallback availability from traced module
2026-02-17 10:47:09 +09:00
YeonGyu-Kim
fcf3adf43a
fix: add fallback resolution warnings for unavailable models
2026-02-17 10:29:48 +09:00
YeonGyu-Kim
6abe98fb4c
fix(tmux): stop layout override after spawn, use configured main pane size
...
Remove applyLayout(select-layout main-vertical) call after spawn which
was destroying grid arrangements by forcing vertical stacking. Now only
enforceMainPaneWidth is called, preserving the grid created by manual
split directions. Also fix enforceMainPaneWidth to use config's
main_pane_size percentage instead of hardcoded 50%.
2026-02-17 09:50:17 +09:00
YeonGyu-Kim
34f212c2cb
fix(tmux): use actual pane dimensions and configured min width for grid calculation
...
Agent area width now uses real mainPane.width instead of hardcoded 50%
ratio. Grid planning, split availability, and spawn target finding now
respect user's agent_pane_min_width config instead of hardcoded
MIN_PANE_WIDTH=52, enabling 2-column grid layouts on narrower terminals.
2026-02-17 09:48:18 +09:00
YeonGyu-Kim
bbb89c5465
update: always wait for Oracle results instead of blanket background_cancel(all=true)
2026-02-17 09:42:59 +09:00
YeonGyu-Kim
c7ed266806
fix: stop tracking sessions that never become ready
...
When session readiness times out, immediately close the spawned pane and skip tracking to prevent stale mappings from causing reopen and close anomalies.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-17 03:40:55 +09:00
YeonGyu-Kim
b29d3ce382
fix: size main pane using configured layout percentage
...
Main pane resize now uses main_pane_size instead of a hardcoded 50 percent fallback so post-split layout remains stable and predictable.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-17 03:40:46 +09:00
YeonGyu-Kim
3974fce4fb
fix: align split targeting with configured pane width
...
Use the configured agent pane width consistently in split target selection and avoid close+spawn churn by replacing the oldest pane when eviction is required.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-17 03:40:37 +09:00
YeonGyu-Kim
51c29887eb
refactor: route status porcelain map parsing through line parser
2026-02-17 03:29:10 +09:00
YeonGyu-Kim
5a3350f00e
test: add dedicated status porcelain line parser with coverage
2026-02-17 03:29:01 +09:00
YeonGyu-Kim
2287392203
update: Hephaestus completion guarantee, Sisyphus-Junior Hephaestus-style rewrite, snake_case tools
...
Hephaestus:
- Add Completion Guarantee section with Codex-style persistence framing
- Add explicit explore/librarian call syntax examples (subagent_type, not category)
- Use positive 'keep going until resolved' over negative 'NEVER stop'
- Fix tool names: TaskCreate/TaskUpdate → task_create/task_update
Sisyphus-Junior GPT:
- Full Hephaestus-style rewrite: autonomy, reporting, parallelism, tool usage
- Remove Blocked & Allowed Tools section and 'You work ALONE' messaging
- Add Progress Updates, Ambiguity Protocol, Code Quality sections
- Fix tool names: TaskCreate/TaskUpdate → task_create/task_update
Sisyphus-Junior Default:
- Remove buildConstraintsSection and blocked actions messaging
- Fix tool names: TaskCreate/TaskUpdate → task_create/task_update
Tests: update all assertions for new prompt structure (31/31 pass)
2026-02-17 03:12:32 +09:00
YeonGyu-Kim
3e06d280a9
fix: prevent overlapping poll cycles in managers
...
Guarding polling re-entry avoids stacked async polls under slow responses, and unref on pending-call cleanup timer reduces idle wakeups.
2026-02-17 03:06:40 +09:00
YeonGyu-Kim
14374095af
update: soften Hephaestus brevity bias — replace 'brief/briefly' with 'clear' throughout
...
Replace 7 instances of brief/briefly that caused over-terse behavior:
- 'briefly restate' → 'restate'
- 'brief summary' → 'clear summary'
- 'briefly state the WHY' → 'explain the WHY' (×2)
- 'brief context' → 'clear context'
- 'Brief updates' → 'Clear updates (a few sentences)'
- 'keep it brief and clear' → 'keep it clear and helpful'
2026-02-17 02:58:42 +09:00
YeonGyu-Kim
d2ae3999a2
update: Hephaestus prompt — restore intent gate, strengthen parallelism and reporting
...
- Restore Assumptions Check and When to Challenge the User from Sisyphus intent gate
- Add proactive explore/librarian firing to CORRECT behavior list
- Strengthen parallel execution with GPT-5.2 tool_usage_rules (parallelize ALL independent calls)
- Embed reporting into each Execution Loop step (Tell user pattern)
- Strengthen Progress Updates with plain-language and WHY-not-just-WHAT guidance
- Add post-edit reporting to Output Contract and After Implementation
- Fix Output Contract preamble conflict (skip empty preambles, but DO report actions)
2026-02-17 02:56:22 +09:00
YeonGyu-Kim
71e4f975bb
refactor: diet Hephaestus prompt — remove redundancy, add progress updates and skill examples
...
- Remove router nudge (reasoning configuration section)
- Remove redundant sections: Role & Agency, Judicious Initiative, Success
Criteria, Response Compaction, Soft Guidelines
- Merge Identity + Core Principle into compact Identity section
- Restore autonomous behavior policy (FORBIDDEN/CORRECT) from Role & Agency
- Add Progress Updates section with friendly tone and concrete examples
- Add Skill Loading Examples table (frontend-ui-ux, playwright, git-master, tauri)
- Condense Parallel Execution, Execution Loop, Verification, Failure Recovery
- Update Output Contract with friendly communication style
651 → 437 lines (33% reduction), behavior preserved
2026-02-17 02:46:11 +09:00
YeonGyu-Kim
289fcdffe8
fix: skip startup toasts in CLI run mode for auto-update-checker
...
Add OPENCODE_CLI_RUN_MODE environment variable check to skip all startup
toasts and version checks when running in CLI mode. This prevents
notification spam during automated CLI run sessions.
Includes comprehensive test coverage for CLI run mode behavior.
🤖 Generated with OhMyOpenCode assistance
2026-02-17 02:34:39 +09:00
YeonGyu-Kim
d3f24aa608
fix: add directory parameter and improve CLI run session handling
...
- Add directory parameter to session API calls (session.get, session.todo,
session.status, session.children)
- Improve agent resolver with display name support via agent-display-names
- Add tool execution visibility in event handlers with running/completed
status output
- Enhance poll-for-completion with main session status checking and
stabilization period handling
- Add normalizeSDKResponse import for consistent response handling
- Update types with Todo, ChildSession, and toast-related interfaces
🤖 Generated with OhMyOpenCode assistance
2026-02-17 02:34:35 +09:00
YeonGyu-Kim
014e35609e
fix: invoke claude-code-hooks PreCompact in session compacting handler
...
The experimental.session.compacting handler was not delegating to
claudeCodeHooks, making PreCompact hooks from .claude/settings.json
dead code. Also fixed premature early-return when compactionContextInjector
was null which would skip any subsequent hooks.
2026-02-17 02:14:01 +09:00
YeonGyu-Kim
0ff159e150
fix: prefer a runnable opencode binary for cli run
2026-02-17 02:12:36 +09:00
YeonGyu-Kim
bba157f51e
fix: include provider-models cache for Hephaestus availability
2026-02-17 02:03:03 +09:00
YeonGyu-Kim
e0ec44bea9
fix: skip compaction messages in parent-session context lookup
2026-02-17 02:03:03 +09:00
YeonGyu-Kim
3dd9814ff7
Merge branch 'dev' into fix/1671-tmux-layout
2026-02-17 01:58:59 +09:00
YeonGyu-Kim
b10696250e
Merge pull request #1899 from code-yeongyu/fix/1700-vertex-anthropic
...
fix: recognize google-vertex-anthropic as Claude provider (#1700 )
2026-02-17 01:58:26 +09:00
YeonGyu-Kim
538c3c231c
Merge pull request #1897 from code-yeongyu/fix/1679-copilot-fallback
...
fix: handle all model versions in normalizeModelName for fallback chains (#1679 )
2026-02-17 01:58:24 +09:00
YeonGyu-Kim
db045497c3
Merge branch 'dev' into fix/1700-vertex-anthropic
2026-02-17 01:54:11 +09:00
YeonGyu-Kim
c211b31d3e
Merge branch 'dev' into fix/1671-tmux-layout
2026-02-17 01:54:08 +09:00
YeonGyu-Kim
0fa188e5ee
Merge branch 'dev' into fix/1679-copilot-fallback
2026-02-17 01:54:05 +09:00
YeonGyu-Kim
2d80b76b30
Merge branch 'dev' into fix/1681-oracle-json-parse
2026-02-17 01:54:03 +09:00
YeonGyu-Kim
bdbc111384
Merge pull request #1896 from code-yeongyu/fix/1283-review-code-silent-fail
...
fix: report silent subagent delegation failures (#1283 )
2026-02-17 01:53:56 +09:00
YeonGyu-Kim
12aae86dec
Merge pull request #1895 from code-yeongyu/fix/1718-windows-subagent-dir
...
fix: use correct project directory for Windows subagents (#1718 )
2026-02-17 01:53:43 +09:00
YeonGyu-Kim
9d3ac67da7
fix: detect AppData directory paths without trailing separators
2026-02-17 01:45:14 +09:00
Jason Kölker
97b57c1a64
fix(config): preserve configured default_agent
...
oh-my-opencode overwrote OpenCode's default_agent with sisyphus whenever
Sisyphus orchestration was enabled. This made explicit defaults like
Hephaestus ineffective and forced manual agent switching in new sessions.
Only assign sisyphus as default when default_agent is missing or blank,
and preserve existing configured values. Add tests for both preservation
and fallback behavior to prevent regressions.
2026-02-17 01:41:52 +09:00
YeonGyu-Kim
1c8e7dba9e
fix: apply tmux layout config during pane spawning ( #1671 )
2026-02-17 01:36:01 +09:00
YeonGyu-Kim
3a4325a800
Merge pull request #1884 from code-yeongyu/feat/hashline-edit
...
feat: port hashline edit tool from oh-my-pi
2026-02-17 01:35:22 +09:00
YeonGyu-Kim
1159f76d65
Merge pull request #1870 from dankochetov/fix/background-notification-hook-gate
...
fix(background-agent): honor disabled background-notification for system reminders
2026-02-17 01:35:21 +09:00
YeonGyu-Kim
f04045b335
Merge pull request #1708 from jsl9208/fix/ast-grep-replace-silent-noop
...
fix(ast-grep): fix ast_grep_replace silent write failure
2026-02-17 01:34:41 +09:00
YeonGyu-Kim
04ee341399
Merge pull request #1729 from potb/fix/1716-disabled-agents-call-omo
...
fix(call-omo-agent): enforce disabled_agents config
2026-02-17 01:34:38 +09:00
YeonGyu-Kim
f82f4b7288
Merge pull request #1819 from jonasherr/feat/add-playwright-cli-provider
...
feat(browser-automation): add playwright-cli as browser automation provider
2026-02-17 01:34:34 +09:00
YeonGyu-Kim
2f08c1d316
fix: use correct project directory for Windows subagents ( #1718 )
2026-02-17 01:29:25 +09:00
YeonGyu-Kim
f4fc2fbbfd
fix: resolve JSON parse error in Oracle after promptAsync refactor ( #1681 )
2026-02-17 01:29:17 +09:00
YeonGyu-Kim
80746b63e0
fix: recognize google-vertex-anthropic as Claude provider ( #1700 )
2026-02-17 01:28:27 +09:00
YeonGyu-Kim
1fa59efff5
fix: handle all model versions in normalizeModelName for fallback chains ( #1679 )
2026-02-17 01:27:10 +09:00
YeonGyu-Kim
41c57df6f9
fix: report errors instead of silent catch in subagent-resolver ( #1283 )
2026-02-17 01:26:58 +09:00
YeonGyu-Kim
8a80b88a08
refactor(hashline): override native edit tool instead of separate tool + disabler hook
...
Replace 3-component hashline system (separate hashline_edit tool + edit
disabler hook + OpenAI-exempted read enhancer) with 2-component system
that directly overrides the native edit tool key, matching the
delegate_task pattern.
- Register hashline tool as 'edit' key to override native edit
- Delete hashline-edit-disabler hook (no longer needed)
- Delete hashline-provider-state module (no remaining consumers)
- Remove OpenAI exemption from read enhancer (explicit opt-in means all providers)
- Remove setProvider wiring from chat-params
2026-02-17 00:03:10 +09:00
YeonGyu-Kim
bcf0a4998d
test(session-manager): fix storage tests by mocking message-dir dependency
2026-02-17 00:03:10 +09:00
YeonGyu-Kim
1345c0719d
test: skip 4 flaky session-manager tests (test order dependency)
2026-02-17 00:03:10 +09:00
YeonGyu-Kim
eb6be8ac7b
fix(hashline): address Cubic review comments
...
- P2: Change replace edit sorting from POSITIVE_INFINITY to NEGATIVE_INFINITY
so replace edits run LAST after line-based edits, preventing line number
shifts that would invalidate subsequent anchors
- P3: Update tool description from SHA-256 to xxHash32 to match actual
implementation in hash-computation.ts
2026-02-17 00:03:10 +09:00
YeonGyu-Kim
9bd21c8a67
feat(hashline): port hashline edit tool from oh-my-pi
...
This PR ports the hashline edit tool from oh-my-pi to oh-my-opencode as an experimental feature.
## Features
- New experimental.hashline_edit config flag
- hashline_edit tool with 4 operations: set_line, replace_lines, insert_after, replace
- Hash-based line anchors for safe concurrent editing
- Edit tool disabler for non-OpenAI providers
- Read output enhancer with LINE:HASH prefixes
- Provider state tracking module
## Technical Details
- xxHash32-based 2-char hex hashes
- Bottom-up edit application to prevent index shifting
- OpenAI provider exemption (uses native apply_patch)
- 90 tests covering all operations and edge cases
- All files under 200 LOC limit
## Files Added/Modified
- src/tools/hashline-edit/ (7 files, ~400 LOC)
- src/hooks/hashline-edit-disabler/ (4 files, ~200 LOC)
- src/hooks/hashline-read-enhancer/ (3 files, ~400 LOC)
- src/features/hashline-provider-state.ts (13 LOC)
- src/config/schema/experimental.ts (hashline_edit flag)
- src/config/schema/hooks.ts (2 new hook names)
- src/plugin/tool-registry.ts (conditional registration)
- src/plugin/chat-params.ts (provider state tracking)
- src/tools/index.ts (export)
- src/hooks/index.ts (exports)
2026-02-17 00:03:10 +09:00
YeonGyu-Kim
3e90ec6f93
feat(config): add experimental.hashline_edit flag and provider state module
2026-02-17 00:03:10 +09:00
YeonGyu-Kim
e403f3a028
Merge pull request #1721 from edxeth/fix/disable-mcps
...
fix(mcp): preserve user's enabled:false and apply disabled_mcps to all MCP sources
2026-02-16 23:52:24 +09:00