  Several popular best-practice manifestos for IT design and architecture use
terms like `stateful', `stateless', `shared nothing', etc, and describe `fact
based' or `functional' descriptions of causal evolution to describe computer
processes, especially in cloud computing. The concepts are used ambiguously and
sometimes in contradictory ways, which has led to many imprecise beliefs about
their implications. This paper outlines the simple view of state and causation
in Promise Theory, which accounts for the scaling of processes and the
relativity of different observers in a natural way. It's shown that the
concepts of statefulness or statelessness are artifacts of observational scale
and causal bias towards functional evaluation. If we include feedback loops,
recursion, and process convergence, which appear acausal to external observers,
the arguments about (im)mutable state need to be modified in a scale-dependent
way. In most cases the intended focus of such remarks is not terms like
`statelessness' but process predictability. A simple principle may be
substituted in most cases as a guide to system design: the principle the
separation of dynamic scales.
  Understanding data reliance and the ability to keep stable promises is of
crucial importance to the consistency of data pipelines, and distributed
client-server interactions, albeit in different ways. With increasingly data
intensive processes over widely separated distributed deployments, e.g. in the
Internet of Things and AI applications, the effects of instability need a more
careful treatment.
  These notes are part of an initiative to engage with thinkers and
practitioners towards a more rational and disciplined language for systems
engineering for era of ubiquitous extended-cloud computing.
