O runner (gitea-runner) roda como root e é compartilhado com outras
automações deste servidor, então não dá pra trocar o usuário dele
globalmente. O rsync que lê o checkout continua como root (é a única
forma de ler, o workspace do runner é privado dele), mas logo depois
do sync a posse dos arquivos passa pro 'desenvolvimento', e dali em
diante (npm ci, node --check, pm2 startOrRestart/save/list) tudo roda
via sudo -u desenvolvimento - resolve o processo órfão de root que
duplicava o cron ao lado do PM2 do desenvolvimento.