"My point was that touching layer X usually require recompilation and redeployment of the entire layer X"
Again, depends on how you structure the app.
If I have a module that supplies account views (and includes its supporting objects) and another that supplies transaction views (and includes its supporting objects), then changing the transaction view and fetcher won't impact or require recompiling the account fetchers, repos, or anything else in the accounts module.
But both systems depend on a distinct network layer, a data layer, a repo layer, and so on. Each with its own distinct set of behaviors and responsibilities.