api.qa / llms-full.txt
F
llms-full.txt
0/10 AX score
remote mode Ed25519 attested verifier v0.4.4
verified 2026-10-06T18:27:46.517Z seed 717287929 (replayable) evidence 750a7d57de6af50557…

The 10-point checklist

Derived from llms-full.txt’s own published surfaces

#CheckVerdict
01llms.txt is served and agent-actionableFAIL
02/.well-known/agents.json capability card parsesFAIL
03/icp.json self-classification surfaceFAIL
04root content-negotiates (curl → markdown, browser → HTML, agent JSON → JSON/non-HTML)FAIL
05machine-readable API contract (OpenAPI) is publishedFAIL
06MCP interface declared with transport + toolsFAIL
07at least one declared endpoint answers 2xx with no keyFAIL
08payment boundaries answer as structured 402 offersFAIL
09surfaces cross-reference each other (linkset)FAIL
10attestation/identity ladder is declaredFAIL

Check details

Every verdict references the evidence it was judged from

FAILllms.txt is served and agent-actionablellms-txt

expected 200 markdown (H1 + substantive content) at /llms.txt — got: status 530

FAIL/.well-known/agents.json capability card parsesagents-json

expected valid JSON with a name and interfaces at /.well-known/agents.json — got: status 530

FAIL/icp.json self-classification surfaceicp-json

expected valid JSON with agent_classes at /icp.json — got: status 530

FAILroot content-negotiates (curl → markdown, browser → HTML, agent JSON → JSON/non-HTML)content-negotiation

agent Accept received HTML (or nothing) — curl gets a wall of markup — got: status 530

FAILmachine-readable API contract (OpenAPI) is publishedopenapi

no parseable OpenAPI document found (declared URL or /openapi.json) — got: status 530

FAILMCP interface declared with transport + toolsmcp-declared

agents.json interfaces.mcp with a transport/url and a non-empty tools list — got: status 530

skipMCP endpoint publishes RFC 9728 protected-resource metadatamcp-oauth-protected-resource

no MCP interface declared — nothing to verify

skipauthorization server publishes RFC 8414 metadata (openid-configuration fallback)mcp-oauth-as-metadata

no MCP interface declared — nothing to verify

skipauthorization server advertises PKCE S256 (RFC 7636)mcp-pkce

no MCP interface declared — nothing to verify

skipauthorization server supports Dynamic Client Registration (RFC 7591)mcp-oauth-dcr

no MCP interface declared — nothing to verify

skipprotected-resource declares an RFC 8707 audience bound to the MCP originmcp-oauth-resource-indicators

no MCP interface declared — nothing to verify

skipunauthenticated MCP request returns 401 with WWW-Authenticate → protected-resource metadatamcp-www-authenticate

no MCP interface declared — nothing to verify

skipAAP discovery advertises Ed25519 + approval methods + register/status/revoke + jwks_uriaap-discovery

no /.well-known/agent-configuration document (2xx) — target does not claim the Agent Auth Protocol

skipauth.md agent-identity advertised (agent_auth identity/claim/events + ID-JAG + SET revocation)authmd-agent-identity

no authorization-server metadata resolved (no MCP/OAuth AS declared) — nothing advertises an agent_auth block

FAILat least one declared endpoint answers 2xx with no keykeyless-flow

no keyless GET candidates discoverable from agents.json/OpenAPI — nothing an agent can try without an account

FAILpayment boundaries answer as structured 402 offersoffers-402

no monetization.offers declared — payment boundaries are dead ends, not offers (observed pricing model: undetermined — only an observed "free" declaration earns the vacuous pass) — got: status 530

FAILsurfaces cross-reference each other (linkset)linkset

llms.txt references fewer than 2 sibling surfaces and root sends no Link header — surfaces are islands — got: status 530

FAILattestation/identity ladder is declaredattestation

no attestation or identity ladder declared on agents.json or icp.json — got: status 530

skipsampled responses conform to their published schemasschema-conformance

no sampled endpoint had both a 2xx response and a published response schema

skipclaimed endpoints actually exist (no ghost surface)claims-honesty

no claimed endpoints to probe

skiplive responses match the published OpenAPI contract (full diff)contract-diff

no valid OpenAPI contract to diff against the live surface

skipMCP registry manifest (server.json) is valid and registry-publishablemcp-server-json

no server.json manifest served at the well-known/declared path — target is not claiming MCP-registry publishability

skipdeclared MCP remote resolves live (initialize → tools/list advertises tools)mcp-remote-live

no server.json manifest — no registry remote to resolve

skipdomain/account can prove ownership to publish under its reverse-DNS namespacemcp-registry-ownership

no server.json manifest — no namespace ownership to prove

skipserver is present in the official MCP registry (informational)mcp-registry-presence

no server.json manifest — registry presence not applicable

skipMCP-UI tool result links a ui:// resource served with an MCP-Apps MIMEmcp-ui-resource-linkage

