Files
Daniel Avila 737deeb08b improve: enhance graphql-performance-optimizer agent with JIT execution and pagination guidance (#866)
* improve: enhance graphql-performance-optimizer based on automated review

- Add graphql-jit query execution compilation strategy (hot operations, ~10x throughput, tradeoffs)
- Add totalCount/expensive aggregate field guidance for connection pagination
- Document client-side APQ retry flow (createPersistedQueryLink)
- Add caution note on HTTP batching vs horizontal load balancing
- Reference graphql-armor as consolidated production default alongside manual complexity wiring
- Mention max-aliases as complementary resource-exhaustion mitigation

Automated review cycle | Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E1RaEFP8KGektShfzukd4R

* fix: address review findings in graphql-jit example

- Key the compiled-query cache by operationName + query, since a document
  can define multiple named operations that each compile to a distinct
  function (previously the first-requested operation's compilation was
  reused for all others in the same document).
- Replace the unbounded Map with a bounded LRUCache so a public API can't
  be driven into unbounded compilation/memory growth by unique queries.
- Catch parse() errors and return them as a GraphQL error response instead
  of letting them throw past the documented fallback.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E1RaEFP8KGektShfzukd4R

* fix: clarify graphql-jit example's allowlist gate and cache-bound claims

- The comment claimed the snippet gates compilation behind an allowlist,
  but the code compiles whatever query it receives. Reword to say the
  snippet doesn't enforce that gate itself and that production use should
  add it.
- The tradeoffs sentence attributed "unbounded cache growth" to an
  unbounded allowlist, but the LRUCache above already bounds cache size
  by entry count regardless. Reword to attribute the unbounded cost to
  per-query compile CPU, not cache growth.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E1RaEFP8KGektShfzukd4R

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-09-04 10:00:16 -04:00
..