Runtime bundled-library drift

Ruby 4.0 bundled gems stdlib removed default gems net smtp base64 mutex_m csv logger drb

The app boots on a developer machine with accumulated gems and fails on the immutable production image.

Ruby 4.0RubyRuntime bundled-library driftruby40

Agent Quick Fix

Repair against the current Ruby 4.0 contract, then keep the change narrow and source-backed.

Product: Ruby 4.0
Current-contract area: Transitive stdlib assumption survives locally but fails in container
Likely root cause: The app boots on a developer machine with accumulated gems and fails on the immutable production image.
Repair direction: Verifier checks an explicit dependency or supported replacement and a clean install.

Symptom

The app boots on a developer machine with accumulated gems and fails on the immutable production image.

Why This Happens

A library was historically part of the default runtime install but is now only bundled/optional, so project dependency files may not mention it.

Common Wrong Fixes

  • Changing local code without checking the current external contract.
  • Retrying the same install, build, or API call with no version/source change.
  • Applying a broad unsafe bypass when a narrow compatibility fix is available.

Codex Search Keywords

These are the search terms observed in a neutral Codex validation run for this failure shape.

Ruby 4.0 bundled gems stdlib removed default gems net smtp base64 mutex_m csv logger drb
site:ruby-lang.org Ruby 4.0 default gems bundled gems
Ruby NEWS bundled gems default gems no longer part of default gems csv base64 drb mutex_m
https://docs.ruby-lang.org/en/master/NEWS/NEWS-3_4_0_md.html
'bundled gems' in https://docs.ruby-lang.org/en/master/NEWS/NEWS-3_4_0_md.html
https://docs.ruby-lang.org/en/master/NEWS/NEWS-4_0_0_md.html
'bundled gems are promoted' in https://docs.ruby-lang.org/en/master/NEWS/NEWS-4_0_0_md.html

Source Trail