Deviation from Plan 02: the JVM mockable-android.jar stubs every Cursor method even with isReturnDefaultValues=true (returns null/0 regardless of the underlying MatrixCursor backing). Introduce an internal ColumnReader interface so mappers stay pure-Kotlin and JVM-testable via MapColumnReader, while production reads through CursorColumnReader.