> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usesynth.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Goal mode & monitor

> Run long Codex goals with a sidecar monitor — curated Sidecar events instead of raw tool spam.

<Note>
  **New in Stack `0.2.0-dev.20260701.1`.** Release notes:
  [Stack Changelog](/stack/changelog).
</Note>

Long Codex runs produce a lot of output. **Goal mode** pairs your worker with a
**monitor sidecar**: a second Codex thread that watches progress and writes
**Sidecar events** — short headlines and milestones you can skim without reading
every tool call.

## Start a goal

From the Agent input, describe an objective and send it. Stack runs the worker
in goal context and wakes the monitor sidecar on tool/turn events.

Use **`stack doctor`** first to confirm Codex and stackd are healthy.

## Center pane views

In goal mode, the default center view is **Sidecar events** — human-facing
updates, not the raw worker transcript.

| Key     | View                         | What you see                                       |
| ------- | ---------------------------- | -------------------------------------------------- |
| **`e`** | **Sidecar events** (default) | Curated `monitor.goal_status` rows, steers, errors |
| **`t`** | **Sidecar thread**           | Monitor reasoning — how it decided                 |
| **`a`** | **Agent tape**               | Full `agent.*` + `monitor.*` interleave for debug  |

The worker tape is thinking traces. The sidecar stream is the higher-level story:
what the worker is doing, which milestone landed, what went wrong.

## Headline strip and timeline

The **goal shutter** shows:

* a **headline strip** from the latest operator-visible status
* a **milestone timeline** built from typed `monitor.goal_status` events

The monitor **audits** worker done-claims before emitting `goal_met`. Bogus
claims surface as `goal_failed` or `blocked` instead of a false green checkmark.

## Monitor profiles

On first run, Stack seeds monitor profiles from the install bundle into
`.stack/monitors/`:

| Profile             | Role                                        |
| ------------------- | ------------------------------------------- |
| `default`           | Primary monitor actor                       |
| `progress-narrator` | Passive human progress updates on summaries |

Useful environment overrides:

```bash theme={null}
export STACK_MONITOR_PROFILE=progress-narrator
export STACK_MONITOR_ENABLED=0              # disable monitor
export STACK_MONITOR_STRICTNESS=passive     # passive | conservative | aggressive
```

In the TUI, press **`M`** to cycle the current thread through
`off → passive → conservative → aggressive → off`.

## What the monitor checks

The monitor is event-backed. It watches focus areas such as:

* style and guidance rules (e.g. destructive git patterns, secret paste)
* goal progress and acceptance
* skill use on Synth/Stack work
* tool use and scope control

The sidecar is always a **persistent Codex thread** — Stack wakes the same thread
for event batches and operator sidecar chat. There are no separate monitor worker
overrides.

## Operator-visible updates (MCP)

The monitor posts updates through the Stack MCP tool **`stack_monitor_goal_status`**
with fields such as `status`, `headline`, `note`, `for_human`, and optional
`metric`. Codex agents with Stack MCP registered can emit these during long runs.

## Known limitations

Not yet shipped on the public channel:

* multi-goal portfolio view and ETA/progress rate
* bulk archive from the goal shutter
* automatic cross-actor gardener escalation on every risky signal

Use gardener lifecycle controls for archive/revive when you need explicit thread
management. Sidecar **pause** sleeps the monitor until the next wake — it does
not archive threads.

## Next

* [Cockpit controls](/stack/cockpit) — full keyboard map
* [Stack MCP](/stack/mcp) — `stack_monitor_goal_status` and live ops tools
* [Quickstart](/stack/quickstart) — install and first `stack demo`
