Treating context as system state rather than prompt text is the mental shift that makes production LLM work tractable. Once you accept every call is stateless, the whole job becomes assembling and validating what goes into the window, which is much closer to state management than to prompt writing. How are you validating that assembled context, do you check it for staleness or contradictions before it ever reaches the model?