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 111 GOOD commits out of 116, with a low slop ratio of ~4.3%. The GOOD commits bring significant, well-tested improvements across various aspects (agent resolution, bug fixes, documentation, and infrastructure). The 5 SLOP commits are minor, non-functional changes (e.g., date updates, internal type visibility changes) with no critical impact. No breaking changes, dependency conflicts, or architecture drifts were identified that would block a clean merge. The dependency updates are version bumps for the project's own packages, aligning with the new version without external dependency changes.
Batch classification
Verdict
Count
Branch
🟢 GOOD
111
sync/upstream/v3.17.4-good
🟡 NEEDS_REVIEW
0
sync/upstream/v3.17.4-needs-review
🔴 SLOP
5
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 real feature with test cases covering user/project agent resolution, server precedence, and primary agent filtering.
2266f28ffix: correct merge order so project agents override user agents -- Fixes a specific bug by correcting merge order to prioritize project agents over user agents, with a new test case validating the behavior.
64408823fix: actually swap merge order so project is added before user -- Fixes a specific bug by swapping merge order to prioritize project agents over user agents, with a new test case validating the behavior.
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, verifiable bugs in handling Windows paths and CRLF line endings in grep output parsing, with clear explanations and targeted regex adjustments.
e9b6bba1refactor(agent-display): centralize name normalization resolution -- Adds new test cases and refactors name normalization logic with clear, defensible improvements in agent display name handling.
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.
40411f32docs(agents): add AGENTS.md documentation for prometheus, hephaestus, sisyphus variants, and builtin-skills -- Added detailed documentation for multiple agents and built-in skills with clear structure and purpose, providing meaningful information for users.
21822ba2test(openclaw): cover shared gateway url validation -- Adds a test case covering specific validation scenarios for gateway URLs, ensuring expected behavior for different URL types.
a2ae3de3refactor(openclaw): extract gateway url validator -- Extracts a reusable function validateGatewayUrl, reducing redundancy and improving maintainability.
69f1c9aefix(doctor): add timeouts to subprocess spawns to prevent exit code 137 -- Adds timeouts to prevent subprocess hangs and SIGKILL (exit code 137), directly addressing a specific, real-world issue with clear functional improvement.
314e1a5efix(telemetry): enable GeoIP resolution for PostHog events -- Explicitly enables GeoIP resolution for PostHog events by setting disableGeoip to false, directly addressing a specific functionality gap.
d21ed3f7fix(doctor): add timeouts to subprocess spawns to prevent exit code 137 -- Adds timeouts to prevent subprocess hangs and SIGKILL (exit code 137), directly addressing a specific, real-world issue with clear functional improvement.
565d3ffafix(ci): build darwin binaries on macOS runners to restore code signing -- The commit fixes a specific, real-world issue with code signing for macOS binaries by routing darwin platforms to macOS runners and adding an explicit ad-hoc codesign step, directly addressing a functional gap.
71b5ab67fix(ci): replace breaking codesign step with signature verification -- Replaces a breaking codesign step with signature verification, addressing a specific functional issue in the CI pipeline for macOS binaries.
16e7fa5bfix(ci): ad-hoc sign darwin binaries with plain codesign -- Explicitly adds ad-hoc signing for darwin binaries in CI to address a specific functional gap (lack of default linker-signed signatures on GitHub macos-latest runners).
470ed8b1fix(ci): remove existing signature before ad-hoc signing darwin binary -- Fixes a specific CI issue by removing existing signatures before applying ad-hoc signing for Darwin binaries, directly addressing a functional gap.
2d65896brefactor(shared): simplify normalize SDK null guards -- Simplified null checks in normalizeSDKResponse function without changing behavior, improving code readability.
79a475d6refactor(background-agent): simplify loop detector null guard -- Simplified null checks in a function without changing behavior, improving code readability.
cd8352c1refactor(claude-code-mcp-loader): simplify env expansion null guard -- Simplified null checks in expandEnvVarsInObject without changing behavior, improving code readability.
50df6f0dtest(claude-code-plugin-loader): cover plugin path nullish resolution -- Adds meaningful tests covering plugin path resolution with specific scenarios, including nullish input handling.
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' parameter and related logic) in chat-params.ts, simplifying the buildChatParamsInput function without affecting functionality.
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) -- Fixes a specific bug with npm scoped package resolution by updating regex to exclude npm/import indicators, with a clear test case added.
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 test case.
3d2eb6e4fix(config): preserve explicit git_master overrides during merge -- Adds explicit test cases and logic to preserve user git_master 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 usage and fallback logic, including config detection, validation, and model configuration updates.
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 clear expectations.
542dc890fix(provider): use gateway-specific model IDs for vercel transform -- The commit fixes a specific model ID transformation issue for the Vercel provider, aligning it with the gateway's requirements, and includes targeted test updates.
34e334eafeat(provider): add vercel to all gateway-supported fallback entries -- Adds vercel to fallback entries for gateway-supported models with clear behavior delta and test updates.
effae16crefactor(provider): replace per-model string replacements with generic regex -- Replaces 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 comments clarify the logic for Vercel AI Gateway transforms without introducing unnecessary complexity.
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 Vercel AI Gateway integration with clear behavior delta, priority adjustments, and multiple test updates.
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 multiple new functions and logic adjustments that directly address the issue.
3673b962docs(readme-ru): add telemetry and legal section translation -- Added meaningful Russian translations for telemetry and legal sections in README.ru.md, including clear configuration and privacy policy links.
23d0a0dcdocs(readme-zh-cn): add telemetry and legal section translation -- Added meaningful Chinese translations for telemetry and legal sections in README.zh-cn.md, including clear configuration and privacy policy links.
0ece66e3docs(readme-ja): add telemetry and legal section translation -- Added meaningful Japanese translations for telemetry and legal sections in README.ja.md, including clear configuration and privacy policy links.
12ed9501docs(readme-ko): add telemetry and legal section translation -- Added meaningful Korean translations for telemetry and legal sections in README.ko.md, including clear configuration and privacy policy links.
c91db2ebdocs(cli): add --vercel-ai-gateway flag documentation -- Added documentation for a new flag --vercel-ai-gateway with a clear description and default value, providing useful information for users.
e223ab20docs(configuration): add sisyphus-junior to agent list -- Added 'sisyphus-junior' to the list of available agents in the configuration documentation, providing clear and useful information for users.
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, providing clear and useful information for contributors.
9342e55bdocs(installation): replace npx with bunx and update provider flags -- Updated installation docs to reflect 'bunx' usage and added relevant provider flags with clear explanations.
05e54444docs(overview): update model-role claims and complete category list -- Updated documentation with specific, accurate category mappings and model recommendations, adding concrete value for users.
7c94ee45docs(agent-model-matching): sync fallback chains with current source -- Updated documentation to reflect accurate fallback chains with clear references to source code (src/shared/model-requirements.ts)
b57a7975docs(ollama): verify troubleshooting steps and issue links -- Updated troubleshooting documentation with specific issue links and clear workaround documentation, adding concrete value for users.
bbbd1bd0docs(orchestration): update diagram model names and category tables -- Updated documentation with specific, accurate category mappings and model recommendations, adding concrete value for users.
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, providing clear and useful information for contributors.
4ce1dde3CLI: isolate provider model id transforms from shared mocks -- Added multiple specific, targeted tests for model transformations across various providers (github-copilot, google, anthropic, vercel) with clear expected outputs, ensuring functionality and preventing double transformations.
1b36194bfix(cli): treat missing session status as idle in run completion -- Fixes a specific bug where missing session status would cause the system to hang, now treating it as idle, with a clear test case added.
b5250555fix(telemetry): guard PostHog init failures -- Adds a try-catch block to handle PostHog initialization failures, ensuring a no-op client is returned instead of crashing, with comprehensive tests verifying the fallback behavior.
1bb59c3erelease: v3.17.2 -- Updated version numbers in package.json files across multiple platforms to match the new release version (3.17.2)
76c5356atest(agent-config): add regression tests for agent merge priority order -- Adds regression tests for agent merge priority order with clear, targeted test cases covering various scenarios.
da91c535fix(call-omo-agent): address cubic review findings and add requirement-based tests -- The commit fixes specific issues, adds requirement-based tests, and includes clear, targeted code changes with direct benefits.
1e85a88dfix(agent-restrictions): restore EXPLORATION_AGENT_DENYLIST as default fallback for unknown agents -- Restores a default fallback for unknown agents, directly addressing a specific functional requirement with clear, targeted code changes.
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 and clear functional improvements.
5755a90cfeat(agents): add agent definitions file loader and opencode.json reader -- Adds agent definitions loader and opencode.json reader with comprehensive test coverage (23 tests) for real functionality, including parsing, loading, and handling various file formats and edge cases.
39bda91bfeat(agents): wire agent_definitions and opencode.json agents into precedence chain -- Adds integration of agent_definitions and opencode.json agents into precedence chain with clear functionality, new tests, and logical code changes.
3d0fb22cfix(call-omo-agent): adapt dev's model override tests to use createMockCtx factory -- The commit fixes a specific issue by replacing outdated mock references with a new factory function, directly improving test reliability.
42445f51fix(agents): address cubic review findings on agent loader -- Fixes specific issues with agent loading, adds case-insensitive file extension handling, and corrects config directory resolution with clear, targeted code changes and new tests.
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, addressing a specific functional issue with 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, directly addressing a functional issue with clear benefits.
ab11f2ebfix(tests): replace mock.module with spyOn to prevent test pollution -- Replaced mock.module() with spyOn() to prevent test state pollution, directly addressing a functional issue with clear benefits.
47aa3025fix(cli): use getAgentRuntimeName for agent resolution in run command -- The commit replaces hardcoded display names with a function call to getAgentRuntimeName, improving consistency and reducing maintenance effort by centralizing agent name resolution.
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 version from 3.17.2 to 3.17.3 in package.json, a clear and necessary update for version tracking.
a1842f2dfeat(tool-metadata): add shared metadata contract and bridge -- Adds a shared metadata contract and bridge with multiple test cases 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 well-tested, non-trivial utility function (waitForTaskSessionID) with clear use cases and multiple test scenarios covering immediate resolution, polling, abort signals, and timeouts.
4da30057fix(plugin): harden metadata recovery and extraction -- The commit introduces a shared metadata contract and bridge with multiple test cases, addressing a specific functional need with clear benefits and no obvious slop signals.
c6a407c4refactor(tools): migrate producers to shared metadata bridge -- The commit refactors multiple files to migrate producers to a shared metadata bridge, replacing storeToolMetadata with publishToolMetadata across various task handlers, indicating a clear architectural improvement with broad applicability.
fe091ef2chore: bump version to 3.17.4 -- Bumped version from 3.17.3 to 3.17.4 in package.json, a clear and necessary update for version tracking.
c9350c67release: v3.17.4 -- Bumped version numbers in multiple package.json files to 3.17.4, indicating a release update with clear administrative value.
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.
(none)
🔴 Slop batch
Classified as AI slop or pointless churn. Do not merge as-is; rewrite intent if salvageable.
1e2e0019refactor(create-tools): keep result type internal -- The commit renames a type from export type to type without any clear benefit or additional changes, indicating unnecessary churn.
9d89bbb0refactor(commands): keep builtin command options internal -- The commit changes the visibility of LoadBuiltinCommandsOptions from export interface to interface without any additional changes or clear justification, indicating unnecessary churn.
0c5cd3a1chore(agents): update all AGENTS.md generation dates to 2026-04-11 -- The commit updates numerous AGENTS.md files solely to change the generation date from various past dates to 2026-04-11, with no functional changes or additional content.
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 'ai-slop-remover' agent with vague, self-referential description and no clear implementation details in the diff.
Branch: sync/upstream/v3.17.4-slop (on origin)
Slop verifier second-pass notes
1e2e001 CONFIRMED_SLOP (behavior delta: none): The commit renames an export type to a non-export type without any additional changes or clear benefits, indicating unnecessary churn. There's no behavior delta, no new abstractions with multiple callers, and the commit message lacks measurable justification. A senior engineer would likely question the value of this change. This aligns with the first-pass reason of 'churn' with no call-site benefit.
9d89bbb CONFIRMED_SLOP (behavior delta: none): The commit changes the visibility of LoadBuiltinCommandsOptions from export interface to interface without any additional changes or clear justification. This alteration does not introduce a concrete behavior delta, as the interface's structure and usage within the module remain unchanged. The first-pass reason correctly identifies this as unnecessary churn, akin to a rename with no call-site benefit, as the interface's consumers (if any) would now need to adjust imports, but no such adjustments are evident in the commit. Since there's no measurable improvement, strengthened invariant, or new functionality, and given the interface's new internal visibility doesn't inherently justify the change without further context (e.g., security, encapsulation for future changes), the commit aligns with slop patterns.
0c5cd3a CONFIRMED_SLOP (behavior delta: none): The commit solely updates generation dates in multiple AGENTS.md files without any functional changes, new content, or behavior delta. This matches the documented slop pattern of updating docs without adding new facts. No concrete value is added, and a senior engineer would likely not defend this as a valuable change beyond housekeeping, which could be automated or batched.
6713b30 CONFIRMED_SLOP (behavior delta: none): The commit removes a no-op callback without functional impact, indicating churn. The defensive try/catch around non-throwing code and renamed symbols without call-site benefits further support this. No concrete behavior delta or defensible value exists to justify the change.
cfd152a CONFIRMED_SLOP (behavior delta: none): The commit adds a new agent 'ai-slop-remover' with a vague description and no clear implementation details. The description lacks specificity on how it identifies or removes 'AI-generated code smells' without affecting functionality. There's no evidence of existing callers or a growth path for this abstraction, and the feature is not requested by any consumer, as implied by the lack of context. The commit's value is not defensible without more substance.
Fork-sync impact assessment
Breaking changes
(none detected)
Dependency changes
Updated package versions for oh-my-opencode-* to 3.17.4
Architecture drift
(none)
Hidden concerns
Minor SLOP commits are purely administrative or internal and do not affect functionality
Action items before merging
Verify agent resolution fixes work as expected in your fork's context
Test the updated documentation for relevance and accuracy
Confirm the CI/CD pipeline adapts to the new signing process for Darwin binaries
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: 4%
The release window v3.17.0 -> v3.17.4 contains 111 GOOD commits out of 116, with a low slop ratio of ~4.3%. The GOOD commits bring significant, well-tested improvements across various aspects (agent resolution, bug fixes, documentation, and infrastructure). The 5 SLOP commits are minor, non-functional changes (e.g., date updates, internal type visibility changes) with no critical impact. No breaking changes, dependency conflicts, or architecture drifts were identified that would block a clean merge. The dependency updates are version bumps for the project's own packages, aligning with the new version without external dependency changes.
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 real feature with test cases covering user/project agent resolution, server precedence, and primary agent filtering.2266f28ffix: correct merge order so project agents override user agents -- Fixes a specific bug by correcting merge order to prioritize project agents over user agents, with a new test case validating the behavior.64408823fix: actually swap merge order so project is added before user -- Fixes a specific bug by swapping merge order to prioritize project agents over user agents, with a new test case validating the behavior.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, verifiable bugs in handling Windows paths and CRLF line endings in grep output parsing, with clear explanations and targeted regex adjustments.e9b6bba1refactor(agent-display): centralize name normalization resolution -- Adds new test cases and refactors name normalization logic with clear, defensible improvements in agent display name handling.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.40411f32docs(agents): add AGENTS.md documentation for prometheus, hephaestus, sisyphus variants, and builtin-skills -- Added detailed documentation for multiple agents and built-in skills with clear structure and purpose, providing meaningful information for users.21822ba2test(openclaw): cover shared gateway url validation -- Adds a test case covering specific validation scenarios for gateway URLs, ensuring expected behavior for different URL types.a2ae3de3refactor(openclaw): extract gateway url validator -- Extracts a reusable function validateGatewayUrl, reducing redundancy and improving maintainability.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 the signatures/cla.json file, which is a clear and necessary update for project governance.69f1c9aefix(doctor): add timeouts to subprocess spawns to prevent exit code 137 -- Adds timeouts to prevent subprocess hangs and SIGKILL (exit code 137), directly addressing a specific, real-world issue with clear functional improvement.314e1a5efix(telemetry): enable GeoIP resolution for PostHog events -- Explicitly enables GeoIP resolution for PostHog events by setting disableGeoip to false, directly addressing a specific functionality gap.d21ed3f7fix(doctor): add timeouts to subprocess spawns to prevent exit code 137 -- Adds timeouts to prevent subprocess hangs and SIGKILL (exit code 137), directly addressing a specific, real-world issue with clear functional improvement.565d3ffafix(ci): build darwin binaries on macOS runners to restore code signing -- The commit fixes a specific, real-world issue with code signing for macOS binaries by routing darwin platforms to macOS runners and adding an explicit ad-hoc codesign step, directly addressing a functional gap.71b5ab67fix(ci): replace breaking codesign step with signature verification -- Replaces a breaking codesign step with signature verification, addressing a specific functional issue in the CI pipeline for macOS binaries.16e7fa5bfix(ci): ad-hoc sign darwin binaries with plain codesign -- Explicitly adds ad-hoc signing for darwin binaries in CI to address a specific functional gap (lack of default linker-signed signatures on GitHub macos-latest runners).470ed8b1fix(ci): remove existing signature before ad-hoc signing darwin binary -- Fixes a specific CI issue by removing existing signatures before applying ad-hoc signing for Darwin binaries, directly addressing a functional gap.2d65896brefactor(shared): simplify normalize SDK null guards -- Simplified null checks in normalizeSDKResponse function without changing behavior, improving code readability.79a475d6refactor(background-agent): simplify loop detector null guard -- Simplified null checks in a function without changing behavior, improving code readability.cd8352c1refactor(claude-code-mcp-loader): simplify env expansion null guard -- Simplified null checks inexpandEnvVarsInObjectwithout changing behavior, improving code readability.50df6f0dtest(claude-code-plugin-loader): cover plugin path nullish resolution -- Adds meaningful tests covering plugin path resolution with specific scenarios, including nullish input handling.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' parameter and related logic) in chat-params.ts, simplifying the buildChatParamsInput function without affecting functionality.21cad26cdocs(config): remove redundant schema default comments -- Removed redundant schema default comments in multiple config files, improving code clarity without changing functionality.4de02094test(background-agent): lock nullish loop detector behavior -- Adds meaningful tests covering specific scenarios for nullish inputs in loop detector behavior, ensuring consistent handling of undefined and null values.141798efrefactor(background-agent): standardize loop detector null guards -- Simplified null checks in two functions without changing behavior, 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 even when the canonical config write succeeded, by changing the return value to true in that specific success case.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 Windows compatibility issue with atomic file writes, adding error handling for EPERM/EACCES errors when renaming files, with clear test cases 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 and corresponding tests to ensure correct migration, addressing a specific real-world issue.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 real bug by normalizing model IDs to match the Anthropic API's required format, with clear test updates.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) -- Fixes a specific bug where invalid maxOutputTokens values (0 or negative) broke generation by preserving user-requested maxTokens when metadata is invalid.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) -- Fixes a specific bug with npm scoped package resolution by updating regex to exclude npm/import indicators, with a clear test case added.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) -- Fixes a specific issue by replacing a non-existent command reference with a valid Prometheus agent instruction and updates a skill tool example to reference an actual built-in skill.7e96af5ffix(atlas): exclude node_modules from verification git diff --stat ([Feature]: Ensure gitignore is created before starting implementation code-yeongyu/oh-my-openagent#3215) -- Fixes a specific issue by excluding node_modules from git diff verification, with clear test cases added to ensure the change works as intended.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 test case.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).64e55936fix(multimodal-looker): instruct explicit Read tool usage for PDFs (Multimodal-Looker Cannot Read PDF Files code-yeongyu/oh-my-openagent#2998) -- Added explicit instruction for PDF handling to ensure files are loaded 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 in dependency resolution order for the comment-checker binary, ensuring cached binaries are properly recognized, with clear test case additions.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 in project-scoped sessions under newer OpenCode SDK versions by passing the query directory to session.get in multiple call sites.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 in session idle event deduplication logic, ensuring real events are dispatched while synthetic duplicates are dropped, with clear test case updates.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 case additions.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) -- Adds retry logic with fallback chain for sendSyncPrompt failures, preserving cleanup, with clear tests covering success and failure 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 administrative update with no code impact.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 administrative update with no code impact.3d2eb6e4fix(config): preserve explicit git_master overrides during merge -- Adds explicit test cases and logic to preserve user git_master 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 administrative update with no code impact.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 administrative update with no code impact.dac0c99efeat: add Vercel AI Gateway as a provider -- Adds Vercel AI Gateway as a recognized provider with clear usage and fallback logic, including config detection, validation, and model configuration updates.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 clear expectations.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 administrative update with no code impact.542dc890fix(provider): use gateway-specific model IDs for vercel transform -- The commit fixes a specific model ID transformation issue for the Vercel provider, aligning it with the gateway's requirements, and includes targeted test updates.34e334eafeat(provider): add vercel to all gateway-supported fallback entries -- Adds vercel to fallback entries for gateway-supported models with clear behavior delta and test updates.effae16crefactor(provider): replace per-model string replacements with generic regex -- Replaces 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 comments clarify the logic for Vercel AI Gateway transforms without introducing unnecessary complexity.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 Vercel AI Gateway integration with clear behavior delta, priority adjustments, and multiple test updates.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 multiple new functions and logic adjustments that directly address the issue.3673b962docs(readme-ru): add telemetry and legal section translation -- Added meaningful Russian translations for telemetry and legal sections in README.ru.md, including clear configuration and privacy policy links.23d0a0dcdocs(readme-zh-cn): add telemetry and legal section translation -- Added meaningful Chinese translations for telemetry and legal sections in README.zh-cn.md, including clear configuration and privacy policy links.0ece66e3docs(readme-ja): add telemetry and legal section translation -- Added meaningful Japanese translations for telemetry and legal sections in README.ja.md, including clear configuration and privacy policy links.12ed9501docs(readme-ko): add telemetry and legal section translation -- Added meaningful Korean translations for telemetry and legal sections in README.ko.md, including clear configuration and privacy policy links.c91db2ebdocs(cli): add --vercel-ai-gateway flag documentation -- Added documentation for a new flag --vercel-ai-gateway with a clear description and default value, providing useful information for users.e223ab20docs(configuration): add sisyphus-junior to agent list -- Added 'sisyphus-junior' to the list of available agents in the configuration documentation, providing clear and useful information for users.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, providing clear and useful information for contributors.9342e55bdocs(installation): replace npx with bunx and update provider flags -- Updated installation docs to reflect 'bunx' usage and added relevant provider flags with clear explanations.05e54444docs(overview): update model-role claims and complete category list -- Updated documentation with specific, accurate category mappings and model recommendations, adding concrete value for users.7c94ee45docs(agent-model-matching): sync fallback chains with current source -- Updated documentation to reflect accurate fallback chains with clear references to source code (src/shared/model-requirements.ts)b57a7975docs(ollama): verify troubleshooting steps and issue links -- Updated troubleshooting documentation with specific issue links and clear workaround documentation, adding concrete value for users.bbbd1bd0docs(orchestration): update diagram model names and category tables -- Updated documentation with specific, accurate category mappings and model recommendations, adding concrete value for users.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, providing clear and useful information for contributors.4ce1dde3CLI: isolate provider model id transforms from shared mocks -- Added multiple specific, targeted tests for model transformations across various providers (github-copilot, google, anthropic, vercel) with clear expected outputs, ensuring functionality and preventing double transformations.1b36194bfix(cli): treat missing session status as idle in run completion -- Fixes a specific bug where missing session status would cause the system to hang, now treating it as idle, with a clear test case added.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 try-catch block to handle PostHog initialization failures, ensuring a no-op client is returned instead of crashing, with comprehensive tests verifying the fallback behavior.1bb59c3erelease: v3.17.2 -- Updated version numbers in package.json files across multiple platforms to match the new release version (3.17.2)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) -- Resolves three distinct bugs with clear, targeted fixes and adds relevant tests for each case.62c60ae9fix: numeric skill names, ultrawork missing run_in_background, ZWSP agent lookups -- Fixes specific, reported bugs (Bug: Numeric skill name in YAML frontmatter causes all slash commands to fail withcmd.name.toLowerCase is not a functioncode-yeongyu/oh-my-openagent#3354, [Bug]: ultrawork system prompts omit required run_in_background in task() examples, causing agent confusion code-yeongyu/oh-my-openagent#3416, Bug: run command fails - agent name mismatch due to zero-width space (U+200B) prefix code-yeongyu/oh-my-openagent#3379, etc.) with targeted code changes and adds necessary parameters for consistency.76c5356atest(agent-config): add regression tests for agent merge priority order -- Adds regression tests for agent merge priority order with clear, targeted test cases covering various scenarios.da91c535fix(call-omo-agent): address cubic review findings and add requirement-based tests -- The commit fixes specific issues, adds requirement-based tests, and includes clear, targeted code changes with direct benefits.1e85a88dfix(agent-restrictions): restore EXPLORATION_AGENT_DENYLIST as default fallback for unknown agents -- Restores a default fallback for unknown agents, directly addressing a specific functional requirement with clear, targeted code changes.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 and clear functional improvements.5755a90cfeat(agents): add agent definitions file loader and opencode.json reader -- Adds agent definitions loader and opencode.json reader with comprehensive test coverage (23 tests) for real functionality, including parsing, loading, and handling various file formats and edge cases.39bda91bfeat(agents): wire agent_definitions and opencode.json agents into precedence chain -- Adds integration of agent_definitions and opencode.json agents into precedence chain with clear functionality, new tests, and logical code changes.3d0fb22cfix(call-omo-agent): adapt dev's model override tests to use createMockCtx factory -- The commit fixes a specific issue by replacing outdated mock references with a new factory function, directly improving test reliability.42445f51fix(agents): address cubic review findings on agent loader -- Fixes specific issues with agent loading, adds case-insensitive file extension handling, and corrects config directory resolution with clear, targeted code changes and new tests.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, addressing a specific functional issue with 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, directly addressing a functional issue with clear benefits.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 targeted fixes, including security patches (e.g., Object.create(null)), functional improvements (e.g., resolving agent paths), and test additions, all with clear value.ab11f2ebfix(tests): replace mock.module with spyOn to prevent test pollution -- Replaced mock.module() with spyOn() to prevent test state pollution, directly addressing a functional issue with clear benefits.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 prevent false positives in isPlanFamily function.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 value for project governance.47aa3025fix(cli): use getAgentRuntimeName for agent resolution in run command -- The commit replaces hardcoded display names with a function call to getAgentRuntimeName, improving consistency and reducing maintenance effort by centralizing agent name resolution.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 version from 3.17.2 to 3.17.3 in package.json, a clear and necessary update for version tracking.ccb2715afix: 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) -- The commit fixes a specific functional issue by adding 'hidden: true' to hide the native plan agent when 'replace_plan' is true, directly addressing a behavior delta with clear benefits.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 value for project governance.a1842f2dfeat(tool-metadata): add shared metadata contract and bridge -- Adds a shared metadata contract and bridge with multiple test cases 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 well-tested, non-trivial utility function (waitForTaskSessionID) with clear use cases and multiple test scenarios covering immediate resolution, polling, abort signals, and timeouts.4da30057fix(plugin): harden metadata recovery and extraction -- The commit introduces a shared metadata contract and bridge with multiple test cases, addressing a specific functional need with clear benefits and no obvious slop signals.c6a407c4refactor(tools): migrate producers to shared metadata bridge -- The commit refactors multiple files to migrate producers to a shared metadata bridge, replacingstoreToolMetadatawithpublishToolMetadataacross various task handlers, indicating a clear architectural improvement with broad applicability.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 functional issue by replacing dots with hyphens in Anthropics model IDs to ensure compatibility with Anthropic OAuth, directly addressing a behavior delta with clear benefits.fe091ef2chore: bump version to 3.17.4 -- Bumped version from 3.17.3 to 3.17.4 in package.json, a clear and necessary update for version tracking.c9350c67release: v3.17.4 -- Bumped version numbers in multiple package.json files to 3.17.4, indicating a release update with clear administrative value.Branch:
sync/upstream/v3.17.4-good(local only; not on origin)🟡 Review batch
Ambiguous. Human should review before merging.
(none)
🔴 Slop batch
Classified as AI slop or pointless churn. Do not merge as-is; rewrite intent if salvageable.
1e2e0019refactor(create-tools): keep result type internal -- The commit renames a type fromexport typetotypewithout any clear benefit or additional changes, indicating unnecessary churn.9d89bbb0refactor(commands): keep builtin command options internal -- The commit changes the visibility ofLoadBuiltinCommandsOptionsfromexport interfacetointerfacewithout any additional changes or clear justification, indicating unnecessary churn.0c5cd3a1chore(agents): update all AGENTS.md generation dates to 2026-04-11 -- The commit updates numerous AGENTS.md files solely to change the generation date from various past dates to 2026-04-11, with no functional changes or additional content.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 'ai-slop-remover' agent with vague, self-referential description and no clear implementation details in the diff.Branch:
sync/upstream/v3.17.4-slop(on origin)Slop verifier second-pass notes
1e2e001CONFIRMED_SLOP (behavior delta: none): The commit renames an export type to a non-export type without any additional changes or clear benefits, indicating unnecessary churn. There's no behavior delta, no new abstractions with multiple callers, and the commit message lacks measurable justification. A senior engineer would likely question the value of this change. This aligns with the first-pass reason of 'churn' with no call-site benefit.9d89bbbCONFIRMED_SLOP (behavior delta: none): The commit changes the visibility ofLoadBuiltinCommandsOptionsfromexport interfacetointerfacewithout any additional changes or clear justification. This alteration does not introduce a concrete behavior delta, as the interface's structure and usage within the module remain unchanged. The first-pass reason correctly identifies this as unnecessary churn, akin to a rename with no call-site benefit, as the interface's consumers (if any) would now need to adjust imports, but no such adjustments are evident in the commit. Since there's no measurable improvement, strengthened invariant, or new functionality, and given the interface's new internal visibility doesn't inherently justify the change without further context (e.g., security, encapsulation for future changes), the commit aligns with slop patterns.0c5cd3aCONFIRMED_SLOP (behavior delta: none): The commit solely updates generation dates in multiple AGENTS.md files without any functional changes, new content, or behavior delta. This matches the documented slop pattern of updating docs without adding new facts. No concrete value is added, and a senior engineer would likely not defend this as a valuable change beyond housekeeping, which could be automated or batched.6713b30CONFIRMED_SLOP (behavior delta: none): The commit removes a no-op callback without functional impact, indicating churn. The defensive try/catch around non-throwing code and renamed symbols without call-site benefits further support this. No concrete behavior delta or defensible value exists to justify the change.cfd152aCONFIRMED_SLOP (behavior delta: none): The commit adds a new agent 'ai-slop-remover' with a vague description and no clear implementation details. The description lacks specificity on how it identifies or removes 'AI-generated code smells' without affecting functionality. There's no evidence of existing callers or a growth path for this abstraction, and the feature is not requested by any consumer, as implied by the lack of context. The commit's value is not defensible without more substance.Fork-sync impact assessment
Breaking changes
(none detected)
Dependency changes
Architecture drift
(none)
Hidden concerns
Action 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