---
title: "Statelessness · concept · Agentic Atlas"
description: "Statelessness: the model keeps nothing between calls, so every turn re-sends and re-reads everything."
canonical: "https://agentic-atlas.dev/nodes/statelessness"
last-updated: "2026-09-23"
---

1. [Agentic Atlas](https://agentic-atlas.dev/)
2. [Patterns in the Agentic Atlas](https://agentic-atlas.dev/atlas)
3. [Foundations](https://agentic-atlas.dev/nodes/foundations)
4. Statelessness
1. concept
   # Statelessness
   **Why does an agent need its history supplied again on every turn?**
   The window is the model's entire state between calls, so nothing from an earlier turn reaches it unless the window re-sends it.
   Hook
   the model keeps nothing between calls, so every turn re-sends and re-reads everything
   Laws & fences
   - Continuity is something you build in the window or the world, never something the model provides.
   - Re-sending everything each turn is the price, and disposable, restartable runs are what that price buys.
   - Designs go wrong when they weigh only the re-sending cost or only the freedom it buys.
   - Discarding a bad run beats repairing it, but only if its effects were pure, idempotent, or isolated.
   When to reach
   - Reach for this when a design assumes the agent remembers earlier turns the way a colleague would.
   - Reach for this when deciding what to re-send, what to persist, or whether to repair or restart.
   Provenance
   [statelessness/definition](https://agentic-atlas.dev/nodes/statelessness#definition) · v1.0.11
   Addresses
   atlas_cards statelessness
2. [The Context Economy](https://agentic-atlas.dev/nodes/context-economy)
3. [The Session Bill](https://agentic-atlas.dev/nodes/session-bill)
4. [The Contract Keystone](https://agentic-atlas.dev/nodes/the-contract-keystone)
5. [Momentum](https://agentic-atlas.dev/nodes/momentum)
6. [Effect Discipline](https://agentic-atlas.dev/nodes/effect-discipline)
7. [Foundations](https://agentic-atlas.dev/nodes/foundations)
8. [Verification Asymmetry](https://agentic-atlas.dev/nodes/verification-asymmetry)
9. [Deferred Context](https://agentic-atlas.dev/nodes/deferred-context)
10. [Baseline Skill](https://agentic-atlas.dev/nodes/baseline-skill)
11. field notes
    - “validate at the return seam; re-dispatch over repair; bounded autonomy — the contract keystone, applied”
    - “accumulated memory, a **separate concern from config**”
    - “episodic skills with persisted, context-specific behavior — incl. the *free idempotent setup* optimization”

Verification AsymmetryDeferred Context +2 more unfold the map fold the map

The card, in place · its connections drawn edges from atlas_links statelessness

On this plate

[why-it-matters-the-problem](https://agentic-atlas.dev/nodes/statelessness#why-it-matters-the-problem) [definition](https://agentic-atlas.dev/nodes/statelessness#definition) [model-and-claims-one-property-two-faces](https://agentic-atlas.dev/nodes/statelessness#model-and-claims-one-property-two-faces) [scope-and-boundaries](https://agentic-atlas.dev/nodes/statelessness#scope-and-boundaries) [implications-the-consequence-map](https://agentic-atlas.dev/nodes/statelessness#implications-the-consequence-map) [evidence](https://agentic-atlas.dev/nodes/statelessness#evidence) [relationships](https://agentic-atlas.dev/nodes/statelessness#relationships) [lineage](https://agentic-atlas.dev/nodes/statelessness#lineage) [relationships-ledger](https://agentic-atlas.dev/nodes/statelessness#relationships-ledger)

Every section is addressable on its own. Read only the ground you need.

## Why it matters — the problem

[Permalink to Why it matters — the problem section](https://agentic-atlas.dev/nodes/statelessness#why-it-matters-the-problem)

The default mental model is wrong, and designs inherit the error. People treat the agent as a **stateful colleague**: it read the file earlier, so it "knows" it; this turn builds on the last one *inside the model*; sending ten words costs ten words. Every one of those beliefs is false, and each quietly corrupts a design decision — what to re-send, what to persist, when to repair versus restart, why a long session degrades.

The shock that exposes the error: **one message is never one message.** Every API call re-ships the entire conversation — system prompt, tool schemas, full history — and the model re-reads all of it from scratch. A ten-word question at turn 30 ships the whole transcript behind it (the session-bill example measures the gap: a ~30k-token visible transcript, a ~680k-token actual bill).

## Definition

[Permalink to Definition section](https://agentic-atlas.dev/nodes/statelessness#definition)

**The model is a pure function of the window.** The window is the *entire* state; it is rebuilt, re-shipped, and re-read on every call. Nothing persists inside the model between calls — no memory of the last turn, no accumulated understanding of the session, no experience from yesterday. What looks like memory is residency: the earlier material is still *in the window being re-read*, not remembered.

## Model and claims — one property, two faces

[Permalink to Model and claims — one property, two faces section](https://agentic-atlas.dev/nodes/statelessness#model-and-claims-one-property-two-faces)

Correct the one belief and the rest of the design follows: continuity is something you **construct in the window** (or the world), never something the model provides.

The two faces are one coin — you cannot buy the feature without paying the cost. Re-shipping everything every turn is the price; disposable, reproducible, restartable [actors](https://agentic-atlas.dev/glossary/actor) are what it buys. Designs go wrong by seeing only one face: cost-only thinking hoards context and fights restarts (repairing in place to "save" the session); feature-only thinking fans out dispatches while ignoring the multiplier on every resident token. The tree's context-engineering family manages the cost face; the verification family spends the feature face.

## Scope and boundaries

[Permalink to Scope and boundaries section](https://agentic-atlas.dev/nodes/statelessness#scope-and-boundaries)

*(Concept/substrate — a fact to internalize, not a move to make.)* Nothing here prescribes a design step: the node states a property and corrects the belief that hides it.

What it does not hold is the consequences themselves. This node owns the property, the wrong mental model it corrects, and the map — each consequence is taught by the node that owns it, and the price arithmetic the cost face generates is [The Context Economy](https://agentic-atlas.dev/nodes/context-economy)'s, not this node's.

## Implications — the consequence map

[Permalink to Implications — the consequence map section](https://agentic-atlas.dev/nodes/statelessness#implications-the-consequence-map)

One property, two faces, and two nodes that make it survivable. This node owns the map; each consequence lives where it's taught:

- **The cost face** — re-shipping is a per-turn multiplier on every resident token; the whole price arithmetic derives from it. → [The Context Economy](https://agentic-atlas.dev/nodes/context-economy) (*Statelessness — the first principle the arithmetic derives from*), measured in its [The Session Bill](https://agentic-atlas.dev/nodes/session-bill) example.
- **The feature face** — a pure function of the window has no hidden state to lose, so **discarding a bad run is cheaper than repairing it**: re-dispatch, fresh-context resets, and parallel fan-out are all free moves. → [The Contract Keystone](https://agentic-atlas.dev/nodes/the-contract-keystone) (recovery role), *validate at the return seam; re-dispatch over repair; bounded autonomy — the contract keystone, applied* (the applied form), [Momentum](https://agentic-atlas.dev/nodes/momentum) (fresh [dispatch](https://agentic-atlas.dev/glossary/dispatch) = zero momentum).
- **The precondition** — discard-is-free only holds if the run didn't change the world; effects must be pure, idempotent, or isolated. → [Effect Discipline](https://agentic-atlas.dev/nodes/effect-discipline).
- **The survivability move** — state the dispatch can't hold lives in the world instead: config, durable state, the shared [workspace](https://agentic-atlas.dev/glossary/workspace). → *accumulated memory, a **separate concern from config***, *episodic skills with persisted, context-specific behavior — incl. the *free idempotent setup* optimization*.

## Evidence

[Permalink to Evidence section](https://agentic-atlas.dev/nodes/statelessness#evidence)

One empirical claim, and it is measured rather than asserted here: the gap between what a turn looks like and what it bills is read off the [The Session Bill](https://agentic-atlas.dev/nodes/session-bill) example. The rest is substrate — the consequence map is the proof, and each arrow is checkable at the node it points to.

## Relationships

[Permalink to Relationships section](https://agentic-atlas.dev/nodes/statelessness#relationships)

- **Parent:** Foundations — sibling of the other taken-for-granted pillars, [Effect Discipline](https://agentic-atlas.dev/nodes/effect-discipline) and [Verification Asymmetry](https://agentic-atlas.dev/nodes/verification-asymmetry).
- **Consumed by:** [The Context Economy](https://agentic-atlas.dev/nodes/context-economy), [Momentum](https://agentic-atlas.dev/nodes/momentum), [The Contract Keystone](https://agentic-atlas.dev/nodes/the-contract-keystone) / *validate at the return seam; re-dispatch over repair; bounded autonomy — the contract keystone, applied*, *accumulated memory, a **separate concern from config***, [Deferred Context](https://agentic-atlas.dev/nodes/deferred-context) (deferral exists because frontloaded tokens get re-billed).
- **Canonical definition:** [GLOSSARY](https://agentic-atlas.dev/glossary) → *Statelessness*.

## Lineage

[Permalink to Lineage section](https://agentic-atlas.dev/nodes/statelessness#lineage)

The pure function, and stateless protocol design (HTTP, and REST's statelessness constraint): nothing is carried between calls, so every request must arrive complete. The window is the request.

The relationships ledger

Evidence-bearing references

## Relationships

Every connection keeps the section where it was found. The map above orients; this ledger carries the evidence.

### Outbound references 18

1. in-slice · occurrence 1
   [The Context Economy](https://agentic-atlas.dev/nodes/context-economy)
   what each piece of context costs, in quality, dollars, and latency, and who pays
   Evidence: [Scope and boundaries](https://agentic-atlas.dev/nodes/statelessness#scope-and-boundaries) · occurrence 1
2. in-slice · occurrence 1
   [The Context Economy](https://agentic-atlas.dev/nodes/context-economy)
   what each piece of context costs, in quality, dollars, and latency, and who pays
   Evidence: [Implications](https://agentic-atlas.dev/nodes/statelessness#implications-the-consequence-map) · occurrence 1
3. in-slice · occurrence 2
   [The Session Bill](https://agentic-atlas.dev/nodes/session-bill)
   one agent session's token bill, recomputed six times with one decision changed each time
   Evidence: [Implications](https://agentic-atlas.dev/nodes/statelessness#implications-the-consequence-map) · occurrence 2
4. in-slice · occurrence 3
   [The Contract Keystone](https://agentic-atlas.dev/nodes/the-contract-keystone)
   how contracts, cheap checks, and safe discards together make agent handoffs safe
   Evidence: [Implications](https://agentic-atlas.dev/nodes/statelessness#implications-the-consequence-map) · occurrence 3
5. undisclosed · occurrence 4
   Undisclosed relationship
   validate at the return seam; re-dispatch over repair; bounded autonomy — the contract keystone, applied
   Evidence: [Implications](https://agentic-atlas.dev/nodes/statelessness#implications-the-consequence-map) · occurrence 4
6. in-slice · occurrence 5
   [Momentum](https://agentic-atlas.dev/nodes/momentum)
   how context already in the window steers the model along its current path
   Evidence: [Implications](https://agentic-atlas.dev/nodes/statelessness#implications-the-consequence-map) · occurrence 5
7. in-slice · occurrence 6
   [Effect Discipline](https://agentic-atlas.dev/nodes/effect-discipline)
   which recovery moves an agent run's side effects still allow: discard, retry, or compensate
   Evidence: [Implications](https://agentic-atlas.dev/nodes/statelessness#implications-the-consequence-map) · occurrence 6
8. undisclosed · occurrence 7
   Undisclosed relationship
   accumulated memory, a **separate concern from config**
   Evidence: [Implications](https://agentic-atlas.dev/nodes/statelessness#implications-the-consequence-map) · occurrence 7
9. undisclosed · occurrence 8
   Undisclosed relationship
   episodic skills with persisted, context-specific behavior — incl. the *free idempotent setup* optimization
   Evidence: [Implications](https://agentic-atlas.dev/nodes/statelessness#implications-the-consequence-map) · occurrence 8
10. in-slice · occurrence 1
    [The Session Bill](https://agentic-atlas.dev/nodes/session-bill)
    one agent session's token bill, recomputed six times with one decision changed each time
    Evidence: [Evidence](https://agentic-atlas.dev/nodes/statelessness#evidence) · occurrence 1
11. in-slice · occurrence 1
    [Effect Discipline](https://agentic-atlas.dev/nodes/effect-discipline)
    which recovery moves an agent run's side effects still allow: discard, retry, or compensate
    Evidence: [Relationships](https://agentic-atlas.dev/nodes/statelessness#relationships) · occurrence 1
12. in-slice · occurrence 2
    [Verification Asymmetry](https://agentic-atlas.dev/nodes/verification-asymmetry)
    why checking an answer can be easier than producing it, and when that fails
    Evidence: [Relationships](https://agentic-atlas.dev/nodes/statelessness#relationships) · occurrence 2
13. in-slice · occurrence 3
    [The Context Economy](https://agentic-atlas.dev/nodes/context-economy)
    what each piece of context costs, in quality, dollars, and latency, and who pays
    Evidence: [Relationships](https://agentic-atlas.dev/nodes/statelessness#relationships) · occurrence 3
14. in-slice · occurrence 4
    [Momentum](https://agentic-atlas.dev/nodes/momentum)
    how context already in the window steers the model along its current path
    Evidence: [Relationships](https://agentic-atlas.dev/nodes/statelessness#relationships) · occurrence 4
15. in-slice · occurrence 5
    [The Contract Keystone](https://agentic-atlas.dev/nodes/the-contract-keystone)
    how contracts, cheap checks, and safe discards together make agent handoffs safe
    Evidence: [Relationships](https://agentic-atlas.dev/nodes/statelessness#relationships) · occurrence 5
16. undisclosed · occurrence 6
    Undisclosed relationship
    validate at the return seam; re-dispatch over repair; bounded autonomy — the contract keystone, applied
    Evidence: [Relationships](https://agentic-atlas.dev/nodes/statelessness#relationships) · occurrence 6
17. undisclosed · occurrence 7
    Undisclosed relationship
    accumulated memory, a **separate concern from config**
    Evidence: [Relationships](https://agentic-atlas.dev/nodes/statelessness#relationships) · occurrence 7
18. in-slice · occurrence 8
    [Deferred Context](https://agentic-atlas.dev/nodes/deferred-context)
    keeping a short pointer loaded and fetching bulky context only when a session needs it
    Evidence: [Relationships](https://agentic-atlas.dev/nodes/statelessness#relationships) · occurrence 8

### Inbound references 5

1. in-slice · occurrence 1
   [Baseline Skill](https://agentic-atlas.dev/nodes/baseline-skill#model-and-claims)
   the model keeps nothing between calls, so every turn re-sends and re-reads everything
   Evidence: [Model and claims](https://agentic-atlas.dev/nodes/baseline-skill#model-and-claims) · occurrence 1
2. in-slice · occurrence 1
   [The Context Economy](https://agentic-atlas.dev/nodes/context-economy#definition)
   the model keeps nothing between calls, so every turn re-sends and re-reads everything
   Evidence: [Definition](https://agentic-atlas.dev/nodes/context-economy#definition) · occurrence 1
3. in-slice · occurrence 1
   [The Context Economy](https://agentic-atlas.dev/nodes/context-economy#model-and-claims-the-price-list)
   the model keeps nothing between calls, so every turn re-sends and re-reads everything
   Evidence: [Model and claims](https://agentic-atlas.dev/nodes/context-economy#model-and-claims-the-price-list) · occurrence 1
4. in-slice · occurrence 7
   [Foundations](https://agentic-atlas.dev/nodes/foundations#model-and-claims)
   the model keeps nothing between calls, so every turn re-sends and re-reads everything
   Evidence: [Model and claims](https://agentic-atlas.dev/nodes/foundations#model-and-claims) · occurrence 7
5. in-slice · occurrence 5
   [Foundations](https://agentic-atlas.dev/nodes/foundations#relationships)
   the model keeps nothing between calls, so every turn re-sends and re-reads everything
   Evidence: [Relationships](https://agentic-atlas.dev/nodes/foundations#relationships) · occurrence 5

[↑ back to the top](https://agentic-atlas.dev/nodes/statelessness#content) [← the survey](https://agentic-atlas.dev/atlas)

Node statelessness · corpus 78c0e17 · Catalog revision e0cb75881244b1a82193ca738b82a0d508dd62e822524ae82873ec79d51dbb61