From 75818b1e25f1ac8484c59ed92052cbf82bc035d4 Mon Sep 17 00:00:00 2001 From: xiluo Date: Fri, 13 Feb 2026 17:56:57 +0800 Subject: [PATCH 1/2] fix(antigravity): add warn-level logging to silent failure paths in FetchAntigravityModels Add log.Warnf calls to all 7 silent return nil paths so operators can diagnose why specific antigravity accounts fail to fetch models and get unregistered without any log trail. Covers: token errors, request creation failures, context cancellation, network errors (after exhausting fallback URLs), body read errors, unexpected HTTP status codes, and missing models field in response. --- internal/runtime/executor/antigravity_executor.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/internal/runtime/executor/antigravity_executor.go b/internal/runtime/executor/antigravity_executor.go index 24765740..ee20c519 100644 --- a/internal/runtime/executor/antigravity_executor.go +++ b/internal/runtime/executor/antigravity_executor.go @@ -1008,6 +1008,7 @@ func FetchAntigravityModels(ctx context.Context, auth *cliproxyauth.Auth, cfg *c exec := &AntigravityExecutor{cfg: cfg} token, updatedAuth, errToken := exec.ensureAccessToken(ctx, auth) if errToken != nil || token == "" { + log.Warnf("antigravity executor: fetch models failed for %s: token error: %v", auth.ID, errToken) return nil } if updatedAuth != nil { @@ -1021,6 +1022,7 @@ func FetchAntigravityModels(ctx context.Context, auth *cliproxyauth.Auth, cfg *c modelsURL := baseURL + antigravityModelsPath httpReq, errReq := http.NewRequestWithContext(ctx, http.MethodPost, modelsURL, bytes.NewReader([]byte(`{}`))) if errReq != nil { + log.Warnf("antigravity executor: fetch models failed for %s: create request error: %v", auth.ID, errReq) return nil } httpReq.Header.Set("Content-Type", "application/json") @@ -1033,12 +1035,14 @@ func FetchAntigravityModels(ctx context.Context, auth *cliproxyauth.Auth, cfg *c httpResp, errDo := httpClient.Do(httpReq) if errDo != nil { if errors.Is(errDo, context.Canceled) || errors.Is(errDo, context.DeadlineExceeded) { + log.Warnf("antigravity executor: fetch models failed for %s: context canceled: %v", auth.ID, errDo) return nil } if idx+1 < len(baseURLs) { log.Debugf("antigravity executor: models request error on base url %s, retrying with fallback base url: %s", baseURL, baseURLs[idx+1]) continue } + log.Warnf("antigravity executor: fetch models failed for %s: request error: %v", auth.ID, errDo) return nil } @@ -1051,6 +1055,7 @@ func FetchAntigravityModels(ctx context.Context, auth *cliproxyauth.Auth, cfg *c log.Debugf("antigravity executor: models read error on base url %s, retrying with fallback base url: %s", baseURL, baseURLs[idx+1]) continue } + log.Warnf("antigravity executor: fetch models failed for %s: read body error: %v", auth.ID, errRead) return nil } if httpResp.StatusCode < http.StatusOK || httpResp.StatusCode >= http.StatusMultipleChoices { @@ -1058,11 +1063,13 @@ func FetchAntigravityModels(ctx context.Context, auth *cliproxyauth.Auth, cfg *c log.Debugf("antigravity executor: models request rate limited on base url %s, retrying with fallback base url: %s", baseURL, baseURLs[idx+1]) continue } + log.Warnf("antigravity executor: fetch models failed for %s: unexpected status %d, body: %s", auth.ID, httpResp.StatusCode, string(bodyBytes)) return nil } result := gjson.GetBytes(bodyBytes, "models") if !result.Exists() { + log.Warnf("antigravity executor: fetch models failed for %s: no models field in response, body: %s", auth.ID, string(bodyBytes)) return nil } From f9a991365f59a7ce28e2202cc8372247435b8778 Mon Sep 17 00:00:00 2001 From: Dave Date: Sat, 14 Feb 2026 10:56:36 +0800 Subject: [PATCH 2/2] Update internal/runtime/executor/antigravity_executor.go Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- internal/runtime/executor/antigravity_executor.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/runtime/executor/antigravity_executor.go b/internal/runtime/executor/antigravity_executor.go index ee20c519..da82b8d0 100644 --- a/internal/runtime/executor/antigravity_executor.go +++ b/internal/runtime/executor/antigravity_executor.go @@ -1007,10 +1007,14 @@ func (e *AntigravityExecutor) CountTokens(ctx context.Context, auth *cliproxyaut func FetchAntigravityModels(ctx context.Context, auth *cliproxyauth.Auth, cfg *config.Config) []*registry.ModelInfo { exec := &AntigravityExecutor{cfg: cfg} token, updatedAuth, errToken := exec.ensureAccessToken(ctx, auth) - if errToken != nil || token == "" { + if errToken != nil { log.Warnf("antigravity executor: fetch models failed for %s: token error: %v", auth.ID, errToken) return nil } + if token == "" { + log.Warnf("antigravity executor: fetch models failed for %s: got empty token", auth.ID) + return nil + } if updatedAuth != nil { auth = updatedAuth }