Skip to content
solidway

Theme

SolidwayLLM gateway

Solidway v0.1.0 is released under AGPL-3.0; source and releases are on GitHub. This documentation is being rewritten against the release — pages outside Quick start and Reference still describe planned behaviour. The current reference lives in docs/getting-started.md and docs/architecture.md in the repository.

Health marking

Which failures retire or cool a credential down, for how long, and how it comes back.

A credential that keeps failing costs a request every time it is chosen. Health marking takes it out of selection until something says it can serve again.

Classification

Every failed attempt is classified before the next decision is taken. The class comes from the status code and, for 429, from the error body.

Outcome Mark Duration
401 Retired Until an operator restores it
403 Cooldown cooldown_auth setting
429 with error.code = insufficient_quota Cooldown Retry-After if present (capped), else quota_cooldown
429 otherwise Cooldown Retry-After if present, else cooldown_rate_limit
5xx Cooldown cooldown_unavailable
Network error, connect timeout, first-byte timeout Cooldown cooldown_unavailable
Other 4xx No mark —

The durations are configured under System → Gateway. There is no exponential ladder: a credential is held for the configured window, then probed.

Hold scope

A mark applies to the whole credential, for every model it serves. The model dimension is used for selection and reporting, not for holding one model while the credential keeps serving others.

Coming back

  • Cooldown ends by itself. The credential is probed; the first successful probe returns it to selection. Until then it is skipped even by affinity.
  • Retirement never ends by itself. An admin restores the credential from the route page (the console labels it “clear mark”), which also closes the incident.

Incidents

Every mark creates or extends an incident with the reason, duration and attempt count. The console lists them under Provider incidents, and the alert webhook fires on new incidents when configured. See Incidents and alerts.

What is never marked

  • A failure caused by the request itself (typically 400, 404, 422) — one bad caller must not take a credential away from everyone.
  • A stream that the client cancelled.

Next