Penso che tu stia descrivendo due diverse situazioni:
what do you call data that is not yet fresh, and has never been fresh?
Garbage . Quando leggi un valore prima che avvenga l'inizializzazione, leggi i dati non inizializzati. È stato lasciato in qualsiasi stato da qualsiasi cosa lo abbia toccato per ultimo. Non puoi nemmeno chiamarlo casualmente perché non ci si può fidare che sia casuale. Il suo valore deriva da qualcosa che non rientra nell'ambito del tuo ragionamento.
operation that fails if performed on an entity that's never been flushed to the database.
Questi dati non sono sincronizzati. Un buon design ha una, e una sola, inequivocabile fonte di verità per ogni informazione. Un design efficiente spesso esegue copie locali e veloci da quella sorgente e tenta di mantenerle sincronizzate con quelle più lente e persistenti. Puoi chiamare questo caching, paging, virtualizzazione, o qualsiasi altra cosa ma quando fallisce hai la stessa idea rappresentata in due stati diversi perché queste due copie non sono sincronizzate. Almeno questo è un nome per questo.
Nel teorema CAP lo chiameresti partizionato. Per qualche motivo i dati non sono ancora stati scaricati sul DB e ora si desidera eseguire un'operazione prima che lo sia. Se hai permesso che l'operazione avesse successo ora il risultato sarebbe incoerente con il DB. Dal momento che dici che fallirà il risultato è una mancanza di disponibilità. Queste tre idee:
Coerenza, disponibilità e tolleranza delle partizioni danno al teorema CAP il suo nome.
Ciò che è nato da questa idea era un concetto di Eventual Consistenza che incoraggia un design che si aspetta che la coerenza fallisca occasionalmente ma ha una strategia per correggerlo, piuttosto che rotolare e morire con un errore nel momento in cui viene rilevato.
Che cosa dovresti fare dipende da te. Ma questi sono i nomi che ballano attorno a questa idea.