> Even when running the RSpec test suite, that call to the real srand should take place exactly once (when starting up) and never within the scope of a test.

Not sure I agree.  I agree that RSpec itself should only call it once, but when RSpec is testing itself (including the logic that sets/uses the seed) I think it's fine if it calls it as part of exercising that code (since that's what that code does, if that makes sense).

For example, I think the `spec/command_line/order_spec.rb` specs should be allowed to call `srand` since they're essentially acceptance tests for that feature.

In general, I try to avoid adding hooks that run before/after every example, because that adds to the time that each example takes which makes the whole suite slower.  Also, I'm not a fan of how this makes you sprinkle tests with `allow(RSpec::Core::Random).to receive :srand` (e.g. in `run_command` in `spec/command_line/order_spec.rb`).

> That being said, this only works in the case that srand has a receiver, which is the case for all existing code, but this stubbing provides no protection to a direct call to srand with no receiver.

This convinces me even more that it would be best to remove this code, as it doesn't actually guarantee what it is trying to guarantee.