docs: update CHANGELOG + lib with all TRAE fixes (Claude guards, guardrail skip)
This commit is contained in:
22
CHANGELOG.md
22
CHANGELOG.md
@@ -2,25 +2,25 @@
|
|||||||
|
|
||||||
## v3.10.12 (2026-05-26)
|
## v3.10.12 (2026-05-26)
|
||||||
|
|
||||||
**Sticky Endpoint, Parallel Discovery, Smart Errors, Anti-Stall**
|
**Sticky Endpoint, Claude Fixes, Guardrail Skip, Anti-Stall**
|
||||||
|
|
||||||
### New Features
|
### New Features
|
||||||
- **Sticky endpoint caching**: remembers which endpoint last succeeded, reuses it on every subsequent request (zero probe overhead)
|
- **Sticky endpoint caching**: remembers which endpoint last succeeded, reuses it on every subsequent request (zero overhead)
|
||||||
- **Parallel endpoint discovery**: probes ALL endpoints simultaneously, first 200 wins and is cached
|
- **Sequential fallback**: if sticky endpoint fails (429/502/503), tries next endpoint in order — no parallel probing, no wasted requests
|
||||||
- **Automatic re-probe**: if the sticky endpoint fails (429/502/503), cache is cleared and all endpoints are probed in parallel again
|
- **Endpoint order**: `cloudcode-pa.googleapis.com` first (matches agy CLI), `daily-cloudcode-pa.googleapis.com` as fallback
|
||||||
- **Endpoint order swapped**: `daily-cloudcode-pa` tried first (matches agy-core behavior), `cloudcode-pa` as fallback
|
|
||||||
- **Anti-stall engine**: kills stale proxy processes and clears `__pycache__` on every new session start
|
- **Anti-stall engine**: kills stale proxy processes and clears `__pycache__` on every new session start
|
||||||
- **Smart error classification**: distinguishes `quota_exhausted` vs `capacity_exhausted` vs `account_banned` vs `validation_required` vs `service_disabled` vs `auth_permanent`
|
- **Smart error classification**: distinguishes `quota_exhausted` vs `capacity_exhausted` vs `account_banned` vs `validation_required` vs `service_disabled` vs `auth_permanent`
|
||||||
- **Rate limit reset time parsing**: extracts cooldown from error body (`quotaResetDelay`, `Resets in ~1h27m`, etc.) for accurate cooldown
|
- **Rate limit reset time parsing**: extracts cooldown from error body (`quotaResetDelay`, `Resets in ~1h27m`, etc.) for accurate cooldown
|
||||||
- **Missing Antigravity headers**: `X-Client-Name`, `X-Client-Version`, `x-goog-api-client`, platform-aware `User-Agent`
|
- **Missing Antigravity headers**: `X-Client-Name`, `X-Client-Version`, `x-goog-api-client`, platform-aware `User-Agent`
|
||||||
- **Session ID**: added `sessionId` to request wrapper for proper session tracking
|
- **Session ID**: added `sessionId` to request wrapper for proper session tracking
|
||||||
|
|
||||||
### How It Works
|
### Bug Fixes (TRAE Agent)
|
||||||
1. First request: parallel probe → daily-cloudcode-pa and cloudcode-pa hit simultaneously → first 200 wins, cached
|
- **Guardrail skip for simple messages**: when user sends simple messages (e.g. "hi"), skip injecting `_GEMINI_AGENT_GUARDRAIL` — prevents model from aggressively calling tools and looping `ls -la` 50+ times
|
||||||
2. All subsequent requests: goes straight to cached endpoint (no probing)
|
- **Claude tool preservation**: Claude models through Antigravity now keep ALL tool outputs in normalizer (no summarization/truncation) — prevents context loss that broke Claude sessions
|
||||||
3. If cached endpoint returns 429: cache cleared, parallel re-probe
|
- **Claude compaction guard**: `_adaptive_compact` skipped for Claude models — Claude handles its own context, no forced compaction
|
||||||
4. If cached endpoint returns 400/403: error returned to client immediately
|
- **Claude normalizer guard**: `_antigravity_normalize_context` skipped for Claude models — avoids stripping Claude-specific message structure
|
||||||
5. On startup: anti-stall kills all stale translate-proxy processes, clears pycache
|
- **Claude sanitization guard**: Google content sanitization loop skipped for Claude models — prevents mangling Claude's response format
|
||||||
|
- **Normalizer model parameter**: `_antigravity_normalize_context` now receives `model` param to distinguish Claude vs Gemini behavior
|
||||||
|
|
||||||
## v3.10.11 (2026-05-26)
|
## v3.10.11 (2026-05-26)
|
||||||
|
|
||||||
|
|||||||
@@ -84,14 +84,15 @@ model_catalog_json = ""
|
|||||||
|
|
||||||
CHANGELOG = [
|
CHANGELOG = [
|
||||||
("3.10.12", "2026-05-26", [
|
("3.10.12", "2026-05-26", [
|
||||||
"Sticky endpoint: caches last working endpoint, skips probing on subsequent requests",
|
"Sticky endpoint: caches last working endpoint, sequential fallback on failure",
|
||||||
"Parallel discovery: probes ALL endpoints simultaneously, first 200 wins",
|
"Endpoint order: cloudcode-pa first (matches agy CLI), daily-cloudcode-pa fallback",
|
||||||
"Auto re-probe: if sticky endpoint fails (429/502/503), parallel re-probe all",
|
|
||||||
"Endpoint order: daily-cloudcode-pa first (matches agy-core), cloudcode-pa fallback",
|
|
||||||
"Anti-stall engine: kills stale proxy processes + clears pycache on startup",
|
"Anti-stall engine: kills stale proxy processes + clears pycache on startup",
|
||||||
"Smart error classification: quota vs capacity vs banned vs validation vs auth",
|
"Smart error classification: quota vs capacity vs banned vs validation vs auth",
|
||||||
"Rate limit reset parsing: extracts cooldown from error body for accuracy",
|
"Rate limit reset parsing: extracts cooldown from error body for accuracy",
|
||||||
"Missing headers: X-Client-Name, X-Client-Version, x-goog-api-client, sessionId",
|
"Missing headers: X-Client-Name, X-Client-Version, x-goog-api-client, sessionId",
|
||||||
|
"Guardrail skip: simple messages (hi) skip agent guardrail, no more tool-call loops",
|
||||||
|
"Claude fixes: preserve all tools, skip compaction/normalizer/sanitization for Claude",
|
||||||
|
"Normalizer model param: distinguishes Claude vs Gemini for correct behavior",
|
||||||
]),
|
]),
|
||||||
("3.10.11", "2026-05-26", [
|
("3.10.11", "2026-05-26", [
|
||||||
"Hybrid endpoint fallback: cloudcode-pa then daily-cloudcode-pa on 429",
|
"Hybrid endpoint fallback: cloudcode-pa then daily-cloudcode-pa on 429",
|
||||||
|
|||||||
Reference in New Issue
Block a user