{
  "claim": "The batched select call is 28,594 bytes — roughly 7,100 input tokens — for a catalog of 42 candidate recipes. Only a third of it is the option keys themselves. The single largest line item is one 271-byte instruction string repeated verbatim across 30 membership questions: 8,130 bytes, 28.4% of the request, sent again on every request.",
  "method": "Captured the first { state, questions } payload handed to the evaluator when composeUI('Create account settings') runs against the playground's real catalog and grammar, then measured JSON.stringify length of each part. 'distinct instruction strings' counts unique values of question.instructions across the 37 questions in the call.",
  "source": "https://github.com/vercel-labs/json-render/blob/main/packages/core/src/experimental-composition-batch.ts",
  "captured": "2026-09-19",
  "note": "state.capabilities is the id and description of all 42 candidates; the same descriptions appear a second time as criteria values in the membership questions, so every description is sent twice per call. TypeSafe documents a 64k-token per-request cap and a separate 32k cap on 'state plus the longest question'; Vercel's AI Gateway lists Jev's context window as 32,000. This call sits well inside all three.",
  "columns": [
    { "key": "part", "label": "part of the request" },
    { "key": "bytes", "label": "bytes", "align": "right" },
    { "key": "share", "label": "share", "align": "right" }
  ],
  "rows": [
    { "part": "state.capabilities — 42 { id, description }", "bytes": "5,437", "share": "19.0%" },
    { "part": "state.context — app-supplied platform blurb", "bytes": "515", "share": "1.8%" },
    { "part": "state.guidance — the 'next' instruction", "bytes": "436", "share": "1.5%" },
    { "part": "state — user_request and JSON overhead", "bytes": "81", "share": "0.3%" },
    { "part": "questions.instructions — 37 strings, 8 distinct", "bytes": "10,111", "share": "35.4%" },
    { "part": "  ↳ of which: one 271-byte string × 30 questions", "bytes": "8,130", "share": "28.4%" },
    { "part": "questions.criteria — the 161 offered keys", "bytes": "9,785", "share": "34.2%" },
    { "part": "questions — JSON keys and structure", "bytes": "2,206", "share": "7.7%" },
    { "part": "envelope", "bytes": "23", "share": "0.1%" },
    { "part": "whole body", "bytes": "28,594", "share": "100%" }
  ]
}
