Files
copilotkit__copilotkit/showcase/harness/config/alerts/chat-red-tick.yml
Jordan Ritter 0522b7fa41 refactor(showcase): rename showcase/ops → showcase/harness
The monitoring/alerting service is a test harness (probes, assertions,
alerting), not an operations service. Rename the directory, package
name (@copilotkit/showcase-ops → @copilotkit/showcase-harness), all
internal references (Dockerfile, Prometheus metric prefix
showcase_ops_ → showcase_harness_, orchestrator log messages, probe
YAML nameExcludes, test fixtures), and regenerate pnpm-lock.yaml.

Wire protocol names (X-Ops-* headers) and shell-dashboard internal
API naming (OPS_BASE_URL, ops-api.ts) are intentionally unchanged —
they are stable contracts between sender and receiver.
2026-04-28 13:48:12 -07:00

42 lines
1.2 KiB
YAML

id: chat-red-tick
name: "Starter chat turn failing"
owner: "@oss"
signal:
dimension: chat
triggers:
- green_to_red
- sustained_red
- red_to_green
conditions:
escalations:
- whenFailCount: 4
mention: "!channel"
severity: critical
guards:
- minDeployAgeMin: 20
rate_limit:
perKey: "{{signal.slug}}:{{triggerName}}"
window: 15m
suppress:
when: 'trigger == "sustained_red" && lastAlertAgeMin < 15'
targets:
- kind: slack_webhook
webhook: oss_alerts
# errorDesc is pre-sanitized in showcase/harness/src/probes/drivers/sanitize.ts
# — triple-brace intentional so literal characters survive to Slack.
template:
text: |
{{#trigger.green_to_red}}:red_circle: *{{signal.slug}}* — chat turn failed, error: {{{signal.errorDesc}}}{{/trigger.green_to_red}}
{{#trigger.sustained_red}}:red_circle: *{{signal.slug}}* — chat attempt: {{signal.failCount}}, error: {{{signal.errorDesc}}}{{/trigger.sustained_red}}
{{#trigger.red_to_green}}:white_check_mark: *{{signal.slug}}* chat recovered (was down since {{signal.firstFailureAt}}){{/trigger.red_to_green}}
<{{{env.dashboardUrl}}}|Showcase>{{#event.runId}} · <{{{env.dashboardUrl}}}/runs/{{{event.runId}}}|Run>{{/event.runId}}