Adds a second actor task with its own left_right-backed ProfileSnapshot and a tokio::sync::watch the primary's IndexWriter bumps after every publish, so the profile actor wakes and re-reads newly-visible primary lines through its own cloned IndexReader instead of polling. No metric computation, alert evaluation, or query routing moves yet -- this is pure plumbing, proven with a test that ingests a line on the primary and observes the profile actor's watermark advance in response. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TeyhRfMYjMditek6geDRoQ