> This page is for Harness.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.moveworks.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.moveworks.com/_mcp/server.

# What Goes Into a Turn

If you've read [LLM Fundamentals](/harness/llm-fundamentals), you know the basics: LLMs predict the next token, context windows have hard limits, and attention is U-shaped, so the middle of a long input gets less focus. This page covers what the reasoning engine reads on each turn and how it works through a request. For how to design tools around those limits, see [The Golden Rule](/tool-studio/guides/best-practices/the-golden-rule).

## What Goes Into the Context Window

Every time the reasoning engine makes a prediction, it reads a single assembled input. That input holds everything the engine needs to decide what to do next: system instructions, your tool's configuration, slot descriptions, user messages, action outputs, and the conversation history. For the detailed breakdown, see [Context Windows](/harness/llm-fundamentals/context-windows).

The platform serializes all of this into tokens and feeds it to the engine as one sequence. The engine doesn't pick which parts to read. It reads everything, every turn.

> **Info**
>
> The context window is assembled fresh on each turn. As the conversation goes on and actions fire, the window fills with more data. Tool configuration and slot descriptions are always present as a baseline cost. Each action response stays in the window for the rest of the conversation.

This is why what you put into descriptions, how many actions you chain, and how much data your APIs return all affect reasoning quality. Every token competes for the same finite attention.

## The Four Kinds of Context

The assembled input draws on four kinds of context. Together they tell the engine what the user means, what it can do, what has already been said, and what is still in progress.

#### Your organization's knowledge

The content, entities, and terminology your organization uses. The engine needs this to understand what the user's words mean in your company. See [Domains](/harness/agentic-reasoning-engine/domains) and [Entity Catalog](/harness/agentic-reasoning-engine/entity-catalog).

![Organization knowledge: content, entities, and terminology](https://files.readme.io/d9919835bb96ee14b967bf0798a87703e1274ba091a65f1e44871e44ae350b42-Screenshot_2025-04-12_at_2.13.35_PM.png)

#### The available tools

The tasks the engine can perform for this user, and the business processes or rules it should follow. The engine needs this to pick the right tools for the request and know how to apply them. See [Tool Selection](/harness/agentic-reasoning-engine/reasoning-loops/tool-selection).

![Available tools: the tasks and business processes in the environment](https://files.readme.io/f00ad683928ff3d4d2f791a42e170ffe3db4d8701e81fc9773950c47dcccfe38-Screenshot_2025-04-12_at_2.13.43_PM.png)

#### This conversation

The messages, tool calls, and results from the current conversation: which questions were asked, what was answered, and what was already decided. This lets every reply fit what came before it. Only messages inside the lookback window your admin sets (24 hours by default) are included, and older messages drop out. The assistant has no long-term memory of past conversations. See [Conversation History](/harness/agentic-reasoning-engine/conversation-history).

#### Results so far

The operations in flight for this request and how far along each one is, so multi-step processes, synchronous or asynchronous, are tracked and finished. This state also holds the sources behind each answer, so responses carry references the user can check. Large tool results are stored as named variables here rather than pasted into the window. See [Processing Tool Responses](/harness/agentic-reasoning-engine/processing-tool-responses).

![Results so far: operations in progress and references for grounding](https://files.readme.io/2dfb4ca2c453791accfde6b86a6da95dac0ff683dcddb806ef165c844cc740fb-Screenshot_2025-04-12_at_2.13.58_PM.png)

## How the Engine Reasons

The engine works in a loop. The LLM plans, checks the plan, runs tools, looks at what came back, and plans again, up to 10 times per request, until it can answer or needs something from you.

For how planning, execution, and your feedback fit together, see [The Reasoning Loop](/harness/agentic-reasoning-engine/reasoning-loops).

## Processing Tool Responses

Small tool responses go into the context window as-is. Large structured responses are stored as a named variable, and the engine sees a truncated preview instead. See [Processing Tool Responses](/harness/agentic-reasoning-engine/processing-tool-responses) for the thresholds and how to shape your output.

## What to Read Next

#### [The Reasoning Loop](/harness/agentic-reasoning-engine/reasoning-loops)

How the engine plans, executes, and checks in with the user.

#### [The Golden Rule](/tool-studio/guides/best-practices/the-golden-rule)

Why attention matters for your tools, and which logic to move out of the LLM.

#### [Conversation History](/harness/agentic-reasoning-engine/conversation-history)

What carries over between messages and how long it lasts.

#### [Guardrails](/harness/agentic-reasoning-engine/conversational-safeguards-assistant)

The safeguards that keep interactions safe and accurate.