chore(deps): update dependency oh-my-opencode to v4.1.2#64
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
4.0.0→4.1.2Release Notes
code-yeongyu/oh-my-openagent (oh-my-opencode)
v4.1.2Compare Source
🛡️ Reliability & Compatibility Patch
This patch release tightens edge cases across agent delegation, loop stability, and platform compatibility.
🔒 Safer Agent Delegation
Hidden agents are now correctly excluded from task delegation discovery. Previously, agents marked as hidden could still be selected by the delegate-task system, causing unexpected behavior. This closes the bypass for good.
🪟 Windows Shell Fixes
Non-interactive sessions now properly detect and use the Windows command shell (
ComSpec), fixing execution failures on Windows systems where the default shell wasn't being respected.🔄 Ralph Loop Hardening
Two race-condition fixes make the
/ralph-loopcommand more stable: compaction ownership is now guarded so overlapping continuation events can't hijack the loop, and delayed-start snapshots are properly isolated to prevent state leakage.🤖 Background Agent & Fallback Polishing
Busy-parent notifications from background tasks are now deferred instead of firing immediately, reducing notification spam. The fallback system also guards against duplicate prompt injections that could occur under specific retry conditions.
Minor Compatibility and Stability Release
This release carries compatibility-facing behavior changes and operational hardening. Read the summary below before upgrading or publishing.
Commit Summary
9a1f8f6fix(web): route installation links to docs section63ced1dMerge pull request #4010 from code-yeongyu/chore/safe-tooling-upgrades-biome-tsgo-20260514-13251696d7249Merge pull request #4009 from code-yeongyu/fix/ralph-loop-compaction-racef10251bchore(tooling): refresh safe deps and checks9e61852fix(ralph-loop): guard compaction continuation ownership72bac14@clousky2020 has signed the CLA in #4005d16d47adocs: complete v4.1.1 drift sweep in reference and guide docs98242badocs(i18n+web): align translated READMEs and landing copy with v4.1.1 hook count8cc3c32docs: refresh user-facing docs to match v4.1.1 codebase1e7a760docs(agents-md): regenerate hierarchical AGENTS.md knowledge base for v4.1.15ffbe0efix(fallback): guard duplicate prompt injectionsea55c38fix(background-agent): defer busy parent notifications6e84177@PeterPonyu has signed the CLA in #3871f9b95f9Merge pull request #3993 from code-yeongyu/fix/non-interactive-env-windows-shell43b2d0eMerge pull request #3992 from MoerAI/fix/omo-block-native-execution-delegation47d60a7fix(non-interactive-env): honor Windows ComSpec shell95cc9e2[sisyphus-dev] fix(delegate-task): canonicalize agent dedup key to close hidden filter bypassfef1d45fix(non-interactive-env): respect Windows command shellcab2056fix(deps): sync platform lock entries4bd81d2fix(delegate-task): exclude hidden agents from task delegation discovery (fixes #3957)61ba4e3fix(ralph-loop): guard delayed start snapshots1fa97c6docs(publish): require discord announcementThank you to 1 community contributor:
v4.1.1Compare Source
More Reliable Background Wakeups
Background tasks now wait for the parent session to actually become idle before waking it with completion results. This prevents duplicate assistant replies when a background task finishes while the main conversation is still running.
Safer Continuation Hooks
Team wake hints, Atlas continuations, Ralph loops, todo continuation, and unstable-agent babysitting now all re-check session activity before injecting internal prompts. Stale idle events should no longer start overlapping replies.
Tighter Safety Guards
This patch also keeps synthetic continuation resumes marked correctly and blocks dangerous interactive shell server shutdowns.
3b4d243fix(hooks): guard stale idle promptsa337635fix(background-agent): defer active parent wakes0b99168@EmiyaKiritsugu3 has signed the CLA in #399039fb014Merge pull request #3986 from code-yeongyu/fix/continuation-message-dispatch36f51ddfix(continuation): mark fallback resumes synthetic1189b96fix(continuation): mark atlas resumes synthetice49ba94chore(deps): refresh platform lock entries38b1433fix(continuation): mark resumes synthetic3f92264fix(interactive-bash): prohibit tmux kill-server286f5ccwhen publish always discordv4.1.0Compare Source
v4.1.0 — Boulder Tracking, Electron Compatibility, and Ralph Loop Hardening
Boulder: Know Where Your Work Stands
The new Boulder system tracks multi-session work across plan files. Each plan task now has per-task timers, completion detection, and elapsed-time nudges so you always know how long each piece of work actually took. A new
boulderCLI subcommand (bunx oh-my-opencode boulder) gives you an at-a-glance dashboard of all active and completed work items with progress percentages and timing breakdowns.Electron/Desktop Compatibility
19 unguarded
Bun.*call sites that crashed withReferenceError: Bun is not definedunder Electron are now routed through runtime shims. The MCP OAuth callback server and port detection both moved fromBun.servetonode:httpandnode:net. If you're running oh-my-opencode through OpenCode Desktop, the plugin now boots without errors on Node/Electron runtimes.Ralph Loop: No More Silent Failures
The ralph loop (the continuation engine that keeps agents working across iterations) received 7 targeted fixes. Prompt dispatch failures now surface instead of silently swallowing errors. Synthetic idle replays are ignored so stale iterations don't restart work. Ownership races are detected and rejected. If continuation broke mysteriously for you before, this release addresses the root causes.
Tolerant Fsync for Synced Folders
File writes on cloud-synced directories (iCloud, Dropbox, OneDrive) no longer crash with EPERM on fsync. The plugin detects synced-folder paths and gracefully skips fsync when the OS blocks it, surfacing a one-time warning to the agent instead of failing the operation.
Configurable Agent Ordering
You can now override the default agent display order via the
agent_orderconfig key. Agents not listed fall back to the built-in canonical order.Plugin Disposal
The plugin now registers a cleanup handler that gracefully tears down managers, MCP clients, and background tasks when OpenCode exits, instead of leaving orphaned processes.
88 Bug Fixes
Delegate-task abort recovery, background-agent stale todo state, team-mode session tracking, config migration fsync on Windows, hashline unsafe assertions, and dozens more fixes across the full stack. See the commit log below for the complete list.
Minor Compatibility and Stability Release
This release carries compatibility-facing behavior changes and operational hardening. Read the summary below before upgrading or publishing.
Commit Summary
2146071.opencode to .agentsa0b4630remove hyperplan for .opencode (not as a feature)75825ebfix(todo-description-override): add OpenCode schema contract for string prioritiesc740ed8fix(delegate-task): route sync prompts by directory6035a55fix(background-agent): route session prompts by directory7d09d2cMerge pull request #3967 from code-yeongyu/refactor/typescript-no-excuse-slops2fc1786test(hashline): remove unsafe test assertionsfb135d0test(tools): remove unsafe test assertions8b093a1test(shared): remove unsafe test assertionsf05aeaatest(plugin): remove unsafe test assertions0787867test(ralph-loop): remove unsafe fixture assertions2321115test(hooks): remove unsafe test assertions11b3638test(features): remove unsafe test assertions7365163test(cli): remove unsafe test assertionscde14b5fix(call-omo-agent): restrict callable agents9ffef79fix(ralph-loop): ignore synthetic idle replays07797e1fix(background-agent): preserve direct all-complete replies2d20037@jas32096 has signed the CLA in #3966d82f6a6fix(background-agent): refresh stale todo stateec3a7bbMerge pull request #3965 from code-yeongyu/fix/ralph-loop-prompt-result2c0f8e4fix(ralph-loop): return prompt dispatch failures2d656bdMerge pull request #3964 from code-yeongyu/fix/electron-bun-runtime-shims8e07ef6fix(mcp-oauth): use fixed localhost base for callback URL parsing1152939refactor(cli): use Response(stream).text() instead of Bun.readableStreamToText22c7e4erefactor(mcp-oauth): replace Bun.serve with node:http in callback-server2386cbdrefactor(port-utils): drop Bun.serve in favor of node:net probe0aafe20refactor: route raw Bun.file/write/hash/which/spawn through runtime shims4394f34feat(shim): add bun-file/hash/which shims with Node fallbacks4da4855fix(plugin): normalize event session ids4aa2a01Merge pull request #3961 from code-yeongyu/fix/ultrawork-oracle-continuation0de6bd7fix(ralph-loop): reject promptAsync error responses67f90a8Merge pull request #3956 from code-yeongyu/fix/web-audit-dependencies33f62c4fix(web): patch audit dependency advisories6a9cad1Merge pull request #3955 from acamq/fix/supply-chain-audit-deps5394b29fix(deps): patch vulnerable mcp transitives1c05c60fix(background-agent): replace system-reminder wake with queued notifications3ed4651fix(compaction): skip autocontinue for compaction agent90f0971fix(background-agent): handle idle status events71a63c2Revert "fix(hooks): dedupe native agent instructions"78d5287fix(hooks): dedupe native agent instructionsc849d0cfix(ralph-loop): suppress stale iteration toasts2c299d2Merge pull request #3943 from code-yeongyu/feature/boulder-evolution-and-discipline-agents29c4248fix(hooks/atlas): capture plan snapshot for .sisyphus pathscf5fe75feat(hooks/atlas): parse task_key from delegation prompt for parallel batchese3cddb3feat(hooks/atlas): end task timer when plan checkbox flips to checked via editb8c25b3refactor(hooks/atlas): remove unused resolveSessionOrigin helper079a2cdfix(start-work): preserve existing works when starting an explicit new plandd5f775fix(boulder-state): missing plan file no longer reports isComplete=truece2f3affix(boulder-state): make completeBoulder idempotent on already-completed works7035153style(agents): replace em dashes with semicolons/periods14b9a43fix(cli/boulder): strip ANSI in formatter test so FORCE_COLOR CI passesde9c28afix(hooks/atlas): align completion behavior tests with task-4 timing updates1ebf89cfeat(hooks/atlas): inject boulder-complete elapsed-time nudge once per worka1c6e6bfixup! feat(hooks/atlas): use getWorkForSession in boulder lookups and session trackingc345082feat(cli/boulder): implement boulder() entry point and register subcommand3098493feat(cli/boulder): add types and formatter for boulder subcommandfb2f696docs(start-work): document multi-work resume flow in agent templated6f4199feat(start-work): use getWorkResumeOptions for multi-work resume selection29b44fffeat(hooks/atlas): call completeBoulder when progress.isComplete127112efeat(hooks/atlas): wire per-task timers via startTaskTimer/endTaskTimerf2a5ef0feat(hooks/atlas): add BOULDER_COMPLETE_PROMPT template and SessionState guard18af3d3feat(hooks/atlas): use getWorkForSession in boulder lookups and session tracking42db707feat(boulder-state): add formatDurationHuman utility0c6805cprompt(prometheus): add Oracle phase-gate verification between phases8c238a1prompt(atlas): replace retry cap with no-excuses policy and add boulder-complete response29c29daMerge pull request #3942 from code-yeongyu/fix/3819-compaction-agent-token-cache5d823b5feat(boulder-state): add task timer + completion helpers9f50074feat(boulder-state): add session-aware multi-work storage helpers49ff4b5fix(compaction): ignore compaction agent updates246e0dcfeat(boulder-state): add BoulderWorkState and timing fields to typescfe94fcMerge pull request #3941 from code-yeongyu/fix/delegate-task-metadata0fd918efix(delegate-task): preserve native task metadata726c82eMerge pull request #3939 from code-yeongyu/fix/ralph-loop-message-dispatch2e36a92fix(ralph-loop): revalidate ownership and harden commit/session-creation failures35cab4dtest(ralph-loop): cover ownership race, verification commit failure, session.create throw954aa1ffix(compaction): isolate preservation hook failurescaaae19fix(ralph-loop): commit iteration only after verification continuation dispatches09c45c3fix(ralph-loop): commit iteration only after continuation is dispatchedd4cdeacfix(ralph-loop): return typed ContinuationResult from continueIterationf0857a8test(ralph-loop): add dispatch-failure invariant testsbd4db2aMerge pull request #3938 from code-yeongyu/fix/delegate-bg-completion-messagea5cc498fix(background-agent): retry deferred parent wake917398bfix(team-mode): cleanup team runs on shutdown59209f0fix(team-mode): track session-created team runsac9e375fix(delegate-task): align continuation task metadata titles5bb0b01@Qihao0v0 has signed the CLA in #3934b213d0dMerge pull request #3929 from wenghuayang96/fix/runtime-fallback-volcano-quota38c50d6Merge pull request #3827 from ShishaBoyTJ/fix/tmux-subagent-single-dispatch0d19c31fix: add cmux __tmux-compat prefix to interactive_bash tool9314dca@acamq has signed the CLA in #364469aedf3Merge pull request #3915 from code-yeongyu/fix/installer-checking-opencode-hangf983b6bfix(installer): avoid empty-version success on delayed stdout5d1c871fix(installer): bound outputPromise wait after kill to prevent indirect hang4b281f9Merge pull request #3914 from code-yeongyu/fix/max-output-tokens1dc2664Merge pull request #3912 from code-yeongyu/fix/sync-poller-abort-handling50dffc9Merge pull request #3911 from code-yeongyu/fix/todo-diag-blocked-alert0b6d28aMerge pull request #3913 from code-yeongyu/fix/bg-task-registry-aborted8b1696ffix(delegate-task): prevent stale-text abort recovery8e47d3afix(delegate-task): require anchored text for abort recoveryf6a6bb3Merge pull request #3910 from code-yeongyu/fix/config-migration-repeated-bake018739fix(delegate-task): recover aborted-operation messages in sync flows64f9a70fix(config): use r+ when fsyncing migrated temp fileeb6605afix(background-agent): preserve non-sensitive timing in archived tasks468bf25fix(delegate-task): gate continuation recovery to canonical abort errors8407389test(installer): stabilize timeout signal escalation assertion2f8ce57fix(chat-params): use conservative token fallback for invalid limitsa4ce0b6fix(background-agent): redact archived prompts and cap fallback archive6591302fix(delegate-task): narrow abort recovery to canonical abort errors2168040fix(plugin): scope synthetic-idle dedup bypass to matching marker7464d7efix(installer): timeout opencode --version probe to avoid Desktop binary hang851ebfbMerge pull request #3932 from code-yeongyu/revert-3622-fix/truncate-tool-error-output2992750Revert "fix(tool-execute-after): cap excessively long tool output to prevent TUI flooding (fixes #3586)"124bbb1@masterkain has signed the CLA in #3930f3f72fcfix(runtime-fallback): also classify Volcano Engine errors as quota_exceeded45f583a@wenghuayang96 has signed the CLA in #392939a7e01@MisileLab has signed the CLA in #39281c7881efix(runtime-fallback): match Volcano Engine 'exceeded the usage quota' errorscb3aba9Merge pull request #3927 from acamq/feat/support-dsv4-thinkinga81a7e7Merge pull request #3926 from acamq/fix/opencode-go-installer5259bdffix(model-settings): apply reasoning aliases with capabilitiesfd670a8fix(model-settings): enable DeepSeek reasoning effortcfab5cafix(installer): add opencode-go fallback entries for deep and artistry categoriesc5e89f1fix(model-settings): support family reasoning aliases50d0d16Merge pull request #3909 from code-yeongyu/fix/doctor-version-parsing6520c70Merge pull request #3917 from code-yeongyu/fix/anthropic-prefill-recovery432728bMerge pull request #3916 from code-yeongyu/fix/delegate-inactivity-timeout41629b5fix(plugin): guard assistant prefill message tailseef62ccfix(delegate-task): clarify sync inactivity timeout98da8b6fix(installer): apply extractSemverFromOutput to opencode-binary version probe6fd1ec3test(background-agent): align cancel cleanup assertions with archive fallback279f0d1fix(chat-params): guard non-positive max output tokensdbaea82fix(background-agent): retain completed tasks via archive fallback after cleanupa064e13fix(delegate-task): recover sync results on abort racea196d84fix(plugin): allow real session.idle after synthetic idle within dedup windowf45452afix(config): use r+ mode for fsync on Windows to prevent migration retry loopdc4f248fix(doctor): extract semver fromopencode --versionstdout50699e3fix(background-task): disambiguate background output task idse92f81eMerge PR #3907: fix(delegate-task): pause timeouts for active sessionsf67ff56Merge pull request #3906 from code-yeongyu/codex/fix-compact-agent-mismatchdd29e9bfix(compaction): restore context and todos before continue862a2dffix(delegate-task): pause timeouts for active sessions5a4127cfix(background-agent): defer busy parent wakeed4aa4dMerge PR #3905: fix team-mode member communication toolsd801c88fix(team-mode): preserve member context on retry1ea4dfefix(hooks): settle idle prompt continuationsb36389efix(team-mode): keep member communication tools visible8068429fix(ralph-loop): settle idle before continuation1e4a51e@zhuohoudeputao has signed the CLA in #3896e7901ad@wjiuxing has signed the CLA in #3890be2acd4fix(delegate-task): hide team tools from subagents99ddb3b@leeyazhou has signed the CLA in #3884dc69383Merge pull request #3876 from code-yeongyu/feature/web-team-mode-and-model-updatesa7ec539fix(web): address review-work findings (Category Routing, OG dims, e2e drift)fff2fb7perf(web): Lighthouse perfection — 100/100/100/100 desktop, 97/100/100/100 mobilecafdf31docs: add Team Mode and refresh model references across all READMEsc03f2d0feat(web): refresh landing page for v4.0 — Team Mode, model versions, optimized herod8ba0d2@jollyxenon has signed the CLA in #387500033d5@x-x-gpu has signed the CLA in #387268b64f1@rshks has signed the CLA in #38660a1c69e@cvqluu has signed the CLA in #387085c7700feat(web): add MDX components for documentation renderingb7c7cb2feat(delegate-task): add model string parser for variants8ada977feat(plugin): add plugin disposal with graceful cleanup93169a3feat(delegate-task): add call ID resolution utility1bb3631feat(tmux-subagent): add event handlers for session lifecycle0e59f26Merge pull request #3865 from code-yeongyu/fix/manifesto-domain4181993docs(manifesto): use ohmyopenagent.com (no dashes) for the project domain41d152cMerge pull request #3864 from code-yeongyu/fix/docs-correct-urls1aeb2fdMerge pull request #3862 from code-yeongyu/codex/cpu-usage-optimization268ee57fix(docs): revert wrong schema URL canonicalization (file is oh-my-opencode.schema.json)b405fc7Merge pull request #3861 from code-yeongyu/fix/web-docs-marked-no-eval2efe8a8test(index): stabilize openclaw bootstrap smoke test5cf8623perf(skill): reuse precomputed command list8eadf20perf(shared): avoid spawning opencode for version checks9848803fix(web): replace next-mdx-remote with marked + raw HTML to avoid CF Workers eval ban222f5d0Merge pull request #3860 from code-yeongyu/fix/web-docs-bundle-at-buildc01a89bfeat(atlas): mandate parallel delegation and add per-model variants57b9d42fix(web): bundle docs sources at build time so the worker has no fs7708254Merge pull request #3859 from code-yeongyu/feat/web-mdx-docs-sot70be16ddocs(agent-model-matching): Hephaestus chain is gpt-5.5 only46683d7Merge branch 'dev' into feat/web-mdx-docs-sotaadcbbfchore(workflows): trigger web CI + deploy on docs/ changese5369f3feat(web): render docs from repo-root docs/ as MDX SoT at build time36867d4Merge pull request #3858 from code-yeongyu/feature/configurable-agent-ordering810e3c7docs: refresh user-facing guide + reference for current code state3a738e7Merge remote-tracking branch 'origin/dev' into feature/configurable-agent-ordering9522dd4feat(config): add configurable agent ordering457836bMerge pull request #3857 from code-yeongyu/fix/web-next15-runtimee02166dfix(web): downgrade Next.js 16.2.6 -> 15.5.18 to unblock Cloudflare deploy3134d9dMerge pull request #3854 from code-yeongyu/fix/team-mode-fsync-eperm43b0529feat(hooks): surface fsync-skip warnings to AI agent via tool output6b69505feat(shared): wire tolerantFsync to record skips with path classification20ae3f8feat(shared): add fsync-skip tracker and path-environment classifier5d8d2b6Merge pull request #3855 from code-yeongyu/chore/web-deploy-on-dev7fe197dchore(workflows): trigger web-deploy on dev push too8667d7eMerge pull request #3853 from code-yeongyu/chore/web-bump-deps81a1f66fix(web): truly pin lucide-react at 0.577.07735b2afix(shared): tolerate EPERM during fsync in writeFileAtomicallyc69d6bdfix(team-mode): tolerate EPERM during fsync in atomicWrite and acquireLock9d83255feat(shared): add tolerant-fsync utility for synced-folder filesystemsdff2acfchore(web): apply prettier 3.8 + Next 16 tsconfig auto-formattinge5eda11chore(web): bump every dependency to latest172976cMerge pull request #3852 from code-yeongyu/feature/add-web-frontendf7d16c5fix(web): actually ignore .wrangler/ as web/AGENTS.md claims39cf5a8fix(test): update model-fallback snapshots after metis switch to claude-sonnet-4-6fc0ef39docs(web): mention web/ subdir + workflows in root AGENTS.md14398d5ci(web): add web-ci and web-deploy GitHub Actions workflowsf94714bfeat(web): import oh-my-openagent-web Next.js + Cloudflare Workers site2b2f21echore(test): scope rootbun testto bin/script/srcc7d6a4afix: remove dead-code files accidentally resurrected by previous commit2dfa633fix(metis): switch primary model to claude-sonnet-4-6 + correct AGENTS.md inaccuracies838b5aedocs(agents): refresh hierarchical AGENTS.md with team-mode coveragecd31d2aMerge pull request #3842 from herjarsa/fix/desktop-electron-bun-protocol-compatadc6d92fix(agents): copy factory mode to agent config for Desktop 1.14.x compat9ab2731@NICxKMS has signed the CLA in #38388236d7dfix: support cmux tmux compatibilitycd05e48@ShishaBoyTJ has signed the CLA in #3827Thank you to 4 community contributors:
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.