River Docs

Rules

Rules turn raw data conditions into issues. Define what to watch for once, and the rule engine fires an issue every time something matches — anchored to the right band-month so it lands in the river automatically.

The rules list

Open Rules from the main nav:

Rules list

The list has a search box (matches name and description), a status select (All Rules, Active, Disabled), and a Tag filter. Each row is one rule with its name and short description; disabled rules render dimmer.

Top-right:

  • Run All Rules — admin-only, with a 5-minute cooldown enforced server-side. Useful after a big rule edit or a rule import.
  • Create Rule — opens the builder for a new rule.

Toggling a rule on or off from a row in the list saves immediately, with an undo toast. Toggling the same switch in the builder footer is local until you hit Save.

Building a rule

Click any rule (or + Create Rule) for the builder modal:

Rule builder

Two tabs across the top: Configure and Test. The Configure tab is in three sections.

Rule info

  • Rule name and Description.
  • Data source — which metric view the rule reads from. Picking a source unlocks the field set the branches can use; changing the source on an existing rule wipes the branches without warning, so commit to the source up front.
  • Default severity — Critical, Warning, or Info. Branches can override.
  • Assign to — auto-assign the issue to a teammate, or leave Unassigned.
  • Issue title template — the title that gets stamped on each issue. Mustache-style placeholders pull from the data row.
  • Tags — for grouping and filtering in the issue list.

Branches

Each branch is a condition + an outcome. Branches evaluate top-down, first-match-wins, so order matters — drag to reorder. A branch with no conditions is a catch-all (renders with an amber pill).

Reactions

What happens when an issue is created. Two toggles:

  • Send notification — uses each user's notification settings to decide channel and digest cadence.
  • Create task — auto-create a follow-up task, with a role / priority / due-in-days configuration.

The footer carries the Active toggle, Delete rule, Cancel, and Save (the label cycles Create ruleSave changesSaved).

Editing existing rules

Editing structural fields (data source, branches, severity, title template) on a rule that already has open issues triggers an impact check. If matches exist, you get a cascade dialog with three choices:

  • Keep editing — stay in the builder, no save.
  • Save as new rule — fork the rule under a new ID; the old one stays intact.
  • Save and delete old issues — overwrite the rule and discard issues fired by the previous version. No undo.

Renaming alone is not structural — no dialog fires.

On this page