Home / Projects / NiPlex-Harness / Memory

Pictures

Memory

Memory has four parts: Markdown notes, a graph, optional vector search and an append-only event log. Notes need no key. Vector search needs a Google key.

Since 2 Sept 2026 · Updated 29 Oct 2026

Notes it can save and find again

Notes

Global notes are shared across chats. Session notes belong to one chat. Search by keyword.

Prompt context

A slice of notes goes into the prompt, up to 12,000 characters in total.

Vector search

Uses Google gemini-embedding-001 with 768 dimensions. Without a key, search falls back to keywords and says so.

Event log

One JSONL file per UTC day, append only. Event text is redacted and cut to 4,000 characters.

See memory-types.json.

Kinds of memory

Markdown notes

Markdown notes: Markdown files with front matter in data/global and data/sessions/<id>.

  • Scope: global
  • Stored as: Markdown files with front matter in data/global and data/sessions/<id>
  • How it is searched: Keyword search with excerpts of about 25 lines, or a full note when a path is given
  • Size limits: Prompt context is cut to 12,000 characters in total
  • Needs a key: No
  • If it is missing: None

Graph

Graph: JSON nodes and links.

  • Scope: global
  • Stored as: JSON nodes and links
  • How it is searched: Query by node id
  • Size limits: Output cut to 8,000 characters
  • Needs a key: No
  • If it is missing: None

Embeddings

Embeddings: JSON files under data/embeddings, built by a background queue.

  • Scope: global
  • Stored as: JSON files under data/embeddings, built by a background queue
  • How it is searched: Cosine match on 768-dimension vectors from Google gemini-embedding-001
  • Size limits: Queue: 5 items per batch, up to 5 attempts
  • Needs a key: Yes
  • If it is missing: Keyword search with a note that vectors are off

Event log

Event log: One JSONL file per UTC day, append only.

  • Scope: global
  • Stored as: One JSONL file per UTC day, append only
  • How it is searched: Time window and keyword
  • Size limits: Text 4,000 chars, day file about 1 MB, recall 50 default and 200 max
  • Needs a key: No
  • If it is missing: None

In this section

Checked against the source at commit f4fd89f on 29 Oct 2026. Everything here is merged on the main branch; no release has been tagged yet. The source is private, so these pages are the public description.