Session format registry

This registry records observed on-disk session formats for the harnesses that deja parses. Each entry describes store discovery, file layout, message records, role and timestamp handling, and known compatibility behavior. These are observations of upstream output, not specifications published by the harness vendors.

registry.json is the machine-readable index. The files under fixtures/registry are synthetic conformance samples shaped like upstream records. internal/sources/registry_test.go checks the index against deja's loader list and runs each fixture through its parser.

Entries

HarnessFormat
Claude CodeJSONL transcript
Codex CLIrollout and history JSONL
opencodeSQLite relational store
CursorSQLite key-value store and JSONL transcript
Gemini CLIsession JSON and replayable JSONL
aiderappend-only Markdown
AntigravityJSONL transcript
Grok BuildACP update JSONL with JSON metadata
Gooselegacy JSONL and SQLite session store
Qwen CodeJSONL transcript
piJSONL transcript
omp (Oh My Pi)JSONL transcript
Clinetask JSON, two store generations
Kimi Codeper-agent wire JSONL
OpenClawappend-only pi-format JSONL
Copilot CLIsession event JSONL
Roo Codetask JSON in VS Code globalStorage
HermesSQLite state store
DeepSeek Harnessappend-only session log, zstd-framed JSONL
ZedSQLite thread store, zstd-compressed bodies

Reporting drift

Open an issue with the harness name and version, operating system, observed store path, and the smallest redacted record that shows the difference. State whether the change affects discovery, session metadata, roles, content, or timestamps. Do not attach a real session database or unredacted transcript.

Adding or updating a format

  1. Update the harness reference page from observed records and note the drift under Known quirks and drift.
  2. Add a synthetic fixture that contains no user data or credentials.
  3. Add or update the registry.json entry. Paths are repository-relative; store paths use environment-variable placeholders where applicable.
  4. Update the parser and its focused tests, then run the registry conformance test and the full suite.
  5. Set Last verified to the observation date, here and in registry.json — those two are compared, so a page cannot claim a check the registry does not have.

SQLite fixture sources are stored as SQL so changes remain reviewable. The conformance test materializes them in a temporary directory before parsing.


deja reads this format and nineteen 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.