Skip to content
K

mm_run

Session runtime for a /mm: command run. phase selects the operation. log appends one typed event to the run’s append-only journal at .mm/specs/{spec}/runs/{run_id}.jsonl — omit run_id on the first call and one is minted and returned, which is how a run opens its journal. There is deliberately no edit or delete phase: an edit, as opposed to an append, turns two writers into a conflict instead of a union. The timestamp in each line’s provenance is stamped by the server and is NEVER taken from the caller, because wall-clock is derived from it — a recalled number is exactly the problem this replaces. begin, end and read are not implemented yet and return a stated error; do not hand-roll a substitute for them.

  • Category: Core
  • Source: Built-in
  • Availability: Listed by default
  • Required parameters: 3
  • Total parameters: 8
ParameterTypeRequiredDescription
phasestring (enum: begin, log, end, read)Yesbegin | log | end | read. Only log is implemented today.
project_pathstringYesAbsolute path to the project root (the directory containing .mm/). On a split run this is the checkout whose .mm/ holds the spec, not where the code lives.
spec_folderstringYesSpec folder name, e.g. ‘2026-08-14-my-spec’.
run_idstringNolog: the run to append to. Omit on the first call of a run — the server mints one and returns it; pass it on every later call.
eventobjectNolog: the event. One of — {kind:‘gate’, gate, verdict, override}, {kind:‘task_start’, task, agent, model}, {kind:‘task_result’, task, ok, files, evidence, attempts}, {kind:‘commit’, task, sha}, {kind:‘deviation’, text, verbatim}, {kind:‘verify’, verdict, misses, iterations}. An unknown kind is rejected rather than written.
session_idstringNolog: optional MM session id, recorded as provenance.
agentstringNolog: optional agent name, recorded as provenance.
modelstringNolog: optional model id, recorded as provenance.
{
"tool": "mm_run",
"arguments": {
"phase": "begin",
"project_path": "/Users/you/projects/my-app",
"spec_folder": "example-spec_folder",
"run_id": "my-example",
"event": {}
}
}
  • mm_search - Full-text search across all entity types (specs, features, issues, notes, ide…
  • mm_configure_integration - Configure an external service integration (github, trello, grain, gmail, noti…
  • mm_sync_notion - Bidirectional sync between a Notion database and .mm/specs/ or .mm/notes/. Pu…
  • mm_daily_brief - Generate a structured morning summary with active tasks, blockers, recently c…
  • mm_revert_spec_completion - Revert a spec’s completion status in its parent feature. Tasks stay [x] but t…