The spec defines behavior of each release versions like 1.9.2, 1.9.3, 2.0.0. It mustn't see patch level.
Implementations have some their specific features like objspace, RubyVM, TracePoint of MRI. The spec mustn't specify them.
Ruby has some platform dependent features. For example
- Unix related things (String#crypt, fork, Etc.systmpdir, and so on)
- Floating-point arithmetic