Saying "it works on my machine" is rarely about the machine. You are declaring that your code depends on something it did not ask for.
A runtime hands your process a pile of implicit defaults: a timezone, a locale, a filesystem encoding, a DNS resolver, a certificate bundle, a clock that may or may not be synced, a float formatting rule, a dictionary ordering that happens to be stable this week. None of that sits in your repository. All of it sits in your behaviour.
So the failure mode has nothing to do with your laptop being special. The set of inputs to your program is simply larger than the set of inputs you wrote down.
In payments this gets expensive fast. Amount parsing that leans on the host locale turns a decimal separator into a thousands separator. A timestamp written without an explicit zone lands a transaction in the wrong settlement day, and reconciliation against what the bank actually settled stops matching. A certificate bundle that exists on a developer image and not on a production container turns an outbound payment provider call into a TLS failure that reads like the vendor being down. The code is identical. The inputs were not, and they were not declared anywhere.
Catalog and delivery pipelines get the same class of problem. A parser that worked on one machine was relying on the filesystem encoding of the box it ran on, not on anything in the source document.
How I approach it: treat every environment-dependent value as an explicit input, not a convenience the runtime provides. Pin timezones in code, not in the host. Parse money from a declared format into a decimal type, not through a locale-aware helper. Load trust stores and credentials by explicit path, and fail loudly at startup if they are absent. Validate configuration on boot, so the process refuses to run misconfigured instead of running wrong. And containerise to shrink the undeclared surface rather than to "solve environments": Docker does not make the implicit explicit, it just makes it the same implicit everywhere, which is a different and weaker guarantee.
The idea worth keeping: reproducibility is not a property of the environment, it is a property of how honest your code is about its dependencies. A system that only behaves correctly under defaults it never names is a system that happens to work.
I have written more about this class of production failure on my blog: https://polycratia.com/c/2bc59dd0
If you have chased one of these, I would guess it was the clock, the locale or the trust store...