Published 2026-09-21 · Tested 2026-08-19
TrueFoundry
B+TrueFoundry received 7 PASS votes and passed 5 of five agent surface checks. The clearest finding came from the find the exact limits task.
Three AI models, GPT 5.6 Sol, Claude Opus 5, and DeepSeek v4 Flash, each read TrueFoundry’s public documentation independently and attempted five first-hour developer jobs: call the AI gateway, find the exact limits, recover from a 429, authenticate end to end, use the Python SDK.
No accounts, API calls, or code execution were used. Every verdict came from public pages and every published quotation passed a live verification check. Preflight substitutions: T4: Authentication end to end replaced webhooks because the public docs expose no general product-event webhook lifecycle.
Freshness
How rechecks work- Category
- AI models & inference
- Tested
- Quotes verified
- Surface rechecked
No change since the test.
4 of 5 quoted passages still appear on the live pages. The quoted page changed for Find the exact limits.
87.5% · 70/80 · AI Agent Readiness Score · reading 30 pts · surface 50 pts
Agent surface checks · 50/50
The Reading Test
| Task | GPT 5.6 Sol | Opus 5 | DeepSeek v4F | Consensus |
|---|---|---|---|---|
| Call the AI gateway | PASS | PASS | PASS | PASS |
| Find the exact limits | FAIL | PARTIAL | PARTIAL | PARTIAL |
| Recover from a 429 | FAIL | PARTIAL | PARTIAL | PARTIAL |
| Authenticate end to end | PASS | PASS | PASS | PASS |
| Use the Python SDK | PARTIAL | PARTIAL | PASS | PARTIAL |
docs platform: Mintlify (unscored) · verified 2026-08-19
What to fix first
These 3 fixes could add up to 10 points to the AI Agent Readiness Score. The list ranks each fix by the points it would add. How the ranking works
- 1
Found: No page says whether a limit applies without a custom rule, and plan quotas appear only on the pricing page.
Fix: State whether a default limit applies when no rule exists, and link plan quotas from the rate limiting page.
Evidence: www.truefoundry.com/
docs/ ai-gateway/ ratelimiting (opens in a new tab) - 2
Found: The rate limiting page names the violated rule but gives no recovery steps. Opus 5 also found that its example reuses one rule id for three rules.
Fix: Add retry and limit-change steps to the rate limiting page, and give each example rule a unique id.
Evidence: www.truefoundry.com/
docs/ ai-gateway/ ratelimiting (opens in a new tab) - 3
Found: The Python SDK page targets the control plane and never mentions the AI Gateway or its OpenAI SDK path.
Fix: State on the Python SDK page which client makes AI Gateway calls, and link the Native SDK Support page.
Evidence: www.truefoundry.com/
docs/ truefoundry_sdk (opens in a new tab)
What the docs get right
- Call the AI gateway: 3 PASS votes. The quick start covers signup, model setup, and credentials, while the Chat Completions page supplies a complete authenticated Python call.
- Authenticate end to end: 3 PASS votes. The API Keys page gives PAT and VAT creation paths, and the authentication page shows the same token in a bearer header and OpenAI client.
- 5 of 5 agent surface checks. Present: llms.txt, llms-full.txt, markdown mirrors, an MCP server, docs AI.
Call the AI gateway
PASSPASS consensus from 3 PASS.
The quick start covers signup, model setup, and credentials, while the Chat Completions page supplies a complete authenticated Python call. The quick start names all three required values, resolves the SaaS base URL to https://gateway.truefoundry.ai, and the authentication page carries a complete runnable OpenAI-SDK example whose model ID format matches the API reference default server. Four pages (Quick Start, API Keys, Authentication, Chat Completions) cross-reference correctly and together give an unambiguous end-to-end path: create a PAT at Access > Personal Access Tokens, use https://gateway.truefoundry.ai as base_url, pass the PAT as api_key, and call client.chat.completions.create() with a model ID in provider_account/model_name format.
Find the exact limits
PARTIALPARTIAL consensus from 2 PARTIAL, 1 FAIL.
The docs define six units, first-match order, and monthly plan quotas, but state no numeric default limit when no custom rule exists. Units and rule order are exact and unambiguous, but no page states a default rate limit when no config exists and the documentation index contains no pricing, plan, or quota page, so plan quotas cannot be found at all. The rate-limit configuration system is fully documented: six units (requests_per_minute/hour/day, tokens_per_minute/hour/day), top-down first-match rule ordering, sliding-window algorithm with 60 s windows and 10 s buckets. Plan-level monthly quotas appear on the pricing page (50k Developer, 1M Pro, 1M Pro Plus, custom Enterprise). However, no default rate-limit values are stated for a tenant without any configuration, and the plan quotas (requests per month) use a different unit and reset model than the configurable rate-limits (requests per minute / hour / day), creating a gap for an agent trying to determine what it will actually be rate-limited to out of the box.
Recover from a 429
PARTIALPARTIAL consensus from 2 PARTIAL, 1 FAIL.
The page identifies the violated rule but gives no Retry-After value, retry interval, traffic-reduction step, or rule-change procedure. The header and the 429 body are documented with exact shapes, but the page's own example assigns the id openai-gpt4-dev-env to three different rules while the spec calls id a unique identifier, so the returned rule_id cannot identify which rule to edit, and client-side retry guidance lives on an unlinked fallback page. The 429 response body and the x-tfy-applied-rules header are fully documented for both rate-limit and budget-limit violations, including the exact JSON shape and error type (RateLimitError). The virtual-model page also documents default gateway-side retry config (429 in the default retry status codes). But no page tells the client how to recover: there is no mention of exponential backoff, checking the x-tfy-applied-rules header programmatically, or requesting a limit increase from an admin. The response is documented; the correction is not.
Authenticate end to end
PASSPASS consensus from 3 PASS.
The API Keys page gives PAT and VAT creation paths, and the authentication page shows the same token in a bearer header and OpenAI client. PAT creation (Access > Personal Access Tokens) and VAT creation (Access > Virtual Accounts, then Get Token) are both given as UI steps, with a PAT-versus-VAT decision table and a working gateway call using the resulting bearer token. The full path is documented across three linked pages: (1) API Keys page explains PAT vs VAT creation at Access > Personal Access Tokens or Access > Virtual Accounts; (2) Authentication page shows passing the token as Authorization: Bearer or as OPENAI_API_KEY; (3) Quick Start and Chat Completions pages show the OpenAI client with api_key and base_url. All cross-references resolve correctly and the end-to-end flow is unambiguous.
Use the Python SDK
PARTIALPARTIAL consensus from 1 PASS, 2 PARTIAL.
The TrueFoundry SDK example targets the control plane, while AI Gateway guidance uses the OpenAI SDK and gateway base URL. The official truefoundry package installs cleanly and shows a minimum authenticated example, but the SDK page never mentions the AI Gateway, chat completions, or LLM calls, and its base_url is a control-plane host rather than the gateway host used everywhere else. The official Python SDK for the AI Gateway is the OpenAI Python SDK pointed at the TrueFoundry endpoint. This pattern appears identically on Quick Start, Authentication, Chat Completions Overview, and Native SDK Support pages. The pattern is consistent everywhere. An additional truefoundry-gateway-sdk PyPI package exists for the Agent API (SSE streaming), and the truefoundry platform SDK exists for resource management; both use the same PAT/VAT token but serve different purposes.
The receipt
Every request is evaluated against the set of rules, and only the first matching rule is applied—subsequent rules are ignored.
The docs define six units, first-match order, and monthly plan quotas, but state no numeric default limit when no custom rule exists.
Agent surface notes
Initialize returned JSON-RPC protocol 2025-03-26 and server name TrueFoundry Docs.
The live quickstart exposes a visible Ask Assistant button.
Show the score
Paste this into a readme:
[](https://docsforagents.com/reports/truefoundry-docs-ai-agent-readiness/) Method note
This is a reading test of public documentation, not an execution test. No accounts were created and no API calls were run. The AI Agent Readiness Score counts fifteen reading votes at PASS 2, PARTIAL 1, and FAIL 0, for 30 possible points. Five agent surface checks add 10 points each. The total is 80. Consensus chips show each row majority and do not affect scoring. The panel split on 3 of five tasks. Quotes shown here were re-fetched and confirmed verbatim on 2026-08-19.
Put another docs site through the battery.
Nominate a docs site