Indeed it's a simplification! You can use buffers to keep information from previous states or share state between pixels (for both fragment and compute shaders). Though it can greatly reduce the performance sometimes.
For an intro however, I think it's simpler to assume no memory nor shared state.
Ah yes, its good to simplify in the beginning! Cool article in any case!
You can set up shaders to access a shared global texture (and write to it). It’s more expensive and a bit to set up so it’s not totally true, but it’s a good first mental model