---
title: memhtml sleep run
description: "The curation cycle: 17 phases, each an isolated commit on a review branch."
---

## 1. Synopsis

The curation cycle: 17 phases, each an isolated commit on a review branch.

```sh
memhtml sleep run [options]
```

## 2. Arguments

This command takes no positional arguments.

## 3. Flags

| Flag | Type | Default | Values | Description |
| --- | --- | --- | --- | --- |
| `--date` | string | *no default* | *no fixed set* | The run date, `YYYY-MM-DD`. Defaults to today. Names the branch. |
| `--phases` | string | *no default* | *no fixed set* | Comma-separated subset. All 17 by default: preflight, dedup-merge, entity-resolution, person-links, relationship-mining, edge-typing, confidence-decay, arc-synthesis, retention-triage, compress, reprieve, trace-consolidation, task-detection, placement-triage, integrity, state-export, report. |
| `--dry-run` | flag | `false` | *no fixed set* | Report per-phase counts and commit nothing. |
| `--deep` | flag | `false` | *no fixed set* | The deep-sleep cycle: mine a lower grouping band, group by shared entity, re-file inbox singletons, and iterate compress until a pass folds nothing. Reaches the inbox tail the default community gate cannot; costs more model calls. Same branch, review, and merge gate as a run without this flag. |
| `--max-llm-calls` | integer | *no default* | *no fixed set* | Cap on model calls the deep mechanisms may spend, shared across all deep phases. Exhaustion skips remaining batches with reason `budget` and the run stays green. Read only with `--deep`; absent means uncapped. |
| `--trace-sessions` | integer | *no default* | *no fixed set* | Sessions handed to trace-consolidation this run. Defaults to 10. The consolidation turn's time budget scales with this count, so a host with large transcripts can trade batch size for turn time. |

Every command also accepts the [global flags](/reference/global-flags/).

## 4. Response

On success the command writes one JSON envelope to stdout, and its `type` is `sleep.report`.

On failure it writes the failure envelope, whose `code` comes from [error codes](/reference/error-codes/).

[The JSON envelope](/reference/envelope/) gives the fields both shapes carry. [Response types](/reference/response-types/) lists every value `type` takes across the binary.

## 5. Further reading

The guide blocks that name this command:

* [`write-surfaces`](/reference/guide/write-surfaces/)

## 6. Provenance

A loader generates this page from `apps/cli/src/commands.ts` while the site builds, so no file in the repository holds it: the `COMMANDS` array there is the one source of argument parsing, of `memhtml manifest`, and of `AGENTS.md`. Change the registry and this page changes with it.