Skip to content
View jewoodev's full-sized avatar

Block or report jewoodev

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
jewoodev/README.md

I'm a backend engineer working with Java / Kotlin / Spring Boot and an open-source contributor across the Spring and JetBrains ecosystems.

📌 Curated by impact. The full PR history on each project — including documentation and maintenance work — is one click away via the author-search links in the project headers below.


🌱 Open Source Contributions

⭐ JPQL / EQL / HQL query renderer — fix 4 round-trip defects

  • Problem: Spring Data JPA's query renderers (JpqlQueryRenderer, EqlQueryRenderer, HqlQueryRenderer) re-emitted certain grammar elements differently from the original input during the parse → AST → render round-trip. I opened #4272 reproducing 3 defects in JPQL/EQL, and the maintainer's follow-up ("please also review the HQL renderer") surfaced a 4th defect in HQL.
  • Fix: Corrected the affected visit*() implementations in each renderer without changing the ANTLR grammar definitions — the fix lives entirely in the visitor layer.
  • Scope: All three renderers — JPQL, EQL, HQL — via visitor-implementation changes only.
  • Tests: Added round-trip regression tests covering all four defects so future grammar/visitor changes are caught immediately.
  • Outcome: Merged via #4273 and backported to the maintenance branches.

#6035 — Fix recursive tool input schema by hoisting $defs to root

  • Problem: Spring AI inlined parameter schemas under properties.<param>, but their generated $refs still pointed to root-level $defs. For recursive parameter types, this produced an unresolvable $ref in the tool input schema.
  • Fix: Hoist each parameter schema's $defs up to the wrapper schema root before inlining. Reuse structurally equal definitions, rename simple-name collisions, and rewrite peer $refs inside the hoisted schema.
  • Scope: Applied symmetrically to both JsonSchemaGenerator (spring-ai-model) and McpJsonSchemaGenerator (mcp/mcp-annotations).
  • Tests: Added regression coverage for transitive recursive parameter schemas, duplicate equal definitions, and colliding simple-name definitions with ref rewrites.

#2052fix(prompt): Don't start a new tool call on repeated tool call id

  • Problem: StreamFrameFlowBuilder.emitToolCallDelta() treated every chunk with a non-null tool-call id as a new tool call. For OpenAI-compatible providers that repeat the same id on every streaming chunk, this fragmented one logical tool call into multiple premature ToolCallComplete frames.
  • Fix: A new tool call now begins only when a present id or index differs from the pending call (mirroring the existing logic in emitReasoningDelta). Absent / blank ids still continue the pending call.
  • Scope: The fix lives in the shared StreamFrameFlowBuilder, so it propagates across 9 streaming clients — OpenAI, OpenRouter, Mistral, Anthropic, DeepSeek, Ollama, Bedrock, Dashscope, Google.
  • Tests: Added two regression tests covering "same id continuation" and "distinct id starts a new tool call".

Pinned Loading

  1. spring-ai spring-ai Public

    Forked from spring-projects/spring-ai

    An Application Framework for AI Engineering

    Java 1

  2. micrometer micrometer Public

    Forked from micrometer-metrics/micrometer

    An application observability facade for the most popular observability tools. Think SLF4J, but for observability.

    Java

  3. spring-data-jpa spring-data-jpa Public

    Forked from spring-projects/spring-data-jpa

    Simplifies the development of creating a JPA-based data access layer.

    Java

  4. koog koog Public

    Forked from JetBrains/koog

    Koog is a JVM (Java and Kotlin) framework for building predictable, fault-tolerant and enterprise-ready AI agents across all platforms – from backend services to Android and iOS, JVM, and even in-b…

    Kotlin

  5. spring-data-redis spring-data-redis Public

    Forked from spring-projects/spring-data-redis

    Provides support to increase developer productivity in Java when using Redis, a key-value store. Uses familiar Spring concepts such as a template classes for core API usage and lightweight reposito…

    Java