chore(ruby): upgrade Ruby SDK generator to IR v67#17025
Conversation
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Claude Code Review
Claude Code Review is paused for this repository. To reconnect it, an admin of this repository's GitHub organization (or the account owner, for personal repositories) who can also manage your Claude organization's Code Review settings needs to re-link GitHub in Code Review settings. This is a one-time step.
Tip: disable this comment in your organization's Code Review settings.
Docs Generation Benchmark ResultsComparing PR branch against median of 5 nightly run(s) on
Docs generation runs |
SDK Generation Benchmark ResultsComparing PR branch against median of 5 nightly run(s) on Full benchmark table (click to expand)
main (generator): generator-only time via --skip-scripts (includes Docker image build, container startup, IR parsing, and code generation — this is the same Docker-based flow customers use via |
Description
Upgrades the modern Ruby generator (
generators/ruby-v2) to consume IR v67. This is the generic IR-version bump only — no behavioral/feature changes. The only structural difference between IR v66 and v67 is that theAvailabilityStatusenum gained values (a strict superset); ruby-v2 does not branch on availability status, so the full seed regen produces no output changes.The IR-driven idempotency feature builds on top of this and lives in a separate PR (#17008), which is based on this branch and depends on it.
Changes Made
@fern-fern/ir-sdkdependency undergenerators/ruby-v2/**/package.jsonfrom66.x→67.11.0(base,model,sdk); reconciledpnpm-lock.yaml.seed/ruby-sdk-v2/seed.yml:irVersion: v66→v67.migrateFromV67ToV66.ts: registerRUBY_SDKinfirstGeneratorVersionToConsumeNewIRas"1.16.0-rc.0"(next generator release, matching theTYPESCRIPT_SDK/PYTHON_SDKpattern) so the CLI feeds v67 IR instead of down-migrating to v66.ObjectPropertynow requiresdefaultValue, soWrappedRequestGenerator.tspassesdefaultValue: undefinedat its two construction sites (preserves prior behavior).chorechangelog entry undergenerators/ruby-v2/sdk/changes/unreleased/.ruby-sdk-v2: 137/137 fixtures pass, zero generated-output diffs (confirming v67 is byte-identical to v66 for ruby-v2).Testing
@fern-api/ir-migrations(89) and@fern-api/api-workspace-commonssuites pass;tsccompiles ruby-v2.pnpm seed test --generator ruby-sdk-v2 --local --skip-scripts→ 137/137 pass with no output changes.Link to Devin session: https://app.devin.ai/sessions/dcab1efb11c3438884ebf517443d6b5b
Requested by: @cadesark