no MCP-UI declared (no tool advertises a ui:// template) — informational not-ready, not a failure

skipui:// srcDoc is self-contained (no remote code) and CSP-safemcp-ui-self-contained

no MCP-UI declared (no tool advertises a ui:// template) — informational not-ready, not a failure

skipno secret leaks into a model-visible channel (content/structuredContent)mcp-ui-envelope-hygiene

no MCP-UI declared (no tool advertises a ui:// template) — informational not-ready, not a failure

skipwidget structuredContent is consistent with the agent/API register (no divergence)mcp-ui-register-parity

no MCP-UI declared (no tool advertises a ui:// template) — informational not-ready, not a failure

skipfirst-render-without-input tolerance + tool annotations / widgetDescription presentmcp-ui-host-render

no MCP-UI declared (no tool advertises a ui:// template) — informational not-ready, not a failure

skipUI-message-stream is served with the v1 stream header and an SSE content-typeui-stream-transport

no UI-message-stream face declared (no interfaces.uiMessageStream) — informational not-ready, not a failure

skipSSE framing is valid — data:{json} chunks, a bare [DONE] terminal, each payload a typed JSON partui-stream-framing

no UI-message-stream face declared (no interfaces.uiMessageStream) — informational not-ready, not a failure

skipevery UI-message-stream part is spec-correct (known type, required fields present)ui-stream-part-shapes

no UI-message-stream face declared (no interfaces.uiMessageStream) — informational not-ready, not a failure

skipno secret leaks into any UI-message-stream part (token/key in a part → FAIL)ui-stream-envelope-hygiene

no UI-message-stream face declared (no interfaces.uiMessageStream) — informational not-ready, not a failure

skiptool-output-available `output` is byte/JSON-consistent with the JSON twin (no divergence)ui-stream-parity

no UI-message-stream face declared (no interfaces.uiMessageStream) — informational not-ready, not a failure

skipa DECLARED Digital Link interface serves a schema-valid GS1 resolver description file at its well-knowndigital-link-resolver

no Digital Link interface declared (agents.json `interfaces.digitalLink` absent) — the interface is OPTIONAL and this card does not claim it, so nothing was fetched and nothing is judged; under a pinned must:pass this fails closed

skipa DECLARED test-suite interface publishes a digest-pinned suite the surface actually passespublished-test-suite

no published test suite interface declared (agents.json `interfaces.testSuite` absent) — the interface is OPTIONAL and this card does not claim it, so nothing was fetched and nothing is judged; under a pinned must:pass this fails closed

skipevery capability the card declares is exercised by a passing test of its published suitecapability-coverage

no published test suite interface declared (agents.json `interfaces.testSuite` absent) — capability coverage is judged only over a declared suite's run (A.8.7): nothing is claimed, so nothing is judged; under a pinned must:pass this fails closed

skiphome + typed bodies are machine-legible for every machine-class client (AXP Clause 3)machine-legible-home

no probe manifest declared (agents.json top-level `probes`) — target does not claim AXP; under a pinned must:pass this fails closed

skipexplicit Accept selects its face: text/html → HTML, application/json → JSON, text/markdown → markdown (AXP A.7 step 2)conneg-accept

no probe manifest declared (agents.json top-level `probes`) — target does not claim AXP; under a pinned must:pass this fails closed

skipclient-class defaults on Accept: */*: browser (Sec-Fetch) → HTML, known agent UA → markdown, everything else → JSON (AXP A.7 step 3)conneg-client-class

no probe manifest declared (agents.json top-level `probes`) — target does not claim AXP; under a pinned must:pass this fails closed

skipevery face response advertises its sibling faces via Link rel="alternate" (AXP A.7.5)conneg-alternates

no probe manifest declared (agents.json top-level `probes`) — target does not claim AXP; under a pinned must:pass this fails closed

skipLink-advertised face addresses pin their face against a contradictory Accept (AXP A.7 rule 1)conneg-forced-face

no probe manifest declared (agents.json top-level `probes`) — target does not claim AXP; under a pinned must:pass this fails closed

skipcard names its interfaces and card ↔ openapi ↔ llms.txt mutually cross-link (AXP Clause 6)card-interfaces-linked

no probe manifest declared (agents.json top-level `probes`) — target does not claim AXP; under a pinned must:pass this fails closed

skipcard-declared probe manifest is validprobe-manifest

no probe manifest declared (agents.json top-level `probes`) — nothing to validate

skipcapability card names its interfaces and cross-links its sibling surfacescard-interfaces-linked

no probe manifest — target does not claim the agent-first API contract

Attestation & evidence

Signed over the canonical report digest

Algorithm
Ed25519
Report digest
ac848f001a5a2ab31d233ee2a117ad552e8e6f07d1dbbf7d6670694645623d6a
Public key
EDNe+eELZO+nfLOxAj0sm82rad8g5/4U3xPyRjVfmso=
Signature
QpihBdVT+gL+uQ6IMICTbwXLjRPeBET/K/jAhSB86JBvojyvAaNevZ0WD2IhY/gmwNxxK95QGLg16JmrqfWjBQ==
Evidence bundle
12 recorded exchanges · 750a7d57de6af50557f3587d1853ceb672f8f60110dbf900e39d88945dab3f05

Verify this yourself

Judging is a pure function of the embedded evidence

Re-run the checks over the bundle and you must get this same grade, or the report is forged or the verifier version changed.

curl -H 'accept: application/json' https://api.qa/llms-full.txt | npx autonomous-qa rejudge