# ADR-0026: Error Reporting Service ## Status Accepted ## Context The platform needs error reporting for: - Production error tracking - Stack trace collection - Error aggregation and analysis - Integration with monitoring Options considered: 1. **Sentry** - Popular, feature-rich 2. **Rollbar** - Alternative error tracking 3. **Custom solution** - Build our own 4. **Logs only** - No external service ## Decision Use **Sentry** for error reporting (optional, configurable): 1. **Integration**: Via error bus sink 2. **Configuration**: Sentry DSN from config 3. **Context**: Include user ID, trace ID, module name 4. **Optional**: Can be disabled for development **Rationale:** - Industry standard error tracking - Excellent Go SDK - Rich features (release tracking, grouping, etc.) - Good free tier - Easy to integrate ## Consequences ### Positive - Excellent error tracking - Rich context and grouping - Easy integration - Good free tier ### Negative - External dependency - Additional cost at scale - Privacy considerations (data sent to Sentry) ### Implementation Notes - Install: `github.com/getsentry/sentry-go` - Create Sentry sink for error bus - Configure via environment variable - Include context: user ID, trace ID, module name - Set up release tracking - Configure sampling for high-volume deployments