v1.4.8: safer, opt-in uninstall — setup-systemd-timer.sh --uninstall now only removes the systemd units; deleting the install directory requires the new --purge flag plus an interactive confirmation, and is refused outright unless the target tree is provably a DeflockWebhook install (main.py + the script itself present), so a copy of the script run from outside the project can never rm -rf an unrelated directory. New tests/test_setup_systemd.sh suite (4 tests, systemctl stubbed via PATH) covers all four paths: plain uninstall keeps the directory, purge+confirm deletes it, purge declined keeps it, purge of a non-install tree refuses.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>