Mewarisi repository dasar akan menyisakan findMany tanpa scope yang tetap bisa dipanggil, dan TypeScript tidak bisa menyembunyikan method publik warisan. Menjadikan tenant id sebagai argumen pertama tiap method mengubah kebocoran data jadi compile error.
Sebelas API NestJS, dan tumpukan guard-nya tumbuh dengan pola yang sama di tiap proyek: dua guard, lalu tiga, lalu tujuh. Apa yang diajarkan urutan itu, dan satu bug fail-open yang bersembunyi di pertemuan row-level security dengan default yang permisif.
Kenapa src/ yang datar mulai berantakan begitu proyeknya punya fitur sungguhan, dan tata letak module-driven yang menggantikannya — satu direktori per fitur, dengan common, config, dan database di sampingnya.