fix: address independent verification findings
Classify empty completions as transient per human ruling (fixes flaky real-gateway smoke and prevents caching empty responses), rename the factory injection parameter gate to breaker per the frozen design, rewrite the probe-entry cleanup without except BaseException, declare python-dotenv explicitly, add a mid-backoff cancellation test, and record all implementation errata in the design and architecture docs.
This commit is contained in:
@@ -62,7 +62,7 @@ class GatewayClient:
|
||||
sources: list[SourceConfig],
|
||||
selector: SourceSelector,
|
||||
limiter: RateLimiter,
|
||||
gate: ProviderGate,
|
||||
breaker: ProviderGate,
|
||||
transport: Transport,
|
||||
retry: RetryPolicy,
|
||||
backpressure: BackpressurePolicy,
|
||||
@@ -84,7 +84,7 @@ class GatewayClient:
|
||||
sources=sources,
|
||||
selector=selector,
|
||||
limiter=limiter,
|
||||
gate=gate,
|
||||
gate=breaker,
|
||||
transport=transport,
|
||||
retry=retry,
|
||||
backpressure=backpressure,
|
||||
@@ -183,7 +183,7 @@ class GatewayClient:
|
||||
settings: GatewaySettings,
|
||||
*,
|
||||
limiter: RateLimiter | None = None,
|
||||
gate: ProviderGate | None = None,
|
||||
breaker: ProviderGate | None = None,
|
||||
cache: CacheBackend | None = None,
|
||||
telemetry: TelemetryRecorder | None = None,
|
||||
registry: Mapping[str, ProviderProfile] | None = None,
|
||||
@@ -203,7 +203,7 @@ class GatewayClient:
|
||||
global_limits=settings.global_limits,
|
||||
lease_ttl_s=settings.lease_ttl_s,
|
||||
),
|
||||
gate=gate or InMemoryGate(config=settings.breaker),
|
||||
breaker=breaker or InMemoryGate(config=settings.breaker),
|
||||
transport=OpenAICompatTransport(registry=registry),
|
||||
retry=settings.retry,
|
||||
backpressure=settings.backpressure,
|
||||
@@ -223,7 +223,7 @@ class GatewayClient:
|
||||
scope: str = "LLM",
|
||||
*,
|
||||
limiter: RateLimiter | None = None,
|
||||
gate: ProviderGate | None = None,
|
||||
breaker: ProviderGate | None = None,
|
||||
cache: CacheBackend | None = None,
|
||||
telemetry: TelemetryRecorder | None = None,
|
||||
registry: Mapping[str, ProviderProfile] | None = None,
|
||||
@@ -233,7 +233,7 @@ class GatewayClient:
|
||||
return cls.from_settings(
|
||||
GatewaySettings.from_env(scope, env=env),
|
||||
limiter=limiter,
|
||||
gate=gate,
|
||||
breaker=breaker,
|
||||
cache=cache,
|
||||
telemetry=telemetry,
|
||||
registry=registry,
|
||||
|
||||
Reference in New Issue
Block a user