Three fixes:
1. Use read_until + from_utf8_lossy instead of AsyncBufRead::lines(),
which returns Err on invalid UTF-8. IRC isn't guaranteed UTF-8 —
Latin-1, Yiddish, etc. would crash the reader loop.
2. Handle CTCP requests (messages wrapped in \x01). Reply to VERSION
queries so the server stops retrying, and skip CTCP for notification
generation.
3. Log outgoing messages from the "send" command with append_log() so
they appear in IRC logs alongside incoming traffic.
Co-Authored-By: ProofOfConcept <poc@bcachefs.org>
Move the notification daemon (IRC, Telegram, idle timer) and the
Claude Code hook binary into this repo as additional [[bin]] targets.
Single `cargo install --path .` now installs everything:
poc-memory — memory store CLI
memory-search — hook for memory retrieval
poc-daemon — notification/idle daemon (was claude-daemon)
poc-hook — Claude Code lifecycle hook (was claude-hook)
Renamed from claude-{daemon,hook} to poc-{daemon,hook} since the
infrastructure isn't tied to any specific AI assistant.
Co-Authored-By: ProofOfConcept <poc@bcachefs.org>