02175b193b
The "ModuleProcessingStep was unable to process NetworkModule because LibraryApi could not be resolved" failure under KSP2 + Hilt 2.59.2 turns out to be specific to @Provides returning a hand-written Kotlin interface that carries no KSP-processed annotations. Hilt's ModuleProcessingStep resolves the return type through KSP2's API and gets an ERROR type for source-only interfaces in some configurations (google/dagger#4303 cluster). Two source-of-truth interfaces I tested side-by-side: - AuthSessionDao (@Dao, Room-processed) — @Provides works - LibraryApi (only @GET Retrofit annotations, no KSP processor) — fails Workaround that's actually a better pattern: feature repositories construct their Retrofit interface from the Hilt-injected shared Retrofit instance. Fewer bindings in the Hilt graph; one Retrofit interface lives next to its sole consumer. LibraryApi.kt + wire types remain; LibraryRepository (Phase 5.2) will hold the `retrofit.create<LibraryApi>()` call. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>