Markdown is canonical. You can write these files manually in Obsidian or any code editor.
memory-root/
jumpybrain.json # committed setup/schema metadata
notes/
sessions/
findings/
decisions/
preferences/
pages/ # topical/current-state synthesized memory
.jumpybrain/ # derived/rebuildable; do not edit
Create this layout with:
jumpybrain init --root ./memoryjumpybrain.json lets future CLIs detect incompatible memory-root schema changes before writing or indexing. Markdown files remain the canonical memory content.
For repo dogfooding, jumpybrain.json may include an optional relative indexRoot, such as "..", so the derived recall index can cover workspace Markdown while new memories are still written under memory/.
Supported fields are intentionally simple. Canonical jumpyBrain writers use these fields only:
---
type: "finding"
title: "QMD should be the first index primitive"
source: "manual"
session_id: "optional-session-id"
created_at: "2026-06-02T12:00:00.000Z"
updated_at: "2026-06-02T12:00:00.000Z"
confidence: "user-reviewed"
tags: ["memory", "qmd"]
---
# QMD should be the first index primitive
Durable memory text here.Useful type values: note, session, finding, decision, preference, page. note remains a memory type; the CLI write command is remember.
Schema notes:
session_idis the canonical session identifier field.sessionIdis accepted as a compatibility alias during provenance mapping.confidenceis a small string status for writer provenance:user-reviewedfor manual memories andagent-draftedfor wrapups. Imported benchmark/manual files may still contain numeric confidence; retrieval treats that as a legacy strength hint.reviewis optional and currently usesuser-review-recommendedfor agent-drafted wrapups.tagsshould be a simple string array.- The frontmatter parser is intentionally tiny; prefer JSON-style arrays and quoted strings over broad YAML features.
pages/*.md files are topical, current-state memory. They are meant to compress lower-level memories such as sessions, findings, and decisions into a page an agent can read first before digging into raw evidence.
A generated page uses type: "page", source: "jumpybrain-process", topic, timestamps, and source references in the body. Pages are canonical Markdown and are indexed like other memory files.
jumpybrain wrapup writes one editable sessions/*.md file with type: "session" and source: "jumpybrain-wrapup". The body must contain these strict sections:
## Findings
- Specific durable findings from the visible session.
## Decisions
- Decisions and rationale that should be easy to recall later.
## Conflicts / Corrections
- Duplicates, superseded assumptions, or conflicts noticed during recall.
- Use `- None captured.` if intentionally empty.
## Open Questions
- Follow-up questions or unresolved choices.Wrapup files are agent-drafted and user-reviewable. recall_topic is included in frontmatter when jumpybrain wrapup --topic "..." is used.
- Do not put secrets, credentials, tokens, or transient chat noise in memory.
- Derived QMD/index files under
.jumpybrain/can be deleted and rebuilt. - Provenance comes from file path, line ranges, session id, and frontmatter.