Skip to content

Upgrade React on Rails to 17.2.1.rc.3 - #876

Merged
justin808 merged 3 commits into
masterfrom
justin808-claude/ad-hoc-upgrade-react-on-rails-17-2-1-rc-2
Nov 3, 2026
Merged

justin808 merged 3 commits into
masterfrom
justin808-claude/ad-hoc-upgrade-react-on-rails-17-2-1-rc-2

Conversation

@justin808

@justin808 justin808 commented Nov 1, 2026 •

Copy link
Copy Markdown
Member

🤖 Claude Code · Anthropic · claude-opus-5-5 · medium - AI spend: $31.07+

Code Walkthrough · Code Review · Checkpoint: Not published yet.

Summary

The tutorial now runs on the React on Rails 17.2.1.rc.3 release candidate, so the fleet can validate that exact build before it becomes final. The app code is unchanged; only version pins, lockfiles, and the README version list move.

Intent

Why: React on Rails 17.2.1.rc.3 replaced rc.2 as the single fleet candidate, and this Pro + RSC app is one of its hard gates.

Task: Claude prompt

Safe because: Hosted CI and a deployed review app test the exact head, and the fleet lane holds no merge authority.

Human review: 2 of 5. Skim Gemfile, Gemfile.lock, package.json, yarn.lock (changes code or configuration). The rest set a lower floor.

Scope: Bump the Pro gem and npm packages to rc.3 and regenerate lockfiles; react-on-rails-rsc stays at 19.3.1. (5 files, +57 / −35 lines)

Files: Docs/instructions 1 · Other 4

Docs/instructions:

  • README.md

Other:

  • Gemfile
  • Gemfile.lock
  • package.json
  • yarn.lock

Verification

Validation and review: UNKNOWN: no validation or review results were supplied for this revision.

Human comments

6 open · 6 from the PR author · read at 7a3b8be

From Said Response Status
justin808 “+review-app-deploy” — No reply
justin808 “+review-app-delete” — No reply
justin808 “+review-app-deploy” — No reply
justin808 “+review-app-delete” — No reply
justin808 “+review-app-deploy” — No reply
justin808 “+review-app-delete” — No reply
Evidence and limitations

Validation and review: UNKNOWN: no validation or review results were supplied for this revision.

  • Local bundle exec rake ci:rspec passed 76 examples and ci:js passed 16 tests against rc.3 from the public registries.
  • A local browser run on / and /server-components covered hydration, comment posting, navigation, RSC refresh, and error Retry; stopping the renderer returned 500, showing it served SSR.
  • The review app built from this head served SSR on / and /server-components, and RSC Refresh, Simulate Error, Retry, and client navigation worked; it was then deleted.

Not verified: Local bin/dev with HMR, Action Cable across browsers, and local production mode.

Lockfile movement

Gemfile.lock moves only the React on Rails gems. yarn.lock moves fastify to 5.12.7 and adds its newer dependencies, because the node renderer requires fastify ^5.12.6.

Draft #875 targets rc.1 and was left untouched. It is superseded if this PR lands.

Rebased on the XSS fix

This head sits on #877, which fixed a stored XSS found during validation. Local tests, browser smoke, review, and the deployed smoke were all rerun after the rebase. Earlier heads are 5b6d269, e540192, and 6cd1d1f.

Validation record

validate and validate_local passed on this exact tree, both local reviewers reported 0 findings, and shaka evidence verify reported ready before this head was pushed. A later Shaka install update marks those results superseded, so this description omits its validation line. Nothing in the app or the PR changed afterward, and they were not rerun.

Shaka metrics

Estimated token costs: $31.07+ · ready in 1d 1h

Details
Usage and cost
Report USD Codex credits Input Cached input Output Reasoning Cache writes
claude‑fable‑5‑1 implementation $8.16 — 707K 0 22K — 0
claude‑haiku‑5‑5 implementation — — 6 181K 6K 2.2K 101K
claude‑opus‑5‑5 implementation $22.28 — 352 33.2M 156K 29.1K 1.8M
claude‑sonnet‑5‑5 implementation — — 16 688K 8.6K 439 108K
claude‑opus‑5‑5 review ×2 $0.45 — 14 248K 4.6K 665 38.3K
gpt‑6.1‑sol review ×2 $0.18 4.42 313K 251K 2.8K 88 0
Total $31.07+ 4.42+

— not reported; + some usage not reported, so the amount is a minimum.

Understand the columns and accounting rules.

How each report was measured and priced

claude‑opus‑5‑5 implementation, claude‑fable‑5‑1 implementation, claude‑haiku‑5‑5 implementation, claude‑sonnet‑5‑5 implementation

Rate card: installed Shaka.

Anthropic API list prices, verified 2026-09-23.

Unsupported provider or configured model
Sources: Anthropic pricing.

Local adversarial reviewer usage: UNKNOWN. External reviewer/tool-model usage: UNKNOWN.

Native usage is PARTIAL. Scope: responses at or after 2026-11-01T07:17:34Z (whole-second sources include the cutoff second).

claude‑opus‑5‑5 review ×2

Rate card: installed Shaka.

Claude CLI recorded estimated USD for an independent call; not an invoice.

Local adversarial reviewer usage: included below. External reviewer/tool-model usage: UNKNOWN.

Native usage is PARTIAL. Scope: all turns in selected sources.

gpt‑6.1‑sol review ×2

Rate card: installed Shaka.

Standard Codex credit and OpenAI API-equivalent rates, verified 2026-09-29.

Sources: Codex credit rates, GPT-6.1 Sol, and prompt-cache accounting.

Local adversarial reviewer usage: included below. External reviewer/tool-model usage: UNKNOWN.

Native usage is PARTIAL. Scope: all turns in selected sources.

Rate card: installed Shaka.

Anthropic API list prices, verified 2026-09-23.

Unsupported provider or configured model
Sources: Anthropic pricing.

Local adversarial reviewer usage: UNKNOWN. External reviewer/tool-model usage: UNKNOWN.

Native usage is PARTIAL. 162 responses. Scope: responses at or after 2026-11-01T07:17:34Z (whole-second sources include the cutoff second).

Timings · 1d 2h between checkpoints

This head: Prompt to CI 1d 1h · CI to ready 3m · Ready to merged pending

Totals: 1d 2h between checkpoints

11-01 00:19 to 11-02 01:26 PST (1d 2h)
                          00:19        05:51        12:23        18:54
PR                 1d 2h  -===================================================
Validation           17m  ##                                             #   #
Review anthropic  2m 13s  ##                                             #   #
Review openai     2m 49s  ##                                             #   #

- before the PR  = PR open  . waiting on a person  # step  x failed
Stretch From To Time
Before the pull request 2026-11-01 00:19 2026-11-01 00:55 (opened) 35m
Between checkpoints 2026-11-01 00:55 2026-11-02 01:26 (this update) 1d 1h so far

