Files
copilotkit__copilotkit/showcase/harness/config/probes/version-drift.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

34 lines
1.4 KiB
YAML

# Probe: version-drift (per-package)
#
# Discovery-driven fan-out: the `pnpm-packages` source enumerates every
# workspace package, and the driver checks each against npmjs/pypi for
# upstream drift. One ProbeResult per package is written — the status
# writer's per-key tracking means individual packages green/red
# independently and the weekly alert rule aggregates across them.
#
# Schedule: Mondays at 09:00 UTC (same cadence as the legacy aggregate
# weekly probe in orchestrator.ts). If the registry queue is large
# enough that the tick overruns, the next tick is simply skipped —
# Croner's overlap protection handles that.
#
# timeout_ms / max_concurrency: 10s per package is generous for the
# small JSON responses (<2KB) npmjs and pypi return; 5 concurrent
# is well below either registry's anonymous rate limit but high
# enough that 50 packages finish inside a few seconds rather than
# a minute of serial waiting.
#
# pathPrefix filter: scope to `packages/` so examples/ and showcase/
# don't get probed every tick. Those paths are tested independently;
# mixing them into the weekly drift feed would flood the alert
# channel with false-positives for pinned-on-purpose demo deps.
kind: version_drift
id: version-drift-weekly
schedule: "0 9 * * 1"
timeout_ms: 10000
max_concurrency: 5
discovery:
source: pnpm-packages
filter:
pathPrefix: "packages/"
key_template: "version_drift:${name}"