Signals

Signals are scheduled, threshold-aware queries that compile through the same semantic execution layer as everything else in Colrows. They give you alerts you can trust - grounded in governed metrics, not stitched together with cron jobs and webhook handlers.

What a Signal is

A Signal is a saved query plus a schedule, optional thresholds, and a delivery channel. When the schedule fires, Colrows compiles the query through Consensus, evaluates the threshold against the result, and routes a structured payload to your channel of choice.

Because Signals run through the compiler, they inherit every Colrows guarantee: governed metrics, persona-scoped access, point-in-time reproducibility, and an audit trail per invocation.

General settings

  • Name & owner - every Signal has a single owner. Owners receive operational notifications (compilation failure, schedule skew).
  • Persona - Signals run as a persona, not as the user who created them. This is how you keep schedule-triggered jobs reproducible after a teammate leaves.
  • Source - a saved query, a metric, or a natural-language question.
  • Tags - used for routing and dashboards.

Stopclock - debouncing & back-off

Stopclock is the configurable circuit breaker for Signals. It prevents a noisy Signal from paging on every small fluctuation.

ModeBehavior
CooldownSuppress repeat alerts for N minutes after a fire.
HysteresisRequire the value to cross a recovery threshold before re-arming.
SustainedFire only after the threshold is breached for K consecutive runs.
ExponentialDouble the cooldown on each repeat fire (capped). Useful for ongoing incidents.

Result - how Signals deliver

Every fire produces a structured payload:

{
  "signal_id":   "sig_8a2c…",
  "fired_at":    "2026-04-29T08:15:00Z",
  "trigger":     "threshold_breach",
  "metric":      "net_revenue",
  "value":       1842300,
  "threshold":   { "op": "<", "rhs": 2000000 },
  "trace_id":    "trc_e1f9…",
  "persona":     "regional_analyst",
  "scope":       { "region": "EMEA" },
  "context":     { "top_drivers": [...] }
}

Built-in delivery channels: email, Slack, Microsoft Teams, PagerDuty, Opsgenie, generic webhook. The webhook signs payloads with HMAC so your receiver can verify authenticity.

Schedule

Cron expressions, simple intervals (every 15 minutes), or event-driven triggers from upstream Signals or external webhooks.

  • Schedules are timezone-aware. Use the workspace timezone or override per Signal.
  • Schedule skew (the gap between intended and actual run) is captured in the audit log and alertable.
  • Failed runs are retried with backoff; persistent failures eventually page the Signal owner.

Anomaly detection

For metrics with enough history, Colrows can derive thresholds automatically - seasonality-aware baselines from the same metric you'd otherwise threshold by hand. Combine with Stopclock sustained mode for high-quality alerts that don't page on weekend dips.

Audit-ready by construction.

Every Signal fire carries a trace_id that resolves to the exact compile-then-execute trace - definitions, join paths, constraints, and the SQL that ran. Replay-the-incident is one click away.