Gate finding BR4 r1 quality (Low cleanups): started_at is REAL NOT NULL, so
`r[3] or 0` in the sort key is dead; the user rank is a class constant, so
read it from _TITLE_SOURCE_RANK instead of the NULL-aware _title_rank helper.
The ranked repair test now closes its raw sqlite3 handle
(contextlib.closing) before SessionDB reopens the file -- `with connect()`
only commits, leaving a Windows file-lock / ResourceWarning hazard.