e9160625dc
Skipping the explicit PRAGMA wal_checkpoint(PASSIVE) in close() left sqlite3.Connection.close() running SQLite's own last-connection PASSIVE checkpoint, which still checkpoints the WAL and unlinks -wal/-shm on a structurally corrupt file (E2E: the -wal vanished on close despite the quarantine). Python 3.12+ exposes SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE via Connection.setconfig(); arm it in _halt_db_corrupt so the WAL image survives close() for forensics/recovery. On 3.11 the switch does not exist; the docstring and docs now say so instead of claiming sqlite3 cannot reach it at all. Follow-up to #101095; flagged by JoaoMarcos44 on #101093.