You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The release window v3.17.0 -> v3.17.4 contains 116 commits, with 112 classified as GOOD, 2 as NEEDS_REVIEW, and 2 as SLOP, resulting in a low slop ratio of ~1.72%. The GOOD commits bring significant value through bug fixes, refactorings, documentation updates, and new tests, with no critical breaking changes or dependency conflicts identified. The SLOP commits are minor and non-impactful. Dependency changes are limited to version bumps of the project's own packages, posing no conflict risk. Merge recommended with minor review of the 2 NEEDS_REVIEW commits.
Batch classification
Verdict
Count
Branch
🟢 GOOD
112
sync/upstream/v3.17.4-good
🟡 NEEDS_REVIEW
2
sync/upstream/v3.17.4-needs-review
🔴 SLOP
2
sync/upstream/v3.17.4-slop
🟢 Good batch
Classified as real value. Candidate for merge.
ad85e438fix: include user/project agents in task(subagent_type) resolution -- Adds user/project agents to task resolution with clear logic, precedence rules, and 4 targeted tests covering different scenarios.
2266f28ffix: correct merge order so project agents override user agents -- The commit fixes a specific bug by correcting the merge order of project and user agents, ensuring project agents override user agents when names collide, with a clear test case added.
64408823fix: actually swap merge order so project is added before user -- Fixes a specific bug by swapping the merge order of project and user agents, ensuring project agents take precedence, with a clear test case added.
5441c848refactor: use spyOn instead of vi.mock for agent loader mocks -- Replaces vi.mock with spyOn for agent loader mocks, which is more idiomatic for bun:test as per PR review, improving test setup clarity.
b0b19f30fix(grep): handle Windows drive-letter paths and CRLF in parseOutput -- Fixes specific Windows compatibility issues with regex handling and CRLF line endings in grep tool output parsing, with clear explanations and targeted changes.
e9b6bba1refactor(agent-display): centralize name normalization resolution -- Adds new test cases and refactors agent name normalization with clear logic and behavior delta, improving consistency in agent display names.
f95e7a6crefactor(openclaw): reuse shared gateway url validation -- The commit refactors the code to reuse a shared gateway URL validation function, removing redundant code and improving maintainability.
0c5cd3a1chore(agents): update all AGENTS.md generation dates to 2026-04-11 -- Updated generation dates in multiple AGENTS.md files to reflect current date (2026-04-11) for documentation accuracy.
40411f32docs(agents): add AGENTS.md documentation for prometheus, hephaestus, sisyphus variants, and builtin-skills -- Added detailed documentation for multiple agents and skills, including AGENTS.md files for prometheus, hephaestus, sisyphus, and builtin-skills, providing clear overviews, file structures, and key behaviors.
21822ba2test(openclaw): cover shared gateway url validation -- Adds a test case for validating gateway URLs, covering various scenarios (HTTPS, local HTTP, invalid URLs) with clear expected outcomes.
a2ae3de3refactor(openclaw): extract gateway url validator -- Extracted a reusable function validateGatewayUrl into a new file, reducing redundancy and improving maintainability, with clear behavior and existing callers.
69f1c9aefix(doctor): add timeouts to subprocess spawns to prevent exit code 137 -- Adds timeouts to subprocess spawns to prevent hanging processes and SIGKILL (exit code 137), introducing a utility with clear functional improvement.
314e1a5efix(telemetry): enable GeoIP resolution for PostHog events -- Explicitly enables GeoIP resolution by setting disableGeoip to false, allowing geographic analytics in PostHog events.
d21ed3f7fix(doctor): add timeouts to subprocess spawns to prevent exit code 137 -- Adds timeouts to subprocess spawns to prevent hanging processes and SIGKILL (exit code 137), introducing a utility with clear functional improvement.
565d3ffafix(ci): build darwin binaries on macOS runners to restore code signing -- Restores code signing for macOS binaries by routing darwin platforms to macOS runners and adding an explicit ad-hoc codesign step, addressing a specific functional issue with Gatekeeper rejection.
71b5ab67fix(ci): replace breaking codesign step with signature verification -- Replaces a breaking codesign step in CI with a signature verification, addressing a specific functional issue with ad-hoc signing on macOS binaries.
16e7fa5bfix(ci): ad-hoc sign darwin binaries with plain codesign -- Explicitly signs Darwin binaries with 'codesign --sign -' to address code signing issues on macOS runners, directly improving functional reliability.
470ed8b1fix(ci): remove existing signature before ad-hoc signing darwin binary -- Fixes a specific functional issue with code signing on Darwin binaries by removing existing signatures before applying a new ad-hoc signature.
2d65896brefactor(shared): simplify normalize SDK null guards -- Simplified null checks in normalizeSDKResponse function from explicit null and undefined checks to a single '== null' check, improving code readability without changing functionality.
79a475d6refactor(background-agent): simplify loop detector null guard -- Simplified null checks in a function without changing functionality, improving code readability.
cd8352c1refactor(claude-code-mcp-loader): simplify env expansion null guard -- Simplified null checks in a function without changing functionality, improving code readability.
668bc8e8refactor(config-manager): simplify config parsing guards -- Simplified redundant conditional logic in addPluginToOpenCodeConfig and added meaningful tests for config parsing errors in parse-opencode-config-file.test.ts
a0d5131erefactor(plugin): remove dead chat params code -- Removed dead code (unused 'variant' variable and associated logic) in chat-params.ts, simplifying the buildChatParamsInput function.
21cad26cdocs(config): remove redundant schema default comments -- Removed redundant default value comments in schema definitions, improving code clarity without changing functionality.
2d8b4a9dfix(anthropic-effort): skip effort injection for github-copilot provider ([Bug]: code-yeongyu/oh-my-openagent#3270) -- Added explicit guard to skip effort injection for github-copilot provider, preserving native Anthropic support, with a clear, targeted code change and new test covering the scenario.
3d2eb6e4fix(config): preserve explicit git_master overrides during merge -- Adds explicit tests and logic to preserve user git_master config overrides, addressing a specific functional requirement with clear behavior delta.
dac0c99efeat: add Vercel AI Gateway as a provider -- Adds Vercel AI Gateway as a recognized provider with clear integration across multiple files, including detection, configuration, and fallback logic, with specific behavior delta (enabling universal fallback for OpenAI, Anthropic, and Google models).
aac17135test: add vercel provider transform tests -- Adds multiple specific, well-defined tests for Vercel provider transformations with clear expected outputs, covering various model types and edge cases.
6f72ec75test: add integration tests for Vercel AI Gateway model resolution -- Adds integration tests for Vercel AI Gateway model resolution with specific scenarios and expected outputs.
542dc890fix(provider): use gateway-specific model IDs for vercel transform -- Fixes model ID transformation for Vercel AI Gateway by removing '-preview' suffix as per gateway's requirements, with clear behavior delta in tests and code.
34e334eafeat(provider): add vercel to all gateway-supported fallback entries -- Adds vercel provider fallback entries with clear behavior delta and specific model integrations, tested by updated snapshots and test cases.
effae16crefactor(provider): replace per-model string replacements with generic regex -- Replaced multiple per-model string replacements with a generic regex, simplifying code and making it more scalable for new models.
569addd3docs(provider): add comments to vercel transform logic -- Added meaningful comments explaining Vercel AI Gateway transform logic in the code, enhancing readability and understanding of the specific transformation requirements.
680d05a2Prometheus: keep planner primary-only -- Changes Prometheus agent mode from 'all' to 'primary' across multiple tests and config builders, aligning with the commit message's clear behavior delta.
e3b5c2befix: address review feedback for Vercel AI Gateway PR -- Adds a new CLI option, updates priority logic, and fixes test expectations with clear behavior deltas, all directly addressing review feedback for Vercel AI Gateway integration.
01a1b141fix(delegate-task): reject primary agents in task subagent resolution -- The commit introduces a clear behavior delta by rejecting primary agents in task subagent resolution, with specific code changes and new functions that directly address this functionality.
3673b962docs(readme-ru): add telemetry and legal section translation -- Added Russian translation for telemetry and legal sections in README.ru.md, including specific details about anonymous telemetry and links to privacy policy and terms of service.
23d0a0dcdocs(readme-zh-cn): add telemetry and legal section translation -- Added meaningful translation for telemetry and legal sections in README.zh-cn.md, including specific details and links to privacy policy and terms of service.
0ece66e3docs(readme-ja): add telemetry and legal section translation -- Added Japanese translation for telemetry and legal sections in README.ja.md, including specific details and links to privacy policy and terms of service.
12ed9501docs(readme-ko): add telemetry and legal section translation -- Added Korean translation for telemetry and legal sections in README.ko.md, including specific details and links to privacy policy and terms of service.
c91db2ebdocs(cli): add --vercel-ai-gateway flag documentation -- Added documentation for a new CLI flag --vercel-ai-gateway with a clear description and default value.
e223ab20docs(configuration): add sisyphus-junior to agent list -- Added a new agent 'sisyphus-junior' to the list of available agents in the configuration documentation.
678011c7docs(contributing): update tool/hook counts and version references -- Updated tool/hook counts and version references in CONTRIBUTING.md to reflect accurate numbers and versions.
9342e55bdocs(installation): replace npx with bunx and update provider flags -- Updated installation docs to replace 'npx' with 'bunx' and added new provider flags with clear explanations.
05e54444docs(overview): update model-role claims and complete category list -- Updated model-role claims and completed category list in documentation with specific, actionable changes and clear additions of new categories and model mappings.
7c94ee45docs(agent-model-matching): sync fallback chains with current source -- Updated documentation to reflect accurate fallback chains by adding 'vercel' to provider paths in agent and category configurations, with clear references to the source of truth in src/shared/model-requirements.ts.
bbbd1bd0docs(orchestration): update diagram model names and category tables -- Updated documentation with specific, actionable changes to model names, category tables, and fallback chains, adding clarity and reflecting accurate configurations.
0cb0a6c0docs(contributing): update tool/hook counts and version references -- Updated tool/hook counts and version references in CONTRIBUTING.md to reflect accurate numbers and versions.
4ce1dde3CLI: isolate provider model id transforms from shared mocks -- Added multiple tests for transformModelForProvider function covering various providers and edge cases, ensuring correct model transformations.
1b36194bfix(cli): treat missing session status as idle in run completion -- Fixes a specific bug where missing session status was not handled, leading to potential hanging; adds a targeted test case to verify the fix.
b5250555fix(telemetry): guard PostHog init failures -- Adds a test to verify that PostHog clients return no-op when initialization fails, ensuring robust error handling.
1bb59c3erelease: v3.17.2 -- Bumps version from 3.17.0 to 3.17.2 across all platform-specific packages and the main package.json, indicating a release update with clear, trackable changes.
62c60ae9fix: numeric skill names, ultrawork missing run_in_background, ZWSP agent lookups -- Fixes numeric skill name parsing, adds required parameter to task examples, and strips ZWSP for agent name comparisons, all addressing specific issues with clear behavior changes.
76c5356atest(agent-config): add regression tests for agent merge priority order -- Adds regression tests for agent merge priority order with clear, test-covered behavior changes.
da91c535fix(call-omo-agent): address cubic review findings and add requirement-based tests -- Adds 14 requirement-based tests covering specific behavioral specs (R1-R7) for agent resolution, ensuring robustness and clear value.
1e85a88dfix(agent-restrictions): restore EXPLORATION_AGENT_DENYLIST as default fallback for unknown agents -- Restores a default fallback for unknown agents, reverting a previous change that removed EXPLORATION_AGENT_DENYLIST, with clear behavioral impact.
fd28f7e6feat(agents): add agent_definitions schema, eager path resolution, and JSON agent loader -- Adds agent_definitions schema, eager path resolution, and JSON agent loader with comprehensive test suite covering multiple scenarios.
5755a90cfeat(agents): add agent definitions file loader and opencode.json reader -- Adds agent definitions file loader and opencode.json reader with comprehensive test coverage (23 tests) for real functionality.
39bda91bfeat(agents): wire agent_definitions and opencode.json agents into precedence chain -- Adds integration of agent_definitions and opencode.json into agent precedence chain with clear functionality, new tests, and logical filtering logic.
3d0fb22cfix(call-omo-agent): adapt dev's model override tests to use createMockCtx factory -- The commit fixes test references to use a new factory function, ensuring tests work with the updated codebase.
42445f51fix(agents): address cubic review findings on agent loader -- Fixes specific issues with agent loading, including case-insensitive file extension handling, relative path resolution, and precedence logic, all with clear behavioral changes and test coverage.
cf4b2315fix(agents): replace 'in' with Object.hasOwn() for prototype-safe property checks -- Replaced 'in' with Object.hasOwn() for prototype-safe property checks in opencode-config-agents-reader.ts to avoid skipping valid agent names that match inherited properties.
4c77045cfix(agents): use null-prototype accumulator to prevent proto pollution -- The commit fixes a specific security vulnerability by using Object.create(null) to prevent proto pollution, with a clear explanation and behavioral impact.
ab11f2ebfix(tests): replace mock.module with spyOn to prevent test pollution -- Replaced mock.module() with spyOn() to prevent test state pollution, ensuring downstream tests run cleanly.
47aa3025fix(cli): use getAgentRuntimeName for agent resolution in run command -- The commit replaces getAgentDisplayName with getAgentRuntimeName in multiple places to resolve agent names, which is a clear and defensible change with updated tests to reflect the new behavior.
0764526afix(posthog): disable exception autocapture to stay within free tier -- Disables exception autocapture to stay within the free tier limit, preserving manual capture for critical errors.
9aeb87c2chore: bump version to 3.17.3 -- Bumped package version from 3.17.2 to 3.17.3 in package.json
a1842f2dfeat(tool-metadata): add shared metadata contract and bridge -- Adds a shared metadata contract and bridge with multiple integration tests covering various scenarios, including round-trip persistence, case insensitivity, and edge cases like missing or blank call IDs.
80d3339cfeat(background-agent): add wait-for-task-session helper -- Adds a new utility function waitForTaskSessionID with comprehensive tests covering multiple scenarios, including immediate resolution, polling, abort signals, and timeouts, which clearly enhances functionality.
4da30057fix(plugin): harden metadata recovery and extraction -- Adds test cases and refactors metadata extraction with clear behavioral improvements and new functionality.
c6a407c4refactor(tools): migrate producers to shared metadata bridge -- Replaces storeToolMetadata with publishToolMetadata across multiple files, indicating a deliberate refactor to a shared metadata bridge with clear functional intent.
fe091ef2chore: bump version to 3.17.4 -- Bumped package version from 3.17.3 to 3.17.4 in package.json, which is a clear and necessary version update.
c9350c67release: v3.17.4 -- Bumped version from 3.17.2 to 3.17.4 across multiple platform-specific package.json files, indicating a clear and necessary version update.
Branch: sync/upstream/v3.17.4-good (local only; not on origin)
⚠️ 6 commit(s) failed to cherry-pick and are NOT in the draft PR.
🚫 Push to origin was rejected. GITHUB_TOKEN cannot create or modify files under .github/workflows/. The batch branch exists only in the workflow runner and was discarded. To merge this batch, run the analyzer with a PAT that has the workflow scope, or cherry-pick locally.
📝 4 commit(s) touch .github/workflows/ and require elevated permissions to sync: 565d3ff, 71b5ab6, 16e7fa5, 470ed8b
🟡 Review batch
Ambiguous. Human should review before merging.
1e2e0019refactor(create-tools): keep result type internal -- The commit changes the export status of CreateToolsResult without clear justification or visible callers in the diff, requiring further investigation to determine impact.
9d89bbb0refactor(commands): keep builtin command options internal -- The commit changes the export status of an interface without clear justification or visible callers in the diff.
Branch: sync/upstream/v3.17.4-needs-review (on origin)
🔴 Slop batch
Classified as AI slop or pointless churn. Do not merge as-is; rewrite intent if salvageable.
6713b30crefactor(hooks): drop no-op directory injector callbacks -- Removed unused 'tool.execute.before' callback with no functional impact, indicating pointless churn.
cfd152addocs(features): update agent count and verify category list -- Added two new features ('review-work' and 'ai-slop-remover') with overly broad, vague descriptions lacking concrete behavior deltas or clear value propositions.
Branch: sync/upstream/v3.17.4-slop (on origin)
Slop verifier second-pass notes
6713b30 CONFIRMED_SLOP (behavior delta: none): The commit removes an unused 'tool.execute.before' callback with no functional impact, indicating pointless churn. The removed function had no effect on runtime behavior, and its removal does not change any user-visible output or invariants. The commit message's claim of a 'refactor' is misleading as it does not improve functionality or readability in a meaningful way. A senior engineer would likely reject this in a code review as it constitutes unnecessary churn without value.
cfd152a CONFIRMED_SLOP (behavior delta: none): The commit adds two features with vague descriptions lacking concrete behavior deltas or clear value propositions. The descriptions for 'review-work' and 'ai-slop-remover' are overly broad and do not specify how they integrate with existing code or provide measurable benefits. No evidence of multiple callers or growth path for these additions. The commit message does not accurately reflect tangible changes. A senior engineer would likely question the lack of specificity and utility.
Fork-sync impact assessment
Breaking changes
(none detected)
Dependency changes
oh-my-opencode-* package versions updated to 3.17.4
Architecture drift
(none)
Hidden concerns
Review NEEDS_REVIEW commits for create-tools and commands exports justification
Action items before merging
Manually verify justification for export changes in NEEDS_REVIEW commits
Test dependency version updates for compatibility
Generated by upstream-analyzer workflow. This issue is advisory: no merges or publishes happen automatically. Phase 1: draft PRs only. The prompt lives in .github/prompts/ and is editable without touching workflow code.
🟢 Upstream cost-benefit: v3.17.0 → v3.17.4
Upstream:
code-yeongyu/oh-my-openagentRecommendation:
MERGE_CLEAN(confidence: high)Slop ratio: 1%
The release window v3.17.0 -> v3.17.4 contains 116 commits, with 112 classified as GOOD, 2 as NEEDS_REVIEW, and 2 as SLOP, resulting in a low slop ratio of ~1.72%. The GOOD commits bring significant value through bug fixes, refactorings, documentation updates, and new tests, with no critical breaking changes or dependency conflicts identified. The SLOP commits are minor and non-impactful. Dependency changes are limited to version bumps of the project's own packages, posing no conflict risk. Merge recommended with minor review of the 2 NEEDS_REVIEW commits.
Batch classification
sync/upstream/v3.17.4-goodsync/upstream/v3.17.4-needs-reviewsync/upstream/v3.17.4-slop🟢 Good batch
Classified as real value. Candidate for merge.
ad85e438fix: include user/project agents in task(subagent_type) resolution -- Adds user/project agents to task resolution with clear logic, precedence rules, and 4 targeted tests covering different scenarios.2266f28ffix: correct merge order so project agents override user agents -- The commit fixes a specific bug by correcting the merge order of project and user agents, ensuring project agents override user agents when names collide, with a clear test case added.64408823fix: actually swap merge order so project is added before user -- Fixes a specific bug by swapping the merge order of project and user agents, ensuring project agents take precedence, with a clear test case added.5441c848refactor: use spyOn instead of vi.mock for agent loader mocks -- Replaces vi.mock with spyOn for agent loader mocks, which is more idiomatic for bun:test as per PR review, improving test setup clarity.b0b19f30fix(grep): handle Windows drive-letter paths and CRLF in parseOutput -- Fixes specific Windows compatibility issues with regex handling and CRLF line endings in grep tool output parsing, with clear explanations and targeted changes.e9b6bba1refactor(agent-display): centralize name normalization resolution -- Adds new test cases and refactors agent name normalization with clear logic and behavior delta, improving consistency in agent display names.f95e7a6crefactor(openclaw): reuse shared gateway url validation -- The commit refactors the code to reuse a shared gateway URL validation function, removing redundant code and improving maintainability.0c5cd3a1chore(agents): update all AGENTS.md generation dates to 2026-04-11 -- Updated generation dates in multiple AGENTS.md files to reflect current date (2026-04-11) for documentation accuracy.40411f32docs(agents): add AGENTS.md documentation for prometheus, hephaestus, sisyphus variants, and builtin-skills -- Added detailed documentation for multiple agents and skills, including AGENTS.md files for prometheus, hephaestus, sisyphus, and builtin-skills, providing clear overviews, file structures, and key behaviors.21822ba2test(openclaw): cover shared gateway url validation -- Adds a test case for validating gateway URLs, covering various scenarios (HTTPS, local HTTP, invalid URLs) with clear expected outcomes.a2ae3de3refactor(openclaw): extract gateway url validator -- Extracted a reusable function validateGatewayUrl into a new file, reducing redundancy and improving maintainability, with clear behavior and existing callers.e654cfb4@ahuangsnail has signed the CLA in fix: treat zero limit.output as unknown to enable fallback to bundled… code-yeongyu/oh-my-openagent#3316 -- Added a new contributor's CLA signature to cla.json, which is a clear and necessary administrative update with direct relevance to project governance.69f1c9aefix(doctor): add timeouts to subprocess spawns to prevent exit code 137 -- Adds timeouts to subprocess spawns to prevent hanging processes and SIGKILL (exit code 137), introducing a utility with clear functional improvement.314e1a5efix(telemetry): enable GeoIP resolution for PostHog events -- Explicitly enables GeoIP resolution by setting disableGeoip to false, allowing geographic analytics in PostHog events.d21ed3f7fix(doctor): add timeouts to subprocess spawns to prevent exit code 137 -- Adds timeouts to subprocess spawns to prevent hanging processes and SIGKILL (exit code 137), introducing a utility with clear functional improvement.565d3ffafix(ci): build darwin binaries on macOS runners to restore code signing -- Restores code signing for macOS binaries by routing darwin platforms to macOS runners and adding an explicit ad-hoc codesign step, addressing a specific functional issue with Gatekeeper rejection.71b5ab67fix(ci): replace breaking codesign step with signature verification -- Replaces a breaking codesign step in CI with a signature verification, addressing a specific functional issue with ad-hoc signing on macOS binaries.16e7fa5bfix(ci): ad-hoc sign darwin binaries with plain codesign -- Explicitly signs Darwin binaries with 'codesign --sign -' to address code signing issues on macOS runners, directly improving functional reliability.470ed8b1fix(ci): remove existing signature before ad-hoc signing darwin binary -- Fixes a specific functional issue with code signing on Darwin binaries by removing existing signatures before applying a new ad-hoc signature.2d65896brefactor(shared): simplify normalize SDK null guards -- Simplified null checks in normalizeSDKResponse function from explicit null and undefined checks to a single '== null' check, improving code readability without changing functionality.79a475d6refactor(background-agent): simplify loop detector null guard -- Simplified null checks in a function without changing functionality, improving code readability.cd8352c1refactor(claude-code-mcp-loader): simplify env expansion null guard -- Simplified null checks in a function without changing functionality, improving code readability.50df6f0dtest(claude-code-plugin-loader): cover plugin path nullish resolution -- Adds meaningful tests covering plugin path resolution, including nullish input handling, with clear expected behavior.668bc8e8refactor(config-manager): simplify config parsing guards -- Simplified redundant conditional logic in addPluginToOpenCodeConfig and added meaningful tests for config parsing errors in parse-opencode-config-file.test.tsa0d5131erefactor(plugin): remove dead chat params code -- Removed dead code (unused 'variant' variable and associated logic) in chat-params.ts, simplifying the buildChatParamsInput function.21cad26cdocs(config): remove redundant schema default comments -- Removed redundant default value comments in schema definitions, improving code clarity without changing functionality.4de02094test(background-agent): lock nullish loop detector behavior -- Adds meaningful tests covering nullish input handling with clear expected behavior for loop detector functionality.141798efrefactor(background-agent): standardize loop detector null guards -- Simplified null checks in two functions without changing functionality, improving code readability.e71c34acfix(migration): return true when canonical config write succeeds regardless of archive status ([Bug]: v3.15.1 still inconsistently loads/migrates plugin config after rename code-yeongyu/oh-my-openagent#3133) -- Fixes a bug where migration returned false when the canonical config write succeeded but archive rename failed, by changing the return value to true in such cases.7accb53cfix(shared): handle Windows rename-over-existing in write-file-atomically ([Bug]: Using oh-my-opencode via bunx causes a new oh-my-openagent.json.bak.* backup file to be created on every OpenCode startup, even when no config changes were made. code-yeongyu/oh-my-openagent#3222) -- Fixes a specific, documented bug (Windows renameSync failure with EPERM/EACCES) with a clear, targeted code change and adds relevant tests covering the scenario.9ef133a8fix(migration): register parenthesized legacy agent aliases in AGENT_NAME_MAP ([Bug]: Header 'x-opencode-agent-name' has invalid value: 'Atlas (Plan Executor)' code-yeongyu/oh-my-openagent#3281) -- Added concrete mappings for legacy agent aliases in AGENT_NAME_MAP and corresponding tests to ensure migration correctness for specific, previously failing cases.a6e4f211fix(shared): normalize claude model IDs for anthropic provider (transformModelForProvider missing anthropic provider — dash-format model IDs rejected by OpenCode code-yeongyu/oh-my-openagent#3290) -- Fixes a specific, documented bug (Anthropic API model ID format incompatibility) with clear, targeted code changes and updates tests to match the new format.4f02ace7fix(shared): guard maxOutputTokens <= 0 in model settings compatibility ([Bug]: Invalid argument for parameter maxOutputTokens: maxOutputTokens must be >= 1 code-yeongyu/oh-my-openagent#3305) -- Added a guard to preserve user-requested maxTokens when model metadata reports invalid maxOutputTokens (<= 0), with clear tests covering the new behavior.c750781bfix(shared): avoid false-positive skill path resolution on npm scoped packages ([Bug]: Why my command run with error path? code-yeongyu/oh-my-openagent#2857) -- Fixed a specific bug with npm scoped packages by adjusting regex to exclude npm/import indicators, added a targeted test case.d7b4bec5fix(hooks,tools): replace /plan example with prometheus delegation and rename code-review example to review-work (Error message references non-existent /plan command code-yeongyu/oh-my-openagent#2633, [Bug]: Skill tool schema uses non-existent "code-review" as example instead of actual "review-work" skill code-yeongyu/oh-my-openagent#3285, [Bug]: oh-my-openagent overrides built-in tools to bypass the permission system. code-yeongyu/oh-my-openagent#2873) -- The commit fixes a non-existent command reference, updates a skill name to match an actual built-in skill, and adds a test to verify the change, all of which provide clear value.7e96af5ffix(atlas): exclude node_modules from verification git diff --stat ([Feature]: Ensure gitignore is created before starting implementation code-yeongyu/oh-my-openagent#3215) -- Added exclusion of node_modules in git diff commands for verification reminders, reducing noise and improving relevance.2d8b4a9dfix(anthropic-effort): skip effort injection for github-copilot provider ([Bug]: code-yeongyu/oh-my-openagent#3270) -- Added explicit guard to skip effort injection for github-copilot provider, preserving native Anthropic support, with a clear, targeted code change and new test covering the scenario.796a646cfix(non-interactive-env): use detectShellType instead of hardcoded win32 check ([Bug]: Force PowerShell env behavior in Windows code-yeongyu/oh-my-openagent#3310, Bug: PowerShell env var syntax ($env:VAR) used in bash shell on Windows code-yeongyu/oh-my-openagent#3338) -- Replaced hardcoded win32 check with detectShellType() for more accurate shell detection across various Windows environments (Git Bash, WSL, native PowerShell), with multiple targeted tests covering different scenarios.64e55936fix(multimodal-looker): instruct explicit Read tool usage for PDFs (Multimodal-Looker Cannot Read PDF Files code-yeongyu/oh-my-openagent#2998) -- Explicit instruction added to ensure PDFs are loaded via the Read tool before extraction, addressing a specific functional gap.d8b9bf1afix(doctor): check comment-checker lazy-download cache path ([Question]: comment-checker not found code-yeongyu/oh-my-openagent#2911, [Bug] comment-checker hook does not trigger code-yeongyu/oh-my-openagent#3315) -- Fixes a specific bug where the doctor's comment-checker probe did not recognize cached binaries, aligning resolution order with runtime and adding targeted tests.3bfa3bd6fix(background-agent): pass query directory to session.get in 4 call-sites ([Bug]: resolveSubagentSpawnContext fails to find project-scoped sessions — client.session.get() missing directory parameter code-yeongyu/oh-my-openagent#2937) -- Fixes a specific bug causing 404 errors under newer OpenCode SDK versions by passing the query directory to session.get in multiple call-sites, with clear tests covering the change.eb495793fix(event): prefer real session.idle over recent synthetic dedup ([Bug]: The model has responded normally, but there is a red alert in the input box: [TODO-DIAG] BLOCKED: no todossession.idle event code-yeongyu/oh-my-openagent#2667) -- Fixes a specific bug where synthetic idle events were prioritized over real session.idle events, causing data loss for downstream hooks, with targeted test cases.aed8dbfafix(delegate-task): fetch session result before honoring abort signal ([Bug]: @explore subagent completes but parent never returns result; 3.12.3 aborts with "The operation was aborted." code-yeongyu/oh-my-openagent#2702) -- Fixes a specific bug where the sync poller returned 'Task aborted' prematurely, now fetching session results before honoring abort signals, with clear test additions covering the scenario.c5c5bc36fix(delegate-task): consume fallback chain on sendSyncPrompt failure (delegate-task: No automatic retry with fallback models when subagent fails due to model error code-yeongyu/oh-my-openagent#2691) -- Added retry logic with fallback chain consumption for sendSyncPrompt failures, including new tests covering retry and exhaustion scenarios.6a0d515d@divlook has signed the CLA in fix: align GitHub Copilot model variants with catalog code-yeongyu/oh-my-openagent#3353 -- Added a new contributor's CLA signature to the signatures/cla.json file, which is a clear and necessary update for project governance.5b33cd22@lrq3000 has signed the CLA in docs(install): Update installation commands for humans in documentation to oh-my-openagent code-yeongyu/oh-my-openagent#3358 -- Added a new contributor's CLA signature to the signatures/cla.json file, which is a clear and necessary update for project governance.3d2eb6e4fix(config): preserve explicit git_master overrides during merge -- Adds explicit tests and logic to preserve user git_master config overrides, addressing a specific functional requirement with clear behavior delta.c6deb6d6@Zireael has signed the CLA in fix: detect Git Bash/WSL/MSYS2 shell on Windows (non-interactive-env hook) code-yeongyu/oh-my-openagent#3370 -- Added a new contributor's CLA signature to the signatures/cla.json file, which is a clear and necessary update for project governance.42df1c3c@FuDesign2008 has signed the CLA in fix(agent-key): restore getAgentDisplayName for HTTP-header-safe agent keys code-yeongyu/oh-my-openagent#3371 -- Added a new contributor's CLA signature to the signatures/cla.json file, which is a clear and necessary update for project governance.dac0c99efeat: add Vercel AI Gateway as a provider -- Adds Vercel AI Gateway as a recognized provider with clear integration across multiple files, including detection, configuration, and fallback logic, with specific behavior delta (enabling universal fallback for OpenAI, Anthropic, and Google models).aac17135test: add vercel provider transform tests -- Adds multiple specific, well-defined tests for Vercel provider transformations with clear expected outputs, covering various model types and edge cases.6f72ec75test: add integration tests for Vercel AI Gateway model resolution -- Adds integration tests for Vercel AI Gateway model resolution with specific scenarios and expected outputs.84f980c9@matchai has signed the CLA in feat(provider): add Vercel AI Gateway support code-yeongyu/oh-my-openagent#3376 -- Added a new contributor's CLA signature to the signatures/cla.json file, which is a clear and necessary update for project governance.542dc890fix(provider): use gateway-specific model IDs for vercel transform -- Fixes model ID transformation for Vercel AI Gateway by removing '-preview' suffix as per gateway's requirements, with clear behavior delta in tests and code.34e334eafeat(provider): add vercel to all gateway-supported fallback entries -- Adds vercel provider fallback entries with clear behavior delta and specific model integrations, tested by updated snapshots and test cases.effae16crefactor(provider): replace per-model string replacements with generic regex -- Replaced multiple per-model string replacements with a generic regex, simplifying code and making it more scalable for new models.569addd3docs(provider): add comments to vercel transform logic -- Added meaningful comments explaining Vercel AI Gateway transform logic in the code, enhancing readability and understanding of the specific transformation requirements.680d05a2Prometheus: keep planner primary-only -- Changes Prometheus agent mode from 'all' to 'primary' across multiple tests and config builders, aligning with the commit message's clear behavior delta.e3b5c2befix: address review feedback for Vercel AI Gateway PR -- Adds a new CLI option, updates priority logic, and fixes test expectations with clear behavior deltas, all directly addressing review feedback for Vercel AI Gateway integration.01a1b141fix(delegate-task): reject primary agents in task subagent resolution -- The commit introduces a clear behavior delta by rejecting primary agents in task subagent resolution, with specific code changes and new functions that directly address this functionality.3673b962docs(readme-ru): add telemetry and legal section translation -- Added Russian translation for telemetry and legal sections in README.ru.md, including specific details about anonymous telemetry and links to privacy policy and terms of service.23d0a0dcdocs(readme-zh-cn): add telemetry and legal section translation -- Added meaningful translation for telemetry and legal sections in README.zh-cn.md, including specific details and links to privacy policy and terms of service.0ece66e3docs(readme-ja): add telemetry and legal section translation -- Added Japanese translation for telemetry and legal sections in README.ja.md, including specific details and links to privacy policy and terms of service.12ed9501docs(readme-ko): add telemetry and legal section translation -- Added Korean translation for telemetry and legal sections in README.ko.md, including specific details and links to privacy policy and terms of service.c91db2ebdocs(cli): add --vercel-ai-gateway flag documentation -- Added documentation for a new CLI flag --vercel-ai-gateway with a clear description and default value.e223ab20docs(configuration): add sisyphus-junior to agent list -- Added a new agent 'sisyphus-junior' to the list of available agents in the configuration documentation.678011c7docs(contributing): update tool/hook counts and version references -- Updated tool/hook counts and version references in CONTRIBUTING.md to reflect accurate numbers and versions.9342e55bdocs(installation): replace npx with bunx and update provider flags -- Updated installation docs to replace 'npx' with 'bunx' and added new provider flags with clear explanations.05e54444docs(overview): update model-role claims and complete category list -- Updated model-role claims and completed category list in documentation with specific, actionable changes and clear additions of new categories and model mappings.7c94ee45docs(agent-model-matching): sync fallback chains with current source -- Updated documentation to reflect accurate fallback chains by adding 'vercel' to provider paths in agent and category configurations, with clear references to the source of truth in src/shared/model-requirements.ts.b57a7975docs(ollama): verify troubleshooting steps and issue links -- Updated troubleshooting steps with specific issue links and clear documentation of a workaround for a known issue ([Bug]: Ollama integration fails - streaming NDJSON response not parsed correctly code-yeongyu/oh-my-openagent#1124).bbbd1bd0docs(orchestration): update diagram model names and category tables -- Updated documentation with specific, actionable changes to model names, category tables, and fallback chains, adding clarity and reflecting accurate configurations.0cb0a6c0docs(contributing): update tool/hook counts and version references -- Updated tool/hook counts and version references in CONTRIBUTING.md to reflect accurate numbers and versions.4ce1dde3CLI: isolate provider model id transforms from shared mocks -- Added multiple tests for transformModelForProvider function covering various providers and edge cases, ensuring correct model transformations.1b36194bfix(cli): treat missing session status as idle in run completion -- Fixes a specific bug where missing session status was not handled, leading to potential hanging; adds a targeted test case to verify the fix.3419bbc4@mauriciozaffari has signed the CLA in fix: recognize 'hit your limit' as retryable error pattern code-yeongyu/oh-my-openagent#3398 -- Added a new contributor's CLA signature to the cla.json file, which is a clear and necessary update for project governance.b5250555fix(telemetry): guard PostHog init failures -- Adds a test to verify that PostHog clients return no-op when initialization fails, ensuring robust error handling.1bb59c3erelease: v3.17.2 -- Bumps version from 3.17.0 to 3.17.2 across all platform-specific packages and the main package.json, indicating a release update with clear, trackable changes.571cf1f1@kywoo26 has signed the CLA in fix(background-agent): skip unavailable fallback models code-yeongyu/oh-my-openagent#3402 -- Added a new contributor's CLA signature to the cla.json file, which is a clear and necessary update for project governance.f98f7ec7@garnetlyx has signed the CLA in feat: Task ID semantics and lifecycle integrity (#3404, #3405) code-yeongyu/oh-my-openagent#3409 -- Added a new contributor's CLA signature to the cla.json file, which is a clear and necessary update for project governance.d97c067d@lightrabbit has signed the CLA in fix(skill-mcp): pass workspace directory as cwd to stdio MCP processes code-yeongyu/oh-my-openagent#3415 -- Added a new contributor's CLA signature to the cla.json file, which is a clear and necessary update for project governance.eaf5ff21@fr1sk has signed the CLA in fix(agent-display): remove ZWSP sort prefixes that truncate agent names in terminals code-yeongyu/oh-my-openagent#3419 -- Added a new contributor's CLA signature to the cla.json file, which is a clear and necessary update for project governance.f8f7ac10@grandmaster451 has signed the CLA in fix(auto-update): use semantic version comparison instead of string e… code-yeongyu/oh-my-openagent#3420 -- Added a new contributor's CLA signature to the cla.json file, which is a clear and necessary update for project governance.54a94d41@kithawk has signed the CLA in Fix primary agent model precedence code-yeongyu/oh-my-openagent#3428 -- Added a new contributor's CLA signature to the cla.json file, which is a clear and necessary update for project governance.0dab3116fix: resolve 3 bugs ([Bug]: non-interactive-env hook generates PowerShell $env: syntax on Git Bash (Windows) code-yeongyu/oh-my-openagent#3366, Agent name case change breaks Todo Continuation for historical sessions code-yeongyu/oh-my-openagent#3272, [Bug]: Using oh-my-opencode via bunx causes a new oh-my-openagent.json.bak.* backup file to be created on every OpenCode startup, even when no config changes were made. code-yeongyu/oh-my-openagent#3222) -- Fixes three distinct bugs with clear, test-covered behavior changes.62c60ae9fix: numeric skill names, ultrawork missing run_in_background, ZWSP agent lookups -- Fixes numeric skill name parsing, adds required parameter to task examples, and strips ZWSP for agent name comparisons, all addressing specific issues with clear behavior changes.76c5356atest(agent-config): add regression tests for agent merge priority order -- Adds regression tests for agent merge priority order with clear, test-covered behavior changes.da91c535fix(call-omo-agent): address cubic review findings and add requirement-based tests -- Adds 14 requirement-based tests covering specific behavioral specs (R1-R7) for agent resolution, ensuring robustness and clear value.1e85a88dfix(agent-restrictions): restore EXPLORATION_AGENT_DENYLIST as default fallback for unknown agents -- Restores a default fallback for unknown agents, reverting a previous change that removed EXPLORATION_AGENT_DENYLIST, with clear behavioral impact.fd28f7e6feat(agents): add agent_definitions schema, eager path resolution, and JSON agent loader -- Adds agent_definitions schema, eager path resolution, and JSON agent loader with comprehensive test suite covering multiple scenarios.5755a90cfeat(agents): add agent definitions file loader and opencode.json reader -- Adds agent definitions file loader and opencode.json reader with comprehensive test coverage (23 tests) for real functionality.39bda91bfeat(agents): wire agent_definitions and opencode.json agents into precedence chain -- Adds integration of agent_definitions and opencode.json into agent precedence chain with clear functionality, new tests, and logical filtering logic.3d0fb22cfix(call-omo-agent): adapt dev's model override tests to use createMockCtx factory -- The commit fixes test references to use a new factory function, ensuring tests work with the updated codebase.42445f51fix(agents): address cubic review findings on agent loader -- Fixes specific issues with agent loading, including case-insensitive file extension handling, relative path resolution, and precedence logic, all with clear behavioral changes and test coverage.cf4b2315fix(agents): replace 'in' with Object.hasOwn() for prototype-safe property checks -- Replaced 'in' with Object.hasOwn() for prototype-safe property checks in opencode-config-agents-reader.ts to avoid skipping valid agent names that match inherited properties.4c77045cfix(agents): use null-prototype accumulator to prevent proto pollution -- The commit fixes a specific security vulnerability by using Object.create(null) to prevent proto pollution, with a clear explanation and behavioral impact.e5d3fe96fix(agents): address all PR feat(call-omo-agent): support custom agents via dynamic resolution code-yeongyu/oh-my-openagent#2299 code review findings -- The commit addresses multiple code review findings with clear behavioral changes, including security fixes (Object.create(null)), schema enhancements (min length), and test additions, all with tangible value.ab11f2ebfix(tests): replace mock.module with spyOn to prevent test pollution -- Replaced mock.module() with spyOn() to prevent test state pollution, ensuring downstream tests run cleanly.e1b2f97bfix: isPlanFamily regression tests, code-review -> review-work in test data (bug: isPlanFamily() substring matching false-positives Atlas/Metis/Momus display names code-yeongyu/oh-my-openagent#3312, [Bug]: Skill tool schema uses non-existent "code-review" as example instead of actual "review-work" skill code-yeongyu/oh-my-openagent#3285, transformModelForProvider missing anthropic provider — dash-format model IDs rejected by OpenCode code-yeongyu/oh-my-openagent#3290) -- Fixes regression in test data by updating 'code-review' to 'review-work' in test expectations and adds specific tests to ensure isPlanFamily correctly handles edge cases.81a03fa9@orbisai0security has signed the CLA in fix: upgrade express-rate-limit to 8.2.2, 8.1.1, 8.0.2 (CVE-2026-30827) code-yeongyu/oh-my-openagent#3440 -- Added a new contributor's CLA signature to cla.json, which is a clear and necessary administrative update with direct relevance to project governance.47aa3025fix(cli): use getAgentRuntimeName for agent resolution in run command -- The commit replacesgetAgentDisplayNamewithgetAgentRuntimeNamein multiple places to resolve agent names, which is a clear and defensible change with updated tests to reflect the new behavior.0764526afix(posthog): disable exception autocapture to stay within free tier -- Disables exception autocapture to stay within the free tier limit, preserving manual capture for critical errors.9aeb87c2chore: bump version to 3.17.3 -- Bumped package version from 3.17.2 to 3.17.3 in package.jsonccb2715afix: hide native plan agent when replace_plan is true ([Bug]: Native plan agent not hidden when replace_plan is true - Sisyphus routes to it instead of Prometheus code-yeongyu/oh-my-openagent#3443) -- Added hidden: true to buildPlanDemoteConfig() to fix visibility issue when replace_plan is true, with clear behavioral impact and test updates.80e73f57@CHLK has signed the CLA in fix(cli-run): prevent premature exit when background tasks are active code-yeongyu/oh-my-openagent#3455 -- Added a new contributor's CLA signature to cla.json, which is a clear and necessary administrative update with direct relevance to project governance.a1842f2dfeat(tool-metadata): add shared metadata contract and bridge -- Adds a shared metadata contract and bridge with multiple integration tests covering various scenarios, including round-trip persistence, case insensitivity, and edge cases like missing or blank call IDs.80d3339cfeat(background-agent): add wait-for-task-session helper -- Adds a new utility functionwaitForTaskSessionIDwith comprehensive tests covering multiple scenarios, including immediate resolution, polling, abort signals, and timeouts, which clearly enhances functionality.4da30057fix(plugin): harden metadata recovery and extraction -- Adds test cases and refactors metadata extraction with clear behavioral improvements and new functionality.c6a407c4refactor(tools): migrate producers to shared metadata bridge -- ReplacesstoreToolMetadatawithpublishToolMetadataacross multiple files, indicating a deliberate refactor to a shared metadata bridge with clear functional intent.7bc170fbfix: installer writes hyphenated anthropic IDs, variant=max Anthropic OAuth compat (variant: max sends output_config which breaks Claude Pro/Max OAuth authentication code-yeongyu/oh-my-openagent#3429, [Bug]: installer generates invalid Anthropic model IDs with dotted version suffixes code-yeongyu/oh-my-openagent#3459) -- The commit fixes a specific issue with hyphenated Anthropic IDs for OAuth compatibility, with multiple model references updated consistently.fe091ef2chore: bump version to 3.17.4 -- Bumped package version from 3.17.3 to 3.17.4 in package.json, which is a clear and necessary version update.c9350c67release: v3.17.4 -- Bumped version from 3.17.2 to 3.17.4 across multiple platform-specific package.json files, indicating a clear and necessary version update.Branch:
sync/upstream/v3.17.4-good(local only; not on origin)🟡 Review batch
Ambiguous. Human should review before merging.
1e2e0019refactor(create-tools): keep result type internal -- The commit changes the export status ofCreateToolsResultwithout clear justification or visible callers in the diff, requiring further investigation to determine impact.9d89bbb0refactor(commands): keep builtin command options internal -- The commit changes the export status of an interface without clear justification or visible callers in the diff.Branch:
sync/upstream/v3.17.4-needs-review(on origin)🔴 Slop batch
Classified as AI slop or pointless churn. Do not merge as-is; rewrite intent if salvageable.
6713b30crefactor(hooks): drop no-op directory injector callbacks -- Removed unused 'tool.execute.before' callback with no functional impact, indicating pointless churn.cfd152addocs(features): update agent count and verify category list -- Added two new features ('review-work' and 'ai-slop-remover') with overly broad, vague descriptions lacking concrete behavior deltas or clear value propositions.Branch:
sync/upstream/v3.17.4-slop(on origin)Slop verifier second-pass notes
6713b30CONFIRMED_SLOP (behavior delta: none): The commit removes an unused 'tool.execute.before' callback with no functional impact, indicating pointless churn. The removed function had no effect on runtime behavior, and its removal does not change any user-visible output or invariants. The commit message's claim of a 'refactor' is misleading as it does not improve functionality or readability in a meaningful way. A senior engineer would likely reject this in a code review as it constitutes unnecessary churn without value.cfd152aCONFIRMED_SLOP (behavior delta: none): The commit adds two features with vague descriptions lacking concrete behavior deltas or clear value propositions. The descriptions for 'review-work' and 'ai-slop-remover' are overly broad and do not specify how they integrate with existing code or provide measurable benefits. No evidence of multiple callers or growth path for these additions. The commit message does not accurately reflect tangible changes. A senior engineer would likely question the lack of specificity and utility.Fork-sync impact assessment
Breaking changes
(none detected)
Dependency changes
Architecture drift
(none)
Hidden concerns
create-toolsandcommandsexports justificationAction items before merging
Generated by
upstream-analyzerworkflow. This issue is advisory: no merges or publishes happen automatically. Phase 1: draft PRs only. The prompt lives in.github/prompts/and is editable without touching workflow code.Classify chain:
openrouter:qwen/qwen3-coder:free → nvidia:nvidia/llama-3.3-nemotron-super-49b-v1 → github:openai/gpt-4.1-miniSlop-verify chain:
openrouter:nvidia/nemotron-3-super-120b-a12b:free → nvidia:nvidia/llama-3.3-nemotron-super-49b-v1 → github:openai/gpt-4.1Synthesis chain:
openrouter:nvidia/nemotron-3-super-120b-a12b:free → nvidia:nvidia/llama-3.3-nemotron-super-49b-v1 → github:openai/gpt-4.1