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.
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