Você não está sendo Clean com Clean Architecture
Clean Architecture, parece mágico né? Troque pedaços das aplicações de forma fácil e sem esforço, mas você realmente precisa disso? Foque no simples!
Vejo muita gente usando o texto do Uncle Bob sobre Clean Architecture atualmente, e olha, vamos falar a verdade, não estamos sendo tão "clean" assim.
A verdade é que Clean Architecture é um conceito, onde a ideia é separar a responsabilidades de cada coisa em seu devido lugar. Não quer dizer que você deva seguir a figura abaixo e criar pastas com esses nomes:
O que eu mais vejo são artigos falando sobre clean architecture ou "DDD" e pessoas implementando cada um a sua verdade, mas assim, porque não ficamos no simples? Tenho certeza que seus projetos pessoais não precisam de uma estrutura de pasta muito elaborada - Na verdade, nem projetos de empresas precisam muito.
Não, seu projeto não precisa ter uma camada a mais pra acessar o banco porque "se mudar o banco, a aplicação não sente", muito menos abstrair toda biblioteca que você usa porque "se ela for depreciada, a gente só troca em um lugar".
Se algo está complexo, provavelmente está errado. Nos projetos que participo a estrutura de pastas é um Feature Folder (alguns devem conhecer por Vertical Slice Architecture), separado por responsabilidades, como Controller, Service, Repository. Caso precisemos de uma fila, criamos uma pasta "Listeners" que chama o service, veja que se pegarmos a mesma foto do "clean architecture", é exatamente isso que tá sendo feito, os Listeners e os Controllers chamam os Services, que seriam os "use cases".
E sabe o que essa estrutura de pasta lembra? Exatamente! O MVC que todo mundo começa aprendendo!
Parem de reinventar a roda e fazer as coisas serem mais difíceis do que precisam ser, isso é ruim para quem já está na área, que precisa lidar com coisas mais complexas, e principalmente para quem quer entrar, que apenas cria mais uma barreira de aprendizado.