<!-- Work modes -->
<!-- canonical: https://plainwater.ai/en/wiki/concepten/werkmodi -->
# Work modes

What an agent may do at a customer is not a pile of loose checkboxes. It is one chosen **work mode** on
the task. Whoever creates the task chooses the mode. The platform enforces it on every tool call.

## The modes

| Mode | In one sentence | What the source needs for it |
| --- | --- | --- |
| **Look only** | Read metadata, counts and history. Proves nothing, touches nothing. | A read-only login with permission to read metadata and statistics. |
| **Measure on the source** | On top of that, the estimated execution plan and the real execution counters, without running anything. | Extra permission to show plans. |
| **Prove on a disposable copy** | Read on the source, and run and measure the proposal in a copy. | A copy of (part of) the data, with the content the customer allows. |

A mode is a combination of four questions:

1. **Where** is the work done?
2. **On what**: the source itself or a disposable copy?
3. **What is in the copy**: synthetic data, synthetic data shaped to the real statistics, or real data?
4. **What is allowed**: read only, read plus measure, free SQL on the copy, or write on the source?

No two modes give the same answer to those four questions.

## Why modes?

A work mode makes visible what a task costs and what it risks. "Look only" needs a read-only login and
cannot break anything. "Measure on the source" needs extra permissions, and those extra permissions are
exactly why it is a separate mode. "Prove on a disposable copy" lets an agent really run its proposal,
but never on the real database.

:::tip Which mode do I choose?
- A question about structure, quality or history: **look only**.
- A question about why a query is slow: **measure on the source**.
- A proposal for a new index, a rewritten procedure or a new view: **prove on a disposable copy**.
:::

## Who checks what

- **On creation** the platform refuses a mode that does not exist, or a mode the source does not
  support. The refusal comes before anything runs that costs money.
- **On every tool call** the tool gateway checks what the tool needs from the mode. A measuring tool in
  a task on "look only" is refused. The refusal names the task's mode, not the other tools that would
  have been allowed.
- **On screen** all modes are listed with one sentence of explanation.

## Monitors only look

A [monitor](/concepten/monitors) always runs in "look only". A periodic check reads and judges, but
proves and changes nothing.

## And writing on the source?

Writing on the real source is not a work mode but a permission per source. An agent can propose a
script. A human approves it, and only then is it run. Without that permission on the source nothing
happens, not even after approval.

## Example

A BI developer wants to know whether a new index makes the nightly load faster.

1. She chooses **prove on a disposable copy**.
2. The agent reads the structure and statistics on the source, and creates a copy.
3. It runs the procedure in the copy, measures the run time, adds the index and measures again.
4. The platform compares both measurements and gives a verdict.
5. The developer sees the result and decides herself whether the index goes to production.

More about the copy: [The verification sandbox](/concepten/sandbox).

## See also

- [Data access per source](/concepten/datatoegang)
- [The verification sandbox](/concepten/sandbox)
