memory-protocollisted
Install: claude install-skill xsefirosus/sefi-agents
# Memory protocol
Runtime memory is private to the current project. It lives under `memory/`, is ignored by
Git, and is never packaged. Markdown notes are the source of truth; router files, indexes,
and caches are disposable and must be rebuilt from Markdown. Do not put runtime notes in a
public repository, an issue, a release, or a prompt.
User instructions always override this skill. All factual output follows the
anti-hallucination skill: cite or mark UNKNOWN, never guess.
## When to use it
Use the protocol only for substantial work: an implemented result, a decision, a material
constraint, a failure that needs follow-up, or a correction. Skip greetings, casual chats,
status checks, simple factual answers, raw transcripts, hidden reasoning, commands,
command output, full diffs, and secret values.
## Session journal
The Memory Journalist is the sole `memory/` writer. Other agents nominate factual content
under `.sefi/journal/<session-id>/`; the journal uses per-session locks, monotonic cursors,
temporary files, flushes, and atomic renames.
One substantial work session creates one note when closed. Separate sessions create
separate notes. An unavailable harness session identity falls back to a generated UUID and
UTC start time in ignored `.sefi/current-session`. `/sefi:close-session` is idempotent.
At the next session start, unfinished buffers are recovered before new work begins.
Use the managed helper from the project root:
```text
${CLAUDE_PLUGIN_ROOT}/scripts/me