Mercury CLI
Documentation

Memory

Memory

Mercury's memory features are experience cards and a project notepad. The notepad is a file and is manual by design: /note <text> captures into a per-project journal, no model reads or rewrites it, and what you wrote is what the file says. Minerva, the notepad curator of earlier releases, is retired: /tabula and /minerva no longer exist, and a configuration that still carries Minerva's settings is read without complaint.

Memory surfaces

  • /note <text>: Captures a note into the project's journal and rebuilds its notepad.md view, with no model turn.
  • TABULA card: A display-only card on the lanes rail over the notepad. It shows the open-note count in its header and the top open notes, or a hint naming /note on a clean slate.
  • /memory, /cards, /remember and /orient: The experience-card commands, listed under memory & goals by /help.
  • /submodels: Picks the model and effort for the Console, the side-question fork.

Record a project note

To record a project note, follow these steps:

  1. Enter /note <text> with the note's contents.

Mercury appends an event to the project journal and rebuilds the readable notepad without starting a session turn.

Notes live under <config-home>/tabula/, one directory per project, outside the repository, and survive /clear. journal.jsonl is the single source of truth, an append-only event log, and notepad.md is its derived, readable view, rebuilt atomically and stamped from the latest event time. Notes carry a priority from the set now, next and later. Two sessions append safely at once, and a torn tail left by a crash is skipped line by line. A journal written by an earlier build may carry events this build does not know, such as a curator's refinement; the unknown event is skipped and a done note stays done. /note is user-private: the line acts on the screen and never enters the session's conversation, on any seat.

The Console's model

The Console, the side-question fork, takes its own model by one precedence: environment pin, then saved pick, then unset.

  • Environment pin: MERCURY_CONSOLE_MODEL takes precedence over a saved pick.
  • Saved pick: /submodels saves the pick across sessions and offers the full catalogue the main /model picker offers, every family, carriers included, with no tier, serve check or family policy applied.
  • Unset: No default is derived. A question to an unpinned Console spends no model call, and the reply is the line use /submodels to pin one of the available model catalogues.
  • Row states: A row is selectable, signed out, or refused with the catalogue's own reason. Activating a signed-out row routes to the family's sign-in, and the pick lands on return.
  • Effort: e on a model row opens the effort strip with the levels that model offers under the Console's own call context. Enter saves the level for the Console, and Esc keeps the prior one. The row reads the chosen level, or the model default when none is chosen.

The Console's identity and role ride the question's framing, never the system prompt, so a pick identical to the main model keeps the cache-hit prefix.

Feature switches

  • MERCURY_TABULA: On by default. 0 is the only off switch, and off means the store, the command and the rail card are absent.
  • MERCURY_TABULA_DIR: Overrides the store root.

Both switches are read live on every call.

Sessions, Workshop, Models and effort, Workspace trust and permissions