Skip to content

[GenAI] Add support for org.springframework.data:spring-data-commons:2.7.18 using gpt-5.5 (chunked dynamic-access) - #8830

Open
vjovanov wants to merge 29 commits into
masterfrom
ai/vjovanov/add-lib-support-org.springframework.data-spring-data-commons-2.7.18-chunked
Open

[GenAI] Add support for org.springframework.data:spring-data-commons:2.7.18 using gpt-5.5 (chunked dynamic-access)#8830
vjovanov wants to merge 29 commits into
masterfrom
ai/vjovanov/add-lib-support-org.springframework.data-spring-data-commons-2.7.18-chunked

Conversation

@vjovanov

Copy link
Copy Markdown
Member

What does this PR do?

Refs: #2813

This PR introduces tests and metadata for org.springframework.data:spring-data-commons:2.7.18, enabling support for this library.

Summary:

  • Chunked dynamic-access: yes
  • Chunk class threshold: 15
  • Current chunk class count: 15
  • Processed dynamic-access classes: completed=13, skipped=0, exhausted=2, failed=0
  • Strategy: dynamic_access_main_sources_pi_gpt-5.5
  • Agent: pi
  • Model: gpt-5.5
  • Input tokens: 678415
  • Cached input tokens: 5943296
  • Output tokens: 55224
  • Metadata entries: 42
  • Test-only metadata entries: 1
  • Iterations: 15
  • Library coverage percentage: 16.26
  • Generated lines of code: 366
  • Tested library lines of code: 2264

Forge

  • Forge monitored branch: origin/master
  • Forge branch: master
  • Forge commit hash: 9260397b835806a526cfb0574d5549f956ced0e0

Stats from stats/<groupId>/<artifactId>/<metadata-version>/stats.json:

Dynamic access coverage:

  • Overall: 22/38 covered calls (57.89%)
  • Reflection: 22/38 covered calls (57.89%)

Library coverage:

  • Instruction: 10483/66333 (15.80%)
  • Line: 2264/13921 (16.26%)
  • Method: 662/4461 (14.84%)

Local CI Verification

  • Status: success
  • Commands run: 2
  • Fixup attempts: 0

vjovanov added 28 commits June 28, 2026 21:00
…g.model.PreferredConstructorDiscoverer$Discoverers$1
…assGeneratingPropertyAccessorFactory (11/36)
…g.model.ClassGeneratingPropertyAccessorFactory
…tion.DefaultMethodInvokingMethodInterceptor$MethodHandleLookup$1
…on.DefaultMethodInvokingMethodInterceptor$MethodHandleLookup (1/2)
…tion.DefaultMethodInvokingMethodInterceptor$MethodHandleLookup
…tion.DefaultMethodInvokingMethodInterceptor$MethodHandleLookup$2
…support.DefaultRepositoryInformation (17/36)
…DefaultRepositoryInformation__native_batch_5
…tory.core.support.DefaultRepositoryInformation
…support.RepositoryMethodInvoker$RepositoryFragmentMethodInvoker (19/38)
…tory.core.support.RepositoryMethodInvoker$RepositoryFragmentMethodInvoker
…g.model.PreferredConstructorDiscoverer$Discoverers$2
@vjovanov vjovanov added library-new-request Request for supporting a new library, or updating the existing one. GenAI PRs produced by generative AI labels Jun 28, 2026
@vjovanov vjovanov added the chunked-dynamic-access Dynamic-access generation for this issue is split into class-aligned chunks label Jun 28, 2026

@kimeta kimeta left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requesting changes because this PR introduces a new downstream native-image regression. The affected Spring AOT smoke tests :data:data-web-support, :security:security-ldap, and :security:ldap-odm are all passing upstream but fail here with Type not found during analysis: HotSpotType<Lorg/springframework/data/repository/kotlin/CoroutineCrudRepository;, resolved>. I also reran the required final validateIndexFiles check against the merged origin/master candidate, and that passed.

@Test
void adaptsSuspendingRepositoryMethodToReactiveFragmentMethod() throws Exception {
ReactiveCounter fragment = new ReactiveCounter();
Method declaredMethod = CoroutineCrudRepository.class.getMethod("count", Continuation.class);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This CoroutineCrudRepository coverage is introducing a real downstream regression. The affected Spring AOT smoke tests :data:data-web-support, :security:security-ldap, and :security:ldap-odm all fail as new regressions with Type not found during analysis: HotSpotType<Lorg/springframework/data/repository/kotlin/CoroutineCrudRepository;, resolved>. Please avoid emitting metadata that requires this optional Kotlin repository interface unless the PR also proves it is safe for downstream native-image builds.

@kimeta kimeta left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the for the single addition and found no blocking issues. Local , final on current plus PR #8830, and all passed.

@kimeta kimeta left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the gh pr diff for the single org.springframework.data:spring-data-commons:2.7.18 addition and found no blocking issues. Local checkMetadataFiles -Pcoordinates=org.springframework.data:spring-data-commons:2.7.18, final validateIndexFiles -Pcoordinates=all on current origin/master plus PR #8830, and test -Pcoordinates=org.springframework.data:spring-data-commons:2.7.18 all passed.

@kimeta kimeta left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requesting changes because this PR introduces a downstream native-image regression. The affected Spring AOT smoke tests :data:data-web-support, :security:security-ldap, and :security:ldap-odm fail on this PR with a CoroutineCrudRepository analysis failure, so the new RepositoryMethodInvoker metadata is not safe to merge as-is. Final validateIndexFiles against current origin/master passed.

@kimeta kimeta left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requesting changes because this PR introduces a downstream native-image regression. The affected Spring AOT smoke tests :data:data-web-support, :security:security-ldap, and :security:ldap-odm fail on this PR with Type not found during analysis: HotSpotType<Lorg/springframework/data/repository/kotlin/CoroutineCrudRepository;, resolved>. Local ./gradlew checkMetadataFiles -Pcoordinates=org.springframework.data:spring-data-commons:2.7.18 and ./gradlew test -Pcoordinates=org.springframework.data:spring-data-commons:2.7.18 both pass, so the target coordinate is covered, but the new RepositoryMethodInvoker / CoroutineCrudRepository metadata is not safe to merge as-is.

@kimeta kimeta added the human-intervention Requires manual follow-up because automated dynamic-access coverage remained too low label Jun 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chunked-dynamic-access Dynamic-access generation for this issue is split into class-aligned chunks GenAI PRs produced by generative AI human-intervention Requires manual follow-up because automated dynamic-access coverage remained too low library-new-request Request for supporting a new library, or updating the existing one.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants