Buona domanda.
In primo luogo, il facile: diversi contesti, come nella singola responsabilità di una classe, o di un metodo, o di un componente, o microservizio, o cosa-hai-te. In questi termini, l'SRP è chiaramente dipendente dal contesto, anche se stai parlando di diverse unità in ogni contesto.
La tua domanda di riparare l'unità mentre cambi il contesto è più interessante, naturalmente.
Tuttavia, non riesco a vedere un modo in cui l'SRP viene violato da quello. La stessa responsabilità cambierà sicuramente. Ad esempio, una classe potrebbe essere un DTO-POJO per un framework e quindi cambiare quadro e deve essere un'entità JPA o qualcosa del genere. Ha comunque una sola responsabilità e avresti cambiato il codice.
Avere una differenza di conformità SRP senza modificare il codice, tuttavia, richiederebbe che la responsabilità fosse direttamente dipendente dal requisito. Tuttavia, questo ancora non dovrebbe portare ad un problema di conformità al cambiamento. Quando ci pensi, il vecchio requisito è strettamente associato alla responsabilità della tua unità, quindi cambiare il requisito significa che anche il tuo codice deve essere cambiato o non soddisferà più il nuovo requisito. Dato che il tuo codice è semplice e semplicemente sbagliato in quel momento, discutere del merito della sua conformità SRP diventa una specie di vuoto.
In breve: apportare modifiche a quadri / requisiti è altamente probabile che svuoti la necessità della tua responsabilità, ma l'unità invariata ha ancora la sua unica responsabilità. Tuttavia, tale responsabilità non può più essere ritenuta corretta o necessaria.