Built-in Extensions¶
Lace ships two built-in extensions with every executor distribution. They are bundled as .laceext files and referenced in lace.config with the builtin: prefix.
What "built-in" means¶
Built-in extensions are regular .laceext files that use the same rule language and extension system as any author-written extension. The only difference is distribution: they ship alongside the executor binary and can be referenced as builtin:<name> instead of a file path.
Built-in extensions are not active by default. They must be listed in lace.config to take effect:
[extensions.laceNotifications]
laceext = "builtin:laceNotifications"
[extensions.laceBaseline]
laceext = "builtin:laceBaseline"
Included extensions¶
laceNotifications¶
Notification dispatch for assertion failures and timeouts. When a scope, condition, or call fails, this extension emits structured notification events into result.actions.notifications. The backend is responsible for delivering these notifications via its configured transport (email, Slack, webhook, etc.).
Key features:
- Registers
notificationandsilentOnRepeatoptions on scopes, conditions, and timeouts - Emits
notification_evententries withtext,template, orstructuredpayloads - Supports
op_mapfor conditional notification selection based on failure type - Exposes
pushNotification()for other extensions to inject notifications - Suppresses repeated alerts with
silentOnRepeat(default: true)
laceBaseline¶
Rolling average timing baseline and spike detection. Tracks 7 HTTP response timing metrics across runs and dispatches notifications when a metric deviates significantly from its baseline.
Key features:
- Tracks
responseTimeMs,dnsMs,connectMs,tlsMs,ttfbMs,transferMs,sizeBytes - Detects spikes when a metric exceeds
average * spike_multiplier - Depends on
laceNotificationsfor alert dispatch - Carries stats across runs via
result.runVarsandprev - Exposes
check_spike()for custom baseline checks from other extensions