Summary
Communication tools (email, Slack, notifications) are listed in the tool categories but not implemented.
Design Spec Reference
- §11.1 Tool Categories — Communication row
Scope
- Notification tool
- Email tool (technology TBD)
- External messaging integration (technology TBD)
BaseTool compliance with ToolCategory.COMMUNICATION
Notes
- Specific messaging platforms and APIs to be evaluated at implementation time — reference DESIGN_SPEC.md §18.1 Integration APIs
Research Context
ntfy.sh (2026-03-14) — Push notification service for operator alerts:
- Self-hostable HTTP-based pub/sub notification service (29.2k stars, Apache-2.0, Go)
- Integration: single async HTTP POST to publish to a topic
- Supports WebSocket, SSE, FCM, Web Push, email delivery
- Real gap identified: SynthOrg has no way to notify operators outside the web dashboard
- For: parked approval contexts (
engine/approval_gate.py), budget threshold alerts (budget/enforcer.py), escalation chain notifications
Suggested pattern: NotificationSink protocol (async send(title, body, priority, tags) -> None) with pluggable implementations:
NtfyNotificationSink (HTTP POST)
SlackNotificationSink (webhook)
EmailNotificationSink (SMTP)
Configure in company YAML under operator_notifications: section. See research/notification-sink-pattern.md in project memory.
Summary
Communication tools (email, Slack, notifications) are listed in the tool categories but not implemented.
Design Spec Reference
Scope
BaseToolcompliance withToolCategory.COMMUNICATIONNotes
Research Context
ntfy.sh (2026-03-14) — Push notification service for operator alerts:
engine/approval_gate.py), budget threshold alerts (budget/enforcer.py), escalation chain notificationsSuggested pattern:
NotificationSinkprotocol (async send(title, body, priority, tags) -> None) with pluggable implementations:NtfyNotificationSink(HTTP POST)SlackNotificationSink(webhook)EmailNotificationSink(SMTP)Configure in company YAML under
operator_notifications:section. Seeresearch/notification-sink-pattern.mdin project memory.