GitHub rejects webhook creation when gh api serializes active as a string. Use a typed field so gh sends a real boolean, and lock the gh/gosmee integration test harness to catch regressions.
* feat: add github webhook-forward event source for #12
Add a channel-based GitHub issue source so long-running sessions can react to issue and issue_comment webhooks without polling. Keep --once on polling so backlog reconciliation still works and cover the new config/runtime path with tests.
* refactor: extract polling issue event source (#10)
Decouple tracker event discovery from issue processing so channel-based sources can plug into the runtime later without rewriting reply handling.