build(deps): update dependency oh-my-openagent to v3.17.12#568
Merged
Conversation
02f3b3c to
975c0bc
Compare
auto-merge was automatically disabled
April 30, 2026 01:56
Pull request was closed
975c0bc to
04e2f60
Compare
This was referenced May 1, 2026
04e2f60 to
1e8f13b
Compare
1e8f13b to
92323f9
Compare
marcusrbrown
approved these changes
May 2, 2026
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:
3.17.6→3.17.12Release Notes
code-yeongyu/oh-my-openagent (oh-my-openagent)
v3.17.12Compare Source
Fixes the "Sisyphus randomly drops to claude-opus-4.7" bug
If you're on 3.17.x and noticed Sisyphus silently jumping back to
claude-opus-4-7while you were running it on GPT-5.4, GLM, Kimi, or any non-Claude model: this release fixes that.What was happening
Commit
034744cb(Apr 22, "retry forbidden provider errors") added bare"403"and"forbidden"substrings to the retryable-error pattern list. The intent was to retry the specificForbidden: Selected provider is forbiddencase from PR #3706, but bare-substring matching is greedy: it caught any error message containing those tokens, including:When the classifier returned true on those false positives,
event.tsarmedsetPendingModelFallback("sisyphus", ...), which immediately advanced to the first entry of Sisyphus' fallback chain,claude-opus-4-7. So a non-Claude run would silently jump to opus 4.7 with no visible model-level error.Fix
Replaced the bare patterns with the specific phrases the original PR was actually targeting:
The original "Selected provider is forbidden" case still retries correctly. Unrelated 403 / forbidden messages now stay non-retryable, so your configured model is no longer hijacked. Two regression tests lock the new behavior down.
Reported by
ilove_borshchin #omo-help. Thanks for the precise repro.f7270a0fix(model-error-classifier): scope forbidden-provider retry to specific phrasev3.17.11Compare Source
GPT-5.5 Agents: Manual QA Gate, Stronger Investigation, Apply-Patch Fix
A focused tune-up to the GPT-5.5 prompts driving Sisyphus, Sisyphus-Junior, and Hephaestus. If you run any of those agents on a GPT-5.5 model, this release tightens their behavior in five ways you'll notice in practice.
Manual QA Gate: agents have to actually USE what they build
End-to-end delegations on GPT-5.5 (e.g.,
ulw, "implement and finish", "ship it") now route through a non-negotiable surface-to-tool mapping:interactive_bash(tmux)playwrightcurlagainst the running service"Tests pass + lsp clean + build green" is no longer enough. Agents must drive the deliverable through the matching tool before declaring done. This closes the failure mode where a GPT-5.5 agent reports "implementation complete" without ever launching the binary or loading the page.
Investigate-before-acting is no longer a soft phrase
Bumped from a one-liner to a dedicated block: never speculate about unread code, re-read on every task hand-off, and treat the worktree as potentially mutated by parallel agents. If you've seen GPT-5.5 reason about a file it didn't open, this is the fix.
Parallelize-aggressively is now a first-class behavior
Reads, searches, diagnostics, and background sub-agents are expected to batch into a single response by default. Sequential tool calls when the work is independent now stand out as a violation rather than the norm.
apply_patch↔ permission contradiction resolvedEarlier prompts told GPT-5.5 to use
apply_patchwhile the platform-level permission denies it on GPT models. The agent now reaches foredit/writedirectly viaGPT_APPLY_PATCH_GUIDANCE, removing the contradiction that was triggering tool-denial loops.Hard invariants & dig-deeper trio restored
as any/@ts-ignore, no destructive git without confirmation, never deliver before Oracle returns.No config changes, no migration steps. Update and the new behavior takes effect on the next GPT-5.5 agent run.
1a64060feat(agents): strengthen gpt-5.5 prompts with manual QA gate, dig-deeper trio, anti-fallbacka469abd@guyua9 has signed the CLA in #3733v3.17.10Compare Source
What's New in v3.17.10
Smarter Fallback When Credits Run Out
When a provider returns "insufficient balance", "no credits", or "forbidden", the runtime now treats it the same as quota exhaustion and automatically falls back to the next configured model. You no longer get hard failures the moment one of your accounts runs dry — the agent keeps working with a different provider. (#3519)
This applies to both your main session and any background tasks spawned during the run.
Background Tasks Now Show Their Retry History
Background tasks that recovered from a transient failure now render a retry timeline with links to each retry session. If a task succeeded only after 2-3 attempts, you can see exactly when each retry happened and what session it ran in — much easier to diagnose flaky models or providers.
Sync
task()calls also replay session registration after runtime errors, so retried tasks no longer get orphaned.Day-1 Support for GPT-5.5
The new
claude-opus-4-7andgpt-5.5models now have native deep-category prompts tuned to their behaviour. Delegating tocategory="deep"automatically uses the right system prompt.Faster Compaction, Faster Context Window Math
Four small but cumulative perf wins:
If you've felt the agent get a tiny bit snappier on long sessions, this is why.
Plugin Auto-Updater No Longer Reads the Wrong package.json
When oh-my-opencode runs from a flat-install directory (e.g. some Claude Code plugin sandboxes), the auto-update checker was reading a sibling package.json and reporting bogus versions. It now prefers the loaded module's own package.json, so version checks and update prompts are accurate. (#3718)
Behind the Scenes — npm Trusted Publishing
The release pipeline migrated from long-lived npm tokens to OIDC trusted publishing (OpenSSF standard). Every version is now published with a short-lived, workflow-scoped credential, with provenance attestations signed by sigstore. No user-facing change, but means future releases are no longer at risk of token-expiry outages — a problem that caused the v3.17.7-v3.17.9 partial publishes during this rollout.
A new preflight-trust job verifies all 24 platform packages have a trusted publisher configured before the version is bumped. If any package is missing trust config, the workflow fails fast with a list of npm.com URLs to fix — preventing future partial publishes.
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
9a61c60fix(ci): treat npm OIDC exchange 201 as success in preflightab5216ffeat(ci): add preflight-trust gate before version bump017d48f@yizhifengye has signed the CLA in #3731fd85dadfix(ci): strip _authToken from .npmrc so OIDC takes precedence48fc7bdfix(ci): switch npm publish to OIDC trusted publishing216283e@aaronkyriesenbach has signed the CLA in #3727002297bMerge pull request #3718 from ismetanin/fix/cached-version-per-plugin-sandbox5291ee7fix(auto-update-checker): prefer loaded module's package.json over flat-install candidatesd65bc87feat(agents): add gpt-5.5 native deep category prompt766eeddMerge pull request #3706 from unclok/fix/retry-recovery-and-observability05a15f7Merge branch 'dev' into fix/retry-recovery-and-observabilityea07f28Merge pull request #3556 from MoerAI/fix/fallback-credit-exhaustion6850cb6Merge branch 'dev' into fix/fallback-credit-exhaustion7adb725Merge remote-tracking branch 'origin/dev' into fix/retry-recovery-and-observabilityb8652db@deopa0402 has signed the CLA in #3713483e11a@unclok has signed the CLA in #37060dd455efix(delegate-task): ignore stale sync session errors1856657fix(model-fallback): clone session fallback chains2237c1afix(background-agent): guard stale launch errors and retry links27fb2d5test(plugin): clean up event handler test helpers078e496fix(delegate-task): replay sync retry session registrationfbaeb03fix(todo-continuation): avoid duplicate progress resetebcd6edperf(hashline): use write metadata line counts24201eaperf(background-agent): index tasks by parent sessioneb722aaperf(compaction): reuse message update parts for no-text tailsece8fd4perf(shared): cache context window usage per session3fc9e6bMerge remote-tracking branch 'origin/dev' into opencode/mighty-wolf79054eafeat(background-task): render retry timelines and links25548f2fix(model-fallback): retry forbidden provider errors613e4a6fix(delegate-task): retry sync tasks after runtime session errorsa4968a3feat(background-task): track retry attempts across sessionscc3cca7fix(model-fallback): expose session fallback chains to background tasks328df08fix(test): update provider-matrix tests to expect fallback on quota exhaustion5949300fix(error-classifier): match insufficient balance/funds as quota_exceeded034744cfix(model-error-classifier): retry forbidden provider errorsfbf130efix(test): update integration tests to expect fallback on quota exhaustion7488c52fix(runtime-fallback): trigger fallback on quota/credit exhaustion (fixes #3519)Thank you to 4 community contributors:
v3.17.9Compare Source
v3.17.8Compare Source
v3.17.7Compare Source
Configuration
📅 Schedule: (in timezone America/Phoenix)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.