Provider Traffic Policy
si now uses a two-part traffic policy for external APIs:
- Built-in provider defaults in the Rust provider catalog/runtime
- Runtime feedback from API responses (
429,Retry-After,X-RateLimit-*, etc.)
Shared Runtime
- HTTP integrations now execute through the shared Rust runtime.
- Provider-specific code only supplies hooks for:
- request building + auth injection
- response normalization
- provider error mapping
- retry decision criteria
- The runtime owns admission, retry/backoff, runtime feedback, and response caching.
How it works
- Every provider call goes through admission (
providers.Acquire) using a baseline token bucket. - Every response feeds back into policy (
providers.FeedbackWithLatency). - On throttling signals, calls are cooled down until reset/retry windows.
- On rate-limit headers, limiter pace is adapted dynamically.
Operational usage
- Inspect active provider defaults:
si orbit list --json
- Inspect runtime traffic/health telemetry:
si integrations health --json- includes API version review warnings/errors
- Inspect API version policy coverage:
si orbit list --json- includes
version_missingandversion_invalidfields
- Run public connectivity probes:
si orbit github doctor --publicsi orbit cloudflare doctor --publicsi orbit google places doctor --publicsi orbit google play doctor --publicsi orbit google youtube doctor --publicsi orbit stripe doctor --public
CI
si-testsworkflow runs Rust workspace checks.si-live-smokeworkflow runs public probes plus optional authenticated smoke checks gated by repository secrets.

