Teaches AI agents to write idiomatic Kotlin instead of Java-in-a-.kt-file.
98
98%
Does it follow best practices?
Impact
99%
1.20xAverage score across 8 eval scenarios
Passed
No known issues
The platform team owns a UserRepository and a UserService that calls into it. Both files live under inputs/ (UserRepository.kt, UserService.kt). The repository's public surface was designed to defend against the absence of a user — every lookup operation returns a wrapped value, and the service handles the wrapping explicitly at each call site.
The team has been modernising older API surfaces to match current project conventions. The UserRepository is the next in the queue. The change must:
UserService (the caller) so it still compiles against the modernised surfaceWrite the modernised files to output/UserRepository.kt and output/UserService.kt. Both files must compile against each other after the change. No new operator is introduced to silence the compiler — null handling stays explicit.