docs: _TEMPLATE + all-10 criteria-section stubs (verbatim criteria)

This commit is contained in:
2026-06-18 10:10:17 -04:00
parent 29c5b2c8be
commit 593e1e63b6
13 changed files with 510 additions and 0 deletions
@@ -0,0 +1,43 @@
# Category 9 — Developer Experience (weight 5)
> Verbatim criteria/gates from the criteria Google Doc. Fill Score/Evidence locally; **the human
> pastes**. 15 scale; anchors at 1/3/5.
## Scores
| # | Criterion (verbatim) | Score (15) | Evidence / note |
|---|---|---|---|
| 1 | Local development loop is productive — stdio mode enables tool development without cloud infrastructure (Stage 1: code runs locally, MCP client spawns the server directly). | | |
| 2 | Tunnel-based development loop is supported — a developer can expose their locally running MCP server through a tunnel (Cloudflare, ngrok) and register it against a shared dev Arcade instance to exercise the full request chain (gateway → Engine → tunnel → local server) without deploying to Kubernetes. This is the primary development pattern for custom server authors. | | |
| 3 | A shared dev Arcade instance is available for ServiceTitan developers to register tunnel endpoints against — no need to provision a personal Arcade org for every developer. | | |
| 4 | Cloudflare tunnel (or equivalent) is the standardized proxy mechanism — documented, with a permanent named-tunnel option so the registered server URL does not change on every session restart. | | |
| 5 | SDK documentation is complete, accurate, and has working examples. | | |
| 6 | Error messages are actionable — auth failures, misconfigurations, and policy blocks identify the root cause. | | |
| 7 | MCP client integration requires no custom adapters or wrappers. | | |
| 8 | Gateway and server management are automatable via API. | | |
**Average:** ___ **Category score:** ___
## Score anchors
- **1** — No tunnel support; local development requires full Kubernetes deployment to test the gateway chain
- **3** — Tunnel registration works but is underdocumented; no shared dev instance; engineers figure it out individually
- **5** — Tunnel loop is documented with a standard Cloudflare recipe; shared dev instance available; engineers are productive without platform hand-holding
## Benchmark tests
| # | Test (verbatim) | Result | Evidence |
|---|---|---|---|
| 1 | **Stage 1 — local stdio:** Time an engineer from SDK install to first successful local tool call (stdio mode, no Arcade infrastructure). Target: under 2 hours. | | |
| 2 | **Stage 2 — tunnel registration (the key test):** Developer runs a local MCP server in HTTP mode, opens a Cloudflare tunnel, registers the tunnel URL as a self-hosted server in the dev Arcade instance, and makes a tool call that flows: Claude Code → gateway → Engine → Cloudflare tunnel → local server. Verify the full chain works including auth and Contextual Access. Measure time from working local server to first successful gateway-mediated call. Target: under 1 day. | | |
| 3 | Verify Cloudflare named tunnel (permanent hostname) — confirm the registered URL survives session restarts without re-editing the server registration. | | |
| 4 | Intentionally misconfigure an OAuth provider. Measure how quickly the error message identifies the root cause. | | |
| 5 | Integrate with Claude Code from scratch — time from gateway URL to working tool invocation in Claude Code. Target: under 30 minutes. | | |
## Suggested pass/fail gates
| Gate | Pass condition (verbatim) | Result | Evidence |
|---|---|---|---|
| Tunnel loop | Full gateway → Engine → Cloudflare tunnel → local server chain works end-to-end | | |
| Permanent tunnel URL | Named tunnel hostname persists across session restarts without re-registration | | |
| Shared dev instance | ServiceTitan developers can register local servers against a shared dev Arcade org without individual account provisioning | | |
| Time to first call | Engineer reaches a working gateway-mediated tool call in under 1 day from scratch | | |
## Findings
-