Export
Exporting a development session: Markdown for reading and JSON with all messages; what the file contains, an example, what is left out, how it is audited.
An open session has two buttons in its header: Markdown and JSON. The file is called
buff-code-<session id>.md or .json. The whole session is exported, not just the part loaded into
the feed; service calls are always included.
Markdown — for reading
The whole session history as text: a heading from the first line of the developer’s first message, the developer, the device, the project, the start, the number of turns, the amount charged and tokens by type; then, in order:
- Developer: the message;
- Buff Code — time · model · tokens: the model’s reasoning, the answer, each action — verb, object, the tool’s technical name, the arguments and the result in code blocks — and the turn’s errors;
- service calls are marked “(service call)”;
- a tool’s answer whose call did not make it into the record — as a “Tool output” block.
This is how the start of the file looks (a two-turn session from the English workspace; the values are illustrative):
# Why does test_orders fail?
Developer: alice · device alice’s laptop · project shop-web
Started: 2026-09-24T10:12:03+00:00 · turns: 2 · charged: 3.40 ₽
Tokens: 18,240 input · 612 output · 0 reasoning · 9,100 cache read · 0 cache write
**Developer:**
Why does test_orders fail?
### Buff Code — 2026-09-24T10:12:05+00:00 · gpt-5 · 9,120 input · 96 output · 0 reasoning · 0 cache read · 0 cache write
**Ran** `pytest tests/test_orders.py -q` (`bash`):
```
{
"command": "pytest tests/test_orders.py -q",
"description": "Run the failing test"
}
```
Result:
```
F [100%]
FAILED tests/test_orders.py::test_total - AssertionError: 100 != 90
Command exited with code 1
```
### Buff Code — 2026-09-24T10:12:19+00:00 · gpt-5 · 9,120 input · 516 output · 0 reasoning · 9,100 cache read · 0 cache write
The test expects the total with the discount, but `total()` does not apply it — fixing.
**Edited** `src/orders.py` (`edit`):
```
{
"filePath": "src/orders.py",
"oldString": " return sum(i.price for i in items)",
"newString": " return sum(i.price for i in items) - discount"
}
```
Result:
```
Edited src/orders.py
```It is suitable for attaching to an incident review, sending to a colleague or putting into the knowledge base.
JSON — the whole session as data
An object with three fields:
session— the session description: identifier, organisation, project, login, device, start and last change, number of turns, model, first message, tokens by type, duration and amount;note— an explanation of the file’s contents;messages— the session’s messages in order, as Buff Code recorded them. Each has its number in the session (id), who speaks (role: the developer or the model), the time, a service flag (service) and parts (parts): text, reasoning, a tool call with arguments (tool_call), the call result (tool_result), an error. A model answer hasanswer_of: the turn that produced it — model, status, duration, tokens by type and the amount charged.
It is suitable for your own analysis: count tool calls, break down typical questions, load it into a SIEM.
What the export leaves out
- the system prompt and the tool descriptions that Buff Code adds to every request — neither in Markdown nor in JSON (see what is not shown);
- files on the developer’s disk that were not passed to the model;
- connection secrets — they are not in the record in the first place.
Audit log
Every export — of your own or someone else’s session — is recorded in the audit log as a “Development session exported” event: who, whose session, when, from which address. More — Audit log and Buff Code.
Local export from Buff Code
Buff Code itself has buff session export — a local copy of the session from the developer’s
machine, in Buff Code’s format. It has nothing to do with the records in the workspace: the workspace
keeps what passed through the server, and the developer cannot change that record.
Ask about sessions
Asking the model about development session records: three ways, examples by role, what the model gets, how to read the answer, who sees it, usage and log.
Audit log and Buff Code
What around Buff Code goes into the audit log: device sign-in and revocation, viewing others’ sessions, exports, questions, knowledge — with severity.