Fix macOS observer stdout parsing and add real-time sck-cli logging
- Fix select() loop to continue polling instead of breaking on no data
- Add background threads to stream sck-cli stdout/stderr in real-time
- Make status event structure compatible with Linux observer
- Fix PyAV container leak with try/finally pattern
- Fix type hint for get_timestamp_parts (float | None)
- Update docstrings and TODO.md to reflect current state
- Remove unused output_base instance variable
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>