Skip to content

DocsReference

What happens between an error and an alert

The full path, in order, so you know where to look when something stalls.

Every incident follows the same path. Nothing skips a step.

  1. An issue is pulled from your error tracker and saved as an incident.
  2. The most recent event for that issue is fetched — stack trace, exception, and request context.
  3. Sensitive fields are replaced with [REDACTED].
  4. A structured prompt is built and sent to your model provider.
  5. The response is parsed. If parsing fails it is retried, and a fallback record is written if it keeps failing.
  6. Rules calculate a risk score, independently of the model.
  7. The final score is the higher of the two.
  8. The analysis is saved.
  9. If the risk level is one you allowed for that project, a notification is queued.

Where the work runs

QueueDoes what
issue-syncPulls issues in and queues new ones for analysis
ai-analysisFetches the event, redacts, analyses, scores, and saves
email-notificationSends email, Discord, and Telegram messages, honouring the cooldown

Everything slow happens on a queue, which is why the interface stays responsive during a large first sync. If incidents appear but analyses do not, the analysis queue is where to look.