docs(ruby): M6b — Ruby tabs across the v4 docs + validation lanes - #2862
Draft
filip-michalsky wants to merge 7 commits into
Draft
docs(ruby): M6b — Ruby tabs across the v4 docs + validation lanes#2862filip-michalsky wants to merge 7 commits into
filip-michalsky wants to merge 7 commits into
Conversation
Content — a Ruby language tab in every v4 language tab group (29 pages): - reference/: full structural tabs for stagehand, page, locator, context, clipboard (## method() headings, ParamField paths = exact Ruby parameter names, one ResponseField result per method) and prose tabs for response and webmcp; predicates document under their is_ aliases - basics/, configuration/, first-steps/, best-practices/, migrations/: Ruby tabs mirroring the Python tabs, adapted to the real Ruby surface (flat log_level/on_log instead of the logging dict, viewport kwargs, camelCase browser_settings passthrough, sequential multi-tab extracts) - client-LLM snippets use the OpenAI Responses API like the TS/Python tabs (examples/custom_llm.rb updated too and re-verified live via the Gateway's /v1/responses) Validation — Ruby is now a first-class docs language: - packages/docs/tests/sdk-reference.test.ts: "Ruby" joins LANGUAGES; readRubyMethods() (visibility/alias/singleton-aware) drives the surface, exact-heading, and signature-parameter checks; Response/WebMCP/CDP member signatures validate against sig/stagehand.rbs; Ruby closed-value cases added - rules/ast-grep/sdk-field-pipeline: Ruby lane (rpc-call discovery via receiver/method fields, ivar stores count as whole-result consumption) - rules/ast-grep/sdk-client-schema-parity: Ruby lane for the Stagehand creation-fields docs check (create kwargs from client.rb) SDK normalizations the pipeline lane surfaced: - response.rb builds ResponseIdParams inline per method (helper removed) - set_domain_policy / act forward their normalized parameter directly - RBS: WebMCPInvocation#result returns Models::WebMCPToolResponse All green: 137 vitest tests (ast-grep + docs + release) and the Ruby suite (123 runs / 807 assertions + RBS). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
- gemspec metadata: rubygems_mfa_required, source/changelog/bug-tracker URIs (the retired 3.x gem already enforced MFA; the 4.x publish should not regress it) - consolidate-changelogs: register packages/sdk-ruby/CHANGELOG.md so the changesets release flow folds Ruby entries into the root changelog like the other SDKs Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…rom the repo root) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…old CI runners) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…e the byte assertion) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… cold CI runners) 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 — the final milestone to the full-parity release bar:
Stack: #2820 ← #2854 (M1–M2) ← #2855 (M3) ← #2851 (M4) ← #2857 (M5) ← #2858 (M6a) ← #2859 (M6c) ← #2860 (M6d) ← #2861 (evals) ← this PR (M6b)
Content
A Ruby language tab in every v4 language tab group (29 pages, ~6,400 lines):
reference/— full structural tabs for stagehand, page, locator, context, clipboard (## method()headings, ParamField paths equal to the exact Ruby parameter names, exactly oneresultResponseField per method), plus prose tabs for response and webmcp. Ruby predicates document under theiris_aliases.basics/,configuration/,first-steps/,best-practices/,migrations/— Ruby tabs mirroring the Python tabs, adapted to the real Ruby surface (flatlog_level/on_log,viewport_width/viewport_height, camelCasebrowser_settingspassthrough, documented gaps where Ruby's local-launch options are narrower).custom_llm.rbexample was switched from chat completions too, and re-verified live end-to-end via the Gateway's/v1/responses).Validation — Ruby is now a machine-checked docs language
packages/docs/tests/sdk-reference.test.ts:"Ruby"joinsLANGUAGES, so every page must carry complete Ruby tabs.readRubyMethods()(visibility/alias/singleton-aware) drives the surface, exact-heading, and signature-parameter checks; Response/WebMCP/CDPSubscription member signatures validate againstsig/stagehand.rbs; Ruby closed-value cases added.rules/ast-grep/sdk-field-pipeline: Ruby lane — every protocol request field must be visibly constructed and every result field consumed, same bar as TS/Python/Go.rules/ast-grep/sdk-client-schema-parity: Ruby lane for the Stagehand creation-fields docs check.SDK normalizations the pipeline lane surfaced
response.rbbuildsResponseIdParamsinline per method;set_domain_policy/actforward their normalized parameters directly; RBS typesWebMCPInvocation#resultprecisely.Verification
137 vitest tests green (all 9 ast-grep suites + the 27 docs tests + release scripts), Ruby suite green (123 runs / 807 assertions + RBS validation), every touched MDX parses.
With this PR the approved roadmap (M1–M6) is complete: 77/77 methods, hardening, examples, evals (73/77 bench pass), parity lanes, docs, release lane + CI, Windows. Remaining before first publish: PM go-ahead + RubyGems trusted-publishing configuration + wiring publish-ruby into release.yml (one job block, deliberately left out).
🤖 Generated with Claude Code