71b3b2bca9
Bus.Publish now also appends each event to a per-topic ring buffer of size 100. Bus.Recent(topic, n) returns the tail. New endpoint: GET /status/recent?n=N → JSON array of last N status-diff events This lets a fresh client (agents_dashboard launching cold) populate its Status Feed panel with historical activity before subscribing to /sse/status for live updates. Until now, new SSE subscribers only saw events emitted AFTER they connected — making the panel useless for recent history review. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>