feat(ruby): M6a — ast-grep parity lanes - #2858
Draft
filip-michalsky wants to merge 2 commits into
Draft
Conversation
Adds @ast-grep/lang-ruby (0.0.7) and Ruby lanes to the cross-language parity suites: - rpc-parity: lifecycle capabilities (send/on_request/on_notification/ receive/close), error codes (underscore-separated literals), buffer bound - cdp-parity: transport lifecycle, page.on / CDPSubscription#unsubscribe, extension discovery + runtime bridging tokens - example-parity: inventory equality, per-example public SDK operations, and lifecycle checks against the TS examples - sdk-parity: dedicated Ruby section — references all 77 registered operations, outbound == extension router / inbound == TS inbound, notification coverage, per-class RPC-backed operations + public callable surface + Stagehand accessors vs TypeScript, and params-model/result- descriptor validation at every RPC boundary. Ruby has no in-source types (RBS covers that), so the typed-parameter checks stay TS/Python/Go. SDK changes the lanes forced: - inline @rpc_client.send per public method (removed the navigate/void helpers) so wire methods are statically visible, matching the siblings - remove Client#context (TS/Python deliberately do not expose context on Stagehand) - examples: the canonical 11 are now self-contained (inventory and ops parity with TS/Python/Go); Ruby-only walkthroughs moved to examples/extras/ with the shared helper sdk-field-pipeline and sdk-client-schema-parity Ruby lanes land with the docs tabs (they validate docs pages too). Verified: all 9 ast-grep suites green (52 tests), Ruby suite 120 runs / 803 assertions + RBS, batch.rb/file_upload.rb/extras live-checked on local Chrome. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
This was referenced Aug 30, 2026
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of the AP-2857 parity stack:
Stack: #2820 (spike) ← #2854 (M1–M2) ← #2855 (M3) ← #2851 (M4) ← #2857 (M5) ← this PR (M6a)
Adds
@ast-grep/lang-rubyand Ruby lanes to the cross-language drift checks, holding the Ruby SDK to the same bar as Python/Go:send/on_request/on_notification/receive/close), JSON-RPC error codes, notification buffer boundpage.on/CDPSubscription#unsubscribe, extension discovery + runtime bridging tokensSDK changes the lanes forced (real parity findings)
@rpc_client.send("<wire.method>", …)per public method, removing thenavigate/voidhelpers — wire methods are now statically visible per method, matching how the sibling SDKs are written.Client#context— TS/Python deliberately do not exposecontexton Stagehand (the accessor lane rejects it).examples/extras/with the shared helper.Not in this PR
sdk-field-pipelineandsdk-client-schema-parityRuby lanes land with the docs tabs (M6b) — those suites also validate documentation pages.Verification
batch.rb,file_upload.rb,extras/context_and_response.rb🤖 Generated with Claude Code