← Docs home

🎞️ context-reel memory spec

A WebUI for the Memory data store. This will piggy back off of the editor and chat views, exposing the memory functions to the UI.

This is a design doc for one feature. This is for a view that browses and adds agent memories.


🧭 Contents


🔖 Status

Draft.

MUST, MUST NOT, SHOULD, SHOULD NOT, and MAY carry their RFC 2119 and RFC 8174 meaning. Only when they appear in all capitals.


📐 Document Type

This is a design doc.

It pins one feature.

A view that browses and adds agent memories.

The feature is three things.

The secret boundary makes it more than an ADR.

It sets no contract.

So it is not an SRS.


🧠 Context

Agents record memories.

A later session starts warm.

A memory is one sentence over a controlled vocabulary.

The store is the memory data plane.

A Supabase table with hybrid full-text and vector search.

The reference prototype

The feature already runs as a prototype.

It lives in a sibling project, EdgeGrammar.

Three Node files carry it.

That prototype is the reference for the interaction model.

The prototype is the reference, not the target.

It was a Node server.

Those server files were later removed from EdgeGrammar.

The removal was a security fix.

context-reel re-platforms the interaction onto its own stack.

The browser never holds a provider key.

The browser never holds a service-role key.


📖 Vocabulary

Memory One recorded sentence: entity, relation, target, work, notes.

Entity The actor, such as Claude or the Architect.

Relation The verb that joins the entity to the target.

Work The domain the memory belongs to.

Notes The body that completes the sentence.

Edge The relation, target entity, and work carried with a memory.

Vocabulary A controlled set of allowed entities, relations, and works. The server rejects any value outside its set.

Feed The list of memories shown for the selected entities.

Graph The relation graph drawn from the feed's edges.


🪞 What The Reference Does

Read from the prototype. Keep the carry-over concrete.

Entity tabs

The feed

Each memory

The form

The graph

The sidebar

Shortcuts

The prototype also embedded a provider chat.

It wrote a memory per turn.

That is out of scope here.

context-reel already owns chat.


🎯 Goals


🚫 Non-Goals


🏗️ Proposed Design

The view

The seam

The feed

The form

The graph

View state

Chords


✅ Requirements

Each requirement is one shape, one capability. If a test cannot mark it pass or fail, it is not here.

The secret boundary

The feed

The form

The graph

Should and may