A step was run directly: in the host's own working directory, without its env, env files or user. A module step moved out of its container (node bootstrap/index.js) could find neither its code nor its words. A oneshot unit carries all four as a daemon's does, and starting it waits.