When the LinkBERT service is unavailable or times out, the client returns empty scores and spans so the money-link classification output stays intact and the rest of the application keeps working.

sequenceDiagram
  autonumber
  actor User
  participant App as Auxy App (FastAPI)
  participant Gemini as Vertex AI (Gemini)
  participant LB as LinkBERT Service
  participant DB as Database (Postgres)

  User->>App: Request link optimization
  par Concurrent Analysis
    App->>Gemini: Classify Money vs Filler Links
    Gemini-->>App: Money + Other Links
  and Link Scoring
    App->>LB: Score text
    alt Service Down or Timeout
      LB--xApp: HTTPError / Timeout
      App->>App: Fallback to empty scores & spans
    else Normal Response
      LB-->>App: words, probs, spans
    end
  end
  App->>DB: Save run (links + LinkBERT data)
  App-->>User: 200 OK (Clean text + classifications)