The previous fix-trojan-go-startup-failure change renamed the renewal hook path from /etc/letsencrypt/renewal-hooks/post/restart-trojan.sh to /etc/letsencrypt/renewal-hooks-post/trojan-go.sh. The latter directory does not exist — certbot uses /etc/letsencrypt/renewal-hooks/post/.
Goals:
Use the standard certbot path /etc/letsencrypt/renewal-hooks/post/
Certbot automatically scans this directory for post-renewal hooks. No need to create directories or configure anything else.