Times are America/Los_Angeles wall-clock time. A wait runs from when an attention label goes on until it comes off or the pull request merges or closes.

Before first recorded validation: 11m · Task start (agent-reported): 2026-11-01 00:19 PDT. Validation started: 2026-11-01 00:30 PDT. This interval overlaps the stretches above.

Measured steps: Validation 17m (8 runs) · Local review 5m 2s (12 runs)

Models: anthropic; openai · Machines: m5

Failed or unfinished steps:

Step Started Time Result Model Machine
Local review 2026-11-01 23:11 1s not completed (exit 1) anthropic m5
Local review 2026-11-01 23:11 1s not completed (exit 1) openai m5
Local review 2026-11-02 01:08 2s not completed (exit 1) anthropic m5
Local review 2026-11-02 01:08 2s not completed (exit 1) openai m5

Each measured step is a helper run recorded on the machine that ran it. A step logged on a machine that never updated this description is missing, so the totals can be partial. A step can overlap the stretches above.

Understand the timings.

Execution details
Field Value
Task source description
Shaka skill version 148f740
Recommended model / effort claude-opus-5-5 / medium
Active model / effort claude-opus-5-5 / medium

One row per publication that changed the Shaka skill version or model / effort, oldest first. A head repeats when it was republished with different values. The last row holds the values above.

Head Shaka skill version User-requested model / effort Recommended model / effort Active model / effort
e540192 f761188 Not specified claude-opus-5-5 / medium claude-opus-5-5 / medium
e540192 9d37ebb Not specified claude-opus-5-5 / medium claude-opus-5-5 / medium
e540192 0a347d3 Not specified claude-opus-5-5 / medium claude-opus-5-5 / medium
6cd1d1f 66aa5d5 Not specified claude-opus-5-5 / medium claude-opus-5-5 / medium
7a3b8be 148f740 Not specified claude-opus-5-5 / medium claude-opus-5-5 / medium
Shaka settings used

No matching check records supplied. Rerun missing validation or review to record them.

Only the listed runs are covered. Selecting settings does not show that a check ran.

Current settings: Repository settings from commit 945ae9a; Shaka installation: version 1.0.0, installed revision (Shaka skill version under Execution details)

Skills used

No skill use recorded; coverage is UNKNOWN.

Agent-reported use is the agent’s account. The agent selects Corroborated when a record confirms invocation or loading. Shaka does not check that record or instruction compliance. Completeness is not verified.

WIP Details
Field Value
Owner m5 · Claude Code desktop · s52u
Chat name RWRT · Fleet lane 3: React on Rails 17.2.1.rc.2 validation
Chat link claude://claude.ai/epitaxy/local_5a2845fc-b313-4a36-8a65-2b4fb5287fd9
Last observed activity 2026-11-01 23:25 HST
Revision justin808-claude/ad-hoc-upgrade-react-on-rails-17-2-1-rc-2 @ 7a3b8be
Workspace scratch clone (local)
Unfinished work none
Stopped because paused
Merge authority ask
State rc.3 validated on the fixed base; independent audit and merge decision pending at fleet closeout
Next action Fleet closeout audits this head and decides the merge

Collection: alias available; host available; tag available; thread available.

PR prepared with Shaka.

Summary by CodeRabbit

  • Chores
    • Updated React on Rails Pro and its Node Renderer package to release candidate 3 (17.2.1.rc.3 / 17.2.1-rc.3) across project references. This update replaces the previous release candidate 2 version references.

@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown

No description provided.

@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown

🚀 Quick Review App Commands

Welcome! Here are the commands you can use in this PR:
They require the repository to have cpflow review apps configured, including the CPLN_TOKEN_STAGING secret.

+review-app-deploy

Deploy your PR branch for testing.

+review-app-delete

Remove the review app when done.

+review-app-help

Show detailed instructions, environment setup, and configuration options.

Comment +review-app-help for full setup details.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-02T09:10:58.358337Z 7a3b8be New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

Files ignored due to path filters: 2
  • Gemfile.lock is excluded by !**/*.lock
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: bdaf9c34-78ef-4929-9c1c-8a7d4e7bb664
Commits

Reviewing files that changed from the base of the PR and between 6cd1d1f and 7a3b8be.

Files ignored due to path filters: 2
  • Gemfile.lock is excluded by !**/*.lock
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: a6b08525-aa0a-4949-bf8f-f68023899957
Commits

Reviewing files that changed from the base of the PR and between e540192 and 6cd1d1f.

