verify: audit and align gemspec required_ruby_version constraints (WA-VERIFY-073)#1050
Conversation
…-VERIFY-073) Adds missing required_ruby_version to admin, storefront, and workarea meta gemspecs. Tightens testing gemspec from >= 2.3.0 to >= 2.7.0, < 3.5.0. Core was already correctly constrained. Constraint: >= 2.7.0, < 3.5.0 (matches CI matrix: Ruby 2.7, 3.1, 3.2, 3.3, 3.4) Client Impact: None for existing installations. Prevents installation on EOL Rubies (< 2.7) which were already unsupported in practice.
Wave 1 Review Summary
🏛️ Architecture — PASSSummary: Constraint alignment across all gemspecs in the monorepo is architecturally sound. The meta gem ( Findings:
🧹 Simplicity — PASS_WITH_NOTESSeverity: LOW Summary: The array format Findings:
🔒 Security — PASSSummary: This change is a net security improvement. Dropping the lower bound from Ruby 2.3.0 (EOL March 2019, 7+ years ago, numerous unfixed CVEs) to 2.7.0 prevents accidental deployment on a long-unsupported Ruby. The upper bound Findings:
🚂 Rails Conventions — PASS_WITH_NOTESSeverity: LOW Summary: Gemspec hygiene is good. Findings:
Wave 1 Verdict: ✅ PASS_WITH_NOTESAll four reviewers pass. Two minor LOW-severity notes (format consistency, notes file convention) — neither blocks merge. Recommend addressing in a follow-up or at author discretion.
Wave 1 complete. Proceeding to label update. |
Wave 2 Gate Result ✅ PASS
All three Wave 2 reviewers passed. No blocking findings. Proceeding to Wave 3 (performance, accessibility, frontend). |
Wave 3 Performance ReviewNo performance concerns: is evaluated by RubyGems/Bundler at install/resolve time and does not affect application runtime. No new dependencies, loops, queries, I/O, or allocations introduced. |
Wave 3 Frontend ReviewNo JavaScript/TypeScript, Stimulus, or Turbo-related diffs to review here. |
Wave 3 Accessibility ReviewNo UI, copy, or platform-specific accessibility surfaces were changed in this PR (only Ruby gemspec metadata and a notes markdown file), so there are no a11y concerns to address here. |
Wave 3 Performance Review{
"reviewer": "performance",
"verdict": "PASS",
"severity": null,
"summary": "Changes only adjust gemspec required_ruby_version metadata and add notes; no runtime performance impact.",
"findings": []
}No performance concerns: |
Wave 3 Frontend Review{
"reviewer": "frontend",
"verdict": "PASS",
"severity": null,
"summary": "No frontend (JS/TS/Hotwire) changes in this PR; gemspec Ruby version alignment only.",
"findings": []
}No JavaScript/TypeScript, Stimulus, or Turbo-related diffs to review here. |
Wave 3 Accessibility Review{
"reviewer": "accessibility",
"verdict": "PASS",
"severity": null,
"summary": "No accessibility-impacting changes detected; PR only updates gemspec Ruby version constraints and adds internal audit notes.",
"findings": []
}No UI, copy, or platform-specific accessibility surfaces were changed in this PR (only Ruby gemspec metadata and a notes markdown file), so there are no a11y concerns to address here. |
|
Documentation review ✅ PR description is clear and includes a helpful before/after table plus client impact. The added audit notes file () is readable, scoped, and provides rationale + recommended constraints. Minor doc nits (optional):
No blockers from a docs perspective. |
✅ All Review Waves PassedAll reviewers returned PASS or PASS_WITH_NOTES. This PR is merge-ready.
Labeled |
… (WA-VERIFY-080) All 5 Workarea gemspecs had required_ruby_version in array form (['>= 2.7.0', '< 3.5.0']) from PR #1050. Convert to canonical single-string form ('>= 2.7.0, < 3.5.0') for consistency. Both forms are semantically equivalent; single-string is the conventional format for gemspec constraints. Fixes #1062
Summary
Audits and aligns
required_ruby_versionconstraints across all Workarea gemspecs.Findings
core/workarea-core.gemspec>= 2.7.0, < 3.5.0testing/workarea-testing.gemspec>= 2.3.0>= 2.7.0, < 3.5.0admin/workarea-admin.gemspec>= 2.7.0, < 3.5.0storefront/workarea-storefront.gemspec>= 2.7.0, < 3.5.0workarea.gemspec(meta)>= 2.7.0, < 3.5.0Constraint
>= 2.7.0, < 3.5.0matches the CI matrix (Ruby 2.7, 3.1, 3.2, 3.3, 3.4).Full audit notes:
notes/gemspec-ruby-version-audit-2026-03-17.mdClient Impact
None for existing installations. Bundler enforces this at
gem installtime only. Prevents installation on EOL Rubies (< 2.7) that were already unsupported in practice.Fixes #1045