Implement replaceable notifications to prevent heartbeat stacking when agents are busy. Only the latest notification per slot is delivered. Changes: - Add NotificationManager for tracking pending notifications - Add SendKeysReplace() that clears input line before sending - Integrate slot tracking into daemon heartbeat pokes - Mark notifications consumed when agent shows activity The system tracks pending notifications in state files and skips sending if a notification for the same slot is still pending. When agent activity is detected (keepalive), slots are marked consumed allowing new notifications to be sent. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
5.1 KiB
5.1 KiB