Allow administrative tools to submit a list of profile emails through the
structured PREPL interface instead of evaluating Clojure expressions.
Reuse the existing audited deletion path and expose the command through
manage.py for automated maintenance jobs.
AI-assisted-by: gpt-5
Python defines [`RuntimeError`](https://docs.python.org/3.7/library/exceptions.html#RuntimeError)
but it does not define `RuntimeException` so a `NameError` will be raised when any of these lines
are executed.
% `python3 -c "RuntimeException('This is a test...')"`
```
Traceback (most recent call last):
File "<string>", line 1, in <module>
NameError: name 'RuntimeException' is not defined
```
% `flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics`
```
./backend/scripts/manage.py:22:15: F821 undefined name 'RuntimeException'
raise RuntimeException(f"invalid PREPL_URI: {PREPL_URI}")
^
./backend/scripts/manage.py:25:15: F821 undefined name 'RuntimeException'
raise RuntimeException(f"invalid PREPL_URI: {PREPL_URI}")
^
./backend/scripts/manage.py:49:23: F821 undefined name 'RuntimeException'
raise RuntimeException("unexpected response from PREPL")
^
3 F821 undefined name 'RuntimeException'
3
```