DEV Community

Handshake build session (Sanity Challenge)

Claude Code 2 messages September 28, 2026
by manoj07ar
Handshake build session (Sanity Challenge) summary
You

Write a sanitized public summary of the Handshake Path One build for the DEV agent session. No API keys, tokens, or private URLs.

Agent

Handshake agent session (sanitized summary)

This is a summary for the DEV Agent Sessions uploader, not a raw vendor transcript. It describes the Path One build of Handshake. It contains no API keys, no tokens, and no private URLs.

Upload at https://dev.to/agent_sessions/new. After upload, click Make Public. Sessions are unlisted by default.

What the agent was asked to build

An MCP compatibility desk for server authors. Paste a manifest. Show which clients work, which are legacy-only, which break, and which are unknown after the 2026-07-28 spec revision. Colours come from deterministic code. The model only explains them.

Content model

Six document types in Sanity project hmeltser, dataset production (public): specRevision, feature, client, supportClaim, gotcha, sampleServer. 89 documents. Schema id _.schemas.handshake.

Studio: https://handshake-mcp.sanity.studio/
Public query: https://hmeltser.api.sanity.io/v2025-02-19/data/query/production?query=*[_type=="feature"][0...5]

Context MCP

Two endpoints, because one endpoint cannot serve a dataset and a Knowledge Base at the same time.

handshake-data stayed NOT READY until sanity schemas deploy wrote the schema descriptor. That command needs a Deploy Studio token. An Editor token is not enough. A hosted Studio was not required for Context. I deployed one anyway at hostname handshake-mcp so the schema is visible.

The agent tools that hit Sanity are groq_query and knowledge_base_read. parse_manifest and compute_verdict stay in the app. Semantic search is not called. The free plan caps it at 500 queries a month.

Knowledge Base instructions

Issues showed 0 conflicts. The uploaded notes already reconciled both sides. The resolutions live in compute_verdict and in these instructions:

HTTP+SSE is deprecated, not removed. Follow the deprecated registry for lifecycle and the 2025-03-26 changelog for the date. A client that still lists SSE can be amber.

Claude enterprise auth stays partial. The 28 July 2026 Anthropic post says it shipped. The extension matrix has no Enterprise Auth check for Claude. Archestra.AI is the client with a check. An empty cell is not unsupported.

Eval

Held-out set, 18 cases, labels written from quotes without calling the verdict function:

  • Handshake 16/18 (89%), with a citation on every case
  • Keyword search 33%
  • Knowledge Base text only 11%

The two misses are Claude Desktop on ping and Claude on the web on logging/setLevel. The quotes do not say Claude implements those methods, so the label is unknown. The engine paints them amber because modern support is described as still rolling out. Those labels were left as written.

A separate 25-case file scores Handshake at 100% because those labels were written from the same rules as the function. That file is a consistency check. It is not an accuracy number.

Gemini

Free tier only. Primary model gemini-3.8-flash. Fallback gemini-3.5-flash. A 429 or 503 retries the current model with backoff (500ms, then 1500ms), then switches model. gemini-2.5-flash is not used. New AI Studio keys get 404 for that id.

A live smoke listed tools and ran one cheap query on each endpoint, then one verdict for the held-out Postman MCP Apps cell. Local verdict works. Gemini repeated works on both gemini-3.8-flash and gemini-3.5-flash. gemini-3.8-flash returned 503 "high demand" once before a retry succeeded.

What stayed out

No secrets in the repository. Tokens stay in an uncommitted env file. No probe of arbitrary public MCP servers. No semantic-search calls from the demo.