Conformance
Use this checklist when claiming MeshQL protocol compatibility.
Reference implementation: github.com/meshql/meshql @meshql/* packages.
Level 1 — Core
Section titled “Level 1 — Core”-
GET /:entity/:idwithX-Mesh-Query+X-Mesh-Format: jsonreturns 200 JSON - Missing
X-Mesh-Queryreturns 400TransportError - Unknown field returns 400
ValidationError - Nested relation selection returns nested JSON (shaper or equivalent)
- Multi-level nesting (
a.b.c) returns correct nesting (not flattened away) - QL format accepted when
X-Mesh-Format: ql -
POST /accepts{ "query", "format" }body
Pass fixtures: fixtures/queries, fixtures/responses.
Level 2 — Lists
Section titled “Level 2 — Lists”-
GET /:entitywith$list.limitrespects clamp (≤ 200) -
$list.filterwitheq/inapplied or cleanly rejected if unsupported -
$list.orderByapplied or cleanly rejected - List metadata is not required via URL querystring
Level 3 — Integrity
Section titled “Level 3 — Integrity”-
POST /authreturns token material - Valid HMAC on
X-Mesh-Queryaccepted - Tampered base64 query rejected
- Logout revokes token
Level 4 — Uploads
Section titled “Level 4 — Uploads”- Multipart upload routes accept
filepart -
contentHashmismatch rejected when signing enabled
Reporting
Section titled “Reporting”Publish which level you claim and the MeshQL protocol version tested
(X-Mesh-Version: 1). Linking fixture diffs in your CI is encouraged.