---
title: Response types
description: The `type` field a caller reads before it parses `data`.
---

## 1. Why they are append-only

Append-only, like `ERROR_CODES`. A discriminator's meaning is fixed once shipped;
a new payload shape gets a new discriminator rather than reusing one.

## 2. The types

Each row is one value of `type` and the commands that declare it. A command declares every type it can emit, so a row with several commands means those commands share one payload shape.

| Type | Emitted by |
| --- | --- |
| `cli.manifest` | [`memhtml manifest`](/reference/commands/manifest/), [`memhtml help`](/reference/commands/help/) |
| `memory.written` | [`memhtml write`](/reference/commands/write/) |
| `memory.detail` | [`memhtml read`](/reference/commands/read/) |
| `memory.hits` | [`memhtml search`](/reference/commands/search/) |
| `recall.pack` | [`memhtml recall`](/reference/commands/recall/) |
| `index.report` | [`memhtml index rebuild`](/reference/commands/index-rebuild/), [`memhtml index update`](/reference/commands/index-update/), [`memhtml index embed`](/reference/commands/index-embed/), [`memhtml index status`](/reference/commands/index-status/) |
| `trace.sessions` | [`memhtml trace search`](/reference/commands/trace-search/) |
| `sleep.report` | [`memhtml sleep run`](/reference/commands/sleep-run/), [`memhtml sleep resume`](/reference/commands/sleep-resume/), [`memhtml sleep status`](/reference/commands/sleep-status/) |
| `sleep.review` | [`memhtml sleep review`](/reference/commands/sleep-review/) |
| `eval.discrimination` | [`memhtml eval discriminate`](/reference/commands/eval-discriminate/) |
| `doctor.report` | [`memhtml doctor`](/reference/commands/doctor/) |
| `status.health` | [`memhtml status`](/reference/commands/status/) |
| `repo.init` | [`memhtml init`](/reference/commands/init/) |
| `memory.corrected` | [`memhtml correct`](/reference/commands/correct/) |
| `memory.linked` | [`memhtml link`](/reference/commands/link/) |
| `memory.neighbors` | [`memhtml neighbors`](/reference/commands/neighbors/) |
| `memory.archived` | [`memhtml archive`](/reference/commands/archive/) |
| `memory.reinforced` | [`memhtml reinforce`](/reference/commands/reinforce/) |
| `memory.list` | [`memhtml list`](/reference/commands/list/) |
| `trace.report` | [`memhtml trace index`](/reference/commands/trace-index/) |
| `trace.links` | [`memhtml trace links`](/reference/commands/trace-links/) |
| `sleep.merge` | [`memhtml sleep merge`](/reference/commands/sleep-merge/) |
| `agents.doc` | [`memhtml agents-doc`](/reference/commands/agents-doc/) |
| `serve.exit` | [`memhtml serve mcp`](/reference/commands/serve-mcp/) |
| `publish.report` | [`memhtml publish`](/reference/commands/publish/) |
| `state.export` | [`memhtml state export`](/reference/commands/state-export/) |
| `state.import` | [`memhtml state import`](/reference/commands/state-import/) |
| `task.written` | [`memhtml task add`](/reference/commands/task-add/) |
| `task.updated` | [`memhtml task status`](/reference/commands/task-status/) |
| `task.list` | [`memhtml task list`](/reference/commands/task-list/) |
| `batch.applied` | [`memhtml apply`](/reference/commands/apply/) |
| `exec.report` | [`memhtml exec`](/reference/commands/exec/) |
| `entity.activity` | [`memhtml entity activity`](/reference/commands/entity-activity/) |
| `memory.resolved` | [`memhtml resolve`](/reference/commands/resolve/) |
| `sleep.plan` | [`memhtml sleep plan`](/reference/commands/sleep-plan/) |
| `cli.help` | [`memhtml help`](/reference/commands/help/) |
| `integrations.report` | [`memhtml integrations install`](/reference/commands/integrations-install/), [`memhtml integrations uninstall`](/reference/commands/integrations-uninstall/) |
| `integrations.list` | [`memhtml integrations list`](/reference/commands/integrations-list/) |
| `integrations.doctor` | [`memhtml integrations doctor`](/reference/commands/integrations-doctor/) |
| `integrations.shell` | [`memhtml integrations shell`](/reference/commands/integrations-shell/) |
| `hook.output` | [`memhtml hook`](/reference/commands/hook/) |

Every one of the 41 types is declared by at least one command.

## 3. Provenance

A loader generates this page from `apps/cli/src/envelope.ts` while the site builds, so no file in the repository holds it: the second column is read from each command's own `responseTypes`, so this table is a join across the two registries. Change the registry and this page changes with it.