~/.mutual-dissent/transcripts/YYYY-MM-DD_shortid.json.
Top-Level Fields
| Field | Type | Description |
|---|---|---|
transcript_id | string (UUID4) | Unique debate identifier |
query | string | Original user query |
panel | string[] | Model aliases that participated |
synthesizer_id | string | Model alias used for synthesis |
max_rounds | integer | Configured reflection round count |
rounds | DebateRound[] | All debate rounds in order |
synthesis | ModelResponse | null | Final synthesized response |
created_at | string (ISO 8601) | Debate start time (UTC) |
metadata | object | Stats, routing config, experiment data |
DebateRound
| Field | Type | Description |
|---|---|---|
round_number | integer | 0 = initial, 1+ = reflection |
round_type | string | "initial", "reflection", or "synthesis" |
responses | ModelResponse[] | All model responses for this round |
ModelResponse
| Field | Type | Description |
|---|---|---|
model_id | string | Full OpenRouter or vendor model ID |
model_alias | string | Short alias (e.g. "claude") |
round_number | integer | Round this response belongs to |
role | string | "initial", "reflection", or "synthesis" |
content | string | Full response text |
timestamp | string (ISO 8601) | When the response was received (UTC) |
token_count | integer | null | Total tokens used |
input_tokens | integer | null | Input/prompt tokens |
output_tokens | integer | null | Output/completion tokens |
latency_ms | integer | null | Response time in milliseconds |
error | string | null | Error message if call failed; null on success |
routing | object | null | Routing decision (see below) |
analysis | object | Scoring metadata (populated when --ground-truth is used) |
routing object
| Field | Type | Description |
|---|---|---|
vendor | string | Provider vendor (e.g. "anthropic") |
mode | string | Routing mode in effect: "auto", "direct", "openrouter" |
via_openrouter | boolean | Whether OpenRouter handled this request |
metadata object
| Key | Description |
|---|---|
version | Mutual Dissent version that produced the transcript |
resolved_config | Panel, synthesizer, rounds, routing, and provider keys active for this debate |
stats | Token totals, per-model breakdown with input/output split and cost, total_cost_usd |
scores | Ground-truth scoring results (present only if --ground-truth was used) |
experiment | ExperimentMetadata (present only if set via Python API) |
panelist_context | Per-panelist context strings (present only if set via Python API) |
source_transcript_id | ID of the source transcript (replay transcripts only) |
replay_config | Synthesizer override and additional rounds (replay transcripts only) |