- Emote face is now stable all day; /wake picks a fresh random face each
morning instead of rotating every 5 minutes. Removes EMOTE_ROTATION_INTERVAL
and last_emote_change entirely.
- Added 10 new synthesized sounds for /notify: doorbell, knock, ding, blip,
siren, tada, ping, bubble, fanfare, and alarm (loops until tapped or TTL
expires). stopAlarm() wired into tap handler and handleStateChange().
- openapi.yaml: new sound names added to enum.
- CLAUDE.md / README.md updated to reflect both changes.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Aggregator: Flask-based event broker with priority queue
- Frontend: OLED-optimized UI with animations
- Detectors: disk, cpu, memory, service, network
- Unified entry point (sentry.py) with process management
- Heartbeat TTL system for auto-clearing stale events
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>