SDP: add functional test harness + fix JOURNALNUM unbound in rotate_log_file
test/sdp_test_harness.sh: a self-contained functional test harness that
exercises the SDP on a running instance -- environment/auth, service lifecycle
(start/stop/status/restart), checkpoint & journal maintenance, archive verify,
housekeeping, role-gating wrappers, diagnostics -- and smoke-tests replica/edge
tooling and runs the audit tools (verify_sdp, sdp_health_check) informationally.
Run as the SDP OS user: test/sdp_test_harness.sh [instance].
backup_functions.sh: default JOURNALNUM to 0 in rotate_log_file(). It is a
general utility callable (e.g. by journal_watch.sh) before get_journalnum sets
JOURNALNUM; under 'set -u' that aborted the caller. Found by the harness.