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
| Harness | Format |
|---|---|
| Claude Code | JSONL transcript |
| Codex CLI | rollout and history JSONL |
| opencode | SQLite relational store |
| Cursor | SQLite key-value store and JSONL transcript |
| Gemini CLI | session JSON and replayable JSONL |
| aider | append-only Markdown |
| Antigravity | JSONL transcript |
| Grok Build | ACP update JSONL with JSON metadata |
| Goose | legacy JSONL and SQLite session store |
| Qwen Code | JSONL transcript |
| pi | JSONL transcript |
| omp (Oh My Pi) | JSONL transcript |
| Cline | task JSON, two store generations |
| Kimi Code | per-agent wire JSONL |
| OpenClaw | append-only pi-format JSONL |
| Copilot CLI | session event JSONL |
| Roo Code | task JSON in VS Code globalStorage |
| Hermes | SQLite state store |
| DeepSeek Harness | append-only session log, zstd-framed JSONL |
| Zed | SQLite 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
- Update the harness reference page from observed records and note the drift under Known quirks and drift.
- Add a synthetic fixture that contains no user data or credentials.
- Add or update the
registry.jsonentry. Paths are repository-relative; store paths use environment-variable placeholders where applicable. - Update the parser and its focused tests, then run the registry conformance test and the full suite.
- 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.