Skip to content

Sweep .rspec for deprecation behavior in Step 0#20

Open
JuanVqz wants to merge 1 commit into
mainfrom
fix/silence-check-grep-dot-rspec
Open

Sweep .rspec for deprecation behavior in Step 0#20
JuanVqz wants to merge 1 commit into
mainfrom
fix/silence-check-grep-dot-rspec

Conversation

@JuanVqz

@JuanVqz JuanVqz commented May 5, 2026

Copy link
Copy Markdown
Member

Related to ombulabs/claude-code_rails-upgrade-skill#100 (same gap, different repo).

Summary

  • Extend Step 0 (Verify Deprecation Warnings Are Not Silenced) in dual-boot/workflows/setup-workflow.md to sweep .rspec, spec/.rspec, spec/spec_helper.rb, spec/rails_helper.rb, spec/support/, Rakefile, and lib/tasks/. The current grep targets config/ only, which misses RSpec autoloads and helper hooks.
  • Mirror the same guidance in dual-boot/references/deprecation-tracking.md under "Detect If Deprecations Are Silenced", with a .rspec autoload example and the block-form silencing pattern (Deprecation.silence do ... end).
  • Extend the regex with ActiveSupport::Deprecation\.silence\b for block-form silencing. The \b word boundary keeps it from matching silenced (already covered by the assignment branch).
  • Add follow-up steps for triaging block-form silencing and raise_errors_for_deprecations autoloads when found.

Why this matters

The silence check is meant to answer "what is the project's deprecation behavior right now?" before starting an upgrade. RSpec autoloads -r raise_errors_for_deprecations from .rspec, and helper hooks like RSpec.configure { |c| c.raise_errors_for_deprecations! } install raise behavior. A single line in .rspec can change how every test failure is interpreted — and nothing about it lives under config/. Without these locations in the sweep, "no deprecation warnings in the log" can mean "they are being silenced", and "every test fails after the upgrade" can mean "they have been raising for a long time, unrelated to the upgrade".

Test plan

  • Docs-only change. Verified while exercising the skill on a legacy Rails app where .rspec autoloaded raise_errors_for_deprecations and the original Step 0 grep would have missed it.
  • The combined regex was exercised against the same codebase and surfaces .rspec autoloads, the raise_errors_for_deprecations! helper hook, and any Deprecation.silence do blocks alongside the existing assignment-form patterns.
  • The Quick Reference table picked up two new rows (block-form silencing, autoloaded raise hooks).

Note

The original gap was reported against OmbuLabs/claude-code_rails-upgrade-skill (issue #100, PR #101). This PR carries the same fix into the dual-boot skill where the parallel guidance lives. Linking instead of opening a duplicate issue.

@JuanVqz JuanVqz self-assigned this May 5, 2026
@JuanVqz JuanVqz marked this pull request as ready for review May 5, 2026 18:04
@JuanVqz JuanVqz requested review from arielj and etagwerker May 5, 2026 18:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant