FAIL deploy.sh is readable == Full PHP-FPM restart (striped-lock rollout safety) == FAIL deploy.sh restarts PHP-FPM (systemctl restart "$PHP_FPM") PASS deploy.sh does NOT gracefully reload PHP-FPM (systemctl reload "$PHP_FPM") FAIL deploy.sh documents WHY a full restart is required (striped locks / old workers) == Restart failure aborts the deployment == FAIL deploy.sh sets -e (or -euo pipefail) so unhandled failures abort FAIL the restart call is explicitly guarded and fails the script on error FAIL deploy.sh verifies PHP-FPM is active after restarting (not just that the command returned) == Cache cleanup remains a manual, maintenance-only step == PASS deploy.sh never EXECUTES cleanup-calendar-cache.php (mentioning it in a comment is fine) PASS deploy.sh never passes --purge-legacy-locks on an executable line FAIL deploy.sh documents that legacy-lock purge is a separate manual step FAIL deploy.sh documents the exact optional cleanup command for operators == Stripe-count reconfiguration is documented as restart-only == FAIL deploy.sh documents that CALEE_CALENDAR_CACHE_LOCK_STRIPES changes need a full restart 9 self-test(s) FAILED.