fix: push author filter into SQL WHERE clause before LIMIT
The author filter was a post-filter applied after LIMIT 40, so for
common words like "up", the target author's docs could rank outside
the top 40 and get cut before filtering. Now the condition is in the
SQL itself using (? = '' OR d.did = ?) which is a no-op when empty.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>