Skip to content

memhtml curate run

1. Synopsis

Run the curator: start (or resume) a session on curate/<date>, brief a model on the corpus, let it search, read, exec, and propose within a budget, then commit the session to the branch as memhtml(curate): <report line>.

Terminal window
memhtml curate run [options]

2. Arguments

This command takes no positional arguments.

3. Flags

Flag Type Default Values Description
--ref string no default no fixed set The curator branch, refs/heads/ prepended when absent. Defaults to curate/<UTC date>. Must sit under curate/: main, refs/heads/main, any other branch, or a tag is ERR_INVALID_FLAG at exit 2, and the branch HEAD points at is ERR_INVALID_MEMORY at exit 1, so a run can never land on the system of record or move the checkout. The session id is the ref with slashes as dashes (curate-2026-09-23).
--model string no default no fixed set The model: fake (a scripted, credential-free curator that plays the dedup rule), bedrock:<modelId> (the default AWS credential chain, region from AWS_REGION), or proxy:<model> (an OpenAI-compatible proxy at MEMHTML_LLM_BASE_URL, named with the MEMHTML_LLM_MODEL_PREFIX convention). Defaults to MEMHTML_CURATOR_MODEL, else proxy:<default model> when MEMHTML_LLM_BASE_URL is set; otherwise the flag is required.
--max-steps integer 40 no fixed set Model calls the run may make before it is stopped (stoppedBy: maxSteps).
--wall-clock-ms integer 1200000 no fixed set Wall clock for the whole run, model calls and tool executions together (stoppedBy: wallClock).
--dry-run flag false no fixed set Run the loop over an in-memory overlay: no session is written, nothing is appended, nothing is committed, and the ref stays where it was. With --resume, the overlay starts from the session’s logged ops and the log is left as it was. The payload reports what would have been proposed.
--resume flag false no fixed set Reuse the existing session on the ref instead of refusing with ERR_STORAGE (session.exists). The head is loaded at the session’s own base. A missing session is ERR_STORAGE at exit 1.
--charter string no default no fixed set A file to brief the model with in place of the shipped charter. Its placeholders are filled from the store’s memhtml.config.json as the shipped one’s are: {{placementQuota}} (curator.placementQuota), {{refusedTypesRule}} (a sentence naming writeBar.refusedTypes, or nothing when the store refuses none), and {{refusedTypesClause}} (the same as a clause); any other text is used as written. The write bar still judges every op the run proposes. A file that cannot be read or has no text is ERR_STORAGE at exit 1 before any model call.

Every command also accepts the global flags.

4. Response

On success the command writes one JSON envelope to stdout, and its type is curate.run.

On failure it writes the failure envelope, whose code comes from error codes.

The JSON envelope gives the fields both shapes carry. Response types lists every value type takes across the binary.

5. Further reading

No guide block names this command. The guide is the workflow prose the CLI ships beside the command table: which command to reach for, and in what order.

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.