Appearance
rule schema
Frontend rule-engine definition (page-level conditional visibility/computed-value rules).
Pull the full JSON Schema: erp schema pull rule · MCP: erp_get_schema {"name":"rule"}
Top-level properties
| Property | Type | Required | Notes |
|---|---|---|---|
id | string | yes | |
name | string | yes | Stable marketplace-facing name (Phase 21 §4c). |
description | string | ||
event | string | yes | Dotted event-name pattern: '*' matches one segment, trailing '**' matches any remainder. |
priority | integer | yes | One of the band values 1/5/10/100 unless priorityOverride is true. Bands confer timing and veto rights (ADR 0008 §4): security(1) and validation(5) run synchronously pre-commit and can veto; business(10) sync; notification(100) async post-commit. |
priorityOverride | boolean | Explicit opt-out of the band constraint. Deliberate, visible, audited. | |
enabled | boolean | ||
scope | object | Match dimensions beyond event name and tenant. Unset means any. | |
watchedFields | array | Fire only when one of these data fields changed between data.old and data.new (ADR 0008 §2). Fires when old/new are absent (creation). | |
condition | string | Phase 1 expression over ${event.*} plus the ambient scopes. Boolean true fires; false/Null skips; non-Boolean/unresolvable is a distinct observable skip. | |
suppressSelfTrigger | boolean | Don't re-fire from events this rule's own actions caused (ADR 0008 §5). | |
actions | array | yes | Phase 2 action chain(s), executed by the Action Engine with its frozen retry/timeout/error semantics. |
metadata | object | Marketplace-publishable shape (Phase 21 §4c): version required at publish time. |