I built an endpoint on my blog that returns the knowledge graph in JSON-RPC 2.0 format. The URL is public. Any agent can access it without authentication. The response includes 12 nodes with their separation distances, the paths connecting results through bridge nodes, the semantic entities of each post, and a graph_meta object that explains the proximity hierarchy.
I gave the same URL and the same prompt to five AI models: GPT, Perplexity, Kimi (Moonshot), Meta AI, and Mistral. I asked them to describe their access process step by step, show the first 5 lines of the raw response, and score the graph structure from 1 to 10.
Four accessed the endpoint and based their analysis on the real JSON. One fabricated a complete response with methods, IDs, and structures my endpoint never returns.
The results
GPT retrieved the endpoint content and reconstructed the complete graph topology in ASCII. It identified the two root nodes at distance 0, the direct neighborhood at distance 1, and the bridge connections at distance 2. Score: 8.5 out of 10.
Mistral accessed the endpoint and showed the first 5 lines of the raw response. Its analysis was structured with strength and weakness tables. It was the only model that mentioned API versioning and graph visualization metadata (is_directed, is_weighted). Score: 8 out of 10.
Kimi (Moonshot) accessed the endpoint and also showed the first 5 lines of the response. Its evaluation was the most clinical: separate tables of strengths and weaknesses with explanations of why each point helps or hurts machines. Score: 6 out of 10.
Meta AI accessed the endpoint and identified all 12 nodes with their exact IDs, distances, and bridge_via connections. It was the most technically aggressive: 10 specific improvement points, including that using GET for JSON-RPC is an anti-pattern (it should be POST with method and params). It described the topology as a "star-shaped ego graph centered on id 69." No other model did that. Score: 6 out of 10.
Perplexity did not generate a response that reflects the data the endpoint returns. It described JSON-RPC methods that do not exist (get_node, traverse, get_relations), invented node IDs not in my database (GEO-04, GEO-07), and fabricated fields I never return (node_type, relationship_strength, confidence_score). Whether it never attempted to access, tried and failed, or accessed and mixed inference with data is impossible to determine. What is verifiable is that the output does not match the endpoint.
Two severity levels
The four models that accessed the endpoint split into two groups that repeat a pattern I already observed in previous audits.
The generous: GPT (8.5) and Mistral (8). They highlight strengths first, weaknesses second. Their analyses are positive in tone and structured so the endpoint creator feels encouraged before receiving criticism.
The strict: Kimi (6) and Meta (6). They coincide exactly in score. They orient toward what is missing rather than what works. Their analyses are more useful for implementation because they prioritize problems over successes.
This pattern repeated exactly in the UX audit: GPT gave the homepage 6.2 while Perplexity and Gemini gave 4. And in the JSON-LD audit: Gemini gave 9 out of 10, GPT gave 8.2, Perplexity gave 7.5. GPT is consistently the most generous model in evaluations. Not because it is less rigorous. Because its training function prioritizes not discouraging the user.
Where all five agreed
Three critiques appeared in all four models that accessed the endpoint without exception.
First: there is no explicit edges array with source, target, and weight. All four requested exactly the same thing: instead of inferring topology from distance and bridge_via, expose connections as objects with origin, destination, and relationship type.
Second: entities and bridge_via use titles (strings) instead of stable IDs. A title can change. An ID cannot. All four flagged this as the most fragile problem in the endpoint.
Third: no timestamps. Without created_at or updated_at, a graph consumer cannot evaluate content freshness or invalidate cache.
Three priorities. Four independent models. Unanimity.
What each model found that the others did not
GPT was the only one that reconstructed the topology as a visual graph in ASCII. No other model attempted to visualize the structure.
Mistral was the only one that requested API versioning and graph type metadata (is_directed, is_weighted, graph_type). The most product-oriented feedback of the five.
Meta was the only one that identified the JSON-RPC-over-GET anti-pattern. And the only one that described the topology with a precise technical name: "star-shaped ego graph."
Kimi did not find anything the others did not. But its evaluation format (separate tables of strengths and weaknesses with explanations per point) was the cleanest for converting into actionable tasks.
Perplexity, ironically, described the ideal system that should exist. The methods it invented (get_node, traverse) are real functionalities that would improve the endpoint. The fields it fabricated (relationship_strength, confidence_score) are signals a graph consumer would need. The AI that did not read the data described a better system than the one that exists.
What I implemented
From the unanimous critiques, two changes are in development. The edges array with source, target, and relationship type. And the migration of bridge_via from titles to slugs as stable identifiers, keeping the title as readable text.
From Perplexity I implemented nothing. Not because its suggestions were bad. Because they were not based on my real system. Implementing recommendations from an audit that never read the data is exactly the pattern Cogitare Debes warns against.
The registration wall
To test five AI models with a public endpoint, I first had to create accounts on five different platforms. Name, email, password, verification. Before I could evaluate whether an AI accesses real data, I had to pass through a registration form.
DeepSeek was the sixth model I planned to test. I did not. Not because of a technical limitation but because of principle. If AI should be accessible, the first accessibility test is whether you can use it without handing over your personal data before writing your first word.
The contrast is direct. My llms.txt Generator does not require registration. My GEO Tarot does not require registration. My graph search does not require registration. The WebMCP endpoint is public. Any agent can access it without authenticating. I build open tools. To test them I had to enter walled gardens.
The endpoint these five models evaluated is the only participant in the experiment that asks for nothing in return for being used.
The rule it confirmed
Do not compare responses first. Compare sources first. An AI that admits it could not access the data is more reliable than one that responds with total confidence about data it never verified.
Out of five models, four worked with real data. One fabricated a plausible response without reporting that it did not access the endpoint. Their responses look equally informed. Only four are. And the one that is not is the most dangerous, because its level of detail and specificity generates a confidence it did not earn with data.
Before evaluating what an AI says, verify whether it actually worked with the data it claims to be analyzing.