Opa, que solução bacana que você chegou nesse problema que eu também passei uns bons meses pensando sobre, até depois de muita pesquisa chegar em uma arquitetura parecida com a sua haha.
Mas uma pergunta pertinente, por qual razão você preferiu separar os components das features?
Por que em vez de:
├── components/ # UI Components (Client)
│ ├── auth/ # Formulários, etc
│ └── profile/ # Componentes de perfil
│
├── features/ # Business Logic (Server Actions)
│ ├── auth/ # login.ts, register.ts
│ └── users/ # get-all-users.ts
Você não usou:
├── features/
│ ├── auth/
│ │ └── components/ # UI Components (Client)
│ │ └── actions/ # login.ts, register.ts
│ ├── users/
│ │ └── components/ # ...
│ │ └── actions/ # get-all-users.ts
Assim alocando todo o código relacionado a auth e user a um único lugar em vez de dois distintos?