On running with debug flag, I see:
[2023-05-01 05:08:30] [loader.py] DEBUG: currently existing job stream has different 'mem' than the definition
Issue appears to be that jobs.yml defines mem, whereas /list API output contains memory. The normalisation applied in code seems to be the other way round.
tools.sdzerobot@tools-sgebastion-10:~$ curl -k --cert ~/.toolskube/client.crt --key ~/.toolskube/client.key https://api.svc.tools.eqiad1.wikimedia.cloud:30003/jobs/api/v1/list/ [... {"name": "stream", "cmd": "~/bin/node ~/SDZeroBot/eventstream-router/main.js", "image": "node16", "image_state": "stable", "filelog": "True", "filelog_stdout": "stream.out", "filelog_stderr": "stream.err", "status_short": "Running", "status_long": "Last run at 2023-05-01T05:03:01Z. Pod in 'Running' phase. State 'running'. Started at '2023-05-01T05:03:05Z'.", "emails": "onfailure", "retry": 0, "continuous": true, "memory": "2Gi"} ... ]