Provider Traffic Policy
si now uses a two-part traffic policy for external APIs:
- Built-in provider defaults in Go (
tools/si/internal/providers/specs.go) - Runtime feedback from API responses (
429,Retry-After,X-RateLimit-*, etc.)
Shared Runtime
- HTTP integrations now execute through a shared runtime (
tools/si/internal/integrationruntime/http_exec.go). - 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 providers characteristics --json
- Inspect runtime traffic/health telemetry:
si integrations health --json- includes API version review warnings/errors
- Inspect API version policy coverage:
si providers health --json- includes
version_missingandversion_invalidfields
- Run public connectivity probes:
si github doctor --publicsi cloudflare doctor --publicsi google places doctor --publicsi google play doctor --publicsi google youtube doctor --publicsi stripe doctor --public
CI
si-testsworkflow runs full Go tests fortools/si.si-live-smokeworkflow runs public probes plus optional authenticated smoke checks gated by repository secrets.

