Amp
Amp (Sourcegraph) stores one JSON object per thread under its local data
directory:
- Linux:
${XDG_DATA_HOME}/amp/threads/, or~/.local/share/amp/threads/
when XDG_DATA_HOME is unset.
- macOS and Windows:
~/.local/share/amp/threads/. DEJA_AMP_ROOTreplaces the thread directory directly. When set, it is the
only root deja reads.
Each *.json file is one thread. The parser uses id as the stable session ID,
title as the session title, and the first env.initial.trees[0].uri when it
is a file:// URI to derive the project name from its final path component.
If that working-directory URI is absent or not a file URI, the project falls
back to the title.
A thread's messages are retained only for user and assistant roles. Within
each message, blocks with type: "text" are joined in order; other block types
are ignored. Amp does not write per-message timestamps, so every retained
message uses the thread's created Unix-millisecond timestamp. This is an
intentional approximation for ordering and recency, not an inferred message
time.
A malformed or truncated JSON file is reported as a per-file ingestion error
and skipped by discovery/load and index rebuilds; it does not prevent other
thread files from being indexed. Amp thread files are not append-only, so deja
uses the normal full-file parse path when a file changes.
Synthetic fixture
fixtures/registry/amp/thread.json
is a minimal conformance sample with deterministic IDs, paths, and timestamps.
It contains no personal data or credentials.
Last verified: 2026-09-02
deja reads this format and twenty-four others, and turns what it finds into memory your agents can search. See the harness matrix for what is wired where, or install it and search your own history.