Skip to content

verify: Rails 7.1 appraisal smoke test (WA-VERIFY-079)#1065

Merged
kitcommerce merged 1 commit intonextfrom
issue-1061-rails71-smoke
Mar 17, 2026
Merged

verify: Rails 7.1 appraisal smoke test (WA-VERIFY-079)#1065
kitcommerce merged 1 commit intonextfrom
issue-1061-rails71-smoke

Conversation

@kitcommerce
Copy link
Contributor

Fixes #1061

Summary

Attempted the Rails 7.1 appraisal smoke test (WA-VERIFY-079) following the addition of bundler-audit CI (WA-CI-014, PR #1047) and gemspec ruby version constraint alignment (WA-VERIFY-073, PR #1050).

Result: BLOCKED — Bundle install fails

BUNDLE_GEMFILE=gemfiles/rails_7_1.gemfile bundle install
# → Could not find compatible versions

Root cause

workarea-core.gemspec pins mongoid ~> 7.4. Mongoid 7.x constrains activemodel >= 5.1, < 7.1, which is incompatible with Rails 7.1's activemodel = 7.1.5.1.

This is the same blocker documented in issue #839 (Rails 7.2 appraisal). Both Rails 7.1 and 7.2 appraisals are gated on the Mongoid 8 upgrade (issue #690).

Additional context

Action Required

Unblock issue #690 (Mongoid 8 upgrade) first, then re-run this smoke test.

Documentation

Full root cause analysis: notes/rails71-smoke-test-2026-03-17.md

Client Impact

None expected — no production code changes; documentation only.

Bundle install fails under Rails 7.1 appraisal gemfile due to Mongoid 7.x
activemodel < 7.1 constraint incompatible with Rails 7.1's activemodel = 7.1.5.1.

Root cause: same blocking dependency as issue #839 (Rails 7.2 appraisal).
Mongoid 8.x upgrade (issue #690) is a prerequisite for any Rails 7.x appraisal
to be exercisable.

Closes #1061
@kitcommerce kitcommerce added gate:build-passed Build gate passed review:architecture-pending Review in progress review:simplicity-pending Review in progress review:security-pending Review in progress review:rails-conventions-pending Rails conventions review in progress labels Mar 17, 2026
@kitcommerce
Copy link
Contributor Author

Simplicity Analysis

Core Purpose

Document a Rails 7.1 bundle failure via notes — no code changes included.

Unnecessary Complexity Found

None. This PR contains only documentation/notes.

Code to Remove

Nothing applicable — notes-only PR.

Simplification Recommendations

No code to simplify.

YAGNI Violations

None identified.

Final Assessment

Total potential LOC reduction: N/A (notes only)
Complexity score: Low
Recommended action: Already minimal

Notes-only PR. Nothing to simplify.

@kitcommerce
Copy link
Contributor Author

🔒 Security Review — PR #1065

Verdict: ✅ No security concerns

This PR contains documentation/notes only, recording a Mongoid 7 / Rails 7.1 bundle failure. There are no code changes — no new inputs, no modified authentication, no dependency updates, and no changed control flow.

Risk: None


Reviewed by security-sentinel

@kitcommerce kitcommerce added review:security-done Review complete review:simplicity-done Review complete and removed review:security-pending Review in progress review:simplicity-pending Review in progress labels Mar 17, 2026
@kitcommerce
Copy link
Contributor Author

🏛 Architecture Review — PR #1065

Verdict: ✅ Approved (notes-only, no code changes)

Change Assessment

Documents the result of a Rails 7.1 smoke test: Mongoid 7.x is incompatible with Rails 7.1's activemodel API changes. The blocker is tracked as issue #690 (Mongoid 8 upgrade).

Architectural Observations

  • Mongoid coupling is the key architectural constraint for this project's Rails upgrade path. Mongoid pervades the data layer — models, queries, and persistence are all tightly bound to its API surface. This is expected for an ODM-centric Rails app, but it means Mongoid version gates every Rails major/minor upgrade.
  • Upgrade sequencing is correct: Rails 7.1 must wait for Mongoid 8. Attempting to shim around the incompatibility would create a fragile abstraction layer with no long-term value.
  • Good practice: Recording the failure as a formal note prevents future contributors from re-attempting the same smoke test and creates a clear dependency chain (this PR → WA-RAILS7-004: Mongoid 8.x upgrade — implement changes from research doc #690 → Rails 7.1 readiness).

Risk Analysis

Risk: None from this PR. The architectural risk lives in the Mongoid 8 upgrade itself (tracked separately). No code changes to evaluate.

Recommendations


Automated architecture review · [architecture-strategist]

@kitcommerce
Copy link
Contributor Author

Rails Conventions Review ✅

Verdict: No Rails conventions concerns. Notes-only PR.

This PR documents a blocked smoke test — the Rails 7.1 appraisal bundle fails because Mongoid 7.x constrains activemodel < 7.1. That's a dependency constraint reality, not a Rails conventions issue.

The root cause analysis is accurate: Mongoid 8 upgrade (issue #690) gates both the 7.1 and 7.2 appraisals. The decision to document and block rather than paper over it is the right call.

No production code was changed. Nothing to flag from a Rails conventions standpoint.

@kitcommerce
Copy link
Contributor Author

🧪 Test Quality Review

Verdict: PASS
Severity: N/A

Summary

PR #1065 is a notes-only PR adding notes/rails71-smoke-test-2026-03-17.md. No production code, no test code, and no gem configuration was changed.

The note documents that the Rails 7.1 appraisal gemfile cannot bundle due to Mongoid 7.x incompatibility with Rails 7.1's activemodel = 7.1.5.1. This is a verification/research finding — the appropriate outcome is a blocked acceptance criterion documented for follow-up (issue #690 — Mongoid 8.x upgrade), not new test coverage.

Coverage Assessment

Change Behavioral Impact Tests Needed
Rails 7.1 smoke test notes None No

No test coverage is required or appropriate for this PR.


test-quality reviewer — Wave 2

@kitcommerce kitcommerce added the review:test-quality-done Review complete label Mar 17, 2026
@kitcommerce
Copy link
Contributor Author

Database Review

Verdict: ✅ PASS

No database concerns. This PR adds a notes file documenting the Rails 7.1 appraisal smoke test results. No migrations, model changes, queries, or index modifications.

@kitcommerce kitcommerce added the review:database-done Database review complete label Mar 17, 2026
@kitcommerce
Copy link
Contributor Author

🔒 Rails Security Review — PR #1065

Reviewer: rails-security
Verdict: ✅ PASS

Analysis

Notes-only PR documenting that the Rails 7.1 appraisal is blocked by Mongoid 7.x's activemodel < 7.1 constraint. No production code changed.

Security Assessment

  • No code changes — only a markdown documentation file added to notes/.
  • No security regression introduced. The documented upgrade path (Mongoid 8.x) will eventually bring Rails 7.1+ security improvements.
  • No mass assignment, CSRF, SQL injection, auth bypass, or session security concerns.

No security issues found.

@kitcommerce kitcommerce added review:rails-security-done Rails security review complete review:rails-security-pending Rails security review in progress review:database-pending Database review in progress review:test-quality-pending Review in progress review:wave2-complete labels Mar 17, 2026
@kitcommerce kitcommerce removed review:test-quality-pending Review in progress review:rails-security-pending Rails security review in progress review:database-pending Database review in progress labels Mar 17, 2026
@kitcommerce
Copy link
Contributor Author

Documentation review ✅

Verdict: PASS

PR description clearly explains the blocked state, root cause (Mongoid 7.x / activemodel < 7.1 vs Rails 7.1 requirement), and what needs to happen to unblock. The notes/rails71-smoke-test-2026-03-17.md is comprehensive — includes the full bundle error output, root cause analysis, comparison to issue #839, context on previous smoke test work, and a clear recommendation table. Well-documented for a blocked/investigation PR.

@kitcommerce
Copy link
Contributor Author

Wave 3 Review Results

performance: PASS — Smoke-test documentation PR; no runtime code changes.
accessibility: PASS — No UI changes.
frontend: PASS — No frontend changes.

Wave 3 PASSED. All 4 waves complete (documentation wave already done). Proceeding to merge-ready.

@kitcommerce kitcommerce added review:performance-done Review complete review:accessibility-done Review complete review:frontend-done Frontend review complete review:wave3-complete Wave 3 review complete merge:ready All conditions met, eligible for merge merge:hold In hold window before auto-merge and removed review:performance-pending Review in progress review:accessibility-pending Review in progress review:frontend-pending Frontend review in progress labels Mar 17, 2026
@kitcommerce kitcommerce merged commit 3ef8c87 into next Mar 17, 2026
@kitcommerce kitcommerce deleted the issue-1061-rails71-smoke branch March 17, 2026 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gate:build-passed Build gate passed merge:hold In hold window before auto-merge merge:ready All conditions met, eligible for merge review:accessibility-done Review complete review:architecture-done Review complete review:database-done Database review complete review:documentation-done review:frontend-done Frontend review complete review:performance-done Review complete review:rails-conventions-done Rails conventions review complete review:rails-security-done Rails security review complete review:security-done Review complete review:simplicity-done Review complete review:test-quality-done Review complete review:wave1-complete review:wave2-complete review:wave3-complete Wave 3 review complete

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant