YeonGyu-Kim
e0de06851d
fix(publish): align repo guard and test topology
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-25 01:17:42 +09:00
YeonGyu-Kim
26ac413dd9
Merge pull request #2801 from MoerAI/fix/null-byte-sanitization
...
fix(tool-execute-before): strip null bytes from bash commands to prevent crash (fixes #2220 )
2026-03-25 01:12:45 +09:00
YeonGyu-Kim
81c912cf04
Merge pull request #2800 from MoerAI/fix/background-task-fallback-chain
...
fix(background-task): register fallback chain for background sessions (fixes #2203 )
2026-03-25 01:12:41 +09:00
YeonGyu-Kim
9c348db450
Merge pull request #2799 from MoerAI/fix/unstable-agent-config-override
...
fix(category-resolver): respect is_unstable_agent config override (fixes #2061 )
2026-03-25 01:12:36 +09:00
YeonGyu-Kim
2993b3255d
Merge pull request #2796 from guazi04/fix/circuit-breaker-false-positive-upstream
...
fix(circuit-breaker): treat unknown tool input as non-comparable to prevent false positives on flat events
2026-03-25 01:12:31 +09:00
YeonGyu-Kim
0b77e2def0
Merge pull request #2810 from code-yeongyu/fix/webfetch-redirect-loop
...
fix(webfetch): guard redirect loops in built-in flow
2026-03-25 00:40:54 +09:00
YeonGyu-Kim
bfa8fa2378
Merge pull request #2804 from code-yeongyu/fix/b2-hashline-formatter-cache-per-project
...
fix(hashline-edit): scope formatter cache by directory
2026-03-25 00:32:41 +09:00
YeonGyu-Kim
6ee680af99
Merge pull request #2809 from code-yeongyu/fix/2330-recursive-subagent-spawn
...
fix(task): preserve restricted agent tools in sync continuation
2026-03-25 00:32:14 +09:00
YeonGyu-Kim
d327334ded
Merge pull request #2808 from code-yeongyu/fix-gemini-3-pro-cleanup
...
fix(models): remove stale Gemini 3 Pro references
2026-03-25 00:32:10 +09:00
YeonGyu-Kim
07d120a78d
Merge pull request #2807 from code-yeongyu/fix/b4-manager-model-override-1774351606
...
fix(background-task): apply model override omission to manager live path
2026-03-25 00:31:49 +09:00
YeonGyu-Kim
8b7b1c843a
Merge pull request #2806 from code-yeongyu/fix/b5-permission-merge-order
...
fix(plugin): restore permission merge order precedence
2026-03-25 00:31:43 +09:00
YeonGyu-Kim
a1786f469d
Merge pull request #2805 from code-yeongyu/fix/b3-config-filename-precedence
...
fix(config): prefer canonical plugin config filenames
2026-03-25 00:31:18 +09:00
YeonGyu-Kim
da77d8addf
Merge pull request #2802 from code-yeongyu/fix/b1-preemptive-compaction-epoch-guard
...
fix: handle repeated compaction epochs in continuation guard
2026-03-25 00:30:54 +09:00
YeonGyu-Kim
971912e065
fix(webfetch): avoid rewriting successful redirect content
2026-03-24 23:59:57 +09:00
YeonGyu-Kim
af301ab29a
fix(webfetch): guard redirect loops in built-in flow
2026-03-24 23:58:53 +09:00
YeonGyu-Kim
984464470c
fix(task): preserve restricted agent tools in sync continuation
...
Restore sync continuation to apply agent tool restrictions after permissive defaults so resumed explore and librarian sessions cannot regain nested delegation. Add regression tests for resumed restricted agents while keeping plan-family continuation behavior intact.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-24 23:54:29 +09:00
YeonGyu-Kim
535ecee318
fix(models): remove stale Gemini 3 Pro references
...
Keep repo-owned CLI, docs, and test fixtures aligned with current Gemini 3.1 naming while leaving upstream catalog behavior untouched.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-24 23:53:56 +09:00
YeonGyu-Kim
32035d153e
fix(config): prefer canonical plugin config filenames
...
Ensure oh-my-opencode filenames always win over legacy oh-my-openagent files so readers match canonical writer behavior.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-24 20:38:54 +09:00
YeonGyu-Kim
a0649616bf
fix(todo-continuation-enforcer): acknowledge compaction epochs during idle
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-24 20:36:22 +09:00
YeonGyu-Kim
cb12b286c8
fix(todo-continuation-enforcer): arm compaction epochs on compaction
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-24 20:36:22 +09:00
YeonGyu-Kim
8e239e134c
fix(todo-continuation-enforcer): make compaction guard epoch-aware
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-24 20:36:22 +09:00
YeonGyu-Kim
733676f1a9
fix(todo-continuation-enforcer): add compaction epoch state
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-24 20:36:22 +09:00
YeonGyu-Kim
d2e566ba9d
fix(preemptive-compaction): mock session history in degradation test
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-24 20:36:22 +09:00
YeonGyu-Kim
6da4d2dae0
fix(hashline-edit): scope formatter cache by directory
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-24 20:30:16 +09:00
YeonGyu-Kim
3b41191980
fix(background-agent): honor explicit model override in manager
...
Keep BackgroundManager launch and resume from sending both agent and model so OpenCode does not override configured subagent models. Add launch and resume regressions for the live production path.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-24 20:28:01 +09:00
YeonGyu-Kim
0b614b751c
fix(permissions): preserve explicit deny over OmO defaults
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-24 20:24:14 +09:00
MoerAI
c56a01c15d
fix(tool-execute-before): strip null bytes from bash commands to prevent crash ( fixes #2220 )
2026-03-24 19:17:05 +09:00
MoerAI
d2d48fc9ff
fix(background-task): register fallback chain for background sessions ( fixes #2203 )
2026-03-24 19:11:13 +09:00
MoerAI
41a43c62fc
fix(category-resolver): respect is_unstable_agent config override ( fixes #2061 )
2026-03-24 19:08:21 +09:00
YeonGyu-Kim
cea8769a7f
Merge pull request #2798 from code-yeongyu/fix/2353-model-selection-v2
...
fix(plugin): persist selected model only for main session
2026-03-24 18:57:50 +09:00
YeonGyu-Kim
7fa2417c42
fix(plugin): persist selected model only for main session
...
Reuse the stored model only for subsequent main-session messages when the UI provides no model, while preserving first-message behavior, explicit overrides, and subagent isolation.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-24 18:11:27 +09:00
YeonGyu-Kim
4bba924dad
Revert "Merge pull request #2797 from code-yeongyu/fix/2353-model-selection-persistence"
...
This reverts commit e691303919 , reversing
changes made to d4aee20743 .
2026-03-24 17:59:21 +09:00
YeonGyu-Kim
e691303919
Merge pull request #2797 from code-yeongyu/fix/2353-model-selection-persistence
...
fix(plugin): preserve selected model across messages
2026-03-24 17:54:34 +09:00
YeonGyu-Kim
d4aee20743
Merge pull request #2794 from code-yeongyu/fix/2775-thinking-block-signatures
...
fix(thinking-block-validator): reuse signed thinking blocks instead of synthetic placeholders
2026-03-24 17:54:31 +09:00
YeonGyu-Kim
bad70f5e24
fix(plugin): preserve selected model across messages
...
Reuse the current session's selected model during config-time agent rebuilds when config.model is missing, so desktop sessions do not snap back to the default model after each send.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-24 17:47:08 +09:00
Mou
b9fa2a3ebc
fix(background-agent): prevent circuit breaker false positives on flat-format events
2026-03-24 16:35:54 +08:00
YeonGyu-Kim
0e7bd595f8
fix(session-recovery): reuse signed thinking blocks safely
...
Reuse signed Anthropic thinking blocks only when they can still sort before the target message's parts, otherwise skip recovery instead of reintroducing invalid loops.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-24 17:22:07 +09:00
YeonGyu-Kim
0732cb85f9
fix(thinking-block-validator): reuse signed thinking parts
...
Preserve prior signed Anthropic thinking blocks instead of creating unsigned synthetic placeholders, and skip injection when no signed block exists.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-03-24 17:22:07 +09:00
YeonGyu-Kim
500784a9b9
Merge pull request #2790 from code-yeongyu/fix/2666-mcp-schema-sanitization
...
fix(schema): strip contentEncoding from MCP tool schemas for Gemini (fixes #2200 )
2026-03-24 16:24:57 +09:00
YeonGyu-Kim
5e856b4fde
fix(schema): strip contentEncoding from MCP tool schemas for Gemini compatibility
...
The existing normalizeToolArgSchemas only applies to omo plugin tools
(via tool-registry.ts), but MCP server tool schemas bypass this
sanitization entirely. MCP schemas with contentEncoding/contentMediaType
cause Gemini 400 errors.
Add sanitizeJsonSchema() to strip unsupported keywords from MCP tool
inputSchema before serialization in formatMcpCapabilities.
Fixes #2200
Supersedes #2666
2026-03-24 16:24:44 +09:00
YeonGyu-Kim
03dc903e8e
Merge pull request #2789 from code-yeongyu/fix/2671-clearSessionState
...
fix(anthropic-recovery): clear session state after successful summarize (fixes #2225 )
2026-03-24 16:23:25 +09:00
YeonGyu-Kim
69d0b23ab6
fix(anthropic-recovery): clear session state after successful summarize and fix timing test
...
- Add missing clearSessionState() call after successful summarize (line 117)
Without this, retry state persisted even after success, potentially causing
unnecessary retries on subsequent compaction events.
- Fix timing-sensitive test: adjust attempt=0 and firstAttemptTime to give
proper remainingTimeMs buffer for capped delay calculation.
Fixes #2225
Supersedes #2671
2026-03-24 16:23:11 +09:00
YeonGyu-Kim
ee8735cd2c
Merge pull request #2788 from code-yeongyu/fix/2670-uiSelectedModel-nullification
...
fix(agents): preserve uiSelectedModel when agent override has no model (fixes #2351 )
2026-03-24 16:22:15 +09:00
YeonGyu-Kim
d8fe61131c
fix(agents): preserve uiSelectedModel when agent override has no model
...
Three agent builder files used falsy checks that incorrectly nullified
uiSelectedModel when override objects existed but had no model set:
- sisyphus-agent.ts: `?.model ?` → `?.model !== undefined ?`
- atlas-agent.ts: `?.model ?` → `?.model !== undefined ?`
- general-agents.ts: `!override?.model` → `override?.model === undefined`
This caused user model selection in web mode to revert to defaults.
Fixes #2351
2026-03-24 16:22:03 +09:00
YeonGyu-Kim
935995d270
Merge pull request #2668 from MoerAI/fix/session-degradation-detection
...
fix(session): detect post-compaction no-text degradation and trigger recovery (fixes #2232 )
2026-03-24 16:21:30 +09:00
YeonGyu-Kim
23d8b88c4a
Merge pull request #2669 from MoerAI/fix/atlas-worktree-verification
...
fix(atlas): use worktree path for git verification when available (fixes #2229 )
2026-03-24 16:21:27 +09:00
YeonGyu-Kim
b4285ce565
Merge pull request #2787 from code-yeongyu/fix/review-fixes
...
fix(permissions): ensure omo permission overrides take precedence over opencode defaults
2026-03-24 16:20:27 +09:00
YeonGyu-Kim
f9d354b63e
fix(permissions): ensure omo permission overrides take precedence over opencode defaults
...
The spread order in applyToolConfig was incorrect - omo's external_directory: 'allow'
was placed BEFORE the config.permission spread, allowing opencode's default 'ask' to
overwrite it. This caused write/edit tools to hang on headless opencode serve sessions
(no TUI to approve permission prompts).
Move omo's permission overrides AFTER the base config spread so they always win.
Fixes write/edit tool hangs when running opencode serve headlessly.
2026-03-24 16:19:56 +09:00
YeonGyu-Kim
370eb945ee
Merge pull request #2786 from code-yeongyu/docs/rename-opencode-to-openagent
...
docs: rename oh-my-opencode to oh-my-openagent
2026-03-24 15:39:00 +09:00
YeonGyu-Kim
6387065e6f
docs: rename oh-my-opencode to oh-my-openagent
2026-03-24 15:31:54 +09:00