Files ignored due to path filters: 2
  • Gemfile.lock is excluded by !**/*.lock
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
Files selected for processing: 3
  • Gemfile
  • README.md
  • package.json
Files skipped from review as they are similar to previous changes: 3
  • package.json
  • Gemfile
  • README.md

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.

Walkthrough

The React on Rails Pro gem and npm package pins advance from rc.0 to rc.3. The README’s documented version targets are updated to match.

Changes

React on Rails Pro version update

Layer / File(s) Summary
Update dependency pins and documented targets
Gemfile, package.json, README.md
The gem and npm package pins change from rc.0 to rc.3. The README’s documented targets change to the same versions.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Other

Possibly related PRs

Merge Risk: Minimal · previous review 6cd1d

No actionable issue is identified for this version update. Normal installation and test checks remain appropriate before merging.

Pre-merge checks: Passed 4
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title "Upgrade React on Rails to 17.2.1.rc.3" matches the main change. The PR moves the react_on_rails_pro gem and the react-on-rails-pro and react-on-rails-pro-node-renderer npm packages from rc.…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title "Upgrade React on Rails to 17.2.1.rc.3" matches the main change. The PR moves the react_on_rails_pro gem and the react-on-rails-pro and react-on-rails-pro-node-renderer npm packages from rc.2 to rc.3, and updates the README version targets. The title is specific and concise. The description still refers to rc.2, which is a documentation mismatch and does not affect the title check.

Finishing Touches
Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@justin808

justin808 commented Nov 1, 2026 •

Copy link
Copy Markdown
Member Author

Local Adversarial Review

Reviewed revision: 6cd1d1f

Outcome: No open findings; closed and optional findings are in history.

Coverage: anthropic/claude: Read-only file lookup in an export of the reviewed commit; actual inspection coverage is UNKNOWN. Git history and test execution are unavailable. · openai/codex: Read-only source lookup permitted; actual inspection coverage is UNKNOWN. Test execution is prohibited.

Usage and attribution in the PR description.

Reviewed commits:

Commit Findings
5b6d269 anthropic/claude: 2 (1 fixed, 1 documented) · openai/codex: 0
e540192 anthropic/claude: 0 · openai/codex: 0
6cd1d1f anthropic/claude: 0 · openai/codex: 0
Findings, assessments, and execution metadata

Finding details

  • F1 defect: README version targets still named rc.0 — fixed in e540192 · Reported by: anthropic/claude · last recorded at 5b6d269

  • F2 nit: No test pins the release candidate version — documented nit — Install-time lockfile checks cover pin consistency; a version-pin spec would be churn on each RC bump and is outside this upgrade. · Reported by: anthropic/claude · last recorded at 5b6d269

Execution metadata

Round Commit Reviewer Findings Tokens Cost
1 5b6d269 anthropic/claude
model claude-opus-5-5
effort UNKNOWN
2 (1 fixed, 1 documented) 8 input
143,385 cached input
18,135 cache writes
2,457 output
375 reasoning output
$0.22 estimated
2 5b6d269 openai/codex
model UNKNOWN
effort UNKNOWN
0 176,466 input
139,136 cached input
0 cache writes
1,512 output
32 reasoning output
$0.10 estimated
3 e540192 anthropic/claude
model claude-opus-5-5
effort UNKNOWN
0 6 input
104,502 cached input
20,168 cache writes
2,138 output
290 reasoning output
$0.23 estimated
4 e540192 openai/codex
model UNKNOWN
effort UNKNOWN
0 136,534 input
112,128 cached input
0 cache writes
1,306 output
56 reasoning output
$0.07 estimated
5 6cd1d1f anthropic/claude
model claude-opus-5-5
effort UNKNOWN
0 6 input
104,375 cached input
19,484 cache writes
2,683 output
578 reasoning output
$0.23 estimated
6 6cd1d1f openai/codex
model UNKNOWN
effort UNKNOWN
0 113,675 input
85,248 cached input
0 cache writes
1,249 output
38 reasoning output
$0.08 estimated

Prompt: Shaka default · criteria af62fed

Commit 5b6d269 · anthropic/claude, openai/codex · 2 findings

Commit: 5b6d269 Upgrade React on Rails to 17.2.1.rc.2

Review coverage:

Coverage excerpts may be incomplete or misidentified; inspect the original reports.

  • anthropic/claude: Read-only file lookup in an export of the reviewed commit; actual inspection coverage is UNKNOWN. Git history and test execution are unavailable.

Unverified report excerpt · anthropic/claude:

- **What I read:** the full diff (Gemfile, Gemfile.lock, package.json, yarn.lock). In the pinned HEAD tree I also read `README.md:185-193`, the `engines` field in `package.json`, and `.controlplane/Dockerfile:14-15`. I searched every non-lockfile in the repo for `17.2.1`, `rc.0` and `fastify`. In yarn.lock I searched for the entries and dependents of fastify, fast-uri, process-warning, find-my-way and fast-json-stringify.
- **Tests run:** none. The restricted environment can't run commands, so I didn't run bundle, yarn, rspec, or a lockfile integrity check.
- **Missing context:**
  - I couldn't check against the npm registry or RubyGems that the rc.2 tarballs, integrity hashes, and the fastify `^5.12.6` requirement are real.
  - I couldn't check fastify 5.12.7's Node engine requirement. The repo targets Node `>=22` and the Dockerfile uses 22.12.0, so I infer that is fine, but I haven't verified it.
  - No CI results were supplied.

Repository criteria: supplied (af62fed35be931c86dc695afda480f7dd7c34e21:AGENTS.md). It contains build and test commands and workflow rules, but no criteria specific to dependency upgrades.
  • openai/codex: Read-only source lookup permitted; actual inspection coverage is UNKNOWN. Test execution is prohibited.

Unverified report excerpt · openai/codex:

Repository criteria: supplied — trusted `af62fed35be931c86dc695afda480f7dd7c34e21:AGENTS.md`.

Inspected the exact four-file diff, pinned renderer caller, SSR/RSC request and system tests, and fleet smoke workflow.

Checks: `git diff --check` passed. No candidate code or tests executed. Published package contents, integrity hashes, dependency metadata, and CI results were not independently verified.

Observation: Existing tests exercise SSR, RSC streaming, refresh, and error recovery. No test was identified that specifically requires rc.2 and fails when these pins revert; before/after runtime compatibility remains unverified.
Round 1 · 5b6d269 · anthropic/claude · effort UNKNOWN · 2 findings

Coverage

  • What I read: the full diff (Gemfile, Gemfile.lock, package.json, yarn.lock). In the pinned HEAD tree I also read README.md:185-193, the engines field in package.json, and .controlplane/Dockerfile:14-15. I searched every non-lockfile in the repo for 17.2.1, rc.0 and fastify. In yarn.lock I searched for the entries and dependents of fastify, fast-uri, process-warning, find-my-way and fast-json-stringify.
  • Tests run: none. The restricted environment can't run commands, so I didn't run bundle, yarn, rspec, or a lockfile integrity check.
  • Missing context:
    • I couldn't check against the npm registry or RubyGems that the rc.2 tarballs, integrity hashes, and the fastify ^5.12.6 requirement are real.
    • I couldn't check fastify 5.12.7's Node engine requirement. The repo targets Node >=22 and the Dockerfile uses 22.12.0, so I infer that is fine, but I haven't verified it.
    • No CI results were supplied.

Repository criteria: supplied (af62fed:AGENTS.md). It contains build and test commands and workflow rules, but no criteria specific to dependency upgrades.

Findings

  1. defect: the README's version targets were not updated. README.md:187-189 still lists react_on_rails_pro gem 17.2.1.rc.0, and the react-on-rails-pro and react-on-rails-pro-node-renderer npm packages as 17.2.1-rc.0. The code now pins 17.2.1.rc.2 and 17.2.1-rc.2 (Gemfile:9, package.json:85-86). This section exists to document which exact candidate the app validates, so anyone using it to confirm the fleet target will see the wrong RC.

  2. nit: no test pins the version. Nothing fails if this change is reverted. The only guard is install-time lockfile consistency, which a full revert would also satisfy. No spec or check compares the gem and npm RC pins, or compares them with the README targets, and that gap is how finding 1 slipped through. A small consistency check would catch both.

Observations (not counted):

  • The lockfile movement matches the PR description:
    • The node renderer's fastify requirement moved from ^5.8.5 to ^5.12.6, which brings in fastify 5.12.7 and its new transitive ranges: fast-json-stringify ^7, fast-uri ^4, find-my-way ^9.6.0 and process-warning ^5.1.0.
    • The older fast-json-stringify@^6, fast-uri@^3 and process-warning@^5.0.0 entries stay because other packages still depend on them (yarn.lock:1463,1485,3123,8140). Keeping duplicates is expected, not stale.
    • The Gemfile.lock changes are limited to the React on Rails gems, as the description says.
  • react-on-rails-rsc stays at 19.3.1, as described.
  • Security and trust:
    • Every new resolved URL points to registry.npmjs.org and carries a sha512 integrity hash.
    • No credentials are added, and no gate or permission changes.
    • I didn't verify the hash values themselves.
  • Simplicity: nothing could be deleted. The diff is already the minimum the upgrade needs.

REVIEWED 5b6d269 BY anthropic/claude EFFORT UNKNOWN FINDINGS 2

Collated as: #1 → F1, #2 → F2

Round 2 · 5b6d269 · openai/codex · effort UNKNOWN · 0 findings

Coverage

Repository criteria: supplied — trusted af62fed35be931c86dc695afda480f7dd7c34e21:AGENTS.md.

Inspected the exact four-file diff, pinned renderer caller, SSR/RSC request and system tests, and fleet smoke workflow.

Checks: git diff --check passed. No candidate code or tests executed. Published package contents, integrity hashes, dependency metadata, and CI results were not independently verified.

Observation: Existing tests exercise SSR, RSC streaming, refresh, and error recovery. No test was identified that specifically requires rc.2 and fails when these pins revert; before/after runtime compatibility remains unverified.

Findings

no findings

The manifests and lockfiles consistently select rc.2, preserve RSC 19.3.1, and limit dependency movement to the stated upgrade. No concrete contract drift, weakened gate, added credential, or unnecessary implementation was identified.

REVIEWED 5b6d269 BY openai/codex EFFORT UNKNOWN FINDINGS 0

Commit e540192 · anthropic/claude, openai/codex · 0 findings

Commit: e540192 Update README version targets to 17.2.1.rc.2

Review coverage:

Coverage excerpts may be incomplete or misidentified; inspect the original reports.

  • anthropic/claude: Read-only file lookup in an export of the reviewed commit; actual inspection coverage is UNKNOWN. Git history and test execution are unavailable.

Unverified report excerpt · anthropic/claude:

- **What I read:** the full diff (Gemfile, Gemfile.lock, README.md, package.json, yarn.lock). At the pinned commit I also searched every `17.2.1[.-]rc.N` occurrence across the tree, checked which packages still resolve the old transitive ranges in yarn.lock (`fast-json-stringify`, `fast-uri`, `find-my-way`, `process-warning`), and read the `engines` and `packageManager` fields in package.json.
- **Tests run:** none. I can't run commands here, so I didn't run `bundle install`, `yarn install --frozen-lockfile` or `rspec`. I didn't fetch registry tarballs to check the integrity hashes.
- **Missing context:** I couldn't confirm against the registry that `react-on-rails-pro-node-renderer@17.2.1-rc.2` declares `fastify ^5.12.6`. The lockfile entry says it does, but that is the candidate's own data. I also didn't check the changelog for behaviour changes between rc.0 and rc.2.

Repository criteria: supplied (af62fed35be931c86dc695afda480f7dd7c34e21:AGENTS.md). Nothing in them covers dependency pins specifically. The repo uses yarn 1.22, not pnpm, per `package.json:181`.

**Prior rounds:**
- **[F1]** is resolved. `README.md:187-189` now reads rc.2, and no rc.0 reference is left anywhere in the tree.
- **[F2]** is a documented nit. This change doesn't make it worse, so I'm not raising it again.
  • openai/codex: Read-only source lookup permitted; actual inspection coverage is UNKNOWN. Test execution is prohibited.

Unverified report excerpt · openai/codex:

Repository criteria: supplied — `af62fed35be931c86dc695afda480f7dd7c34e21:AGENTS.md`.

Inspected the supplied five-file diff and pinned source for renderer startup, Pro initialization, RSC bundling, SSR/RSC tests, and CI workflows.

Checks: `git diff --check` passed. No candidate code or test suites executed. Published package contents, dependency installation, and runtime compatibility remain unverified. A subsequent full Git diff read was blocked by the sandbox’s temporary-file restriction; review used the supplied diff.

F1 is resolved: `README.md:187–189` now matches the rc.2 pins. F2 remains the documented nit: no inspected test asserts the exact candidate version; it is not raised again.
Round 3 · e540192 · anthropic/claude · effort UNKNOWN · 0 findings

Coverage

  • What I read: the full diff (Gemfile, Gemfile.lock, README.md, package.json, yarn.lock). At the pinned commit I also searched every 17.2.1[.-]rc.N occurrence across the tree, checked which packages still resolve the old transitive ranges in yarn.lock (fast-json-stringify, fast-uri, find-my-way, process-warning), and read the engines and packageManager fields in package.json.
  • Tests run: none. I can't run commands here, so I didn't run bundle install, yarn install --frozen-lockfile or rspec. I didn't fetch registry tarballs to check the integrity hashes.
  • Missing context: I couldn't confirm against the registry that react-on-rails-pro-node-renderer@17.2.1-rc.2 declares fastify ^5.12.6. The lockfile entry says it does, but that is the candidate's own data. I also didn't check the changelog for behaviour changes between rc.0 and rc.2.

Repository criteria: supplied (af62fed:AGENTS.md). Nothing in them covers dependency pins specifically. The repo uses yarn 1.22, not pnpm, per package.json:181.

Prior rounds:

  • [F1] is resolved. README.md:187-189 now reads rc.2, and no rc.0 reference is left anywhere in the tree.
  • [F2] is a documented nit. This change doesn't make it worse, so I'm not raising it again.

Findings

No findings.

  • Consistency: the gem pin, Gemfile.lock (react_on_rails / react_on_rails_pro at rc.2, with an exact inter-dependency), the npm pins and the yarn.lock entries for react-on-rails, react-on-rails-pro and react-on-rails-pro-node-renderer all agree. react-on-rails-rsc stays at 19.3.1, as the PR says.
  • Lockfile movement: the yarn.lock changes are limited to the fastify chain. Fastify 5.12.7 pulls in fast-json-stringify@^7 and fast-uri@^4, and raises the minimums for find-my-way and process-warning. The older resolutions are still in the file because other packages need them: fast-json-stringify ^6.0.0 at yarn.lock:1485 and process-warning ^5.0.0 at yarn.lock:8140. So no orphaned entries were left behind, and none were removed by mistake.
  • Security: all resolved URLs point to registry.npmjs.org and carry sha512 integrity values. No credentials were added and no gates or permissions changed.
  • Tests: reverting this change wouldn't fail any test. That is the already-documented F2. CI install and smoke workflows (demo-fleet-smoke.yml, js_test.yml, rspec_test.yml) are the only evidence this candidate works, and I didn't see their results.
  • Simplicity: there's nothing to delete. The change is the minimal set of pins and their lockfile movement.

REVIEWED e540192 BY anthropic/claude EFFORT UNKNOWN FINDINGS 0

Round 4 · e540192 · openai/codex · effort UNKNOWN · 0 findings

Coverage

Repository criteria: supplied — af62fed35be931c86dc695afda480f7dd7c34e21:AGENTS.md.

Inspected the supplied five-file diff and pinned source for renderer startup, Pro initialization, RSC bundling, SSR/RSC tests, and CI workflows.

Checks: git diff --check passed. No candidate code or test suites executed. Published package contents, dependency installation, and runtime compatibility remain unverified. A subsequent full Git diff read was blocked by the sandbox’s temporary-file restriction; review used the supplied diff.

F1 is resolved: README.md:187–189 now matches the rc.2 pins. F2 remains the documented nit: no inspected test asserts the exact candidate version; it is not raised again.

Findings

no findings

The version pins and lockfile changes are internally consistent, and react-on-rails-rsc remains at 19.3.1. No new credentials, permission changes, or concrete contract drift were identified.

REVIEWED e540192 BY openai/codex EFFORT UNKNOWN FINDINGS 0

Commit 6cd1d1f · anthropic/claude, openai/codex · 0 findings

Commit: 6cd1d1f Upgrade React on Rails to 17.2.1.rc.3

Review coverage:

Coverage excerpts may be incomplete or misidentified; inspect the original reports.

  • anthropic/claude: Read-only file lookup in an export of the reviewed commit; actual inspection coverage is UNKNOWN. Git history and test execution are unavailable.

Unverified report excerpt · anthropic/claude:

- **Source inspected:** the full diff (`Gemfile`, `Gemfile.lock`, `README.md`, `package.json`, `yarn.lock`), checked against the pinned commit's files.
- **Leftover pins:** I searched the pinned commit for old `17.2.1`, `rc.0` and `rc.2` strings, skipping the lockfiles. None are left. The only other hit is an old comment about `v16.0.1.rc.2` at `config/initializers/react_on_rails.rb:34`, which has nothing to do with this change.
- **`yarn.lock`:** I checked that the older entries are still used by something else:
  - `fast-json-stringify@^6.0.0` is still needed by `@fastify/fast-json-stringify-compiler` (`yarn.lock:1485`).
  - `process-warning@^5.0.0` is still referenced at `yarn.lock:8140`.
  - `fast-uri@^3` is still referenced at `yarn.lock:1463` and `yarn.lock:3123`.
  - The only parent of the new `fastify@^5.12.6` entry is the node renderer (`yarn.lock:8994`).
- **Package manager:** `package.json:181` declares `yarn@1.22.22`, and there is no pnpm lockfile, so `yarn.lock` is the right file to update.
- **Workflows:** I listed the CI workflows (`.github/workflows/*`). None of them pin a React on Rails version.
- **Tests run:** none. Restricted mode can't run commands, so `bundle install`, `yarn install --frozen-lockfile` and the specs were not run.
- **Missing context:**
  - I couldn't check the published gemspec for `react_on_rails_pro` 17.2.1.rc.3, so I can't confirm that its runtime dependencies really are unchanged from rc.0. The lockfile leaves them as they were.
  - I couldn't check the npm tarball integrity hashes against the registry.
  - I didn't have the rc.0 → rc.3 changelog, so I couldn't check for API or config changes that would affect the node renderer setup.

Repository criteria: supplied (af62fed35be931c86dc695afda480f7dd7c34e21:AGENTS.md). Nothing in it applies to a version-pin change beyond the command-wrapper guidance, which is about how commands are run and isn't visible in a diff.
  • openai/codex: Read-only source lookup permitted; actual inspection coverage is UNKNOWN. Test execution is prohibited.

Unverified report excerpt · openai/codex:

Repository criteria: supplied from `af62fed35be931c86dc695afda480f7dd7c34e21:AGENTS.md`.

Inspected the full five-file diff, pinned dependency configuration, renderer entry point, Pro initializer, and initializer/request/system specs.

Checks run: `git diff --check` passed. No candidate code or tests executed, as requested. Published package contents, clean installation, and runtime compatibility remain unverified; no before/after reproduction was performed.

F1 is resolved: `README.md:187–189` matches the rc.3 pins. F2 remains the documented test limitation: no test asserts the exact release candidate, so reverting the version change is not guaranteed to fail existing tests. It is not raised again.
Round 5 · 6cd1d1f · anthropic/claude · effort UNKNOWN · 0 findings

Coverage

  • Source inspected: the full diff (Gemfile, Gemfile.lock, README.md, package.json, yarn.lock), checked against the pinned commit's files.
  • Leftover pins: I searched the pinned commit for old 17.2.1, rc.0 and rc.2 strings, skipping the lockfiles. None are left. The only other hit is an old comment about v16.0.1.rc.2 at config/initializers/react_on_rails.rb:34, which has nothing to do with this change.
  • yarn.lock: I checked that the older entries are still used by something else:
    • fast-json-stringify@^6.0.0 is still needed by @fastify/fast-json-stringify-compiler (yarn.lock:1485).
    • process-warning@^5.0.0 is still referenced at yarn.lock:8140.
    • fast-uri@^3 is still referenced at yarn.lock:1463 and yarn.lock:3123.
    • The only parent of the new fastify@^5.12.6 entry is the node renderer (yarn.lock:8994).
  • Package manager: package.json:181 declares yarn@1.22.22, and there is no pnpm lockfile, so yarn.lock is the right file to update.
  • Workflows: I listed the CI workflows (.github/workflows/*). None of them pin a React on Rails version.
  • Tests run: none. Restricted mode can't run commands, so bundle install, yarn install --frozen-lockfile and the specs were not run.
  • Missing context:
    • I couldn't check the published gemspec for react_on_rails_pro 17.2.1.rc.3, so I can't confirm that its runtime dependencies really are unchanged from rc.0. The lockfile leaves them as they were.
    • I couldn't check the npm tarball integrity hashes against the registry.
    • I didn't have the rc.0 → rc.3 changelog, so I couldn't check for API or config changes that would affect the node renderer setup.

Repository criteria: supplied (af62fed:AGENTS.md). Nothing in it applies to a version-pin change beyond the command-wrapper guidance, which is about how commands are run and isn't visible in a diff.

Prior rounds

  • [F1] (README version targets still named rc.0): resolved. README.md:187-189 now names rc.3 / -rc.3, matching Gemfile:9 and package.json:85-86.
  • [F2] (no test pins the release-candidate version): a documented nit. This change didn't make it worse, so I'm not raising it again.

Findings

No findings.

The pins agree across the Gemfile, Gemfile.lock (all three react_on_rails / react_on_rails_pro entries), package.json, yarn.lock and the README. react-on-rails-rsc stays at 19.3.1. The Gemfile.lock changes are limited to the React on Rails gems, as the PR description says.

The extra yarn.lock changes (fastify 5.12.7, fast-json-stringify 7.2.0, fast-uri 4.2.3, find-my-way 9.10.0, process-warning 5.1.1) follow directly from the node renderer's new fastify "^5.12.6" requirement. No unrelated packages moved.

Observation: rc.3 pulls in a fastify minor-version jump and a new major of fast-json-stringify and fast-uri for the node renderer. Since I couldn't run anything, whether the renderer still starts and serves RSC requests is unverified; this change doesn't show it either way. The demo-fleet-smoke and rspec CI runs are the evidence to look at.

REVIEWED 6cd1d1f BY anthropic/claude EFFORT UNKNOWN FINDINGS 0

Round 6 · 6cd1d1f · openai/codex · effort UNKNOWN · 0 findings

Coverage

Repository criteria: supplied from af62fed35be931c86dc695afda480f7dd7c34e21:AGENTS.md.

Inspected the full five-file diff, pinned dependency configuration, renderer entry point, Pro initializer, and initializer/request/system specs.

Checks run: git diff --check passed. No candidate code or tests executed, as requested. Published package contents, clean installation, and runtime compatibility remain unverified; no before/after reproduction was performed.

F1 is resolved: README.md:187–189 matches the rc.3 pins. F2 remains the documented test limitation: no test asserts the exact release candidate, so reverting the version change is not guaranteed to fail existing tests. It is not raised again.

Findings

no findings

The manifests, lockfiles, and README consistently target rc.3; RSC remains at 19.3.1. The Fastify dependency movement follows the updated renderer dependency. No new credential, permission change, or gate weakening appears in the diff.

REVIEWED 6cd1d1f BY openai/codex EFFORT UNKNOWN FINDINGS 0

REVIEWED 6cd1d1f BY openai/codex EFFORT UNKNOWN FINDINGS 0

@claude

claude Bot commented Nov 1, 2026

Copy link
Copy Markdown

Reviewed: clean version bump of react_on_rails_pro to 17.2.1.rc.2. Gemfile, Gemfile.lock, package.json, yarn.lock and the README version targets all agree, and no stale rc.0 references remain. The yarn.lock changes (fastify 5.12.7, fast-json-stringify 7, etc.) are transitive dependencies of the node-renderer. I found no code-quality, security or performance concerns. Since this is a release candidate, please confirm CI (the rspec and JS tests plus a node-renderer smoke test) passes before merging.

@greptile-apps

greptile-apps Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The reviewed changes appear safe to merge; no actionable issues were found.

Summary

Upgrades React on Rails Pro from rc.0 to rc.2.

  • React on Rails Pro packages now use release candidate 17.2.1-rc.2.

Reviews (1) · Last reviewed commit: "Update README version targets to 17.2.1...." · Reviewed by Greptile

@justin808

Copy link
Copy Markdown
Member Author

+review-app-deploy

@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown

No description provided.

@github-actions

github-actions Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

🎉 Deploy Complete!

Open Review App

Deployment successful for PR #876, commit e540192

🎮 Control Plane Console
📋 View Completed Action Build and Deploy Logs

@github-actions
github-actions Bot temporarily deployed to review/qa-react-webpack-rails-tutorial-876 November 1, 2026 07:58 Destroyed
@justin808

Copy link
Copy Markdown
Member Author

+review-app-delete

@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown

No description provided.

@github-actions

github-actions Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

✅ Review App Deleted

Review app for PR #876 is deleted

🎮 Control Plane Console
📋 View Workflow Logs

@justin808 justin808 left a comment •

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Superseded — read the current walkthrough: #876 (review)

Walkthrough for commit `e540192`

🤖 Claude Code · Anthropic · claude-opus-5-5 · medium

Code Walkthrough

The tutorial now resolves React on Rails 17.2.1.rc.2 from the public registries, and the app code is unchanged. The gem pin and the npm pins set the candidate, and the node renderer's new fastify requirement explains the yarn.lock movement. Validation covered local tests and a deployed review app, and this head passed smoke / Demo fleet smoke, claude-review, and Greptile Review. Rollback is a revert of this PR, which returns to rc.0.

Walkthrough for commit e540192. This is a COMMENT, not an approval.

Comment thread Gemfile.lock Resolved
Comment thread yarn.lock Resolved
Comment thread README.md Resolved
@justin808 justin808 changed the title Upgrade React on Rails to 17.2.1.rc.2 Upgrade React on Rails to 17.2.1.rc.3 Nov 2, 2026
@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

No description provided.

@justin808

Copy link
Copy Markdown
Member Author

+review-app-deploy

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

No description provided.

@claude

claude Bot commented Nov 2, 2026

Copy link
Copy Markdown

Review: the diff is a clean version bump. Lockfiles are consistent with Gemfile, package.json and the README, and the integrity hashes are present.

Issues

  • Version mismatch with the description. The PR body and scope say 17.2.1.rc.2 ("the single fleet candidate"), but every pin in the diff is rc.3 (Gemfile, Gemfile.lock, package.json, yarn.lock, README). The evidence section (local specs, browser run, review app) also reads as validated against rc.2. Either the description is stale or the wrong version was pinned. Please confirm which is intended, and re-run validation against rc.3 if rc.3 is the target.
  • Transitive bump in the node renderer. react-on-rails-pro-node-renderer now requires fastify ^5.12.6, which pulls in fast-json-stringify 7 and fast-uri 4 (major bumps). This is expected from the upstream package, but it is the part of the change most likely to behave differently at runtime. It is worth checking that the renderer starts and serves SSR with rc.3.
  • Minor. yarn.lock now carries two fast-uri and two fast-json-stringify majors. That is harmless, just noting it.

Security and performance

  • No concerns beyond the fastify dependency movement above.
  • All packages resolve from the public npm registry and rubygems.

Otherwise LGTM, once the rc.2 vs rc.3 question is resolved.

@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

🎉 Deploy Complete!

Open Review App

Deployment successful for PR #876, commit 6cd1d1f

🎮 Control Plane Console
📋 View Completed Action Build and Deploy Logs

@github-actions
github-actions Bot temporarily deployed to review/qa-react-webpack-rails-tutorial-876 November 2, 2026 07:15 Destroyed
@justin808

Copy link
Copy Markdown
Member Author

+review-app-delete

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

No description provided.

@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

✅ Review App Deleted

Review app for PR #876 is deleted

🎮 Control Plane Console
📋 View Workflow Logs

@justin808 justin808 left a comment •

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Superseded — read the current walkthrough: #876 (review)

Walkthrough for commit `6cd1d1f`

🤖 Claude Code · Anthropic · claude-opus-5-5 · medium

Code Walkthrough

The tutorial now resolves React on Rails 17.2.1.rc.3 from the public registries, and the app code is unchanged. The gem pin and the npm pins set the candidate, and the node renderer's fastify requirement explains the yarn.lock movement from rc.0. Validation covered local tests and a deployed review app, and this head passed smoke / Demo fleet smoke, claude-review, and CodeRabbit. Rollback is a revert of this PR, which returns to rc.0.

Walkthrough for commit 6cd1d1f. This is a COMMENT, not an approval.

Comment thread Gemfile.lock Resolved
Comment thread yarn.lock Resolved
Comment thread README.md Resolved
justin808 and others added 3 commits November 1, 2026 23:01
Bump react_on_rails_pro to 17.2.1.rc.2 and react-on-rails-pro and
react-on-rails-pro-node-renderer to 17.2.1-rc.2.

Gemfile.lock moves only the React on Rails gems. yarn.lock also moves
fastify to 5.12.7, with its find-my-way, fast-json-stringify, fast-uri,
and process-warning dependencies, because the node renderer now requires
fastify ^5.12.6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Move the react_on_rails_pro gem and the react-on-rails-pro and
react-on-rails-pro-node-renderer npm packages from rc.2 to rc.3, and
update the README's Version Targets list.

Gemfile.lock changes only the react_on_rails and react_on_rails_pro
version strings. yarn.lock moves only the react-on-rails,
react-on-rails-pro, and react-on-rails-pro-node-renderer entries.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@justin808
justin808 force-pushed the justin808-claude/ad-hoc-upgrade-react-on-rails-17-2-1-rc-2 branch from 6cd1d1f to 7a3b8be Compare November 2, 2026 09:09
@justin808

Copy link
Copy Markdown
Member Author

Local Adversarial Review

Reviewed revision: 7a3b8be

Outcome: No open findings; closed and optional findings are in history.

Coverage: anthropic/claude: Read-only file lookup in an export of the reviewed commit; actual inspection coverage is UNKNOWN. Git history and test execution are unavailable. · openai/codex: Read-only source lookup permitted; actual inspection coverage is UNKNOWN. Test execution is prohibited.

Usage and attribution in the PR description.

Reviewed commits:

Commit Findings
7a3b8be anthropic/claude: 0 · openai/codex: 0
Findings, assessments, and execution metadata

Finding details

Execution metadata

Round Commit Reviewer Findings Tokens Cost
1 7a3b8be anthropic/claude
model claude-opus-5-5
effort UNKNOWN
0 8 input
149,089 cached input
21,553 cache writes
2,665 output
519 reasoning output
$0.26 estimated
2 7a3b8be openai/codex
model UNKNOWN
effort UNKNOWN
0 118,545 input
100,736 cached input
0 cache writes
1,163 output
9 reasoning output
$0.06 estimated

Prompt: Shaka default · criteria 945ae9a

Commit 7a3b8be · anthropic/claude, openai/codex · 0 findings

Commit: 7a3b8be Upgrade React on Rails to 17.2.1.rc.3

Review coverage:

Coverage excerpts may be incomplete or misidentified; inspect the original reports.

  • anthropic/claude: Read-only file lookup in an export of the reviewed commit; actual inspection coverage is UNKNOWN. Git history and test execution are unavailable.

Unverified report excerpt · anthropic/claude:

- **Source inspected:** the full diff for `Gemfile`, `Gemfile.lock`, `README.md`, `package.json` and `yarn.lock`. In the pinned head checkout I also searched for any version string matching `17.2.1[.-]rc.N`, for every lockfile entry the fastify upgrade touches (`fast-json-stringify`, `fast-uri`, `find-my-way`, `process-warning`), and for where the node renderer is wired in (`package.json:34`, `Procfile.dev:17`, `config/initializers/react_on_rails_pro.rb`). I read `package.json` `engines` (`node >=22`, `yarn 1.22`). The repo has only `yarn.lock`; there is no pnpm or npm lockfile to keep in step.
- **Tests run:** none. Restricted mode means I couldn't run `bundle`, `yarn`, `rspec` or the node renderer.
- **Missing context:**
  - Registry metadata, so I couldn't confirm that the new tarball sha1 and sha512 values match the published packages.
  - What changed in `react_on_rails` and `react_on_rails_pro` between 17.2.1.rc.0 and rc.3.
  - What changed in fastify between 5.8.5 and 5.12.7. That jump pulls in `fast-json-stringify` 7 and `fast-uri` 4.
  - CI results.

Repository criteria: supplied (945ae9ab6ebc574191f82f81e32a803397f849e6:AGENTS.md). Its rules cover commands and workflow only. Nothing in them is violated by a version-pin change.
  • openai/codex: Read-only source lookup permitted; actual inspection coverage is UNKNOWN. Test execution is prohibited.

Unverified report excerpt · openai/codex:

Repository criteria: supplied — trusted `945ae9ab6ebc574191f82f81e32a803397f849e6:AGENTS.md`.

Inspected all five changed files, plus pinned renderer configuration, SSR/RSC request tests, initializer tests, and fleet smoke workflow.

Checks run: `git diff --check` passed. No candidate code or application tests executed, as requested.

The gem/npm pins, lockfile entries, and README consistently target rc.3; RSC remains 19.3.1. No added credentials, permission changes, or gate changes appear in the diff.

Missing evidence: published package contents and installation/runtime results were not verified. Existing inspected tests cover SSR and RSC behavior but do not enforce the exact release pins; no added test would fail solely upon reverting this upgrade. Compatibility with the updated renderer and Fastify dependencies remains unverified.

Observation: the PR description says rc.3 replaces rc.2, while the actual base pins are rc.0.
Round 1 · 7a3b8be · anthropic/claude · effort UNKNOWN · 0 findings

Coverage

  • Source inspected: the full diff for Gemfile, Gemfile.lock, README.md, package.json and yarn.lock. In the pinned head checkout I also searched for any version string matching 17.2.1[.-]rc.N, for every lockfile entry the fastify upgrade touches (fast-json-stringify, fast-uri, find-my-way, process-warning), and for where the node renderer is wired in (package.json:34, Procfile.dev:17, config/initializers/react_on_rails_pro.rb). I read package.json engines (node >=22, yarn 1.22). The repo has only yarn.lock; there is no pnpm or npm lockfile to keep in step.
  • Tests run: none. Restricted mode means I couldn't run bundle, yarn, rspec or the node renderer.
  • Missing context:
    • Registry metadata, so I couldn't confirm that the new tarball sha1 and sha512 values match the published packages.
    • What changed in react_on_rails and react_on_rails_pro between 17.2.1.rc.0 and rc.3.
    • What changed in fastify between 5.8.5 and 5.12.7. That jump pulls in fast-json-stringify 7 and fast-uri 4.
    • CI results.

Repository criteria: supplied (945ae9a:AGENTS.md). Its rules cover commands and workflow only. Nothing in them is violated by a version-pin change.

Findings

No findings.

Verification notes (none of these are findings):

  • Version strings match everywhere. The gem is 17.2.1.rc.3 in Gemfile:9, Gemfile.lock:346,353,360,543 and README.md:187. The npm packages are 17.2.1-rc.3 in package.json:85-86, README.md:188-189 and yarn.lock:8987-9020. The search found no leftover rc.0 or rc.2 anywhere in the tree. react-on-rails-rsc is still 19.3.1.
  • The lockfile is internally consistent. The new fastify@^5.12.6 entry is what react-on-rails-pro-node-renderer@17.2.1-rc.3 requires (yarn.lock:8996). The older fast-json-stringify@^6.0.0 and fast-uri@^3 entries are still used by @fastify/fast-json-stringify-compiler (yarn.lock:1485) and ajv (yarn.lock:1463,3123), so keeping them is correct. process-warning@^5.0.0 also stays because another package depends on it (yarn.lock:8140).
  • Gemfile.lock is limited to the React on Rails gems, as described. The gem dependency lists under rc.3 are unchanged from rc.0.
  • Security and trust: all resolved URLs point to registry.npmjs.org. No gate, permission or credential changed.

Observations (not counted as findings):

  • The PR description doesn't match the base. It says rc.3 "replaces rc.2", but every pin at the base is 17.2.1.rc.0 / 17.2.1-rc.0. Whatever validation was planned around an rc.2 → rc.3 step is actually covering rc.0 → rc.3.
  • No test is tied to this change. No test would fail if it were reverted. Validating the release candidate depends on the existing suite plus SSR/RSC running through the node renderer. That matters more than usual here, because this bump also moves the renderer's HTTP layer from fastify 5.8.5 to 5.12.7, along with new major versions of fast-json-stringify and fast-uri. Nothing in this diff exercises that movement.
  • Simplicity: there is nothing to delete. The diff contains only the pins, the lockfile changes they require, and the README version targets.

REVIEWED 7a3b8be BY anthropic/claude EFFORT UNKNOWN FINDINGS 0

Round 2 · 7a3b8be · openai/codex · effort UNKNOWN · 0 findings

Coverage

Repository criteria: supplied — trusted 945ae9ab6ebc574191f82f81e32a803397f849e6:AGENTS.md.

Inspected all five changed files, plus pinned renderer configuration, SSR/RSC request tests, initializer tests, and fleet smoke workflow.

Checks run: git diff --check passed. No candidate code or application tests executed, as requested.

The gem/npm pins, lockfile entries, and README consistently target rc.3; RSC remains 19.3.1. No added credentials, permission changes, or gate changes appear in the diff.

Missing evidence: published package contents and installation/runtime results were not verified. Existing inspected tests cover SSR and RSC behavior but do not enforce the exact release pins; no added test would fail solely upon reverting this upgrade. Compatibility with the updated renderer and Fastify dependencies remains unverified.

Observation: the PR description says rc.3 replaces rc.2, while the actual base pins are rc.0.

Findings

no findings

REVIEWED 7a3b8be BY openai/codex EFFORT UNKNOWN FINDINGS 0

REVIEWED 7a3b8be BY openai/codex EFFORT UNKNOWN FINDINGS 0

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

No description provided.

@justin808

Copy link
Copy Markdown
Member Author

+review-app-deploy

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

No description provided.

@claude

claude Bot commented Nov 2, 2026

Copy link
Copy Markdown

Review: version bump to 17.2.1.rc.3 is consistent across Gemfile, Gemfile.lock, package.json, yarn.lock and README. No stale rc.0/1/2 references remain, and the gem and npm pins match. There's no app code change, so I see no security or performance concerns. Pinning exact RC versions is appropriate for a validation lane. Merge once CI and the review app pass.

@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

🎉 Deploy Complete!

Open Review App

Deployment successful for PR #876, commit 7a3b8be

🎮 Control Plane Console
📋 View Completed Action Build and Deploy Logs

@github-actions
github-actions Bot temporarily deployed to review/qa-react-webpack-rails-tutorial-876 November 2, 2026 09:11 Destroyed
@justin808

Copy link
Copy Markdown
Member Author

+review-app-delete

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

No description provided.

@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

✅ Review App Deleted

Review app for PR #876 is deleted

🎮 Control Plane Console
📋 View Workflow Logs

@justin808 justin808 left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Claude Code · Anthropic · claude-opus-5-5 · medium

Code Walkthrough

The tutorial now resolves React on Rails 17.2.1.rc.3 from the public registries, and the app code is unchanged. The gem pin and the npm pins set the candidate, and the node renderer's fastify requirement explains the yarn.lock movement from rc.0. Validation covered local tests and a deployed review app, and this head passed smoke / Demo fleet smoke and claude-review. Rollback is a revert of this PR, which returns to rc.0.

Walkthrough for commit 7a3b8be. This is a COMMENT, not an approval.

Comment thread Gemfile.lock
psych (>= 4.0.0)
tsort
react_on_rails (17.2.1.rc.0)
react_on_rails (17.2.1.rc.3)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Claude Code · Anthropic · claude-opus-5-5 · medium

Only the React on Rails gems move. bundle update --conservative also moved four async gems that the upgrade does not need, so those lines were left alone; a frozen bundle install still passes.

Comment thread yarn.lock
version "5.8.5"
resolved "https://registry.npmjs.org/fastify/-/fastify-5.8.5.tgz#c452224295e0ca550bcd0efc3f7d3e90e9c11955"
integrity sha512-Yqptv59pQzPgQUSIm87hMqHJmdkb1+GPxdE6vW6FRyVE9G86mt7rOghitiU4JHRaTyDUk9pfeKmDeu70lAwM4Q==
fastify@^5.12.6:

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Claude Code · Anthropic · claude-opus-5-5 · medium

The node renderer requires fastify ^5.12.6, up from ^5.8.5 at rc.0. That brings in the newer fast-json-stringify, fast-uri, and process-warning, while older copies stay for other dependents. Moving from rc.2 to rc.3 changed only the three React on Rails entries.

Comment thread README.md
Comment on lines +187 to +189
- `react_on_rails_pro` gem: `17.2.1.rc.3`
- `react-on-rails-pro` npm package: `17.2.1-rc.3`
- `react-on-rails-pro-node-renderer` npm package: `17.2.1-rc.3`

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Claude Code · Anthropic · claude-opus-5-5 · medium

This list names the candidate the app validates, so it moves with the pins.

@justin808
justin808 merged commit f275d48 into master Nov 3, 2026
16 checks passed
@justin808
justin808 deleted the justin808-claude/ad-hoc-upgrade-react-on-rails-17-2-1-rc-2 branch November 3, 2026 06:54
@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown

No description provided.

@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

✅ Review App Deleted

Review app for PR #876 is deleted

🎮 Control Plane Console
📋 View Workflow Logs

This branch was successfully deployed

No deployments
review/qa-react-webpack-rails-tutorial-876 — 7a3b8bed Deployed Nov 2, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant