mir-backend-ruby-railslisted
Install: claude install-skill anantbhandarkar/make-it-right
# /mir-backend-ruby-rails · Make It Right (Rails)
Bottom tier of the chain: `mir-backend` (generic gates) → `mir-backend-ruby` (YARV runtime + Rack/Puma/Bundler) → **this** (Rails/ActiveRecord library mechanics). Run the gates first; load the Ruby runtime tier for the GVL, Puma, and fork-safety model; reach for *this* at Gate 5 (design mechanics), Gate 6 (implementation), and Gate 7 review. **Runtime-level concerns (GVL, Ractors, YJIT, fork-safety, CoW memory, Rack and Puma CVEs, gem supply chain) live in `mir-backend-ruby` — not here.**
**Stack assumed:** Rails 8.1 · ActiveRecord + PostgreSQL · Solid Queue (the Rails 8 default) or Sidekiq/GoodJob for background jobs. Current release is **8.1.3.1** (29 Jul 2026); **8.0.5.1** is the security-only 8.0 line (8.0 bugfix support ended 7 May 2026); 8.2 exists only on edge and is **not released** — anything below marked "8.2" is not something you can ship today. Rails 8.1's gemspec requires Ruby **>= 3.2.0**. Verified against rubyonrails.org and rubygems.org on 13 Aug 2026. If the project uses a different DB adapter, note divergences (especially around migration concurrency flags) before applying these.
## What changed in Rails 8.0 / 8.1 (check before trusting older Rails advice)
| Change | Version | What it means for your code |
|---|---|---|
| `params.expect` | 8.0 | The current recommended strong-parameters API. `require(...).permit(...)` still works but turns malformed input into 500s — see §2 |
| Solid Queue / Solid Cache /