Skip to content

Governance

Auto-generated from knowledge base TOML files by docs_gen.py. Do not edit manually; run dazzle docs generate to regenerate.

Governance constructs enforce organisational policies and service-level agreements. SLAs set measurable targets with escalation rules for time-sensitive operations.


Sla

A Service Level Agreement definition with deadline tiers, business hours, and breach actions. SLAs track time between state transitions on entities using starts_when, pauses_when, and completes_when conditions. Multiple tiers (warning, breach, critical) define escalation levels. Business hours ensure SLA clocks only run during working time.

Syntax

sla <name> "<Title>":
  entity: <EntityName>
  starts_when: <field> -> <value>
  [pauses_when: <field> = <value>]
  completes_when: <field> -> <value>
  tiers:
    <tier_name>: <int> <hours|days|minutes>
    ...
  [business_hours:]
    [schedule: "<Mon-Fri HH:MM-HH:MM>"]
    [timezone: "<IANA_timezone>"]
  [on_breach:]
    [notify: <role_name>]
    [set: <field> = <value>]

Example

sla TicketResponse "Ticket Response SLA":
  entity: SupportTicket
  starts_when: status -> open
  pauses_when: status = on_hold
  completes_when: status -> resolved
  tiers:
    warning: 4 hours
    breach: 8 hours
    critical: 24 hours
  business_hours:
    schedule: "Mon-Fri 09:00-17:00"
    timezone: "Europe/London"
  on_breach:
    notify: support_lead
    set: escalated = true

sla OrderFulfillment "Order Fulfillment SLA":
  entity: Order
  starts_when: status -> confirmed
  completes_when: status -> shipped
  tiers:
    warning: 1 days
    breach: 3 days

Best Practices

  • Use business_hours to exclude non-working time from SLA calculations
  • Set tiers for progressive escalation (warning before breach)
  • Use on_breach to notify responsible roles and flag records
  • Use pauses_when for states where the clock should stop (e.g., on_hold)

Related: Entity, State Machine, Process