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.

Panel: GPT 5.6 Sol, Opus 5, DeepSeek v4F Battery: v1 Read as markdown (opens in a new tab)

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
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.

TrueFoundry Mintlify · published
B+

87.5% · 70/80 · AI Agent Readiness Score · reading 30 pts · surface 50 pts

llms.txt PASS
llms-full.txt PASS
markdown mirror PASS
MCP server PASS
docs AI PASS
Task GPT 5.6 SolOpus 5DeepSeek v4F Consensus
Call the AI gateway PASSPASSPASS PASS
Find the exact limits FAILPARTIALPARTIAL PARTIAL
Recover from a 429 FAILPARTIALPARTIAL PARTIAL
Authenticate end to end PASSPASSPASS PASS
Use the Python SDK PARTIALPARTIALPASS 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. 1
    +4 points Find the exact limits PARTIAL

    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. 2
    +4 points Recover from a 429 PARTIAL

    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. 3
    +2 points Use the Python SDK PARTIAL

    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

PASS

PASS 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

PARTIAL

PARTIAL 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

PARTIAL

PARTIAL 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

PASS

PASS 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

PARTIAL

PARTIAL 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

AI Agent Readiness Score 87.5%, grade B+

Paste this into a readme:

[![AI Agent Readiness Score 87.5%](https://docsforagents.com/badge/truefoundry.svg)](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.

Read the full methodology

Put another docs site through the battery.

Nominate a docs site