Skip to content

v4.116.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 15:00
· 174 commits to main since this release

Events say how significant they are, and alert rules act on it

Every event in the project and organization feeds now carries severity: info (routine), notice (unusual but not known to be wrong), warn (probably wrong), or critical (wrong now). Your app declares it; Run402 never infers it. Alert rules filter on it, reduce a run of events to one message per window, or page the escalation ladder. No rule carries a count or rate condition.

CLI (run402)

  • run402 events list --min-severity <level> reads only what matters. The cursor belongs to the filtered view, so replaying it with other filters resets instead of skipping rows.
  • run402 subscriptions add gains --min-severity, --window <seconds>, and --group-by <key[,key]>: one Telegram message per closed window with a line per group and its count, instead of one per event.
  • run402 subscriptions add --escalate-to-level <n> --project <id> pages the organization's escalation ladder instead of a chat (owner only). A repeat while the escalation is open joins it.
  • run402 contacts test --severity <level> exercises a rule filtered above notice; the report lists rules that stayed silent and why.

SDK (@run402/sdk)

  • ProjectEvent.severity and the EventSeverity type; events.list / listForOrg take minSeverity.
  • admin.rules.create / update take minSeverity, groupBy, windowSeconds, channel, and escalationLevel; RoutingRule reads the effective values plus next_window_closes_at and escalation_refused_count.
  • admin.testNotification takes severity and returns telegram.skipped_rules.
  • Escalation.raised_by.kind (principal | rule), attached_count, and last_attached_at.

MCP (run402-mcp)

  • No new tools: every new field and filter is reachable through run snippets on the SDK above.

In-function helper (@run402/functions 4.9.0, released separately)

  • events.emit(type, payload, { severity }) declares the event's severity.

Defaults: a rule without --min-severity carries notice and above when it names no event types, and everything of the types it names. Rules created before this release keep delivering exactly what they did.