Follow-up to the two-levels redesign PR, which merged before the review pass landed. One commit with the fixes from the multi-lens review:
- sync reconcile preserves primary/tags from the PDS record (shared tag serialization now lives in internal/tags)
- ListUserSubscriptionTags orders by rkey; kills the flaky tags test
- graceful shutdown drains the orchestrator and closes the DB before exit
- PATCH feedUrl validates scheme and host before any PDS write
- reader close uses history.back() when arriving in-app; microblog rows no-op on Enter; delete confirm gets a pending spinner
- test gaps: save-record mapping, source detail primary/tags, bun test for the YouTube URL helpers