- Add DispatchContext field to Task model for rule metadata storage
- Add BlocklistEmails config (BLOCKLIST_EMAILS env var)
- Wire rules.Pipeline into IMAPWatcher, replacing inline whitelist check
- Pass rule metadata through DispatchContext to OpenClaw dispatch
- Remove isWhitelisted method (now handled by WhitelistRule)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Add CI workflow at .gitea/workflows/ci.yml triggered on pull_request
with two jobs: fmt (gofmt check) and test (go test ./...).
Fix gofmt issues (import ordering) in 7 files so CI passes from
the start.
Fixes#7
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>