Configuration
AutomationConfig
Each brand’s workflow binding holds a JSONAutomationConfig that drives all behavior. This is
what makes one workflow serve every brand.
Skip rules
Skip rules cause an early exit with no response generated. They are evaluated in order and the first matching rule wins.chrono-tz, so a brand’s hours behave correctly
across clock changes rather than drifting by an hour twice a year.
Escalation rules
Pattern-based detection of sensitive topics in ticket text.
The regex cache is bounded at 512 entries with a 10KB pattern limit, so a pathological config
can’t exhaust memory.
Environment
Temporal and API
Control plane
AppConfig::validate() runs at startup in both the API and worker, so an invalid configuration
fails fast rather than surfacing as a runtime error later.
Dashboard
Logging
Structured JSON logging viatracing and tracing-subscriber, configured by RUST_LOG.