Orkestia
Blog
Engram

Engram

Agent memory — fingerprints, recall strategies, and the live field at engram.orkestia.dev

Engram is what an agent config remembers and what a session loads into context. Lumen is telemetry. An engram is one memory: text, an importance weight, and a fingerprint. It is not a log line, not an App Data row, and not a prompt dump.

Reads and writes go through workflows and the agents HTTP surface on https://api.orkestia.dev. You watch them in the field at engram.orkestia.dev.

The live product is this store + the field. A richer retrieval engine (salience decay, typed links) is designed and not what production ranks on. The app does not animate decay.

Surfaces

SurfaceURLAuth
Fieldengram.orkestia.devSame org session as other *.orkestia.dev apps
List / delete / prunehttps://api.orkestia.dev/api/app/agents/memoryOrg session or Bearer
Live feedGET /api/app/agents/memory/streamCookie session (EventSource cannot send a Bearer)
Write / recallagents.memory-load, agents.memory-save, agents.memory-distill, agents.memory-pruneCatalog / MCP
Runner elective writePOST /api/agents/sessions/{ref}/memory-saveAgent session token

How it runs

session launch
    if org + config memory_enabled
        recall (last_k | importance | full | pack)
        → inject a context pack into the runner

session complete | fail
    if config memory_write_enabled
        agents.memory-distill  →  agents.memory-save
            importance < 0.1 skipped
            same fingerprint → reinforce (no second memory)
            over cap → agents.memory-prune

field
    GET /api/app/agents/memory/stream

What a memory is

You seeMeaning
TextThe remembered claim. A secret here is stored.
Importance0–1, default 0.5. Below 0.1 is never kept.
FingerprintSHA-256 of normalized text. Same digest reinforces instead of duplicating.
Access countHow often this memory was recalled into a pack.
Reinforcement countHow often the same lesson was written again.
ScopeThe agent config. Optionally scoped further to an end-user or an actor.

A recall records the strategy, the cue, how many memories came back, a pack id, and later an outcome (success / failed, or an explicit rating). Distill may classify a lesson as procedural / factual / negative for the model; that label is not kept on the memory.

Flags

FlagOnDefaultEffect
memory_enabledOrganizationonOrg-wide read gate
memory_enabledAgent configoffRecall at launch
memory_write_enabledAgent configoffDistill after complete/fail
memory_strategyAgent configlast_kSee Write & recall
memory_top_kAgent config10Cap on returned memories
memory_max_entries_per_configOrganization10000Triggers prune (lowest importance, then oldest)

Read and write are separate. Turning recall on does not start writing. Writing costs an LLM call per eligible session.

In this section

Write & recall

Workflows, fingerprint, pack score, who can see whose memory.

Field & feed

Live events and what the field draws.

Agents

Where the flags sit on a config.

Custody

Engram stores text your agents wrote. It does not store source, App Data, or Lumen bodies. Prefer pointers (workflow id, ticket id, Lumen group) over payloads. The browser feed does not include who owned a memory or your organization id. See Security & compliance.