---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/context/thrift/subtractive_pass/interfaces/WorkingSet.md
description: >-
  The mutable working set a dispatch starts from — the "everything reasonable"
  set this pass subtracts down to what fits. Every field is a local structural
  type from {@link @nhtio/adk/batteries/context/thrift/contracts} — nothing here
  requires a core ADK value.
---

# Interface: WorkingSet

Defined in: [src/batteries/context/thrift/subtractive\_pass.ts:144](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/context/thrift/subtractive_pass.ts#L144)

The mutable working set a dispatch starts from — the "everything reasonable" set this pass
subtracts down to what fits. Every field is a local structural type from
@nhtio/adk/batteries/context/thrift/contracts — nothing here requires a core ADK value.

## Properties

| Property                                                           | Type                                                                       | Description                                                                                                                                                                                                                                                                                                                                                                                                                     | Defined in                                                                                                                                                        |
| ------------------------------------------------------------------ | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|  `image?`                               | [`WorkingImage`](../../contracts/interfaces/WorkingImage.md)               | Optional image (or other flat-cost media) attachment. The single biggest token hog.                                                                                                                                                                                                                                                                                                                                             | [src/batteries/context/thrift/subtractive\_pass.ts:179](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/context/thrift/subtractive_pass.ts#L179) |
|  `memories`                          | [`WorkingMemory`](../../contracts/interfaces/WorkingMemory.md)\[]           | Durable memories available to this dispatch — sheds lowest-`importance` first (step 5).                                                                                                                                                                                                                                                                                                                                         | [src/batteries/context/thrift/subtractive\_pass.ts:160](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/context/thrift/subtractive_pass.ts#L160) |
|  `messages`                          | [`WorkingMessage`](../../contracts/interfaces/WorkingMessage.md)\[]         | The conversation history this dispatch would replay — sheds stale ephemeral control messages first (step 6), then the oldest turns (step 7); the newest turn is always kept.                                                                                                                                                                                                                                                    | [src/batteries/context/thrift/subtractive\_pass.ts:158](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/context/thrift/subtractive_pass.ts#L158) |
|  `retrievables`                  | [`WorkingRetrievable`](../../contracts/interfaces/WorkingRetrievable.md)\[] | Retrieved (RAG) passages available to this dispatch — sheds the tail of the ranking (lowest `score`) first (step 4), keeping the best-ranked chunks.                                                                                                                                                                                                                                                                            | [src/batteries/context/thrift/subtractive\_pass.ts:163](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/context/thrift/subtractive_pass.ts#L163) |
|  `standingInstructions?` | (`string` | [`ContentLike`](../../contracts/interfaces/ContentLike.md))\[] | Durable directives the caller renders into every dispatch (the caller's battery counts these too). They are a FIXED cost like the system prompt — never shed — so the pass only ADDS them to the running total, never trims them. Omit (or pass an empty array) when the caller uses none. A consumer that DOES render standing instructions must pass them here or thrift would undercount relative to the caller's own guard. | [src/batteries/context/thrift/subtractive\_pass.ts:155](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/context/thrift/subtractive_pass.ts#L155) |
|  `systemPrompt`                  | `string` | [`ContentLike`](../../contracts/interfaces/ContentLike.md)     | The dispatch's system prompt. Measured ctx-resolved (see [subtractToFit](../functions/subtractToFit.md)'s `renderCtx` option) to match what a caller's own overflow guard counts.                                                                                                                                                                                                                                               | [src/batteries/context/thrift/subtractive\_pass.ts:147](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/context/thrift/subtractive_pass.ts#L147) |
|  `thoughts`                          | [`WorkingThought`](../../contracts/interfaces/WorkingThought.md)\[]         | Model-internal guidance content (plans, per-iteration nudges, and — unless `stripPriorTurnThoughts` is disabled — prior-turn chain-of-thought, dropped in step 1). Surviving thoughts are sheddable oldest-first as a last resort (step 8), except any ids named in `protectThoughtIds`.                                                                                                                                        | [src/batteries/context/thrift/subtractive\_pass.ts:168](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/context/thrift/subtractive_pass.ts#L168) |
|  `toolCalls?`                       | [`WorkingToolCall`](../../contracts/interfaces/WorkingToolCall.md)\[]       | Prior-turn (and this-turn) tool calls whose RENDERED RESULTS the caller puts in the prompt. Omit (or pass an empty array) when the caller doesn't measure them — the pass then treats tool-result weight as `0`.                                                                                                                                                                                                                | [src/batteries/context/thrift/subtractive\_pass.ts:177](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/context/thrift/subtractive_pass.ts#L177) |
|  `tools`                                | [`WorkingToolRegistry`](../../contracts/interfaces/WorkingToolRegistry.md) | The tool registry this dispatch draws visible tools from — mutated via `setHidden` as tools are shed (steps 2 and 9).                                                                                                                                                                                                                                                                                                           | [src/batteries/context/thrift/subtractive\_pass.ts:171](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/context/thrift/subtractive_pass.ts#L171) |
