feat: search documents by publication subdomain (base_path)
- add base_path to publications_fts for FTS search
- add DocsByPubBasePath queries to find docs via publication match
- deduplicate results when doc matches both content and base_path
- fix use-after-free by duping URIs for hash map
searching "gyst" now returns all docs on gyst.leaflet.pub, not just
those with "gyst" in their content.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>