Replace filesystem-based health monitoring with Callosum events
Replace the .up file heartbeat mechanism with health derivation from
observe.status Callosum events. The supervisor now tracks the last
status event and derives health signals:
- hear: healthy if status received within threshold (audio always runs)
- see: healthy if user idle OR (recording AND files_growing)
Changes:
- Add files_growing field to observe.status screencast info
- Add _observe_status_state tracking in supervisor
- Rewrite check_health() to use in-memory state vs filesystem
- Remove touch_health() function and all callers
- Update tests for new message-based health checking
- Update docs (DOCTOR.md, CALLOSUM.md, doctor.txt agent prompt)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>